各位前辈,请帮忙,万分感谢:
1.预实现功能:60个温度控制60个阀,要使用60个PID,但不想每个PID都使用一个DB块,故引进多重背景数据块。
2.问题:新建FB块,在STAT下建立数据类型为FB41的静态变量,现在只要修改FB块下调用的FB41的输入输出链接变量就提示错误,点击更新后,提示接口冲突要引起停机,后面发现其实只要打开FB块,不做任何改动,STAT的FB41那里都是红色的,请前辈们帮忙分析是什么原因,如何解决,万分感谢。
图片说明:
最佳答案
从你的程序来看,你的FB41不是直接从程序库里面调用的,有可能是从PLC上传或其它地方复制过来的。两个方面可以说明,第一个:你的FB41的IO接口是IN0,OUT26,这种一般是从PLC上传的无符号的程序,不是人能看得懂的变量名。第二个:FB41是有符号名的。如果你的FB41直接从库里调用,那么你的FB520的STAT接口,不会显示FB41,而是显示它的名称“CONT_C”
你再更改FB41接口变量的时候,提示错误。这就说明,你建立FB520时的FB41和你现在的FB41已经发生了变化。所以会报错。你可以关闭FB520,然后将程序里的FB41删除,然后从库里重新调一个FB41再来。然后打开FB520重新更新接口。
FB41一般是不会修改的。如果你是在线更改程序,可以先重新下载一次FB41,然后再下载FB520,及它对应的数据块,最后下载调用FB520的程序。这样只要编泽通过,是不会停机的。如果你的FB520已经下载了,那就要这几个程序块和数据块同时下载,或停机下载。
FB接口的任何改变(包括修改注释),都会对已经生成的背景DB产生不一致。需要对调用FB时的数据块更新。否则会产生错误或停机。
提问者对于答案的评价:
谢谢各位前辈的帮助,后面查到原因了,是因为我的程序是从CPU上传上来的,在原有程序基础上添加程序,上传后FB41模块就变了,后面重其他地方复制过来,数据类型就不显示FB41了而是显示CONT_C然后就没有再报警这些了,谢谢各位前辈!
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc281089.html