|
|
|
@ -1058,81 +1058,85 @@ void COtherMonitorDevMgr::OnO2ConcentrationCommRecv()
|
|
|
|
|
}
|
|
|
|
|
//读取机台的电流电压值
|
|
|
|
|
void COtherMonitorDevMgr::ReadDeviceCurrentAndVoltage()
|
|
|
|
|
{
|
|
|
|
|
ComComm Comm;
|
|
|
|
|
if(!Comm.Open(m_DeviceCurrentAndVoltageCommPort,COMM_BAUD_RATE_9600))
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
ReadDeviceCurrentAndVoltageExt(_MonitorValType_DevCurrent1, Comm);
|
|
|
|
|
ReadDeviceCurrentAndVoltageExt(_MonitorValType_DevCurrent2, Comm);
|
|
|
|
|
ReadDeviceCurrentAndVoltageExt(_MonitorValType_DevCurrent3, Comm);
|
|
|
|
|
ReadDeviceCurrentAndVoltageExt(_MonitorValType_DevVoltage1, Comm);
|
|
|
|
|
{
|
|
|
|
|
if (!DevComm.IsOpen())
|
|
|
|
|
{
|
|
|
|
|
if (!DevComm.Open(m_DeviceCurrentAndVoltageCommPort, COMM_BAUD_RATE_9600))
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
ReadDeviceCurrentAndVoltageExt(_MonitorValType_DevCurrent1);
|
|
|
|
|
ReadDeviceCurrentAndVoltageExt(_MonitorValType_DevCurrent2);
|
|
|
|
|
ReadDeviceCurrentAndVoltageExt(_MonitorValType_DevCurrent3);
|
|
|
|
|
ReadDeviceCurrentAndVoltageExt(_MonitorValType_DevVoltage1);
|
|
|
|
|
#if 0
|
|
|
|
|
ReadDeviceCurrentAndVoltageExt(_MonitorValType_DevSmoke,CommMgr);
|
|
|
|
|
ReadDeviceCurrentAndVoltageExt(_MonitorValType_DevSmoke);
|
|
|
|
|
#endif
|
|
|
|
|
Comm.Close();
|
|
|
|
|
}
|
|
|
|
|
void COtherMonitorDevMgr::ReadDeviceCurrentAndVoltageExt(eMonitorValType MonitorValType,ComComm &Comm)
|
|
|
|
|
void COtherMonitorDevMgr::ReadDeviceCurrentAndVoltageExt(eMonitorValType MonitorValType)
|
|
|
|
|
{
|
|
|
|
|
Sleep(100);
|
|
|
|
|
|
|
|
|
|
unsigned char Buf[COM_BUF_LEN];
|
|
|
|
|
memset(Buf,0,COM_BUF_LEN);
|
|
|
|
|
//ADDR
|
|
|
|
|
int i = 0;
|
|
|
|
|
double RangeScal = 1.0;//量程系数(固定值)
|
|
|
|
|
switch(MonitorValType)
|
|
|
|
|
{
|
|
|
|
|
case _MonitorValType_DevCurrent1:
|
|
|
|
|
Buf[i++] = 0x01;
|
|
|
|
|
RangeScal = 40.0/10000/4;
|
|
|
|
|
break;
|
|
|
|
|
case _MonitorValType_DevCurrent2:
|
|
|
|
|
Buf[i++] = 0x03;
|
|
|
|
|
RangeScal = 40.0 / 10000 / 4;
|
|
|
|
|
break;
|
|
|
|
|
case _MonitorValType_DevCurrent3:
|
|
|
|
|
Buf[i++] = 0x04;
|
|
|
|
|
RangeScal = 40.0 / 10000 / 4;
|
|
|
|
|
break;
|
|
|
|
|
case _MonitorValType_DevVoltage1:
|
|
|
|
|
Buf[i++] = 0x02;
|
|
|
|
|
RangeScal = 500.0 / 10000 ;
|
|
|
|
|
break;
|
|
|
|
|
case _MonitorValType_DevSmoke:
|
|
|
|
|
Buf[i++] = 0x05;
|
|
|
|
|
RangeScal = 1.0;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
return;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
//功能码
|
|
|
|
|
Buf[i++] = 0x03;
|
|
|
|
|
//开始地址
|
|
|
|
|
Buf[i++] = 0x00;
|
|
|
|
|
Buf[i++] = 0x0A;
|
|
|
|
|
//寄存器个数
|
|
|
|
|
Buf[i++] = 0x00;
|
|
|
|
|
Buf[i++] = 0x01;
|
|
|
|
|
//CRC校验码
|
|
|
|
|
int CRCH,CRCL;
|
|
|
|
|
CRC_16(Buf, i, CRCH,CRCL);
|
|
|
|
|
Buf[i++] = CRCH;
|
|
|
|
|
Buf[i++] = CRCL;
|
|
|
|
|
//发送
|
|
|
|
|
Comm.Write(Buf,i);
|
|
|
|
|
Sleep(100);
|
|
|
|
|
memset(Buf,0,COM_BUF_LEN);
|
|
|
|
|
Comm.Read(Buf,COM_BUF_LEN);
|
|
|
|
|
//从串口数据中提取读数
|
|
|
|
|
double ReadVal = -1;
|
|
|
|
|
int high = Byte2Int(Buf[3]);
|
|
|
|
|
int low = Byte2Int(Buf[4]);
|
|
|
|
|
ReadVal = high * 256 + low;
|
|
|
|
|
ReadVal = ReadVal*RangeScal;
|
|
|
|
|
SetMonitorDevVal(MonitorValType, ReadVal);
|
|
|
|
|
if (!DevComm.IsOpen())
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
Sleep(100);
|
|
|
|
|
unsigned char Buf[COM_BUF_LEN];
|
|
|
|
|
memset(Buf, 0, COM_BUF_LEN);
|
|
|
|
|
//ADDR
|
|
|
|
|
int i = 0;
|
|
|
|
|
double RangeScal = 1.0;//量程系数(固定值)
|
|
|
|
|
switch (MonitorValType)
|
|
|
|
|
{
|
|
|
|
|
case _MonitorValType_DevCurrent1:
|
|
|
|
|
Buf[i++] = 0x01;
|
|
|
|
|
RangeScal = 40.0 / 10000 / 4;
|
|
|
|
|
break;
|
|
|
|
|
case _MonitorValType_DevCurrent2:
|
|
|
|
|
Buf[i++] = 0x03;
|
|
|
|
|
RangeScal = 40.0 / 10000 / 4;
|
|
|
|
|
break;
|
|
|
|
|
case _MonitorValType_DevCurrent3:
|
|
|
|
|
Buf[i++] = 0x04;
|
|
|
|
|
RangeScal = 40.0 / 10000 / 4;
|
|
|
|
|
break;
|
|
|
|
|
case _MonitorValType_DevVoltage1:
|
|
|
|
|
Buf[i++] = 0x02;
|
|
|
|
|
RangeScal = 500.0 / 10000;
|
|
|
|
|
break;
|
|
|
|
|
case _MonitorValType_DevSmoke:
|
|
|
|
|
Buf[i++] = 0x05;
|
|
|
|
|
RangeScal = 1.0;
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
return;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
//功能码
|
|
|
|
|
Buf[i++] = 0x03;
|
|
|
|
|
//开始地址
|
|
|
|
|
Buf[i++] = 0x00;
|
|
|
|
|
Buf[i++] = 0x0A;
|
|
|
|
|
//寄存器个数
|
|
|
|
|
Buf[i++] = 0x00;
|
|
|
|
|
Buf[i++] = 0x01;
|
|
|
|
|
//CRC校验码
|
|
|
|
|
int CRCH, CRCL;
|
|
|
|
|
CRC_16(Buf, i, CRCH, CRCL);
|
|
|
|
|
Buf[i++] = CRCH;
|
|
|
|
|
Buf[i++] = CRCL;
|
|
|
|
|
//发送
|
|
|
|
|
DevComm.Write(Buf, i);
|
|
|
|
|
Sleep(100);
|
|
|
|
|
memset(Buf, 0, COM_BUF_LEN);
|
|
|
|
|
DevComm.Read(Buf, COM_BUF_LEN);
|
|
|
|
|
//从串口数据中提取读数
|
|
|
|
|
double ReadVal = -1;
|
|
|
|
|
int high = Byte2Int(Buf[3]);
|
|
|
|
|
int low = Byte2Int(Buf[4]);
|
|
|
|
|
ReadVal = high * 256 + low;
|
|
|
|
|
ReadVal = ReadVal*RangeScal;
|
|
|
|
|
SetMonitorDevVal(MonitorValType, ReadVal);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void COtherMonitorDevMgr::DealAlarm(eAlarmType CurAlarmType, bool bThrow, CString ErrInfo)
|
|
|
|
|