在OB35中调用了 MODBUS从站通讯需要的功能块 FB80 和其背景数据块DB80 在OB100中做了始能至1的程序。
现在遇到的问题是:用仿真软件modscan32 仿真主站和我的从站链接。在仿真不连接的情况下fb80没有错误,并初始化成功。只要仿真一连接,FB80就会报错 编号为‘92’。仿真软件显示没有收到数据,显示没有有效的从站应答。应该就是我的300没有成功发送数据。在线看CP341 上面有2个错误,见附件。MODBUS接线应该没有问题,如果把4和11反过来就连接不上了,所以应该不是线的问题。在OB1里调用了FB80也是一样的。
通过反正软件可以看出来,modbus已经连接上了,300从站可以接受到仿真主站发过来要求接收数据的指令,但是300从站没有有效的应答。
问题补充:
我用的是rs485转usb的借口。
补充一个问题:用于modbus通讯的cp341是不是要和cpu在一个机架上?我的cp341挂在第1个扩展机架上在。
我查看了错误代码的信息,第1个是使用功能代码FC03,04,06,16访问simatic 数据块是发送错误,数据块不存在或太短
还有一个是调用RD_REC SFC出现静态错误。背景数据块的SFCERR变量中提供的SFC的返回值RET_VAL用于进行评估。这个2个是上面意思、?怎么解决
图片说明:
最佳答案
1、楼主多次提出这个问题,你仿真的PC用的是什么接口?
要配置一个品质好的RS232或USB转RS的485接口转换器。
2、CP341 模块的RS485接线见:见上传的图片。
3、建议看看下述文档中的第27、28、29的问题答案:
《串口模块常见问题》下载:
http://www.ad.siemens.com.cn/download/SearchResult.aspx?searchText=F0426
图片说明:
提问者对于答案的评价:
已解决
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc352442.html