// SetOptionDlg.cpp : ±¸Çö ÆÄÀÏÀÔ´Ï´Ù.
|
//
|
|
#include "stdafx.h"
|
#include "PLCConnector.h"
|
#include "SetOptionDlg.h"
|
|
|
// CSetOptionDlg ´ëÈ »óÀÚÀÔ´Ï´Ù.
|
|
IMPLEMENT_DYNAMIC(CSetOptionDlg, CDialog)
|
|
CSetOptionDlg::CSetOptionDlg(CWnd* pParent /*=NULL*/)
|
: CDialog(CSetOptionDlg::IDD, pParent)
|
{
|
InitValue();
|
}
|
|
CSetOptionDlg::~CSetOptionDlg()
|
{
|
}
|
|
void CSetOptionDlg::DoDataExchange(CDataExchange* pDX)
|
{
|
CDialog::DoDataExchange(pDX);
|
DDX_Text(pDX, IDC_PLCAddress0, m_PLCAddress0);
|
DDX_Text(pDX, IDC_PLCAddress1, m_PLCAddress1);
|
DDX_Text(pDX, IDC_PLCAddress2, m_PLCAddress2);
|
DDX_Text(pDX, IDC_PLCAddress3, m_PLCAddress3);
|
DDX_Text(pDX, IDC_PLCAddress4, m_PLCAddress4);
|
|
DDX_Check(pDX, IDC_CHECK_Signal0, m_bUseSignal0);
|
DDX_Check(pDX, IDC_CHECK_Signal1, m_bUseSignal1);
|
DDX_Check(pDX, IDC_CHECK_Signal2, m_bUseSignal2);
|
DDX_Check(pDX, IDC_CHECK_Signal3, m_bUseSignal3);
|
DDX_Check(pDX, IDC_CHECK_Signal4, m_bUseSignal4);
|
|
DDX_Radio(pDX, IDC_RADIO_MCProtocol, m_Protocol);
|
DDX_Text(pDX, IDC_EDIT_PLCPort, m_nPort);
|
DDX_Text(pDX, IDC_EDIT_StationNo, m_nStationNo);
|
DDX_IPAddress(pDX, IDC_IPPLCAddress, m_dwAddress);
|
|
DDX_Check(pDX, IDC_CHECK_AOISIGNAL, m_bUseAOISignal);
|
DDX_Text(pDX, IDC_EDIT_AOISERVER_CAPTION, m_strAOICaption);
|
|
}
|
|
|
BEGIN_MESSAGE_MAP(CSetOptionDlg, CDialog)
|
ON_BN_CLICKED(IDOK, &CSetOptionDlg::OnBnClickedOk)
|
END_MESSAGE_MAP()
|
|
|
// CSetOptionDlg ¸Þ½ÃÁö 󸮱âÀÔ´Ï´Ù.
|
|
|
void CSetOptionDlg::OnBnClickedOk()
|
{
|
// TODO: ¿©±â¿¡ ÄÁÆ®·Ñ ¾Ë¸² 󸮱â Äڵ带 Ãß°¡ÇÕ´Ï´Ù.
|
UpdateData(TRUE);
|
|
//PLC SignalÀ» ÀоîµéÀÏ ÁÖ¼Ò°¡ ¼³Á¤µÊ
|
SaveINIFile();
|
|
AfxMessageBox(_T("ÇÁ·Î±×·¥À» Àç°¡µ¿ÇÏ¸é ¼³Á¤°ªÀÌ Àû¿ëµË´Ï´Ù."));
|
OnOK();
|
}
|
|
void CSetOptionDlg::InitValue()
|
{
|
::ZeroMemory( m_AddressToReadSignal0, sizeof(TCHAR)*7);
|
::ZeroMemory( m_AddressToReadSignal1, sizeof(TCHAR)*7);
|
::ZeroMemory( m_AddressToReadSignal2, sizeof(TCHAR)*7);
|
::ZeroMemory( m_AddressToReadSignal3, sizeof(TCHAR)*7);
|
::ZeroMemory( m_AddressToReadSignal4, sizeof(TCHAR)*7);
|
|
m_PLCAddress0 = m_PLCAddress1 = m_PLCAddress2 = m_PLCAddress3 = m_PLCAddress4 = _T("");
|
m_strAOICaption = _T("");
|
m_bUseSignal0 = m_bUseSignal1 = m_bUseSignal2 = m_bUseSignal3 = m_bUseSignal4 = FALSE;
|
m_Protocol = m_nPort = m_nStationNo = 0;
|
m_dwAddress = 0;
|
m_bUseAOISignal = FALSE;
|
}
|
|
void CSetOptionDlg::LoadINIFile(void)
|
{
|
CString Path;
|
GetModulePath(Path);
|
|
CString INIFilePath;
|
INIFilePath.Format(_T("%sPLCConnector.ini"),Path);
|
|
InitValue();
|
|
::GetPrivateProfileString(_T("SAVE_OPTION"),_T("ADDRESS_TOREAD_SIGNAL0"),_T("D0"), m_AddressToReadSignal0,6,INIFilePath);
|
m_bUseSignal0 = ::GetPrivateProfileInt(_T("SAVE_OPTION"),_T("USEREADSIGNAL0"),0,INIFilePath);
|
::GetPrivateProfileString(_T("SAVE_OPTION"),_T("ADDRESS_TOREAD_SIGNAL1"),_T("D1"), m_AddressToReadSignal1,6,INIFilePath);
|
m_bUseSignal1 = ::GetPrivateProfileInt(_T("SAVE_OPTION"),_T("USEREADSIGNAL1"),0,INIFilePath);
|
::GetPrivateProfileString(_T("SAVE_OPTION"),_T("ADDRESS_TOREAD_SIGNAL2"),_T("D2"), m_AddressToReadSignal2,6,INIFilePath);
|
m_bUseSignal2 = ::GetPrivateProfileInt(_T("SAVE_OPTION"),_T("USEREADSIGNAL2"),0,INIFilePath);
|
::GetPrivateProfileString(_T("SAVE_OPTION"),_T("ADDRESS_TOREAD_SIGNAL3"),_T("D3"), m_AddressToReadSignal3,6,INIFilePath);
|
m_bUseSignal3 = ::GetPrivateProfileInt(_T("SAVE_OPTION"),_T("USEREADSIGNAL3"),0,INIFilePath);
|
::GetPrivateProfileString(_T("SAVE_OPTION"),_T("ADDRESS_TOREAD_SIGNAL4"),_T("D4"), m_AddressToReadSignal4,6,INIFilePath);
|
m_bUseSignal4 = ::GetPrivateProfileInt(_T("SAVE_OPTION"),_T("USEREADSIGNAL4"),0,INIFilePath);
|
|
m_PLCAddress0.Format(_T("%s"),m_AddressToReadSignal0 );
|
m_PLCAddress1.Format(_T("%s"),m_AddressToReadSignal1 );
|
m_PLCAddress2.Format(_T("%s"),m_AddressToReadSignal2 );
|
m_PLCAddress3.Format(_T("%s"),m_AddressToReadSignal3 );
|
m_PLCAddress4.Format(_T("%s"),m_AddressToReadSignal4 );
|
|
m_Protocol = ::GetPrivateProfileInt(_T("SAVE_OPTION"),_T("PROTOCOL"),0,INIFilePath);
|
m_dwAddress = ::GetPrivateProfileInt(_T("SAVE_OPTION"),_T("IP_ADDRESS"),htonl(inet_addr("126.100.100.50")),INIFilePath);
|
m_nPort = ::GetPrivateProfileInt(_T("SAVE_OPTION"),_T("PORT_NO"),4096,INIFilePath);
|
m_nStationNo = ::GetPrivateProfileInt(_T("SAVE_OPTION"),_T("STATION_NO"),11,INIFilePath);
|
|
m_bUseAOISignal = ::GetPrivateProfileInt(_T("SAVE_OPTION"),_T("USE_AOISIGNAL"),0,INIFilePath);
|
::GetPrivateProfileString(_T("SAVE_OPTION"),_T("AOISERVER_CAPTION"),_T("! Inspection ! D.I.T"), m_TstrAOICaption,50,INIFilePath);
|
m_strAOICaption.Format(_T("%s"),m_TstrAOICaption);
|
}
|
|
void CSetOptionDlg::SaveINIFile(void)
|
{
|
CString Path;
|
GetModulePath(Path);
|
|
CString INIFilePath;
|
INIFilePath.Format(_T("%sPLCConnector.ini"),Path);
|
|
//Signal0
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("ADDRESS_TOREAD_SIGNAL0"),m_PLCAddress0,INIFilePath);
|
CString ValueOfSetting;
|
ValueOfSetting = _T("");
|
ValueOfSetting.Format(_T("%d"),m_bUseSignal0);
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("USEREADSIGNAL0"),ValueOfSetting,INIFilePath);
|
|
//Signal1
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("ADDRESS_TOREAD_SIGNAL1"),m_PLCAddress1,INIFilePath);
|
ValueOfSetting = _T("");
|
ValueOfSetting.Format(_T("%d"),m_bUseSignal1);
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("USEREADSIGNAL1"),ValueOfSetting,INIFilePath);
|
|
//Signal2
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("ADDRESS_TOREAD_SIGNAL2"),m_PLCAddress2,INIFilePath);
|
ValueOfSetting = _T("");
|
ValueOfSetting.Format(_T("%d"),m_bUseSignal2);
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("USEREADSIGNAL2"),ValueOfSetting,INIFilePath);
|
|
//Signal3
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("ADDRESS_TOREAD_SIGNAL3"),m_PLCAddress3,INIFilePath);
|
ValueOfSetting = _T("");
|
ValueOfSetting.Format(_T("%d"),m_bUseSignal3);
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("USEREADSIGNAL3"),ValueOfSetting,INIFilePath);
|
|
//Signal4
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("ADDRESS_TOREAD_SIGNAL4"),m_PLCAddress4,INIFilePath);
|
ValueOfSetting = _T("");
|
ValueOfSetting.Format(_T("%d"),m_bUseSignal4);
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("USEREADSIGNAL4"),ValueOfSetting,INIFilePath);
|
|
|
ValueOfSetting = _T("");
|
ValueOfSetting.Format(_T("%d"),m_Protocol);
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("PROTOCOL"),ValueOfSetting,INIFilePath);
|
|
ValueOfSetting = _T("");
|
ValueOfSetting.Format(_T("%d"),m_dwAddress);
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("IP_ADDRESS"),ValueOfSetting,INIFilePath);
|
|
ValueOfSetting = _T("");
|
ValueOfSetting.Format(_T("%d"),m_nPort);
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("PORT_NO"),ValueOfSetting,INIFilePath);
|
|
ValueOfSetting = _T("");
|
ValueOfSetting.Format(_T("%d"),m_nStationNo);
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("STATION_NO"),ValueOfSetting,INIFilePath);
|
|
ValueOfSetting.Format(_T("%d"),m_bUseAOISignal);
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("USE_AOISIGNAL"),ValueOfSetting,INIFilePath);
|
|
WritePrivateProfileString(_T("SAVE_OPTION"),_T("AOISERVER_CAPTION"),m_strAOICaption,INIFilePath);
|
}
|
|
bool CSetOptionDlg::GetModulePath(CString& strPath)
|
{
|
TCHAR szBuffer[MAX_PATH]= {0};
|
|
::GetModuleFileName(NULL,szBuffer,MAX_PATH);
|
|
for(int i = lstrlen(szBuffer) -1; i>=0; --i)
|
{
|
if(szBuffer[i] == '\\')
|
{
|
int j = lstrlen(szBuffer)-1;
|
for(;j>=i;--j)
|
{
|
szBuffer[j] = NULL;
|
}
|
|
if(szBuffer[j] == ';') szBuffer[j+1] = '\\';
|
|
szBuffer[j+1] = '\\';
|
|
strPath = szBuffer;
|
return true;
|
}
|
}
|
return false;
|
}
|
BOOL CSetOptionDlg::OnInitDialog()
|
{
|
CDialog::OnInitDialog();
|
|
// TODO: ¿©±â¿¡ Ãß°¡ ÃʱâÈ ÀÛ¾÷À» Ãß°¡ÇÕ´Ï´Ù.
|
LoadINIFile();
|
|
UpdateData(false);
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
// ¿¹¿Ü: OCX ¼Ó¼º ÆäÀÌÁö´Â FALSE¸¦ ¹ÝÈ¯ÇØ¾ß ÇÕ´Ï´Ù.
|
}
|