CP341 FC01功能码读不到线圈状态,读取约克冷机参数,保持寄存器和写单个线圈正常,就是读线圈不行,modbus scan读取线圈状态正常,请问如何解决????
图片说明:
产品版区:SIMATIC S7-300(F)/S7-400(F/H/FH)
悬赏西币:10 | 解决时间:2020-09-19 23:31:02 | 提问者: ?簡簡單單? - 新生  第1级
最佳答案
回答者:
nnnn1234
-
顶级工程师  第12级
2020-09-19 13:53:32
提问者对于答案的评价:
感谢,找到了存在的问题,非常感谢
转相关的读书心得笔记:
1、Function Code 01,05,15 对应M,Q,T,C等数据区,可读可写。
2、FC01功能码下,配置的数据范围和Limits下面配置的对应性。比如截图1中,M区功能码里面配置为0-255,Q区是256~511.那么PLC里面及对应M0.0~M31.7,Q0.0~Q31.7,其余部分无法在调试软件Modbus Poll中识别。监控时如果软件报illegal Data address往往要注意监控数据字个数的一致,在Modbus Poll中监视中需要注意截图2中的问题,否则会报非法地址错误。需要注意在Modbus Poll中监视的寄存器的数量一定不能超过DB中存在的字数。
3、工程师容易出问题的地方就是功能码参数的配置上面,经过我们工程师的测试如下:我们在首次拖用CP341后默认参数都是FC01、02、Limit页下面都是0,如果程序没问题情况下,这种硬件配置是可以使用的,CPU不会报错。其中FC03,FC04功能码能够读配置中的DB块数据默认是DB1,即只和数据块DB1 发生数据交换,其他配置的功能码FC01,FC02都只可以读到第一个位。所以很多客户如果觉得配置那么多参数麻烦,大可不必去配置,只需要提前规划好把通讯数据都放到通讯的DB块中即可,这样可以省去很多麻烦。
4、工程师在如果实在找不到问题所在可以让客户用库实例。在安装主、从站驱动程序时会附带安装两个例程程序进去如下图,客户可以将从站实例程序zXX21_05_PtP_Com_MODSL中的软件 部分拷贝到自己的项目测试,也可参考硬件配置中FC功能码中的参数如何设置。
回答者: 阿鸣 - 大师  第17级
2020-09-19 15:47:25
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!