广东湘恒智能科技有限公司
主营产品: 西门子变频器,西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU,广东省西门子授权代理商,等
西门子PLC(S7-1200、1500)通讯程序报16#80C8错误的解决方法
发布时间:2024-11-25

西门子PLC(S7-1200、1500)有着丰富的通讯功能。最近我们工程师在用S7-1200做通讯实验,里面配置了1个TCP通讯、2个UDP通讯、1个MODBUS TCP SERVER。

开始时,只配置有一个通讯,都能正常工作。后来,把这几个集成在一个程序里时,却发现TCP和MODBUS TCP SERVER不能同时工作,只有一个能够工作(此处省略实验过程字数若干)。但是,2个UDP都能正常工作。

一、出错情况

在线查看程序,将各通讯块的状态引出来,发现:不能工作的程序块报16#80C8代码(正常时应该是16#7abc),在帮助里也没有针对这个故障代码的信息。

二、解决方法

后来在线打开PLC的连接状态,发现MODUBS TCP和TCP通讯的本地ID是一样的,都是1,猜测可能是这个冲突,将MODBUS TCP的ID修改成10,下载,依然没有解决。重新启动PLC后,再去查看,发现在线的本地ID号已经应用了,两个通讯可以同时建立了(下载后无效的原因可能是修改了程序块里的原始值,下载后,没有加载原始值的动作,但是没有起效)。

图片

三、修改MODBUS TCP ID的方法

打开MB_SERVER块CONNECT对应的变量,打开后,找到ID变量,将起始值修改为10,保存且下载进入PLC

图片

 四修改TCP和UDP通讯 ID的方法

在通讯块TSEND_C上点击工具箱,打开连接参数,找到ID,进行修改值,进行保存,并下载到PLC。

图片

 修改后,如果没有应用,则可以重启一下PLC。


展开全文
拨打电话 微信咨询 发送询价