SCL 指令 (S7-1500)移植指令 S7-1500 的指令集略有不同。 包含有一些新指令或替换了旧指令。 在移植过程中,将尽可能的保留程序中所使用的指令。如果一条指令在 S7-1500 中不可用, 则将尝试将其替换为一个兼容的或类似的指令。 然后,需要再次检查移植后的程序并进行必要的修改。 例如,可能会发生以下变化: • 新指令中带有其它形参。 此时,需要组态这些参数。 • 新指令的形参为其它数据类型。此时,移植将自动增加一条指令转换数据类型。 如果在移植中无法确保参数分配的语义与原程序相同,则会将相关参数注释掉。 在移植后检查程序中这些位置处的语义,并在必要时进行更正。 以下举例说明了如何移植“AG_SEND”指令到“TSEND”指令。在第一个表中,为移植前对“AG_SEND”的调用:"REQ“的实参源自“AG_SEND”指令的“ACT”参数。该参数已注释掉,这是由于必须在此位置对 程序进行检查。 “ID”的实参源自“AG_SEND”,也需要进行测试。“LEN”参数的数据类型与“AG_SEND”的不同。 在移植过程中将自动进行转换。 移植表达式中的指令在某些情况下,例如一个输出参数在移植后的数据类型不同而且必须形参进行转换,那么移 植后一条指令可能会生成多条指令。转换指令插入在移植后的指令之后。 然而,这也就意 味着原始指令不能再用作表达式。 此时,移植将在移植后的块接口中增加一个临时变量,并将该指令的结果作为变量的值。 然后将该临时变量用作一个表达式。 通常无法对复杂的表 达式进行自动移植。移植后,将无法解释的表达式标记为问号,这将导致语法错误。 在移 植后检查程序中这些位置处的语义,并在必要时进行更正。以下举例说明了如何移植“READ_RTM”指令到“RTM”指令。在第一个表中,为移植前对“READ_RTM”的调用:原程序中的指令将作为注释部分传送到移植后的块中, 这样便于跟踪移植时发生的更改。由于“RTM”中 CV 的数据类型为 DINT,因此将插入一个转换指令将实参从 INT 转换为 DINT。 这就意味着 RTM结果不能再用作 IF 指令中的表达式。 在移植后块的接口处插入临时变量“SCL_MIGRA_TEMP_INT_1”, 并将 RTM指令的结果分配 给该临时变量。 临时变量用作 IF 指令中的表达式而非“RTM”指令中的。 将 GRAPH 程序移植到 S7-1500的移植过程 (S7-1500) 有关移植 GRAPH 程序的信息 (S7-1500) 简介 由 S7-300/400 创建的GRAPH 程序可自动移植到 S7-1500 中。PLC 移植程序会对 GRAPH 程 序进行调整,以便在 S7-1500 系列的CPU 上正常运行。 在移植日志中,将记录移植过程中 所有的程序自动变更,并提示用户所需进行的手动调整。
PLC 移植程序中对 GRAPH程序的修改 下表列出了在 PLC 移植过程中一些自动修改的示例。 我们将在以下章节中详细介绍所作的 所有更改。 • 修改块接口移植程序对 GRAPH 块接口进行稍许更改, GRAPH 块可进行 S7-1500 优化块访问。 • 集成的符号寻址 集成符号编程是SIMATIC S7-1500 中的一个特性。 通过这种方式极大地提高了编程效率, 同时还降低了访问错误的风险。正因为此,如果初始程序使用一个尚未声明的符号名称作为地址,则移植程序就会为该 地址指定一个符号名称。 • GRAPH DB 的存储模型根据 S7-1500 的性能数据,就无需再使用对Zui低内存空间具有一定要求的 GRAPH DB。因 此,GRAPH中将不再包含各种内存空间模型。 由于用户可以访问整个参数集,因此可使 用所有 GRAPH DB 中的完整功能。在移植过程中,将对Zui低内存空间具有一定要求的 DB 进行扩展,以包括整个参数集。 S7-1500 的新功能 移植 GRAPH程序之后,可以使用 S7-1500 的所有功能。以下列出了一些新功能示例: • 优化块访问通过优化块访问,将在块的可用存储区域中自动排列已声明的数据元素,从而提高存储 空间的使用率。 并根据所使用的 CPU对数据进行结构化和保存。从而极大提高了 CPU 的 应用性能。 例如,从 HMI 中进行数据访问时不再出错。 在 S7-1500中,GRAPH 块始终启用“优化块访问”(Optimized block access) 属性,并且 无法取消选中。 另请参见:AUTOHOTSPOT • 新指令 在“指令”(Instructions) 任务卡中包含 S7-1500的完整指令集。其中,包含诸多新开发或 创新的各种指令。例如,在“基本指令”(Basic instructions)窗格的“程序控制”(Program control) 文件夹中包含有编程本地故障排除的指令“GET_ERROR”。 另请参见:AUTOHOTSPOT • LAD/FBD 函数 在 S7-300/400 中,GRAPH仅能对功能框中第一个布尔型输入处的前置逻辑运算进行编 程。 而在 S7-1500 中,则可对所有布尔型输入的前置逻辑运算进行编程。这样,就可以为各指令选择性地启用或禁用使能输出 (ENO)。 另请参见: AUTOHOTSPOT• 新数据类型 在 S7-1500中,对数据类型集进行了扩展并新增了一些数据类型转换选项。 另请参见:AUTOHOTSPOT • 常量 S7-1500中还增加了一些常量符号选项。 这样就可以将数据类型分配给常量。 另请参见: AUTOHOTSPOT GRAPH 程序中的变更(S7-1500) 简介 PLC 移植将自动修改 GRAPH 程序,以尽量适应新的 CPU 系列。 在此过程中,将对编程条件语句中的操作和 LAD 或 FBD 程序段进行分析。 并对 S7-1500 中无效的程序结构进行更新。 同时会将新 CPU中无法使用的指令替换为相应的 S7-1500 指令。 符号寻址 集成符号编程是 SIMATIC S7-1500中的一个特性。通过这种方式极大地提高了编程效率,同 时还降低了访问错误的风险。如果原程序使用符号名称尚未声明的juedui地址,则会将该juedui地址标记为无效。 编译移植 程序之前,必须先对符号名称进行声明。如果原程序中使用已声明了符号名称的juedui地址,则在移植过程中将使用符号名称而非juedui 地址。将使用片断访问代替对所声明符号操作数中各个位的访问。 以下示例说明了移植前的juedui地址访问:完全限定访问 在S7-300/400 程序中,通常经常使用部分限定寻址进行间接访问。 此时,只能指定数据块 中的 DB 变量地址。 而不会指定地址中的DB 名称或 DB 编号(如,%DBX0.2)。 在运行过 程中,程序将访问 DB 寄存器中当前存储的数据块。 S7-1500不支持部分限定寻址。要间接 寻址 DB 变量,则可以使用“DB_ANY”数据类型的块参数。如果在 GRAPH程序中使用了部分限定地址,则在移植后将报告为错误。同时该块无法编译。 此时,需要将部分限定地址替换为完全限定访问。 条件语句中的LAD/FBD 元素 Transition、Interlock、Supervision 和 Permanent 指令中的 LAD 或FBD 程序段的移植过程, 与单纯 LAD 或 FBD 块中程序段的移植过程相同。 另请参见: 将 LAD/FBD 程序移植到S7-1500 (页 100) GRAPH 操作 SIMATIC S7-1500 对指令集进行了稍许修改。包含有一些新指令或替换了旧指令。 如果在 GRAPH 操作中使用了这些指令,则在移植过程中将检查在 S7-1500 是否支持这些指令。并尽可能延续使用这些指令。 如果一条指令在 S7-1500 中不可用,则将尝试将其替换 为一个兼容的或类似的指令。例如,“RLDA: 循环左移状态位 CC 1”和“RRDA: 循环右移状态位 CC 1”指令。 这两个指令将 替换为“ROR:循环右移”和“ROL: 循环左移”指令。 如果在移植过程进行指令替换,则将在移植日志中进行相应记录。 然后,需要再次检查移植后的程序并进行必要的修改。 另请参见: 将指令移植到 S7-1500 中 (页 66) 修改 GRAPH 块接口(S7-1500) 在移植过程中修改块接口 在移植过程中将修改 GRAPH 块的接口。修改后,GRAPH 可进行 S7-1500优化内存访问。在 S7-1500 中,GRAPH 块始终激活优化块访问功能,并且无法取消选中。并会对以下区域进 行更改: •静态参数:“STATIC” • 输出参数:“OUTPUT” • 所有内部参数的保持性设置 另请参见可优化访问的块 如果在原程序中使用S7-1500 中预留的参数名称,则在移植过程中会对这些参数进行重命名。静态参数 在移植过程中,将对静态参数进行以下修改: •该接口将在 GRAPH FB 的每步和转换条件的“静态”部分中包含一个结构。在 S7-300/400中,使用“GraphStep”、“GraphStepMin”、“GraphTransition”和“GraphTransitionMin”数据类型。而在 S7-1500 中,则将使用新数据类型“G7_StepPlus”和“G7_TransitionPlus”重新生成步和转换条件的结构。 具体的移植过程如下所示: –“SNO”和“TNO”参数将和原结构的默认值一同转换,而其它所有默认值则不会进行转 换。对Zui低内存空间具有一定要求的 GRAPH DB程序中并不包含“SNO”和“TNO”参数。 如果要移植一个对Zui低内存空间具有一定要求的 DB,则在移植过程中将为以“1”开头的参数分配默认值。 – 但不会自动调整 GRAPH 程序中使用修改后参数的位置,而是标记为错误。因此,在移植后必须手动调整所使用的位置。 • 其它所有静态参数都将转换为“RT_DATA”结构。因此,移植过程将尽可能延续使用默认值,并自动调整程序中的使用位置。 输出参数 由于在 S7-1500上进行条件分析期间不再支持输出参数“S_CRITSUP”,所以会在移植时将其 删除。 但不会自动调整 GRAPH程序中的使用位置,而是标记为错误。因此,在移植后必须手动调 整所使用的位置。 所有内部参数的保持性设置 内部 GRAPH参数的保持性设置会影响掉电后顺控系统的动作: • 带有保持性参数的 GRAPH 块在掉电后,将继续执行上一个激活的步。 •带有非保持性参数的 GRAPH 块在掉电后,将重新启动初始步。 系统默认 S7-300/400 创建的 GRAPH块具有保持性接口参数。 在将 GRAPH 函数块从 S7-300/S7-400 CPU 移植到 S7-1500 CPU时,内部参数的保持性不会 保留。移植后,内部参数将声明为非保持性。