M02型PLC通过Modbus与数码管通讯实例 点击:479 | 回复:0



大连德嘉工控

    
  • [版主]
  • 精华:7帖
  • 求助:2帖
  • 帖子:1050帖 | 1333回
  • 年度积分:376
  • 历史总积分:8436
  • 注册:2009年2月24日
发表于:2019-06-05 09:54:44
楼主

1. 首先,将 PLC 与数码管显示器接好硬件连接如下图

图片1.png

2. 数码管的参数设置,按照手册的说明,设置好参数,这里将数码管地址设置为1,波特率设置为9600

图片2.png

图片3.png

3. 然后在PLC中建立Modbus主站,这里介绍两种方式来建立Modbus主站

(1)由于M02型PLC本身内嵌Modbus主从站方式,编程是通过填表的方式实现的,所以演示一下填表的方便之处

图片4.png

参数填完只需直接下载到PLC中

其中的参数要根据数码管的说明来填写,数码管手册如下图:

图片5.png

可以看到这个例子为 PLC 发送:01 10 00 90 00 02 04 00 02 01 EA DB 1C

其中 01 为数码管地址,即 从站地址填入 1 ,因为需要向数码管写入,所以功能号选16 写多个寄存器4xxxx00 90 为数码管屏的显示寄存器,转换成 10 进制为 144,起始地址填 14400 02为寄存器个数,计数个数填2,对应的PLCV区起始地址这里填1000

图片6.png

如图,向 VB1000VB1003 写入 00 02 01 EA

然后将会看到数码管显示4.90,如图

图片7.png

(2)通过Modbus库指令进行PLC编程,建立Modbus主站程序,如图

图片8.png

其中的参数要根据数码管的说明来填写,数码管手册如下图:

图片9.png

例如 PLC 发送:01 10 00 90 00 02 04 01 01 00 0A 2A F8

其中 01 为数码管地址,即 Slave 填入 1 ,因为需要向数码管写入,所以 RW 100 90 为数码管屏的显示寄存器,转换成 10 进制为 144,因为起始地址为 40001,所以Addr填入 40001+144 = 4014504 为数据字节数,即 2 个字,所以 Count 填入 2

最后数据指针自己选择即可,注意不要与分配的库存储区冲突,这里我们用的是 VB1000

图片10.png

如图,向 VB1000VB1003 写入 01 01 00 0A

然后将会看到数码管显示 -1.0,如图

图片11.png

4. 综上所述,为M02PLC与数码管Modbus的通讯实例,当然第二种例子同样适合西门子S7-200 PLC


1分不嫌少!


热门招聘
相关主题

官方公众号

智造工程师