西门子PLC总代理商|总代理_西门子触摸屏

供应商
广东湘恒智能科技有限公司
认证
西门子PLC
西门子触摸屏
西门子伺服电机
西门子变频器
西门子直流调速器
西门子电缆
联系电话
13922889745
手机号
18475208684
经理
向小姐
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房
更新时间
2025-02-26 08:00

详细介绍

s7-1200通过串口自由口协议与电力仪表专有协议的通信方法

 西门子s7-1200、1500系列plc的串口通讯,支持标准modbusrtu协议,若遇到非modbusrtu的其他协议,可通过自由口的方式来通讯。以下例程为s7-1200的rs485通讯模块,用自由口方式与电表通过dlt645-1997协议进行通讯,读取电表内“运行功率”及“累计电量”两个参数。

一、仪表的通信协议解析

1、从dlt645协议(文章后面有说明)进行协议解析,plc需发送至电表的帧结构如下:

图片


plc正常接收电表返回的帧结构如下:

图片


2、dlt645协议的具体协议内容

图片图片图片图片图片图片

二、组态plc串口模块

     模块设置为2线制485,波特率1.2kbps(与电表设置一致),偶校验(固定设置),数据位8位(固定设置),停止位1位(固定设置),与电表及协议设置一致:

图片


消息开始固定为16#68

图片


消息结束固定为16#16;同时超过400ms未收到消息,也认为结束:

图片


三、制作fb功能块dltm,按照dlt645协议格式发送、接收数据

1、编组发送帧

     按照dlt645的格式,将需发送到电表的14个byte数据放入数组send_ptp_sfb[1..14]中,并使用send_ptp功能块发送这14个byte。

图片图片


    使用send_ptp指令,发送以上编组好的send_ptp_sfb[1..14]共14个字节到串口

图片


2、从串口接收数据,并处理接收帧:

      从串口接收到的数据帧放入rcv_ptp_sfb数组中,若rcv_ptp_sfb[1..12]都与协议格式相同,且接收数据长度大于0,认为接收数据成功,将rcv_ptp_sfb[11]开始的2个数据放入read_data数组中。

图片


接收成功后,使用rcv_rst复位,并将接收数组rcv_ptp_sfb清零:

图片


四、制作fb功能块dlt645,定义串口参数,定义功能码,并调用dltm功能块

     读取不同参数时使用不同的控制码:读取功率时用16#9010控制码,长度为2;读取电量时用16#b61f控制码,长度为2:

使用port_cfg指令初始化串口:

port为串口模块硬件地址;

protocol=1代表点对点通信协议(固定设置);

baud为波特率,通讯链路上所有电表都需设置一致;

parity=2代表偶校验(固定设置);

databits=1代表字节数据位8(固定设置);

stopbits=1代表字节停止位0(固定设置);

flowctrl=1代表无数据流控制(固定设置);

图片


通过不同串口、读取不同电表、读取不同数据时,将不同的电表地址、数据标识通过块接口传入之前做好dltm功能块:

图片


五、在主程序中调用dlt645功能块,输入端口、波特率、电表地址等参数,与多台电表通讯时,需要轮询

例如:第1台电表的dlt645地址设置为010101010101:

图片


图片


六、总结:通信协议的解析是通信应用能力的体现。


西门子一级总代理商,西门子总代理商,西门子变频器,西门子PLC触摸屏,西门子伺服电机电缆
展开全文
我们其他产品
我们的新闻
相关产品
西门子plc 西门子低压电器 西门子工控机 西门子电动阀 西门子 西门子变频器 西门子接触器 西门子减速机 plc触摸屏 西门子调节阀 西门子断路器 西门子贴片机
微信咨询 在线询价 拨打电话