九游会老哥俱乐部登录的技术支持

广东东崎电气有限公司官方网站-九游会登录

发布时间:2019-5-27    查看:2298

一、准备工具及材料

1.台式电脑一台,笔记本电脑一台;

2.西门子200smart plc一台,

3.多功能电表dw9l-rc38ds9lds7l一台,温控表te系列一台,

4.仪表说明书及通讯协议,

5.9针接口通讯线一根,

6.usbrs485转换器一台,

7.电源线,网线、网络交换机等。


二、软件安装

软件名称:step 7-microwin smart,可从西门子网站下载。

三、梯形图编程

1.主要编程思路

       plc使用自带的rs485接口与仪表进行通信连接,plc作为主站,仪表为从站,使用标准modbus-rtu通讯协议。调用编程软件自带的modbus协议库,实现与仪表的数据通信。

2mbus_ctrl mbus_msg 指令介绍

       本示例使用单个主站及 mbus_ctrl mbus_msg 指令。同一理念对使用第二个主站及 mb_ctrl2 mb_msg2 指令的示例同样适用。

 

3.电力仪表通信协议:

4.梯形图编程

(1)设置plc型号



(2)设置库存储器的地址分配(系统已分配vb0~vb285用于modbus通信使用,我们就从vb286开始)


(3)编辑符号表


(4)编辑状态图表


(5)编制第一、二段:置位标志位及通讯初始化:波特率baud=9600parity=0无校验,port=0集成cpurs485口,timeout从站响应超时50msdone初始化完成返回"ture",error输出错误结果。



(6)程序3-4:当mbus_ctrl初始化完成后,m0.0 从关闭变为接通时,延时t33=10ms时间后,置位第一条 mbus_msg 指令的启用标志 (m2.0)=1


(7)程序5读第一台从机设备,地址1,型号dw9lds9lds7l。当第一个启用标志 (m2.0) 接通后,调用 mbus_msg 指令。只需为启用该指令的第一次扫描设置 first 参数。该指令会对从站(slave =1) 的 12个保持寄存器执行读取 (rw = 0) 操作。

      modbus 主站对 modbus 从站的12个保持寄存器执行读操作(abc相电压值)。

       plc 会从仪表地址为 416385 0x4000)开始的保持寄存器中读取到cpu内部,并保存在以vb300 开始的12个字节 v 存储器中。

        读0x4000开始的a相电压值,需将0x4000转换为十进制数0x4000→16384,再用400001 16384=416385

       读取的数据存放在 cpu 中的 vb300-vb311中;vb300301302303对应a相电压;vb304305306307对应b相电压;vb308309310311对应c相电压。因为电压值是双字节存放,所以用vd300地址读取a相电压,vd304地址读取b相电压,vd308地址读取c相电压。


m0.4为启动轮询,将通信设备进行反复读写操作。



(8)程序6:第一条 mbus_msg 指令完成后("完成"(done) 位从 0 变为 1),会清除第一条 mbus_msg 指令的启用标志,然后设置第二条 mbus_msg 指令的启用标志。


(9)程序7:第二次轮询,读电能值参数:读第一台设备的频率参数。第二个启用标志 (m2.1) 接通时,调用第二条 mbus_msg 指令。只需为启用该指令的第一次扫描设置 first 参数。该指令会对从站 1 2 个保持寄存器执行读取 (rw = 0) 操作。数据从 modbus 从站中的地址 4164370x4034) 读取,并复制到 cpu 中的 vb400 - vb4034 个字节vd400)。

(10)程序8-9:第二次读数据轮询结束,复位相关参数。



(11)程序10-11:轮询读第二台设备,读从机地址2的温控表测量值参数。 mbus_msg 指令完成("完成"(done) 位从 0 变为 1)后,清除 mbus_msg 指令的启用标志。


(12)vw406中的值写入温控表sv设定值中。


四、编译及程序下载


五、在线测试

     

六、串口监控:在电脑上用usb转rs485转换器连接到rs485接线端上,监控plc与仪表的通信收发报文:

网站地图