ListGenerator FC 具有三个版本,其符号名称如下:
对于 S7-300
ListGenerator300
对于 S7-400
ListGenerator400
对于 S7-1500
ListGenerator1500
如果数据所包含的目标地址不完整,或者根本不包含目标地址,则在接收这样的数据的 CPU 中,需要 FC ListGenerator。较重要的原因是缺少目标对象编号,因为该编号会指向存储接收到的信息的背景数据块。
如果未在站内设置参数或设置的参数不完整,目标地址可能会缺失或不完整。对于发送二进制信息、模拟值或计数值的典型值,允许这种情况存在。如果这些典型值将数据发送到多个目标,则不会为这些值设置目标地址。由于缺少目标信息,发送帧将自动传输到组态过程中建立了连接的所有目标。因此,该数据会在各个目标接收,而*接收目标地址。
提示 目标用户编号的补充信息没有目标地址的待发送数据帧具有由发送 TIM 添加的目标用户编号,如果有多个目标,则会有多个编号。 由于 TIM 不了解相关信息,因此在目标对象编号的地址字段中输入 0。TIM 仅知道组态了连接的目标用户。 因此在接收端,数据帧包含目标用户编号,但目标对象编号为 0。 |
如果接收到的数据帧中不包含目标对象编号,则负责分配接收帧的 FC Distribute 会引用对象引用列表。
FC Distribute 使用每个数据帧中包含的源地址(源用户编号 + 源对象编号),在列表中搜索说明缺少给定源地址的目标对象编号的条目;换言之,其搜索本地背景数据块的编号。
此对象引用列表由 FC ListGenerator 创建。该 FC 无参数,其链接到循环用户程序 (OB1) 中 FC BasicTask 之后。
创建列表时,FC ListGenerator 会将在参数中设置的地址用于接收典型值。这些典型值必须满足“PartnerNo”和“PartnerObjectNo”的规范。这些参数则与对应接收帧中的源地址相同。由于典型值也知道其背景数据块的编号,因此知道参考列表中条目所需的所有地址。
在启动过程中,FC ListGenerator 的安排是,所有接收典型值均输入其参数分配中的地址以及引用列表中背景数据块的编号。因此,对象引用列表不需要特殊的参数设置,只是通过接收典型值的现有参数创建,因此始终一致。
启动后,FC ListGenerator 在三个连续的 OB1 循环内创建列表:
在**个循环中,其确定在**个对象引用列表(适用情况下还有*二个对象引用列表)中需要多少个条目。在这一循环运行期间,相关典型值仅增加一个计数值。
在*二个循环中,FC ListGenerator 会为**个对象引用列表(适用情况下还有*二个对象引用列表)生成所需长度的数据块,并在所有数据字中输入 0。在这一循环内,所有相关典型值均会输入其地址以及列表中对应背景数据块的编号。
在*三个(即最后一个)循环中,FC ListGenerator 按升序排列所有条目。排序后,实际操作时会加快列表搜索速度。
生成数据块时,FC ListGenerator 执行以下操作:
如果未创建列表,则搜索可用的数据块编号。采用从 DB BasicData 编号开始的下一个值较低的可用数据块编号。
如果列表已存在,则 FC ListGenerator 将检查现有数据块长度是否足以满足当前所需的引用数量。如果长度足够,则输入 0,并将再次写入地址并进行排序。
如果现有数据块长度不足,则对不同的 SIMATIC 产品系列采用不同的步骤:
对于 S7-300
会生成新的 DB。由于 S7-300 没有删除数据块的功能,因此原有数据块仍然保留在内存中。
对于 300 CPU,必须使用编程设备删除原有 DB。
注意:
如果不生成新 DB,将需要使用编程设备删除此 DB。如果 CPU 上没有足够的内存用来生成新数据块,则需要先删除现有数据块,然后再重新启动。
对于 S7-400
将删除现有 DB、压缩内存、并生成编号相同但长度不同的 DB。
对于 400 CPU,可手动压缩内存或重新加载 CPU。
对于 S7-1500
将删除现有 DB,并生成编号相同但长度不同的 DB
对于 1500 CPU,将像 CPU 300 一样自动压缩内存。
如果 ListGenerator FC 不能再生成 DB,则会将一则错误消息写入 CPU 的诊断缓冲区:
0xB107 “生成对象引用列表时出错”(Error generating the object reference list)
- DB[Info1]
无法创建 DB[Info1]。
- 原因:[Info2]。
在 Info2 中,会输出 SFC Create_DB 函数的返回值,请参阅相应说明。
词条
词条说明
复制、剪切或删除子网简介可以以单个对象的形式复制子网或将其与联网的设备或其它网络一起复制。例如,您可以创建复杂的组态以在项目中不同的地方多次使用而*再执行更多的工作。对所复制子网的影响复制已复制的对象时,将相应地重新分配必须在项目中明确分配的属性。对于子网,这意味着: 子网 ID 和名称将重新分配给所复制的子网。在所复制的子网中采用组态的属性。步骤 - 复制子网要复制一个或多个子网,请按以下步骤
原始项目中的一致性检查初始项目的一致性要将项目成功移植到 TIA Portal 中,原始项目必须一致。 因此,建议在移植前对初始项目进行一致性检查。 有关在 SIMATIC STEP 7 中进行一致性检查的指导信息,请参见西门子工业在线支持页面或 SIMATIC STEP 7 帮助中的 FAQ 条目。移植工艺块中背景数据块的起始值编译块一致性检查将导致背景数据块中的变量复位为默认值。 而
过程映像(输入和输出存储区)过程映像的存储区OB 过程映像 (OB1 PI) 由操作系统周期性更新。此过程映像将在指令列表的每次循环期间由 I/O 硬件保存。 这意味着,过程映像中存储区 I 的各个位在访问指令期间不会改变。 即使过程映像中存储区 Q 的各个位在程序循环期间具有不同的状态,也只将最后的信号状态发送到输出模块。另请参见: 用户数据 和 更新过程映像例外以
移植数据块指令数据块指令的移植过程(移植类别 3)S7-1500 包含有一个“数据块”类别的修订指令集。 在移植过程中将自动替换这些指令。 之后还须进行手动修改。下表简要列出了数据块指令的移植过程:S7-300/400 中的指令S7-1500 中的指令移植类别CREA_DBLCREATE_DB3CREAT_DBCREATE_DB3CREA_DBCREATE_DB3DEL_DBDELETE_DB3T
公司名: 上海腾希电气技术有限公司
联系人: 田礼科
电 话: 021-37660026
手 机: 13681875601
微 信: 13681875601
地 址: 上海松江上海市松江区广富林路4855弄星月大业**88号4楼
邮 编:
网 址: shtxjd.cn.b2b168.com
公司名: 上海腾希电气技术有限公司
联系人: 田礼科
手 机: 13681875601
电 话: 021-37660026
地 址: 上海松江上海市松江区广富林路4855弄星月大业**88号4楼
邮 编:
网 址: shtxjd.cn.b2b168.com