描述
在新的项目或工厂扩建过程中西门子经常会使用到特殊的功能库,同时使用多个库的时候,经常会遇到FB或FC的块号冲突的情况。
当不小心用其它库中同名的功能块覆盖替代了当前项目中的功能块会导致项目出现报错。
冲突实例
项目功能块:
● FB908: 项目功能块
● FC50: PCS 7 逻辑块
附件功能库 "MODBUS/TCP":
● FB909: 来自 MODBUS/TCP 附加功能库MODBUS功能块.
● FB908: 来自 MODBUS/TCP 附加功能库MODBUS功能块.
● FC50/FC60: SIMATIC Net库的功能块.
注意
FB909 调用 FB908 ,FB908 调用 FC50/60 (见 Fig. 01).

Fig. 01
冲突
K1: SIMATIC NET功能库中的FC50/FC60 再被 FB908调用后 (内部调用)无法在修改名称.
K2: MODBUS TCP 库中的FB908无法修改名称因为被FB 909内部调用.
解决方法: 重新连接功能块
"Rewire"不仅使用在FB和FC块号被修改的情况下,也使用于有内部调用的功能块。这样能够确保在修改块号的同时调用顺序不被打乱。
介绍
"Rewire"功能的使用.
No.流程
1对比需要使用的附加库与现在正在使用的库FB和FC的块号;
2注意块号有冲突的功能块
3在项目中创建新的S7程序
4从库中拷贝新的功能块到S7程序中
5右击新项目的块文件夹然后点"Rewire...".

Fig. 02
6一个空的表格显示出来.
在第一行填入当前需要进行重新连线的块名;
在第二行输入新的功能块块号.
点击 "OK".

Fig. 03
7当重新连线成功执行后仍然会有一条"Rewire (294:19)"的错误信息出现,该信息可以被忽略。
8确认结果.
打开被修改功能块的对象属性设置窗口,选择“calls”标签,被调用的模块全部显示在列表中。

Fig. 04
9在符号表中修改新功能块的名称。
10将模块拷贝到项目的主数据库中。
Table 01
结果
调用顺序入下面表格所示。

Fig. 05
注意
当修改新版本库中的块时,需要在多项目的主数据库中重复上述步骤。








京公网安备 11011202001138号
