西门子200 smart 与富士温控仪的modbus rtu通讯案例

已锁定

WWCWWC

西门子1847工业学习平台

  • 帖子

    8062
  • 精华

    145
  • 被关注

    1341

论坛等级:至圣

注册时间:2008-07-26

钻石 钻石 如何晋级?

西门子200 smart 与富士温控仪的modbus rtu通讯案例

11947

11

2019-01-09 08:09:18

西门子200 smart 与富士温控仪的modbus rtu通讯案例

   今天在整理年底备件库时,发现在备件箱角落中还静静的躺着一块之前用余的工程预料,一块带modbus通讯功能的富士温控仪。该温控仪是之前在300系统工程中应用过,采用的是cp341 modbus通讯的,温控仪订货号:PXR9NEY1-GWM00-C。于是,有了再次拿来做一个200 smart modbus rtu通讯验证的念头。

通讯架构:

一块经济型西门子200 smart PLC,订货号:6ES7 288-1CR60-0AA0,作为modbus rtu主站;温控仪,订货号:PXR9NEY1-GWM00-C作为modbus rtu从站。参考资料:西门子 S7-200 SMART 技术参考 V2.1版本、富士温控仪 MICRO CONTROLLER X COMMUNICATION FUNCTIONS(RS-485 MODBUS)手册英文版。

   根据西门子modbus rtu通讯硬件连接要求,集成在plc侧的 RS-485通讯口,其中,3# RS-485信号B,8# RS-485信号A,富士温控仪端子1# RS485信号+,2# RS485信号-,由于是验证,用双绞导线替代屏蔽双绞电缆,相对通讯距离短,未连接终端电阻器。如果实际应用,需要在首站(主站)和末站分别安装100欧姆1/2W电阻器或按具体连接手册安装其它阻值的终端电阻器,目的是消除回波,提高通讯质量。

程序:硬件设置;连接。

1) 利用集成的RS-485作为modbus rtu通讯的主站口,调用modbus rtu主站初始化指令;调用modbus rtu读、写的MSG指令编写主站程序;

2) 将富士温控仪设置为modbus rtu通讯的从站,从站地址设置为1。将温控仪参数:STno设置为1(从站地址);CoM设置为2(无校验);PCoL设置为1(modbus通讯),这些需要与PLC侧通讯参数设置保持一致。

3) 创建一个新项目,编辑modbus rtu通讯程序:参考官方例子或F1帮助。

初始化:通讯频率9600kpbs;无校验;prot0口;超时1000mS,初始化完成标志位M0.0;错误信息MB1。

先试着给富士温控仪写入(SV值),功能码:41003的温度数据设置值:

Slave(从站地址):1#地址;

RW(读、写):1写数据;

Addr:写功能码41003;

Count:(写一个字长度的数据)一个word数据(设置SV温度值);

DataPtr:(写入数据预先存放地址)VW100中;

Done:MSG指令完成标志位;

Error:错误信息存放地址字节。

完成后,利用Done位或其它指令关闭MSG指令。

将富士温控仪按通讯要求设置,将用户程序下载到PLC,监控运行状态结果:



   一个简单的modbus rtu通讯就这样做好了,有一点意思吧?创建modbus rtu通讯几个需要注意的问题:

1) 硬件连接,西门子200 smart PLC侧集成的RS-485口必须按3+;8-的信号极性连接到从站的通讯端子上,这个必须先看手册的连接图示后确认后再连接,对于有一些从站可能还需要重新断电后,设置参数才能够有效,这点对于刚刚开始做项目的同行可能会疏漏这步。

2) 从站参数的设置,对于有一些从站(第三方从站),必须理解了功能号的具体含义,是读取还是写入参数还是读取、写入共用参数,参数(功能)号是什么及作用,功能号调用是否正确并理解。

3) 编辑程序后下载测试,先看Error错误报警字节的值是否为0,通讯正常时,该错误报警字节应该是0值。“状态图表”中MB2的值为0值,说明通讯正常。

4) 通讯程序中调用的地址及库指令存储V区,注意地址的调用情况,不要重复调用,到时程序出错还是需要自己找出来麻烦的。

一个完整的modbus rtu通讯一般总不至于仅仅只有一条MSG指令吧,那么,modbus rtu的轮询机制是做工程项目的一种“标配”了。Modbus通讯以及优异的经济性,应用于对实时相应要求不高的工程项目中,能够充分体现它的经济性及便利性。

假设,还需要读取P / I的参数呢?刚刚在前不久论坛上讨论比较有热度的轮询话题,modbus rtu通讯的MSG指令错误报警值中的讨论,有网友给出了一个仅仅只调用一个MSG指令,该指令的管脚用变址方式进行,有兴趣的同行可以去看看。链接:http://www.ad.siemens.com.cn/club/bbs/post.aspx?a_id=1533543&b_id=64&s_id=83&num=36#anch。这里列举一个简单的轮询程序吧,轮询机制就是利用上一个MSG的Done(指令完成标志位)触发下一个MSG指令,引成的闭环轮询进行的。

程序:


注意:实际在温控仪上设置的参数,如P = 5.0 ,而PLC实际读取到的是P = 50,如果这个值需要更新或计算,需要根据双方通讯协议内容进行适当的算术运算或用指令转换,以获取真实的实际值,其它富士温度仪参数的读、写仍然可以按类似的步骤进行。

在实际应用中,对于一些常用的仪表参数,需要用SM0.1特殊标志位事先初始化一个相对“标准”的数据,方便用户通过人机界面等工具修改少量的工作参数。

注:富士温控仪modbus 参数手册可以到富士中国官网上注册下载应用。


西门子200 smart 与富士温控仪的modbus rtu通讯案例 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200 SMART

共有7602条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。