S7-300与Carrier冷冻机的Modbus串行通讯
按照以上校验步骤,编写crc校验功能子程序fc6(见表3)。
在ob1中调用子程序fc6,计算出db10中的crc校验值。
call fc 6
db_no :=db10 //发送数据块
start_byte :=0 //起始字节
length :=6 //字节个数
crc_msb :=db10.dbb6 //crc高8位
crc_lsb :=db10.dbb7 //crc低8位
然后在ob1中调用串口数据接收功能块fb2:
all fb 2,db21
en-r :=m0.0
r :=
laddr :=256
db-n0 :=11
dbb-no :=0
ndr :=
error :=
len :=
status :=
引脚说明:
en_r:接收使能
laddr:cp340的逻辑地址
db_no:指定接收db
dbb_no:指定接收db中的起始字节。
ndr:接收新数据输出一个脉冲
error:接收失败输出1
len:输出接收字节的长度
status:状态字
此程序的含义为,在m0.1为1的时候从cp340接收数据,并把数据存在数据块db11中。
之后再提取db11中的数据,得到以下冷冻机的实际运行参数值(见表4)。
7 结束语
本文详细阐述了如何采用modbus协议实现s7-300与冷冻机之间的数据通信。实现了异种设备之间的连接,为实现公司的集中监控目标铺平了道路。
评论