找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13816|回复: 38

PLC技能扩展:如何实现PLC与多台变频器的MODBUS/RTU通信?

 火.. [复制链接]
  • 打卡等级:即来则安
  • 打卡总天数:28
  • 打卡月天数:7
  • 打卡总奖励:7961
  • 最近打卡:2025-12-22 17:16:30

3317

主题

285

回帖

2万

积分

管理员

积分
24106
发表于 2018-12-31 21:47:31 | 显示全部楼层 |阅读模式
如果现在有个项目,需要MODBUS控制五个变频器,那该怎么办?

也许你会说,这还不简单,把前面的通信程序复制五遍不就行了?理论上,这是可行的,但却是不可行的,为什么呢?因为串口在同一时间,只能进行一次数据交互。这个一次,是指一次读或是写操作。这就好比一个很窄的路口,一次只能通过一辆汽车,如果五辆汽车一起通过,势必会引起堵塞,一辆也过不去,但我们需要过五辆怎么办?那就需要交通灯或是交警指挥交通,通信也一样,也需要有交通灯或是交警,而在MODBUS通信中,就需要我们自己来当交警,通过程序控制通信流程,这就是轮询方式。

而MODBUS通信实现轮询,有两个常用的方法。


1 时间间隔法

所谓时间间隔法,就是每个操作分配一个固定的时间,比如第一秒写入频率,第二秒读取频率,第三秒读取电流,当然,这个时间是要根据实际情况来设置的,我们看一个例子:
图一时间间隔
如图一所示,这是一个BLINK 和计数器两个功能块组成的程序,BLINK产生一个50毫秒的脉冲,而计数器对此脉冲进行计数,因此,计数器的当前计数值CV 也就是图中黄色荧光笔部分,就会从1 到6每隔50毫秒递增一次。这样,就为每一次操作分配了50毫秒的时间。
图二 利用时间间隔触发通信
如图二,红色圆圈部分,当数值等于1的时候,我们写入地址0002,当数值等于2的时候,我们读取103,依次类推。黄色荧光笔部分是触发路径。


2 功能块触发法

功能块触发法,是利用功能块的状态参数来触发下一次通信,也就是我在介绍通信的时候使用的BUSY信号。
图三 利用BUSY信号触发下一次读写
如图三所示,当写入0002通信完成后,利用BUSY信号来触发下一次通信,读取103的值。图中黄色荧光笔的部分,就是触发路径,当上一个通信功能块的BUSY信号产生下降沿的时候,证明这次通信已经完成,以此来触发下一次通信

以上,就是两种常用的轮询方法,它们各有优缺点,最好的方式就是两者结合。利用时间间隔,这个时间间隔的设置就很讲究,时间太短,可能通信还没完成,时间太长影响效率。而利用功能块的BUSY信号,可以很好解决这个问题,但是,一旦一个环节通信出错,BUSY信号无法给出,就会造成后面的通信无法进行,那么该如何结合呢?那就是用时间间隔来确定从站之间的通信间隔,而同一个从站的读写就用功能块信号触发,这样即使通信有错误,也只是影响一个从站。

我们为每个从站分配30毫秒的时间,那么轮询10个从站只需要300毫秒,这基本能满足我们的需求,而又能保证每个站的通信时间。因为超过10个从站,就不建议用MODBUS通信了,那样就要考虑使用总线了。而一个从站内部,要读写多次的时候,就用BUSY信号触发。这样,即使一个从站通信出现问题,也不会影响下一个从站的通信。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
工控课堂 www.gkket.com

0

主题

345

回帖

2785

积分

高级会员

积分
2785
发表于 2018-12-31 21:49:00 | 显示全部楼层
太生气了,无法HOLD啦 >_<......
工控课堂 www.gkket.com

0

主题

427

回帖

2382

积分

高级会员

积分
2382
发表于 2018-12-31 22:14:32 | 显示全部楼层
论坛有你更精彩!
工控课堂 www.gkket.com

0

主题

443

回帖

2487

积分

高级会员

积分
2487
发表于 2018-12-31 22:25:34 | 显示全部楼层
淡定,淡定,淡定……
工控课堂 www.gkket.com

0

主题

443

回帖

2844

积分

高级会员

积分
2844
发表于 2018-12-31 22:25:35 | 显示全部楼层
楼主加油,我们都看好你哦。
工控课堂 www.gkket.com

6

主题

462

回帖

2701

积分

高级会员

积分
2701
发表于 2018-12-31 22:26:01 | 显示全部楼层
真是难得给力的帖子啊。
工控课堂 www.gkket.com

9

主题

412

回帖

2406

积分

高级会员

积分
2406
发表于 2018-12-31 22:26:15 | 显示全部楼层
我只是路过打酱油的。
工控课堂 www.gkket.com

12

主题

451

回帖

2534

积分

高级会员

积分
2534
发表于 2018-12-31 22:26:16 | 显示全部楼层
看完楼主的帖子,我的心情竟是久久不能平息,受教了
工控课堂 www.gkket.com

8

主题

415

回帖

2672

积分

高级会员

积分
2672
发表于 2018-12-31 22:40:12 | 显示全部楼层
感恩无私的分享与奉献
工控课堂 www.gkket.com

12

主题

444

回帖

2681

积分

高级会员

积分
2681
发表于 2018-12-31 23:20:07 | 显示全部楼层
好东西一定要看看!
工控课堂 www.gkket.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|手机版|免责声明|本站介绍|工控课堂 ( 沪ICP备20008691号-1 )

GMT+8, 2025-12-22 21:02 , Processed in 0.171026 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表