1. <em id="1vgsd"></em>
    <em id="1vgsd"><acronym id="1vgsd"></acronym></em>

    <rp id="1vgsd"><ruby id="1vgsd"><u id="1vgsd"></u></ruby></rp>
    <tbody id="1vgsd"></tbody>

  2. 与西门子PLC实现Modbus-RTU通信实例

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

    一、准备工具及材料

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

    2.西门子200smart PLC一台,

    3.多功能电表DW9L-RC38一台,

    4.电表说明书及通讯协议一份

    5.9针接口通讯线一根,

    6.USBRS485转换器一台,

    7.电源线2根,网线2根等。

    二、软件安装

    软件名称: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)编制第一、二段:置位标志位及通讯初始化:波特率Baud=9600Parity=0无校验,Port=0集成CPURS485口,Timeout从站响应超时500ms.Done初始化完成返回"TURE",Erro输出错误结果。


    (3)程序3-4:当 I0.0 从关闭变为接通时,延时T33=10mS时间后,置位第一条 MBUS_MSG 指令的启用标志 (M2.0)=1


    (4)程序5:读第一台从机设备,地址1,型号DW9L。当第一个启用标志 (M2.0) 接通后,延时T34时间,调用 MBUS_MSG 指令。只需为启用该指令的第一次扫描设置 First 参数。该指令会对从站(Slave =1) 的 12个保持寄存器执行读取 (RW = 0) 操作。

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

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

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

            读取的数据存放在 CPU 中的 VB100-VB111中;VB100101102103对应A相电压;VB104105106107对应B相电压;VB108109110111对应C相电压。因为电压值是双字节存放,所以用VD100地址读取A相电压,VD104地址读取B相电压,VD108地址读取C相电压。

    (5)程序6-7:第一条 MBUS_MSG 指令完成后("完成"(Done) 位从 0 变为 1),会清除第一条 MBUS_MSG 指令的启用标志,然后设置第二条 MBUS_MSG 指令的启用标志。如果错误 (MB1) 不为零,则置位 Q0.1 显示错误。

    (6)程序8-9:第二次轮询,读频率值参数读第一台设备的频率参数。第二个启用标志 (M2.1) 接通时,调用第二条 MBUS_MSG 指令。只需为启用该指令的第一次扫描设置 First 参数。该指令会对从站 1 的 2 个保持寄存器执行读取 (RW = 0) 操作。数据从 Modbus 从站中的地址 416435(0x4032) 读取,并复制到 CPU 中的 VB200 - VB203(4 个字节)。


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

    (8)程序11-12:轮询读第二台设备,从机地址2,继续上一次读操作完成后,延时10mS,为下一步继续读操作做准备


    (9)程序13-14:第三条 MBUS_MSG 指令完成("完成"(Done) 位从 0 变为 1)后,清除第三条 MBUS_MSG 指令的启用标志。 如果错误 (MB1) 不为零,则置位 Q0.3 显示错误。

    四、程序下载
    五、在线测试

           

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

    K凯发棋牌 亚洲环亚真人游戏平台 凯发k娱乐平台客户端 k8凯发官网 亚美娱乐手机客户端 凯时百家乐 凯发k8官网下载 凯时kb88怎么样 ag凯时 凯时百家乐现场 尊龙娱官网 亚美娱送彩金 凯时优质 凯时国际app 凯时kb88最新 百家乐凯8娱乐 最新凯时app ag亚洲国际官网 918博天堂线 尊龙d88手机app 凯时博彩官网