分享

S7-200 SMART PLC 如何通过MODBUS-RTU 与温湿度变送器通讯获取温湿度

 君不见_cy 2024-04-16 发布于浙江

发现更多精彩
图片


一、硬件介绍

1.西门子SR30 PLC

2.支持MODBUS协议的温湿度传感器

3.DB9插头一个

图片

二、参数讲解

查看温湿度传感器参数,一般都会设置有默认值,正常情况下可以通过厂家配置的软件进行修改。我们直接用其默认值即可。

波特率:9600

数据格式:8位数据位、无校验

通讯方式:标准modbusRTU通讯

通讯地址:1

三、确定我们需要读取的变量

通过查看参数可以获知温度实时寄存地址为512,对应PLC组态地址为40513

湿度实时寄存地址为513,对应PLC组态地址为40514

图片

四、传感器与SMATR 200的接线

将温湿度传感器与plc通过DB9接口连接,其中引脚3接信号B,引脚8接信号A

图片

图片

五、编程,采用软件自带modbus库,调出使用

图片

六、主站初始化指令

图片

模式”(Mode) 输入的值用于选择通信协议。输入值为 1 时,将 CPU 端口分配给 Modbus 协议并启用该协议。

参数奇偶校验”(Parity) 应设置为与 Modbus 从站设备的奇偶校验相匹配。0(无奇偶校验)

参数端口”(Port)为西门子自带的Port 0 = CPU 中集成的 RS-485)。

参数超时”(Timeout) 设为等待从站做出响应的毫秒数。典型值是 1000 ms (1 s)

MBUS_CTRL指令完成时,指令将”(TURE) 返回给完成”(Done) 输出。

错误”(Error) 输出包含指令执行的结果。

七、温湿度传感器的采集

图片

参数从站”(Slave) Modbus 从站设备的地址。允许范围为 0 247。地址 0 是广播地址。仅将地址 0 用于写入请求。系统不会响应对地址 0 的广播请求。并非所有从站设备都支持广播地址。S7-200 SMART Modbus 从站库不支持广播地址。

使用参数 RW 指示是读取还是写入该消息。0(读取)

参数地址 (Addr) 是起始 Modbus 地址。寄存器地址为0,对应Modbus通讯里的地址40001

参数计数”(Count) 用于分配要在该请求中读取或写入的数据元素数。读取仪表中保持寄存器字数。

参数 DataPtr 是间接地址指针,指向 CPU 中与读请求相关的数据的 V 存储器。将 DataPtr 设置为用于存储从 Modbus 从站读取的数据的第一个 CPU 存储单元。

温湿度数据被存入到以VW100为起始的两个字,即vw100为温度,vw102为湿度,这里要注意,整数转为实数,最后在除以10最后的温湿度值

图片

八、程序调试

图片

由此可以得出温度为31.3℃,湿度为49.2%rh。这是我们把温湿度变送器放到水杯前,明显发现湿度变化比较大,为71%rh,如图:

图片

由此可得,通讯正常,数据读取正常,大家可以相互学习借鉴。

图片
the end

图片

给我【在看】

你也越好看!

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多