我用的是s7-224xp和组态王,用的是组态王发布的s7-200自由口程序,224xp的port0口与DTU连接,现在又有一块热表,也想连接到组态王显示,通过485能否直接连到port1口,热表的通信协议已知,不知道如何编到程序里面去,与组态王的自由口程序会冲突吗,朋友们能给我一个程序样例吗,小弟在此谢了。
问题补充:
port0已用,用的是组态王发布的连接s7-200的自由口程序,程序在下面,http://www.docin.com/p-400430646.html
热表的通信协议如下:本公司热能表通讯协议符合CJ-T188-2004户用计量仪表数据传输技术条件
传输时波特率为2400bps、偶校验、数据位为8位、停止位为1位。同一字节先传低位再传高位,同一帧先传低字节再传高字节。
举例如下(十六进制显示):
表号为17312151的热能表读表指令:
FE FE FE FE FE FE FE FE FE FE FE 68 20 51 21 31 17 00 11 11 01 03 1F 90 12 29 16
68 为帧起始符 68H
20 为仪表类型 T
51 为地址A0
21 为地址A1
31 为地址A2
17 为地址A3(A0、A1、A2、A3为要读取的热量表的表号,从低位到高位)
00 为地址A4
11 为地址A5
11 为地址A6
01 为控制码 C
03 为数据长度域 L
1F 为数据标识DI0
90 为数据标识DI1
12 为序列号SER
29 为校验码CS(68 20 51 21 31 17 00 11 11 01 03 1F 90 12进行二进制算术累加,不计超过FFH的溢出值)
16 为结束符 16H
其中除A0、A1、A2、A3、CS根据不同的表号变化,其它固定不变。
最佳答案
不知道你组态王怎么连接的,既然你用DTU,组态王可以通过DTU连接,XP224就空闲出一个通讯口,这个口可以连接仪表,是要编程的,首先就是状态字节SMB34、35(记不太清楚了,是33和34还是34和35,这两个参数是设置通讯口的,可以看帮助索引搜索),然后就根据仪表的通讯协议了。
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc207580.html