📄 jz01.cpp
字号:
#include "jz01.h"
#include "WDXJY.h"
#include "7188X.h"
#include "..\Share\MSHARE.h"
#include "..\Share\MCLIENT.h"
int com3_buff=0;
int com2_buff=0;
int com1_buff=0;
int com4_buff=0;
/*LED指示灯*/
unsigned char len;
unsigned char TimerCount;
/*发送定时器*/
int WDTimerCount=0;
int CWTimerCount=0;
/*温度巡检仪*/
const char modbus_wd_rtu= 16;
unsigned char modbus_wd_sbuff_lenght= 0x00;
unsigned char modbus_wd_sbuff_index= 0x00;
unsigned char modbus_wd_sbuff[256];
unsigned char modbus_wd_rbuff_lenght= 0x00;
unsigned char modbus_wd_rbuff[256];
unsigned char modbus_wd_recorded= 0x00;
/*测温柜*/
const char modbus_cw_rtu= 17;
unsigned char modbus_cw_sbuff_lenght= 0x00;
unsigned char modbus_cw_sbuff_index= 0x00;
unsigned char modbus_cw_sbuff[256];
unsigned char modbus_cw_rbuff_lenght= 0x00;
unsigned char modbus_cw_rbuff[256];
unsigned char modbus_cw_recorded= 0x00;
/*************************************************************/
/*定时器*/
void Kernel()
{
TimerClose();
/*机组温度巡检仪*/
WDTimerCount++;
if(WDTimerCount >= 120)
{
WDTimerCount=0;
WD_Read();
}
/*机组测温发送指令*/
/*
CWTimerCount++;
if(CWTimerCount==20)
{
CWTimerCount=0;
_S7200_SERVER_READ();
}
*/
TimerCount++;
if(TimerCount >= 20)
{
TimerCount=0;
/*指示灯指示*/
if(len==0x01)
{
LedOn();
len= 0x00;
}
else
{
LedOff();
len= 0x01;
}
}
TimerOpen();
}
/*************************************************************/
int main()
{
Print("Hello 7523.");
/*初始化通讯模块*/
WD_Init();
/*_S7200_SERVER_INIT();*/
/*初始化串口*/
/*_InstallCom(1,9600,8,0,1);/*COM1 测温柜*/
_InstallCom(2,9600,8,0,1);/*COM2 MODBUS转发 调速器/油压装置/励磁*/
_InstallCom(3,9600,8,0,1);/*COM3 MB+网桥*/
_InstallCom(4,9600,8,1,1);/*COM4 温度巡检*/
/*安装用户定时器*/
TimerOpen();
InstallUserTimer1C(Kernel);
/*开启看门狗 */
EnableWDT();
/*开始循环 */
for(;;)
{
/*测温柜*/
/*
if(IsCom(1))
{
com1_buff= ReadCom(1);
if(com1_buff!=PortError && com1_buff!=QueueEmpty)
{
_S7200_SERVER_PROC((unsigned char)com1_buff);
}
}
*/
/*MODBUS_CLIENT协议 读到数据向COM3转发*/
if(IsCom(2))
{
com2_buff= ReadCom(2);
if(com2_buff!=PortError && com2_buff!=QueueEmpty)
{
for(;;)
{
com3_buff=ToCom(3,(unsigned char)com2_buff);
if(com3_buff== NoError)
{
break;
}
else
{
Delay(1);
}
}
}
}
/*温度巡检*/
if(IsCom(4))
{
com4_buff= ReadCom(4);
if(com4_buff!=PortError && com4_buff!=QueueEmpty)
{
WD_Proc((unsigned char)com4_buff);
}
}
/*MODBUS_SERVER协议 读到数据向COM2转发*/
if(IsCom(3))
{
com3_buff= ReadCom(3);
if(com3_buff!=PortError && com3_buff!=QueueEmpty)
{
for(;;)
{
com2_buff=ToCom(2,(unsigned char)com3_buff);
if(com2_buff== NoError)
{
break;
}
else
{
Delay(1);
}
}
/*7188内MODBUS控制端口*/
/*1.温度巡检仪器(虚拟设备)*/
_MODBUS_CLIENT_PROC(modbus_wd_rtu,
&modbus_wd_recorded,
&modbus_wd_rbuff_lenght,
modbus_wd_rbuff,
(unsigned char)com3_buff,
&modbus_wd_sbuff_lenght,
&modbus_wd_sbuff_index,
modbus_wd_sbuff,
wd_var_list);
/*2.测温柜*/
/*
_MODBUS_CLIENT_PROC(modbus_cw_rtu,
&modbus_cw_recorded,
&modbus_cw_rbuff_lenght,
modbus_cw_rbuff,
(unsigned char)com3_buff,
&modbus_cw_sbuff_lenght,
&modbus_cw_sbuff_index,
modbus_cw_sbuff,
cw_var_list);
*/
}
}
/************************************************/
/*发送温度巡检数据*/
/*->BM+网桥*/
if(modbus_wd_sbuff_lenght>0)
{
for(;;)
{
com3_buff=ToCom(3,modbus_wd_sbuff[modbus_wd_sbuff_index]);
if(com3_buff== NoError)
{
break;
}
else
{
Delay(1);
}
}
modbus_wd_sbuff_index= modbus_wd_sbuff_index + 1;
if(modbus_wd_sbuff_index >= modbus_wd_sbuff_lenght)
{
modbus_wd_sbuff_lenght=0;
modbus_wd_sbuff_index=0;
}
}
/*->PLC*/
if(WD_sbuff_length>0)
{
for(;;)
{
com4_buff=ToCom(4,WD_sbuff[WD_sbuff_index]);
if(com4_buff== NoError)
{
break;
}
else
{
Delay(1);
}
}
WD_sbuff_index= WD_sbuff_index + 1;
if(WD_sbuff_index >= WD_sbuff_length)
{
WD_sbuff_length=0;
WD_sbuff_index=0;
}
}
/*发送测温数据*/
/*
if(modbus_cw_sbuff_lenght>0)
{
ClearCom(3);
com3_buff=ToCom(3,modbus_cw_sbuff[modbus_cw_sbuff_index]);
modbus_cw_sbuff_index= modbus_cw_sbuff_index + 1;
if(modbus_cw_sbuff_index >= modbus_cw_sbuff_lenght)
{
modbus_cw_sbuff_lenght=0;
modbus_cw_sbuff_index=0;
}
}
*/
/*更新看门狗 */
RefreshWDT();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -