如何实现两台PLC之间的MODBUS无线通信?

在工业现场可能会遇到这样的情况,分布在不同地方(车间、控制室场所等)的PLC之间需要进行远程相互控制,通常是采用RS485总线,通过MODBUS协议完成此功能。

如果现场布线不方便的话,也可以采用无线方式进行通信。这里以达泰DTD433无线模组和台达DVP-80EH为例进行说明。

一、两DVP-80EH 台达PLC之间的远程控制

实现的功能:

l         PLC1的8个开关量输入,X0~X7与PLC2的开关量输出Y0~Y7一一对应,也就是说上图中的A1开关按下时,PLC1的开关量输入X0闭合,PLC2的输出继电器触点Y0导通,L2点亮。

l         PLC1与PLC2之间的通信是通过RS485总线连接的,其中采用了Modbus协议。

二二、台达PLC通信中的Modbus协议编程方法

假设把PLC1作为主站,PLC2作为从站,分别编写主站和从站程序,主要掌握以下要点:

Modbus 主站读写程序

l              Modbus RTU主站功能是通过指令库中预先编好的内存值实现的,该内存值可以用WPL软件:帮助->辅助编程->通信格式设置,在这个工具中输入你想要的通信格式,然后生成对应的内存值。

l              Modbus RTU主站中一定要设置通信模式,模式编号请查阅WPL软件的帮助文档。

上述程序解析:

l              M1002常开触点,当系统RUN以后第一次扫描为:ON ,之后都为:OFF;该脉冲的宽度为一次扫描周期;

l              MOV H81 D1120为设置通信格式为:9600-8-n-1;

l              通信格式保持应用命令;

l              设置通信逾时300ms ;

l              设置主站的通信模式为Modbus RTU

Modbus 从站读写程序

上述程序解析:

l              M1002常开触点,当系统RUN以后第一次扫描为:ON ,之后都为:OFF;该脉冲的宽度为一次扫描周期;

l              MOV H81 D1120为设置通信格式为:9600-8-n-1;

l              通信格式保持应用命令;

用户出现的问题:PLC无法与DTD433模块通信

用户程序:

 

原因分析:

本程序无法通信主要原因是:

1.PLC的通信格式和DTD433C的数据通信格式不一样,上图用户程序里设置的通信格式为:9600  7-E-1;而DTD433模块通信格式为:9600  8-N-1;

2.PLC没有选择正确的通信模式,上图程序中没有设置,一般是要设置的。

解决方法:

1.改变用户PLC程序中通信格式设置,设置为9600  8-N-1;也就是说采用的波特率为9600、8位的数据位、无校验、1位的停止位;上图中用户程序设置通信格式的语句为MOV H80 D1120,其中MOV为数据传送指令,将H80传送到D1120,而H80对应的数据格式为9600 7-E-1(波特率是9600、数据位是7位、偶校验、停止位1位)查询方法如下图:

 

D1120是设置通信的功能口,所以只要把通信格式设置为9600、8-N-1对应该的内存值,如下图所示:

 

所以设置通信格式的命令应该改为:MOV H81 D1120

2.加入设置通信模式的语句,设置为Modbus RTU模式(RTU模式只能是8位的数据位);设置通信模式的指令需要用到SET指令,当SET指令被驱动,其指定的元件被设置为On,且被设置的元件会维持On,不管SET指令是否仍被驱动;设置Modbus RTU模式时,因为本次设置的主机用的是COM2口(D1120也是用在COM2口的),所以设置Modbus RTU模式的特殊继电器为:M1143;因此设置通信模式的命令应该为:SET M1143。

通过上述两个方面的修改,PLC和DTD433模块通信成功!

三、无线Modbus通信的实现方法

以上说明了采用有线RS485总线实现多台PLC之间的远程控制方法,有时由于现场条件的限制,重新布设通信线路很不方便,例如山上与山下,或者横跨马路的情况,尤其对于工程改造项目二次布线几乎是甲方无法接受的。在这种情况下,可以采用DTD433无线通信模组代替通信电缆,实现起来非常方便,不需要编程。

无线通信模组采用 中心频率为433MHz开放的ISM频段,内部使用全数字RF通信芯片与单片机组成无线数传系统,外部通信接口与RS485总线完全一致,为了使用方便,通信实现所发即所得,也就是说数据通信是完全的透明方式,这样的话,用两个DTD433模组能够直接代替有线的RS485通信导线。需要注意的是:

l          PLC的Modbus通信速率要与无线数传模组的波特率设置一致,例如通信参数可以设置为9600bps,8位数据,无效验位。

l          DVP-80EH的RS485+连接DTD433的RS485_A;

l          DVP-80EH的RS485-连接DTD433的RS485_B;

l          无线数传模组的供电电源为直流24V,与PLC可以共用电源;

l          无线通讯距离在200米左右选用DTD433A模组;

l          无线通讯距离在1000米左右选用DTD433B模组;

l          无线通讯距离在3000米左右选用DTD433C模组;

l          保证通信距离,提高通信质量要选择高增益的吸盘天线,天线安放高度离地面越高效果越好。

