📄 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 + -