plc200与多个plc和仪表的远程通讯通讯,读写问题


第一张图是MBUS-MSG这个指令说明书里的第二三张是数显表通讯说明书里的,请问前两张图要怎么对应起来看呀00**和12 34是对应的吗?不理解低位编号的V存储地址是寄存器的最高有效字节。。这句话还有什么:RTU模式下,报文中的每个8为字节被转化为两个16进制字符然后以字节为单位进行传输这句话,报文里不昰有很多个字节吗每个字节分成两个16进制,那字节不是翻倍了为什么最后只有00**,这么一点点我是新手,实在不理解不要喷我。

在工业现场可能会遇到这样的情況分布在不同地方(车间、控制室场所等)的PLC之间需要进行远程相互控制,通常是采用总线通过MODBUS协议完成此功能。
如果现场布线不方便的话也可以采用无线方式进行通信。这里以达泰DTD433无线模组和台达DVP-80EH为例进行说明

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

二、台达PLC通信中的Modbus协议编程方法假设把PLC1作为主站,PLC2作为从站分别编写主站和从站程序,主要掌握以下要点:

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

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

原因分析:本程序无法通信主要原因是: 1PLC的通信格式和DTD433C的数据通信格式不一样上图用戶程序里设置的通信格式为:9600

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

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


D1120是设置通信的功能口所以只偠把通信格式设置为96008-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

通过上述两个方面的修改PLCDTD433模块通信成功!

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

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

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


我要回帖

更多关于 plc和仪表的远程通讯 的文章

 

随机推荐