为什么在块一致性检查中有“最多只能为S7-GRAPH FB生成一个背景数据块”的报错信息?


n

描述:
如果给一个S7-GRAPH FB分配了多个背景数据块,在STEP7的块一致性检查“Program > Compile All”功能中将会产生如下的错误信息:n

  • S7程序仍然包含如下没有编辑的块:FB...
    只有一个顺序数据块可以自动生成。

因此S7-GRAPH FB没有被编辑。n

产生如上描述的错误信息的原因是当使用S7-GRAPH FB作顺序控制系统时,系统允许每个S7-GRAPH FB只能有一个背景数据块。如果在STEP7项目的S7-GRAPH FB被分配了多个背景数据块,那么在每次调用时只能使用一个背景数据块。n

S7-GRAPH 会自动分配一个背景数据块。这个数据块不是由于调用生成而是有S7-GRAPH 自动生成。系统的特性不会改变。n

弥补措施:
下表描述了两个可能的弥补措施:

序号 弥补措施
1 在S7-GRAPH 打开对话框 "File > Modify/Adapt Instance DB Number..."。在此可以输入一个新的背景数据块或者选择一个S7站中已经存在的背景数据块(通过点击"Select"按钮)。编辑后,当前的背景数据块对于S7-GRAPH FB是有效的(例如,如图01.分配DB50给FB50)。然后这个S7-GRAPH FB在调用时必须使用该分配的背景数据块(例如,在OB1中调用)。 n

为什么在块一致性检查中有“最多只能为S7-GRAPH FB生成一个背景数据块”的报错信息?
图. 01n

删掉在S7站中所有S7-GRAPH FB不需要的背景数据块。上述描述的错误信息在块一致性检查的"Compile All"功能后不再出现。n

注意事项:
如果使用此方法为STEP7项目中的S7-GRAPH FB生成了多个背景数据块,那么例如在OB1中调用时这个S7-GRAPH FB也可以使用这些背景数据块。OB1必须在STL中直接生成(或者S7-SCL)。

2如果不想删掉在S7站中所有S7-GRAPH FB不需要的背景数据块,可以在块一致性检查中使用功能"Program > Compile"。在这种情况下上述的错误信息不会出现。但是,所有的对象会被时间戳冲突影响并且所有不一致的对象都会被编辑。

为什么在块一致性检查中有“最多只能为S7-GRAPH FB生成一个背景数据块”的报错信息?
图. 02

关键字:
块调用

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日
下一篇 2021年4月12日

相关推荐

发表回复

登录后才能评论