回复:1200G2,485通讯故障

ZXC2011

  • 帖子

    660
  • 精华

    11
  • 被关注

    46

论坛等级:侠圣

注册时间:2011-08-10

钻石 钻石 如何晋级?

发布于 2026-04-07 11:40:49

8楼

展开查看
以下是引用Zane在2026-04-06 13:24:33的发言 >5楼

启动OB与硬件标识没啥关系,异步指令在事件触发程序中执行肯定是有问题的,楼主还是没搞清楚原因。


以下是引用ZXC2011在2026-04-06 10:17:50的发言 >3楼:弄清楚了.不是硬件和...

引用3楼详细内容:

弄清楚了.

不是硬件和固件的问题.

老版本的modbus库,Comm_load功能块,我一直放在Startup OB中调用,一直没问题.

这个新版的库不行,一定要在主OB内,可以用FirstScan触发激活一次.

很明显就是放在Startup OB内没有被执行,没有绑定硬件标识符,所以一直报这个故障.我其实一开始猜测过这个原因,但是被我直接否了毕竟从V11开始用的1200一直这么用,最后搞了3个小时没成功才不得已返回去测试下了一下.

希望给同样这个调用comm load的朋友提个醒吧.有时候版本更迭暗改的东西,也没个特别提醒,不知道就是不知道真的很抓狂.

以下是引用ZXC2011在2026-04-06 03:01:53的发言 >0楼:一但开始通讯,PL...

引用0楼详细内容:

一但开始通讯,PLC红灯报错,诊断信息也是莫名其妙FB613 I/0读访问出错. 这个FB613是系统自动生成的Send_P2P.modbus块那边8281错误.

1200G2使用不了原先的modbus库,只能使用最新的V6.0版本.


这个问题新版的库引起的,还是1200G2硬件有问题,我看论坛里前段时间有朋友反应485 CB板似乎有问题,官方又有文档让升级固件的.但是我这个是最新26年4月份才拿到的.


有没有朋友指点下

补充一下相关信息,今天又测试了一下.

通讯相关的轮询机制很早以前做的程序,老版的通讯指令,一直放在startup中调用,没有问题,包括今天也在4.7固件的1200G1中测试通过.

新版的通讯指令,comm_load放在startup中加载确实不行,1200G1/G2都不行,不同的是G1不会报警,只是不工作.G2是Error直接红灯加报警.


这就是新老版本通讯库的差异和硬件固件无关.

老版本的库官方就是推荐放在Startup OB中调用的.参见https://support.industry.siemens.com/cs/document/90578932/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87modbus%E5%8D%8F%E8%AE%AE%E5%AE%9E%E7%8E%B0s7-1200%E4%B8%8Es7-200%E9%80%9A%E8%AE%AF?dti=0&lc=zh-CN

新版的库也写了推荐在OB1中调用,参见指令帮助.

问题其实发帖后就解决了,从结果推测原因.就是startup OB没有完整执行完comm_load,因此硬件标识符没有被绑定到send_ptp的port口,modbus指令库本质也是调用send_ptp发送报文.放在主OB内,通过done来完成初始化才是新版指令的正确用法.

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15599条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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