土木在线论坛 \ 电气工程 \ 电气资料库 \ MODBUS称重仪表与西门子PLC通讯实例

MODBUS称重仪表与西门子PLC通讯实例

发布于:2022-05-06 14:14:06 来自:电气工程/电气资料库 [复制转发]
1
一台支持Modbus协议的称重仪表

支持Modbus协议的称重仪表


2
设置好仪表的通讯参数


根据自己的要求可以调整,只要和PLC端统一就可以


波特率:9600


数据格式:8n1:8位数据/无校验位


通讯方式:Modbus协议


校验和:OFF


仪表通讯地址:1


3
确定所要读取的变量地址


这里我们只需要读取仪表的当前实时重量即可


仪表实时重量的地址为0,对应Modbus通讯里的40001


4
200smartPLC一台


200smartPLC

5
连接端口


将仪表端的RS485接口A,B与PLC端的DB9接口相连(DB9接口的3为A,8为B)



我记得是3为A,8为B,不知此图为什么这样,不过不要紧,如果不同,将两根线颠倒一下


准备工作完毕,接下来就开始我们的PLC编程了,因为200smart软件自身就带了Modbus协议库,所以,不需要我们另外去添加了,下面就介绍下怎么编程的。


6
初始化主站指令



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


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


参数“端口”(Port)设置物理通信端口(0 = CPU 中集成的 RS-485)。

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


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


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


以上的参数设置与称重仪表端的对应


7
两个仪表的轮询访问


参数“从站”(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 存储单元。


地址1的仪表数据被存入到VW600中,地址2的仪表数据被存入到VW610中。


编程结束,下面我们看下监控效果。


主站初始化指令运行正常,没有报错


地址1仪表数据为131,地址2仪表数据为0

全部回复(0 )

只看楼主 我来说两句抢沙发
这个家伙什么也没有留下。。。

电气资料库

返回版块

70.11 万条内容 · 718 人订阅

猜你喜欢

阅读下一篇

80%的电工都没注意,一个失误就会烧一台电机!

接线柱下面的螺丝没拧紧,导致电机烧毁,以往没注意,特地提醒大家,在接线的时候一定要注意! 上面这台电机是由于把下面的螺母没拧紧,虽然上面的螺丝上的很紧了,但其实下面的引线还是没接实,导致电机引线V1直接被烧断,电机缺相也烧了。 下面的也是因为底下螺丝没拧紧,导致接线柱、线鼻子烧了,还好发现及时没有烧电机。 鼻子都烧黑了 线都烧焦了

回帖成功

经验值 +10