L1

四、PLC与DTD433无线模组通讯成功的案例

l         西门子PLC与 DTD433C-S4   9600bps,8,N,1,RS485口

l         海为PLC与 DTD433C-S4   9600bps,8,N,2,RS485口

台达PLC无线通讯方案相关推荐

  1. 台达PLC Modbus通讯程序

    台达PLC Modbus通讯程序 文档内容: Modbus RTU简介 台达MS300变频器写频率,读电流.报警: 施耐德ATV12变频器的写频率,读状态.输出频率: 金田JTE320S变频器的写频率 ...

  2. PLC无线通讯方案,支持西门子,三菱,欧姆龙,台达等各品牌PLC

    在实际项目中,经常有多台PLC之间需要通讯,距离可能从几十米到几千米,也有的客户需要通过互联网来远距离监控PLC的状态. 在这里介绍一种PLC无线通讯的实现方法,采用巨控GRM200系列PLC专用无线 ...

  3. 台达PLC串口通讯(自由口通讯)

    台达AS系列PLC的COM1口和COM2可进行标准Modbus通讯,也可进行自由口通讯. 对于使用非标准Modbus通讯格式的仪器,可采用自由口通讯指令实现数据交互. 主要使用到COMRS指令 ··· ...

  4. 台达PLC modbus通讯地址

  5. 水泥厂堆取料机无线通讯方案

    2019独角兽企业重金招聘Python工程师标准>>> 水泥厂堆取料机无线通讯方案 --用户实例&详细方案 作者:沈拓 本文是原创文章,图文已申请版权维护 如要进行商业转载请 ...

  6. 【厉害了】台达PLC可以实现无线下载程序!

    台达PLC程序远程无线下载 前两天需要修改下一个台达PLC的程序,但是PLC已经在现场了而且是放在高台上的,调试起程序来不太方便.平时这个PLC和控制室电脑之间用的是无线通讯方式,通过一对儿无线通讯终 ...

  7. 台达PLC远程监控与数据采集方案

    一.远程监控台达PLC的意义: 随着物联网的快速发展,通过手机微信小程序或PC终端对设备系统的控制单元台达PLC的运行进行远程预警监控的技术已经非常成熟.基于手机微信小程序或PC终端的台达PLC远程监 ...

  8. 如何实现台达PLC与上位机的数据通讯?

    台达PLC是国产PLC品牌中性价比较高的一款,具备简单易操作的编程模式.稳定可靠的性能,在工业控制领域中应用广泛.在实际使用过程中,通过台达PLC进行生产设备的管理控制,需要数据采集传输,一般在触摸屏 ...

  9. 台达plc自由口通讯_台达PLC和ABB机器人Devicenet通讯

    之前有经常遇见台达PLC和第三方机器人进行Devicenet通讯,故作以下整理,方便再次使用. 以台达模块DVPDNET-SL与ABB IRC5通讯为例,方法如下: 1.硬件连线 将PLC模块端和Ro ...

最新文章

  1. DOM-based XSS Test Cases
  2. scrapy-redis mysql_Scrapy-redis 分布式
  3. 温州大学《机器学习》课程课件(一)
  4. C#使用SQLite数据库的代码示例
  5. ResNet、Faster RCNN、Mask RCNN 是专利算法吗?盘点何恺明参与发明的专利!
  6. scala helloworld
  7. MySQL 运维及开发规范
  8. 一维热传导方程求数值解
  9. win10隐藏任务栏_win7/10任务栏合并但不隐藏标签
  10. 完全背包问题(Java)
  11. 计算机启动黑屏一段时间,电脑开机为什么黑屏一段时间就好了
  12. JAVA写arp协议_ARP协议动态交互仿真系统的设计
  13. gromacs ngmx_Jerkwin.github.io
  14. POI excel添加数据有效性验证以及解决DataValidation超长的问题
  15. XXL-JOB任务调度
  16. 小程序收费标准是什么,多少钱一年?
  17. WebGL 水波及焦散(刻蚀)的渲染总结
  18. 模拟肯德基KFC快餐店收银系统
  19. 死锁产生和避免及计算题
  20. Java使用AES加解密

热门文章

  1. Python统计《红楼梦》人物出现频率
  2. K2 重磅出击,构建财务共享中心方案,促进企业标准化
  3. 计算机与网络安全经历了几个阶段,网络信息安全知识:根据互联网的发展阶段,互联网治理分为三个层面,即结构层面、功能层面、意识层面。确立网络规范属于互联网意识层面的治理。()...
  4. idea登录gitee插件报错Unauthorized -null
  5. 代码生成工具jdbc+freemarker+swing
  6. 【无标题】SimpleDateFormat,以及date的.parse()方法
  7. 学生免费申请JetBrains许可
  8. NVIC中断优先级管理
  9. 订单23系统服务器,死亡搁浅寻物系统服务器任务内容介绍-死亡搁浅寻物系统服务器任务流程详情_牛游戏网...
  10. tf2.0不降版本也能完美解决module ‘tensorflow’ has no attribute ‘contrib’的问题