程序错误FC

有一个FC块程序中一个网络有错误,既不能保存也不能监控。后来又从PLC中上传了一份程序也是一样的错误,但这部分程序的功能是正常的,请问是怎么回事?错误程序见图

图片说明:

程序错误FC    程序错误FC    程序错误FC    程序错误FC    程序错误FC   

最佳答案

本人以前记录过如下的文档,忘记作者是谁了。今转帖,供参考。
转帖:
 时间标记冲突与一致性检查:
        每个块包含一个代码时间标记和一个接口时间标记,可以在块的属性对话框中查看他们。下列情况将会产生时间标记冲突:
        1)被调用的块比调用它的块的时间标记更新。
        2)用户定义数据类型(UDT)比使用它的块或使用它的用户数据的时间标记更新。
        3)功能块比它的背景数据块的时间标记更新。
        4)FB2在FB1中被定义为多重背景,FB2的时间标记比FB1更新。
        及时块与块的时间标记的关系是正确的,如果块的接口的定义与它被使用的区域中的定义不匹配(有接口冲突),也会出现不一致性。
        以发动机控制为例,如果再FB1的变量声明表中修改或增减输入、输出变量或静态变量,在保存块时,将会出现接口已经改变……的警告信息。保存后打开调用它的OB1,出现至少一个块调用有时间标志冲突的对话框。在OB1中可以看看到,调用的FB1的指令变成红色。带有时间标记冲突的   程序下载到CPU后将导致停机。如果用手工来消除块的不一致性,是很麻烦的。可用下面的方法自动修正一致性错误:
        1)关闭与冲突有关的所有块。
        2)选中simatic管理器左边窗口的块文件夹,执行菜单命令编辑——检查块的一致性,在出现的检查块的一致性对话框中,有时间冲突的块用红色的指示灯标出。执行菜单命令程序-编译,step7将打开系那个硬的编辑器,时间标记冲突和块的不一致性自动地尽可能地消除,同时对块进行编译。经过编译后,对应的红色指示灯消失。
        3)如果再编译过程中不能自动清除所有的块的不一致性,在输出窗口中给出错误的块的信息,用鼠标邮件点击某一错误,调用弹出的菜单中的错误显示,对应的错误被打开,程序将跳到被修改的位置。
       4)重新执行1、2,直至信息窗口不在显示错误信息。
       也可以产出被调用的有冲突的块,然后重新调用他们。

提问者对于答案的评价:
谢谢谢

专家置评

已阅,最佳答案正确。补充一点,call指令存在语法错误

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc226519.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 上午1:37
下一篇 2018年12月1日 上午1:38

相关推荐