基于Modbus协议实现PLC与智能仪表的通讯
3.4程序:
VAR
XXMIT_MB:XXMIT;
SET_CMD:SET_BIT;
END_VAR
SET_CMD(IN:=1,(*BOOL*)
NO:=9(*UINT*));(*把Command参数的bit9置1,让通讯口工作在ModbusMaster模式下*)
XXMIT_CMD:=SET_CMD.RES;
XXMIT_MSGOUT[1]:=3;(***MODBUS功能码***)
XXMIT_MSGOUT[2]:=64;(***需从MP6000中读取的寄存器的数量***)
XXMIT_MSGOUT[3]:=5;(***MP6000的地址***)
XXMIT_MSGOUT[4]:=1;(***MP6000中数据的起始地址***)
XXMIT_MSGOUT[5]:=31;(***将读取的数据写入PLC从40031开始的64个寄存器中***)
XXMIT_MB(Start:=1,(*BOOL*)
Command:=XXMIT_CMD,(*WORD*)
MsgOut:=XXMIT_MSGOUT,(*ANY*)
MsgLen:=5,(*INT*)
Port:=1,(*BYTE*)
Baudrate:=9600,(*INT*)
Databits:=8,(*BYTE*)
Stopbits:=1,(*BYTE*)
Parity:=2,(*BYTE*)
RespTout:=1000,(*INT*)
RetryLmt:=20,(*INT*)
StartDly:=0,(*INT*)
EndDly:=0(*INT*));
参考文献:
1、宋德玉.可编程控制器原理及应用系统设计.北京:冶金工业出版社,1999
2、曾繁泰等.可编程器件应用导论.北京:清华大学出版社,2001
数字通信相关文章:数字通信原理
通信相关文章:通信原理
评论