?? dongmodlg.cpp
字號:
AfxMessageBox("發送失敗!");
return 0;
}
int len=0; byte receive[500];
for( i=0;i<30;i++) receive[i]=0;
ms="";
Sleep(1000);
for(int j=0;j<10;j++)
{
len=com.Read(receive,500);//接收
if(len>1) break;
}
for(i=0;i<len;i++)//////顯示接收數據
{
ms.Format("%02xH,",receive[i]);
m_receive+=ms;
}
UpdateData(false);
if(gnm == 6) return 1;
if(LC == TRUE)
displayLcData(receive);
else
displayData(receive);
return 1;
}
void CDongmoDlg::OnDevnoTs()
{
paradlg.m_ParaInput_S="調速器設備號:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int jqno;
jqno = paradlg.m_ParaInput_I;
tsqjqno = jqno;
if(sub0306(jqno,3,0x110,43,3)==0)
{
AfxMessageBox("設置失敗!");
return;
}
tsqjqno = jqno;
}
void CDongmoDlg::OnSetWorkmode()
{
paradlg.m_ParaInput_S="調速器運行方式:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int workmode;
UpdateData(true);
workmode = paradlg.m_ParaInput_I;
if(sub0306(m_Jqno,6,0x0080,workmode,3)==0)
AfxMessageBox("設置失敗!");
}
void CDongmoDlg::OnSetTiaochaxishu()
{
paradlg.m_ParaInput_S="調速器調差系數:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int parameter;
UpdateData(true);
parameter = paradlg.m_ParaInput_I;
if(sub0306(m_Jqno,6,0x0043,parameter,3)==0)
AfxMessageBox("設置失敗!");
}
void CDongmoDlg::OnSetQrsjcs()
{
paradlg.m_ParaInput_S="調速器汽容時間常數:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int parameter;
UpdateData(true);
parameter = paradlg.m_ParaInput_I;
if(sub0306(m_Jqno,6,0x00a0,parameter,3)==0)
AfxMessageBox("設置失敗!");
}
void CDongmoDlg::OnSetSchsjcs()
{
paradlg.m_ParaInput_S="調速器水錘時間常數:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int parameter;
UpdateData(true);
parameter = paradlg.m_ParaInput_I;
if(sub0306(m_Jqno,6,0x00b6,parameter,3)==0)
AfxMessageBox("設置失敗!");
}
void CDongmoDlg::OnSetYdjsjcs()
{
paradlg.m_ParaInput_S="調速器油動機時間常數:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int parameter;
UpdateData(true);
parameter = paradlg.m_ParaInput_I;
if(sub0306(m_Jqno,6,0x01d2,parameter,3)==0)//address:0x01d2,0x01d3
AfxMessageBox("設置失敗!");
}
void CDongmoDlg::OnSetSlq()
{
paradlg.m_ParaInput_S="調速器失靈區:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int parameter;
UpdateData(true);
parameter = paradlg.m_ParaInput_I;
if(sub0306(m_Jqno,6,0x00b2,parameter,3)==0)
AfxMessageBox("設置失敗!");
}
void CDongmoDlg::OnSetKzkdxz()
{
paradlg.m_ParaInput_S="調速器空載開度限制:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int parameter;
UpdateData(true);
parameter = paradlg.m_ParaInput_I;
if(sub0306(m_Jqno,6,0x01d6,parameter,3)==0)//address:0x01d6,0x01d7
AfxMessageBox("設置失敗!");
}
void CDongmoDlg::OnSetFzkdxz()
{
paradlg.m_ParaInput_S="調速器負載開度限制:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int parameter;
UpdateData(true);
parameter = paradlg.m_ParaInput_I;
if(sub0306(m_Jqno,6,0x01d0,parameter,3)==0)//address:0x01d0,0x01d1
AfxMessageBox("設置失敗!");
}
void CDongmoDlg::OnSetRfkxs()
{
paradlg.m_ParaInput_S="調速器軟反饋系數:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int parameter;
UpdateData(true);
parameter = paradlg.m_ParaInput_I;
if(sub0306(m_Jqno,6,0x00bc,parameter,3)==0)
AfxMessageBox("設置失敗!");
}
void CDongmoDlg::OnSetRfksjcs()
{
paradlg.m_ParaInput_S="調速器軟反饋時間常數:";
paradlg.m_ParaInput_I=0;
if(paradlg.DoModal()!=IDOK)
return;
int parameter;
UpdateData(true);
parameter = paradlg.m_ParaInput_I;
if(sub0306(m_Jqno,6,0x00b7,parameter,3)==0)
AfxMessageBox("設置失敗!");
}
void CDongmoDlg::OnGuhua()
{
UpdateData(true);
if(sub0306(m_Jqno,6,0x4353,0x4748,3)==0)
AfxMessageBox("固化參數失敗!");
}
void CDongmoDlg::OnButton3()
{
UpdateData(true);
int jqno = m_Jqno;
if(sub0306(jqno,3,0x110,45,3)==0)
AfxMessageBox("讀參數失敗!");
}
void CDongmoDlg::displayData(BYTE *buf)
{
//CListBox m_listDataCtrl;
//CString m_listData;
char temp[100];
int index;
WORD wTemp, wTemp1;
m_listDataCtrl.ResetContent();
m_listDataCtrl.AddString("===============================");
m_listDataCtrl.AddString("讀取調速控制器數據");
m_listDataCtrl.AddString("===============================");
index=0x110-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp,(double)wTemp/10.0);
m_listDataCtrl.AddString("電樞電流"+(CString)temp);
index=0x112-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp, (double)wTemp/1.0);
m_listDataCtrl.AddString("電樞電壓"+(CString)temp);
index=0x114-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp, (double)wTemp/300.0);
m_listDataCtrl.AddString("機組轉速"+(CString)temp);
index=0x116-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp, (double)wTemp*360/15000.0);
m_listDataCtrl.AddString("功角"+(CString)temp);
index=0x118-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp, (double)wTemp/100.0);
m_listDataCtrl.AddString("勵磁電流"+(CString)temp);
m_listDataCtrl.AddString("===============================");
m_listDataCtrl.AddString("===========參數顯示============");
m_listDataCtrl.AddString("===============================");
index=0x139-0x10D;
wTemp=*(buf+index);
index=0x140-0x10D;
wTemp1=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %02XH---%.3f", wTemp, (double)wTemp*((double)wTemp1)/150000.0);
m_listDataCtrl.AddString("調差系數"+(CString)temp);
index=0x137-0x10D;
wTemp=*(buf+index);
wTemp1=*(buf+index+1);
sprintf(temp," %02XH %02XH---%.3f", wTemp,wTemp1,(double)wTemp*0.02f);
m_listDataCtrl.AddString("汽容時間常數"+(CString)temp);
index=0x136-0x10D;
wTemp=*(buf+index);
wTemp1=*(buf+index+1);
sprintf(temp," %02XH %02XH---%.3f", wTemp,wTemp1, (double)wTemp*0.08f);
m_listDataCtrl.AddString("水錘時間常數"+(CString)temp);
index=0x142-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp, (double)wTemp*0.04f);
m_listDataCtrl.AddString("油動機時間常數"+(CString)temp);
index=0x13A-0x10D;
wTemp=*(buf+index);
sprintf(temp," %02XH---%.3f", wTemp, (double)wTemp/150.0);
m_listDataCtrl.AddString("失靈區"+(CString)temp);
index=0x11A-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp, (double)wTemp);
m_listDataCtrl.AddString("錯油門相對位移"+(CString)temp);
index=0x11E-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp, (double)wTemp);
m_listDataCtrl.AddString("油動機相對位移"+(CString)temp);
index=0x13B-0x10D;
wTemp=*(buf+index);
index=0x144-0x10D;
wTemp1=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %02XH---%.3f", wTemp, (double)wTemp*((double)wTemp1)/(15000.0*32.0));
m_listDataCtrl.AddString("軟反饋系數"+(CString)temp);
index=0x138-0x10D;
wTemp=*(buf+index);
wTemp1=*(buf+index+1);
sprintf(temp," %02XH---%.3f", wTemp1, (double)wTemp*0.08);
m_listDataCtrl.AddString("軟反饋時間常數"+(CString)temp);
index=0x144-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp, (double)wTemp);
m_listDataCtrl.AddString("空載開度限制"+(CString)temp);
index=0x140-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp, (double)wTemp);
m_listDataCtrl.AddString("負載開度限制"+(CString)temp);
index=0x165-0x10D;
wTemp=*(buf+index);
sprintf(temp," %02XH---%.3f", wTemp, (double)wTemp);
m_listDataCtrl.AddString("運行方式"+(CString)temp);
}
void CDongmoDlg::OnButtonup()
{
// TODO: Add your control notification handler code here
UpdateData(true);
if(sub0306(m_Jqno,6,0x5647,0x2b2b,3)==0)
AfxMessageBox("up error!");
}
void CDongmoDlg::OnButtondown()
{
// TODO: Add your control notification handler code here
UpdateData(true);
if(sub0306(m_Jqno,6,0x5647,0x2d2d,3)==0)
AfxMessageBox("down error!");
}
void CDongmoDlg::OnButtonlcread()
{
// TODO: Add your control notification handler code here
UpdateData(true);
int jqno = m_JqnoLc;
LC = TRUE;
if(sub0306(jqno,3,0x110,4,3)==0)
AfxMessageBox("勵磁讀參數失敗!");
LC = FALSE;
}
void CDongmoDlg::displayLcData(BYTE *buf)
{
//CListBox m_listDataCtrl;
//CString m_listData;
char temp[100];
int index;
WORD wTemp, wTemp1;
m_listDataCtrl.ResetContent();
m_listDataCtrl.AddString("===============================");
m_listDataCtrl.AddString("讀取勵磁調節器數據");
m_listDataCtrl.AddString("===============================");
index=0x110-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp,(double)wTemp/100.0);
m_listDataCtrl.AddString("勵磁電流"+(CString)temp);
index=0x112-0x10D;
wTemp=(*(buf+index))*256+(*(buf+index+1));
sprintf(temp," %04XH---%.3f", wTemp, (double)wTemp/10.0);
m_listDataCtrl.AddString("勵磁電壓"+(CString)temp);
}
void CDongmoDlg::OnChangeEdit3()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
void CDongmoDlg::OnChangeEdit2()
{
// TODO: If this is a RICHEDIT control, the control will not
// send this notification unless you override the CDialog::OnInitDialog()
// function and call CRichEditCtrl().SetEventMask()
// with the ENM_CHANGE flag ORed into the mask.
// TODO: Add your control notification handler code here
}
void CAboutDlg::OnOK()
{
// TODO: Add extra validation here
CDialog::OnOK();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -