JMPN:若 RLO= "0" 则跳转 (S7-300, S7-400) 说明 当该指令输入的逻辑运算结果为“0”时,可以使用“若 RLO = "0"则跳转”指令中断程序的顺 序执行,并从其它程序段继续执行。 目标程序段必须标有跳转标签 (LABEL)。 在指令框上方的占位符中输入跳转标签描述。 指定的跳转标签与执行的指令必须位于同一数据块中。指定的名称在块中只能出现一次。一个程序段中只可以出现一个跳转线圈。 如果该指令输入的逻辑运算结果 (RLO) 为“0”,则跳转到跳转标签所标识的程序段。 可以跳转到更大或更小的程序段编号。 如果该指令输入的逻辑运算结果 RLO 为“1”,则程序在下一个程序段中继续执行。
如果操作数“TagIn_1”的信号状态为“1”,则执行该指令。将中断程序的顺序执行,并在跳转 标签 CAS1标识的“程序段 3”中继续执行。如果输入“TagIn_3”的信号状态为“1”,输出 “TagOut_3”将复位。LABEL:跳转标签(S7-300, S7-400) 说明 跳转标签用于标识在执行跳转指令后程序继续执行的目标程序段。跳转标签与指定跳转标签的指令必须位于同一数据块中。跳转标签的名称在块中只能分配一 次。一个程序段中只能设置一个跳转标签。每个跳转标签可以跳转到多个位置。 为此,跳转标签必须遵循以下规则: • 字母(a - z,A -Z) • 字母和数字组合;请检查排列顺序是否正确,如是字母,数字字母(a - z,A - Z, 0 - 9)。 •不能使用特殊字符或反向排序字母与数字组合,如是数字,是字母(0-9,a - z, A - Z) 示例以下示例说明了该指令的工作原理:如果操作数“TagIn_1”的信号状态为“1”,则执行该指令。将中断程序的顺序执行,并在跳转 标签CAS1 标识的“程序段 3”中继续执行。如果“TagIn_3”输入的信号状态为“1”,则置位 “TagOut_3”输出。RET:返回(S7-300, S7-400) 说明 可使用“返回”指令结束程序块的执行。 • 如果“返回”指令输入端的逻辑运算结果 (RLO)为“1”,则停止当前被调用块中的程序执 行,并在调用块(例如,在调用组织块中)中调用函数后继续执行。调用函数的使能输出 ENO的信号状态取决于 RLO。通过该指令将 RLO 显示为固定参数值。 • 如果该指令输入处的逻辑运算结果 (RLO)为“0”,该指令将不会执行。在被调用程序块的 下一程序段中继续执行该程序。如果在被调用块的Zui后一个程序段调用了该指令,则将调用函数的输出 ENO 设置为 RLO 的 当前信号状态。如果使用该指令结束组织块运行,则 CPU继续执行系统程序。如果操作数“TagIn_1”或“TagIn_2”的信号状态为“1”,则执行该指令。在被调用块中结束程序执行,在调用程序块中继续执行。并将该调用函数的 ENO 使能输出的信号状态复位为 “1”。OPN:打开全局数据块 (S7-300,S7-400) 说明 可以使用指令“打开全局数据块”打开一个全局数据块 (DB)。 将数据块编号传送到 DB 寄存 器。 后续 DB命令根据寄存器的内容访问相关块。 参数 下表列出了“打开全局数据块”指令的参数: 参数 声明 数据类型 存储区 说明<数据块> Input DB_ANY - 要打开的数据块 有关有效数据类型的更多信息,请参见“另请参见”。 示例以下示例说明了该指令的工作原理:OPNI:打开背景数据块 (S7-300, S7-400) 说明可以使用指令“打开背景数据块”打开一个数据块 (DB)。将数据块的编号传送到 DI 寄存器。 后续 DI命令根据寄存器的内容访问相关块。 参数 下表列出了“打开背景数据块”指令的参数: 参数 声明 数据类型 存储区 说明<数据块> Input DB_ANY - 要打开的数据块 有关有效数据类型的更多信息,请参见“另请参见”。 示例以下示例说明了该指令的工作原理:在程序段 1 中调用 Motor_DB 数据块,而数据块的编号传送到 DI 寄存器中。 在程序段 2中 查询操作数“DBX0.0”。并将 DBX0.0 操作数的信号状态分配给 Tag_Output 操作数。运行时控制 (S7-300,S7-400) COMPRESS:压缩 CPU 内存 (S7-400) 说明 “压缩 CPU 内存”指令用于压缩 CPU的工作存储器或 RAM 加载存储器。 执行压缩期间,将 现有的块拼接到一起,以填充因删除或装载块而导致空隙。 通过调用“压缩 CPU内存”指令启动压缩操作。 压缩操作分成若干程序周期。 可通过各个 参数值监视压缩操作。 如果该指令的参数 BUSY值为“1”,则说明仍在执行压缩操作。 如果 参数 DONE 的值为“1”,说明压缩操作已完成。 可通过参数 RET_VAL查询错误信息。 如果已经开始了从外部启动的压缩操作,则调用“压缩 CPU 内存”指令将显示错误信息。 参数 下表列出了“压缩 CPU内存”指令的参数: 参数 声明 数据类型 存储区 说明 EN Input BOOL I、Q、M、D、 L、T、C 使能输入 ENOOutput BOOL I、Q、M、D、L 使能输出 RET_VAL Output INT I、Q、M、D、L 错误信息:如果在该指令执行期间出 错,则在参数 RET_VAL 中 输出一个错误代码。 BUSY Output BOOL I、Q、M、D、L关于压缩操作是否激活的 信息。 DONE Output BOOL I、Q、M、D、L 关于压缩操作是否完成的 信息。有关有效数据类型的更多信息,请参见“另请参见”。参数 RET_VAL 下表列出了 RET_VAL 参数值的含义: 错误代码 *(W#16#.. .) 说明 0000 无错误 可以通过 BUSY 和 DONE 参数,查询压缩操作的状态。 8091已经执行从外部启动的压缩操作。 8092 由于存在以下某种情况,该指令无法执行: • “删除块”功能已激活。 •测试和调试功能会影响块(例如,状态)。 • “复制块”功能将由外部触发器启用。 • H-CPU 正在连接或更新。 8xyy有关错误的更多信息,请参见“另请参见”。 * 在程序编辑器中,错误代码可显示为整数或十六进制值。 有关更改显式格式的更多信息,请参见“另请参见”。
RE_TRIGR:重置周期监视时间 (S7-300, S7-400) 说明“重置周期监视时间”指令用于重新触发 CPU 的循环时间监控。根据 CPU 组态中所设置的时 间,重新启动循环监视时间。可以在所有块中调用指令“重置周期监视时间”,而无需考虑优先级。如果在优先级较高的块中调用该指令(例如,硬件中断或诊断中断),则不会执行该指令且使能输出 ENO 的信号状态将置“0”。 指令“重置周期监视时间”完全在时间范围内执行(Zui大程序循环的 10 次),而不考虑调用次数。过期后,程序循环将无法再延长。STP:退出程序 (S7-300, S7-400) 说明 可以使用指令“退出程序”将 CPU设置为 STOP 模式,可以终止程序执行。是否从 RUN 模式切换到 STOP 模式,则取决于 CPU 的组态。 当该指令输入的RLO 为“1”时,CPU 切换到 STOP 模式,终止程序执行。 而不检测该指令输 出的信号状态。 如果该指令输入的 RLO为“0”,该指令将不会执行。 参数 指令“退出程序”没有参数。WAIT:组态延时时间 (S7-300, S7-400) 说明可使用“组态延时时间”指令,将程序的执行过程暂停一段特定的时间。在该指令的参数 WT 中时间段的单位为微秒。 可以组态的延时为-32768 到 32767 微秒 (μs)。允许的Zui短延时时间取决于 CPU 并且与指 令的执行时间一致。优先级更高的事件可中断该指令的执行且不返回任何错误信息。 适用于 S7-300-CPU: 对于 S7-300-CPU(S7-318除外),该指令设置的延时时间为Zui短时间。各类嵌套优先级的 执行时间和系统利用率会延长该时间。 说明 负延时时间 如果在参数 WT中指定了负延时时间,则使能输出 ENO 或 RLO 和 BR 位将返回信号状态 FALSE。负延时时间不会对 CPU造成影响。以下与使能输出 ENO 相关联的指令不在 LAD 或 FBD 中执行。 参数 下表列出了“组态延时时间”指令的参数: 参数声明 数据类型 存储区 说明 EN Input BOOL I、Q、M、D、 L、T、C 使能输入 ENO Output BOOLI、Q、M、D、L 使能输出 WT Input INT I、Q、M、D、 L、P 或常数 延时时间的单位为微秒(μs)PROTECT:更改保护等级 (S7-300, S7-400) 说明 “更改保护等级”指令用于更改 CPU中所组态的保护等级“1”。 所组态的保护等级为“1”时选择“通过密码进行删除”(Removable with password)选项,意味 着您需要组态一个密码。通过该密码,可以在操作期间对由“更改保护等级”指令提供只读 保护的 CPU 进行写访问,例如加载。可在该指令的 MODE 参数中指定保护等级。CPU 的当前保护等级显示在巡视窗口的“属性 > 保护”(Properties> Protection) 下。 下表列出了各保护等级的含义。 保护 等级 含义 1允许对所有设备功能进行编程。可通过指令“更改保护等级”,取消对任何现有块 的密码验证。 2 • 不能更改 CPU中的程序和组态。只能读取 CPU 中的程序。 • 允许过程控制、过程监视和过程通信功能。 • 允许所有信息功能。 •如果知道有效密码,则可以取消所设置的写保护。 • 可通过指令“更改保护等级”,取消对任何现有块的密码验证。 3 •但无法取消所设置的读写保护,知道有效密码。 • 如果在调用指令“更改保护等级”时存在有效的连接,则调用该指令并不会影响 该连接。如果 CPU 已组态为保护等级为“2”或“3”,那么调用“更改保护等级”指令将不起任何作用。