📄 processpzdkdirect.cpp
字号:
#include "stdafx.h"
#include "fert2000.h"
#include "process.h"
extern bool bStopFlag;
extern RecSendThread RecSendThread1;
extern CFert2000App theApp;
extern ADDR *Addr;
BYTE PZDKDirect_Check(BYTE * buf,int iLen)
{
WORD dwSum = 0;
BYTE wSum =0;
for (int i = 0;i < iLen;i++)
{
dwSum += buf[i];
}
wSum=dwSum%0xff;
return wSum;
}
void PZDKDirect(int i,int RtuNo)
{
int iStatus = 2;
int SendLen = 0,RecLen = 0;
int iRet = 0;
CHANPARA *chanpara=Addr->ChanPara_addr+i;
RTUPARA * rtupara=GetRtuParaPt(Addr,RtuNo);
if(!rtupara)
return;
BYTE *SendBuf=&chanpara->SendBuffer[0];
BYTE *RecBuf=&chanpara->RecBuffer[0];
SendBuf[0] = 0x50;
SendLen=1;
ChanBufRead(i,RecBuf,1024);
ChanBufWrite(i,SendBuf,SendLen);
Sleep(50);
DispBufData(i,RtuNo,0,&SendBuf[0],SendLen,0);
iRet=ChanBufRead(i,&RecBuf[0],18);
if(iRet==18)
{
iStatus=0;
for(int k=0;k<18;k++)
{
switch(k)
{
case 1:
{
rtupara->YcValue[0]=(RecBuf[1]+RecBuf[2]*256)/10;
k++;
break;
}
case 3:
rtupara->YcValue[1]=RecBuf[3];
break;
case 4:
rtupara->YcValue[2]=RecBuf[4];
break;
case 9:
case 11:
case 13:
{
if(k==9)
rtupara->YcValue[3]=RecBuf[9];
if(k==11)
rtupara->YcValue[4]=RecBuf[11];
if(k==13)
rtupara->YcValue[5]=RecBuf[13];
break;
}
case 5:
case 6:
{
if(RecBuf[k]==0x0b)
rtupara->YxValue[k-5]=1;
else
rtupara->YxValue[k-5]=0;
break;
}
case 7:
{
if(RecBuf[7]==0x16)
rtupara->YxValue[2]=1;
break;
}
case 10:
{
if(RecBuf[10]==0x20)
rtupara->YxValue[3]=1;
else
rtupara->YxValue[3]=0;
break;
}
case 12:
{
if(RecBuf[12]==0x20)
rtupara->YxValue[4]=1;
else
rtupara->YxValue[4]=0;
break;
}
case 14:
{
if(RecBuf[14]==0x20)
rtupara->YxValue[5]=1;
else
rtupara->YxValue[5]=0;
break;
}
}
}
DispBufData(i,RtuNo,1,RecBuf,18,iStatus);
}
else if(iRet>0)
{
iStatus=1;
DispBufData(i,RtuNo,1,RecBuf,iRet,iStatus);
}
else
{
iStatus=2;
DispBufData(i,RtuNo,1,RecBuf,iRet,iStatus);
}
if (rtupara->RecFullYx == 255)
rtupara->RecFullYx = 0;
else if (rtupara->RecFullYx == 0)
rtupara->RecFullYx = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -