您的位置 首页 观点

记一次Profibus DP转MODBUS的实例

发个故事也是一波三折,刚都快写完了,360浏览器崩溃,写的东西全没了,无奈,只能重新来过。12年自动化专业毕业后,留在了一个

发个故事也是一波三折,刚都快写完了,360浏览器溃散,写的东西全没了,无法,只能从头来过。
12年自动化专业结业后,留在了一个钢厂作业,首要触摸的就是西门子的PLC,触摸的协议天然也是profibus DP、MPI、PPI、TCP/IP等与西门子相关的协议,关于MODBUS,只是停留在听说过,如同很厉害的层面上,一次偶尔的时机,触摸到了MODBUS协议,项目是300PLC经过PB-B-MODBUS总线桥(北京鼎实)与MODBUS从站通讯,PLC挑选的是西门子CPU313-2DP,从站设备是一台加气机,主站CPU需求读取加气机的状况字及流量温度压力等数据,一起需求给操控字给加气机。因为之前没有触摸过MODBUS协议及产品,再通读了网上的协议及PB-B-MODBUS总线桥的产品介绍之后便开端了测验。
1.首要,毫无疑问,需求进行硬件组态的装备:在安装完总线桥的GSD文件后,很轻松完成了组态;


2.然后咱们要理解咱们的意图,读写数据,数据存储在什么地方?怎样读取和写入?硬件组态方面还需求怎样进一步组态?读取完数据之后怎样处理?

上图显现的是加气机设备MODBUS协议的一小部分,以LNG出口温度为例,对每个数据进行解说,0x0035、0x0036指的是寄存器号,2指的是寄存器数目,int 32指的是数据类型,0.001指的是单位,R指的是只读,归纳上述,咱们知道了LNG出口温度这个数据存储在40000+53(16进制35转化)-1=40052开端的两个字中,PLC读取数据之后需求除以1000以得到正确数值
接下来需求对硬件组态进行进一步组态,双击总线桥,增加一个read 2 words模块,并设置好开端地址及其他必要设置,组态完成后如下图


从上图中咱们便能够看出,将开端地址设置为52,PLC的I地址设置为256-259,便将MODBUS寄存器40052开端的两个字与PLC的PID256对应了起来,榜首行的8DI的I地址为2,意味着IB2是总线桥的状况位,QB2是总线桥的操控位:详细意义见下图


这样,咱们程序中给定一个发动MODBUS扫描信号,便能够读到LNG出口温度的数据了,读取的数据存储在PID256中,对PID256进行除以1000操作,便能够得到实践出口温度,一起,操控字状况字及其他温度压力等数据都能够经过这样的增加模块方法来进行读写。
经过这个项目,我对MODBUS协议有了必定的了解,我觉得关键在于组态和地址映射,测验时分能够运用MODBUS SIM和MODBUS SCAN软件进行测验,MODBUS Poll和MODBUS Slave也是能够的,运用软件测验完成后,有事半功倍的作用。而且在这次测验完成后,我又完成了S7-200与S7-200 SMART的MODBUS通讯测验,还有运用CP343-1经过第三方衔接MODBUS设备的测验,,发现再奥秘的东西,只需咱们用心去了解它,去分析它,问题都是变得简略,一波三折,常识也是这样,它也惧怕多磨!

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/230603.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部