S7-1214C Modbus rtu与正泰PD666-3S4电表通讯8
CB1241与PD666 - 3S4电表Modbus rtu通讯
近期,因公司能源管理需要,将在全公司范围内对所有设备,增加电能计量管理功能。当前,类似的产品层出不穷,用户选择的余地非常大,选型前确认当前设备现有的配置,及需要新采购的电量仪表输出类型。经过统计、衰选,基本确定几款能够匹配现有设备的多功能电表,其中,如正泰PD666 – 3S4多功能电表:
仪表为LED数显方式,具备Modbus rtu(RS485)和脉冲输出2种方式。
现确定选用Modbus rtu与原设备项目中添加新的通讯从站,站号:9,通讯频率:9600 bps,无校验。
PD666 – 3S4仪表设置:
1)Prot = n.2 Modbus rtu通讯模式,其中:1个停止;
2)Addr = 9 从站地址:9#;
3)Baud = 9600 bps 从站通讯频率。
部分电表参数,图示1: 
具体设置方式参考电表通讯手册。
硬件连接:
S7-1214C(CB1241) PD666 – 3S4
TA B(59#端子)
T/RA
TB A(58#端子)
T/TB
PLC侧的配置:CPU S7-1214C + CB1241
1) 创建测试项目,图示2:

插入CB1241通讯信号板,原默认参数不变,能够匹配原设备。
2) 调用系统时钟和系统标志位,方便通讯程序调用,在OB1插入Modbus_Comm_Load通讯初始化指令和Modbus_Master主站读、写通讯指令,图示3:

按指令要求,填写指令各管脚实参,图示4:

REQ管脚用系统时钟M0.5上升沿触发,其它管脚按要求填写。
DATA_ADDR = 40045
DATA_LEN = 3
目的是读取电表的:该电表寄存器换算是:4000 +1方式。
002C H:40045通讯协议;
002D H:40046通讯频率;
002E H:40047通讯地址。
3) 填写完整通讯指令各管脚,创建数据存放数据块DB4,编译、保存,将项目下载到测试plc中,查看数据块DB4的数据显示,图示5: 
数据块DB4显示:
DB4.DBW0(通讯协议):2 表示Modbus rtu
DB4.DBW2(通讯频率):3 表示9600 bps
DB4.DBW4(从站地址):9 表示从站9#
通讯正常,能够读取到PD666 – 3S4电表的部分数据,如果设备有类似的需要,可以将项目复制到相关设备上,能够新建电量管理的目的。如果设备已经带有通讯从站,只需要匹配通讯参数及硬件连接,能够匹配一致,即可以添加Modbus_Master通讯指令,有主站读、写从站数据指令,获取需要的数据。
小结:
实际上写反复这些项目并没有太多的新意,主要也是自己在熟悉第三方从站仪表正泰PD666 – 3S4多功能电表应用,及几个关键通讯参数和数据寄存器地址区位置。需要用户设置的3个主要参数它们分别是prot(通讯协议)、Baud(通讯频率)、Addr(从站地址),这3个重要数据,另外,在与正泰官方服务联系时,知道prot通讯协议中包含,校验和数据停止位等数据。寄存器地址02C H = 40045 = 2,表示电表通讯模式是Modbus rtu。寄存器地址401E H = 415416(当前正向有功总电度),这个参数是真正应用需要读取的的数据,其它参数的读或写根据实际情况另定,有类型应用的用户可以参考电表作为从站的通讯例子。