原来OB1中有这么两个主动读取远程CPU中数据的功能块,FB16是将标准库中的FB14复制了一个再将
对象名改成了FB16,FB14网络在是FB16之前,两个指令读取“同一地址的CPU中的数据”,我想把远端读过来的数据分别放在DB41.DBX0.0-DB41.DBX9.8与DB41.DBX10.0-DB41.DBX19.8中,但是现在DB41.DBX0.0-DB41.DBX9.8与DB41.DBX10.0-DB41.DBX19.8中中的据完全想同,发现问题后我将另一个指令盒中的地址修改了,下载后程序没有任何变化,两个数据仍然一样;
后来我将OB1中的两个通讯指今剪切到FC20块,重新下载OB1,再下载FC20块,但是读来的数据仍然完全一样;
再后来我将OB1与FC20中的通讯指今全都删除,再下载FC20和OB1,但是仍然能读取到远程的数据,而且读来的还是一样的数据
有三个问题:1 我在指令盒中改变了地址,但是下载后CPU中实际读到的地址没有任何变化
2 我在程序中删除了读取数据的指令,但是为什么还是能读到数据,下载程序是将原来的程序清空再下载还是在原来的程序的基础上覆盖, 例如原来OB1中有FC1、FC2、FC3、FB14,再在我删除了FB14再下载到CPU中,那么下载后实际CPU还有没有扫描FB14 ?
3 由于现场不能停机,以上下载全是局的单个块的下载,如果整体的将所有块下载会不会还是出现以上情况
请高手指点一下
最佳答案
1)没有完全覆盖。需要编译、保存后下载。
2)是覆盖的。
3)删除块需要在线状态下进行的,在线后删除块。删除块后不需要再进行下载操作。
提问者对于答案的评价:
虽然没有最终解决,但是还是谢谢各位网友
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc218276.html