西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册

2018年6月21日23:31:20 发表评论 92 阅读

工艺指令 9

高速计数器

表格 9- 1 CTRL_HSC 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1 "CTRL_HSC_0_DB" (

hsc:=_hw_hsc_in_, dir:=_bool_in_, cv:=_bool_in_, rv:=_bool_in_, period:=_bool_in_, new_dir:=_int_in_, new_cv:=_int_in_, new_rv:=_dint_in_, new_period:=_int_in_, busy:=_bool_out_, status:=_word_out_);

每个 CTRL_HSC 指令都使用 DB 中存储的结构来保存数据。 在编辑器中放置 CTRL_HSC 指 令后分配 DB。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“CTRL_HSC_0_DB”是背景 DB 的名称。

表格 9- 2 参数的数据类型

参数和类型 数据类型 说明
HSC IN HW_HSC HSC 标识符
DIR1, 2 IN Bool 1 = 请求新方向
CV1 IN Bool 1 = 请求设置新的计数器值
RV1 IN Bool 1 = 请求设置新的参考值
PERIOD1 IN Bool 1 = 请求设置新的周期值

(仅限频率测量模式)

NEW_DIR IN Int 新方向: 1= 向上,-1= 向下
NEW_CV IN DInt 新计数器值
NEW_RV IN DInt 新参考值
NEW_PERIOD IN Int 以秒为单位的新周期值: 0.01、0.1 或 1

(仅限频率测量模式)

参数和类型 数据类型 说明
BUSY3 OUT Bool 功能忙
STATUS OUT Word 执行条件代码

1 如果不请求更新参数值,则将忽略相应的输入值。

2 仅当组态的计数方向设置为“用户程序(内部方向控制)”(User program (internal direction control)) 时,DIR 参数才有效。 用户在 HSC 设备组态中确定如何使用该参数。

3 对于 CPU 或 SB 上的 HSC,BUSY 参数的值始终为 0。

在 CPU 的设备组态中对每个 HSC 的参数进行组态: 计数模式、I/O 连接、中断分配以及是作为高速计数器还是设备来测量脉冲频率。

可以通过用户程序来修改某些 HSC 参数,从而对计数过程提供程序控制:

      • 将计数方向设置为 NEW_DIR 值
      • 将当前计数值设置为 NEW_CV 值
      • 将参考值设置为 NEW_RV 值
      • 将周期值(仅限频率测量模式)设置为 NEW_PERIOD 值

如果执行 CTRL_HSC 指令后以下布尔标记值置位为 1,则相应的 NEW_xxx 值将装载到计数器。 CTRL_HSC 指令执行一次可处理多个请求(同时设置多个标记)。

      • DIR = 1 是装载 NEW_DIR 值的请求,0 = 无变化
      • CV = 1 是装载 NEW_CV 值的请求,0 = 无变化
      • RV = 1 是装载 NEW_RV 值的请求,0 = 无变化
      • PERIOD = 1 是装载 NEW_PERIOD 值的请求,0 = 无变化

CTRL_HSC 指令通常放置在触发计数器硬件中断事件时执行的硬件中断 OB 中。 例如, 如果 CV=RV 事件触发计数器中断,则硬件中断 OB 代码块执行 CTRL_HSC 指令并且可通过装载 NEW_RV 值更改参考值。

在 CTRL_HSC 参数中没有提供当前计数值。 在高速计数器硬件的组态期间分配存储当前计数值的过程映像地址。 可以使用程序逻辑直接读取计数值。 返回给程序的值将是读取计数器瞬间的正确计数。 但计数器仍将继续对高速事件计数。 因此,程序使用旧的计数值完成处理前,实际计数值可能会更改。

条件代码: 发生错误时,ENO 设置为 0,并且 STATUS 输出包含条件代码。

表格 9- 3 STATUS 值 (W#16#)

STATUS 说明
0 无错误
80A1 HSC 标识符没有对 HSC 寻址
80B1 NEW_DIR 的值非法
80B2 NEW_CV 的值非法
80B3 NEW_RV 的值非法
80B4 NEW_PERIOD 的值非法
80C0 多路访问高速计数器
80D0 CPU 硬件配置中未启用高速计数器 (HSC)

高速计数器的使用方法

高速计数器 (HSC) 对发生速率快于 OB 执行速率的事件进行计数。 如果待计数事件的发生速率处于 OB 执行速率范围内,则可使用 CTU、CTD 或 CTUD 计数器指令。 如果事件的发生速率快于 OB 的执行速率,则应使用 HSC。 CTRL_HSC 指令允许用户程序通过程序更改一些 HSC 参数。

例如: 可以将 HSC 用作增量轴编码器的输入。 该轴编码器每转提供指定数量的计数值以及一个复位脉冲。 来自轴编码器的时钟和复位脉冲将输入到 HSC 中。

先是将若干预设值中的第一个装载到 HSC 上,并且在当前计数值小于当前预设值的时段内计数器输出一直是激活的。 在当前计数值等于预设时、发生复位时以及方向改变时,

HSC 会提供一个中断。

每次出现“当前计数值等于预设值”中断事件时,将装载一个新的预设值,同时设置输出的 下一状态。 当出现复位中断事件时,将设置输出的第一个预设值和第一个输出状态,并重复该循环。

由于中断发生的频率远低于 HSC 的计数速率,因此能够在对 CPU 扫描周期影响相对较小的情况下实现对高速操作的精确控制。 通过提供中断,可以在独立的中断例程中执行每次的新预设值装载操作以实现简单的状态控制。 (或者,所有中断事件也可在单个中断例程中进行处理。)

表格 9- 4 最大频率 (KHz)

HSC 单相 双相和 AB 正交
HSC1 CPU 100 KHz 80 KHz
高速 SB 200 KHz 160 KHz
SB 30 KHz 20 KHz
HSC2 CPU 100 KHz 80 KHz
高速 SB 200 KHz 160 KHz
SB 30 KHz 20 KHz
HSC3 CPU 100 KHz 80 KHz
HSC4 CPU 30 KHz 20 KHz
HSC5 CPU 30 KHz 20 KHz
高速 SB 200 KHz 160 KHz
SB 30 KHz 20 KHz
HSC6 CPU 30 KHz 20 KHz
高速 SB 200 KHz 160 KHz
SB 30 KHz 20 KHz
选择 HSC 的功能

所有 HSC 在同种计数器运行模式下的工作方式都相同。 HSC 共有四种基本类型:

  • 具有内部方向控制的单相计数器
  • 具有外部方向控制的单相计数器
  • 具有 2 个时钟输入的双相计数器
  • A/B 相正交计数器

用户可选择是否激活复位输入来使用各种 HSC 类型。 如果激活复位输入(存在一些限制,请参见下表),则它会清除当前值并在您禁用复位输入之前保持清除状态。

    • 频率功能: 有些 HSC 模式允许 HSC 被组态(计数类型)为报告频率而非当前脉冲计数值。 有三种可用的频率测量周期: 0.01、0.1 或 1.0 秒。

频率测量周期决定 HSC 计算并报告新频率值的频率。 报告频率是通过上一测量周期内总计数值确定的平均值。 如果该频率在快速变化,则报告值将是介于测量周期内出现的最高频率和最低频率之间的一个中间值。 无论频率测量周期的设置是什么,总是会以赫兹为单位来报告频率(每秒脉冲个数)。

    • 计数器模式和输入: 下表列出了用于与 HSC 相关的时钟、方向控制和复位功能的输入。

同一输入不可用于两个不同的功能,但任何未被其 HSC 的当前模式使用的输入均可用于其它用途。 例如,如果 HSC1 处于使用内置输入但不使用外部复位 (I0.3) 的模式, 则 I0.3 可以用于沿中断或 HSC2。

表格 9- 5 HSC 的计数模式

类型 输入 1 输入 2 输入 3 功能
具有内部方向控制的单相计数器 时钟 (可选: 方向) - 计数或频率
复位 计数
具有外部方向控制的单相计数器 时钟 方向 - 计数或频率
复位 计数
具有 2 个时钟输入的双相计数器 加时钟 减时钟 - 计数或频率
复位 计数
A/B 相正交计数器 A 相 B 相 - 计数或频率
复位 1 ?计数

1 对于编码器: Z 相,归位

HSC 的输入地址

说明

在设备配置期间分配高速计数器设备使用的数字量 I/O 点。 将数字量 I/O 点的地址分配给这些设备之后,无法通过监视表格中的强制功能修改所分配的 I/O 点的地址值。

组态 CPU 时,可以选择启用和组态每个 HSC。 CPU 会根据其组态自动为每个 HSC 分配输入地址。 (某些 HSC 允许选择是使用 CPU 的板载输入还是使用 SB 的输入。)

注意
如下表所示,不同 HSC 的可选信号的默认分配互相重叠。 例如,HSC 1 的可选外部复位使用的输入与 HSC 2 的其中一个输入相同。

请始终确保组态 HSC 时任何一个输入都不会被两个 HSC 使用。

下表显示了 CPU 1211C 的板载 I/O 和 SB 两者的 HSC 输入分配。 (如果 SB 只有 2 个输入,则仅输入 4.0 和 4.1 可用。)

  • 对于单相: C 为时钟输入,[d] 为可选方向输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
  • 对于双相: CU 为加时钟输入,CD 为减时钟输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
  • 对于 AB 相正交: A 为时钟 A 输入,B 为时钟 B 输入,[R] 为可选外部复位输入。

(复位仅适用于“计数”模式。)

表格 9- 6 CPU 1211C 的 HSC 输入分配

HSC CPU 板载输入 (0.x) SB 输入(默认为 4.x)3
0 1 2 3 4 5 0 1 2 3
HSC 1 1 单相 C [d] [R] C [d] [R]
双相 CU CD [R] CU CD [R]
AB 相 A B [R] A B [R]
HSC 2 1 单相 [R] C [d] [R] C [d]
双相 [R] CU CD [R] CU CD
AB 相 [R] A B [R] A B
HSC 3 单相 C [d]
双相 CU CD
AB 相 A B
HSC 5 2 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC CPU 板载输入 (0.x) SB 输入(默认为 4.x)3
0 1 2 3 4 5 0 1 2 3
HSC 6 2 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B

1 HSC 1 和 HSC 2 可组态为使用板载输入或 SB 输入。

2 HSC 5 和 HSC 6 只能使用 SB 输入。 HSC 6 只能使用 4 输入 SB。

3 仅具有 2 个数字量输入的 SB 只能提供输入 4.0 和 4.1。

下表显示了 CPU 1212C 的板载 I/O 和 SB 两者的 HSC 输入分配。 (如果 SB 只有 2 个输入,则仅输入 4.0 和 4.1 可用。)

    • 对于单相: C 为时钟输入,[d] 为可选方向输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
    • 对于双相: CU 为加时钟输入,CD 为减时钟输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
    • 对于 AB 相正交: A 为时钟 A 输入,B 为时钟 B 输入,[R] 为可选外部复位输入。

(复位仅适用于“计数”模式。)

表格 9- 7 CPU 1212C 的 HSC 输入分配

HSC CPU 板载输入 (0.x) SB 输入 (4.x) 3
0 1 2 3 4 5 6 7 0 1 2 3
HSC 1 1 单相 C [d] [R] C [d] [R]
双相 CU CD [R] CU CD [R]
AB 相 A B [R] A B [R]
HSC 2 1 单相 [R] C [d] [R] C [d]
双相 [R] CU CD [R] CU CD
AB 相 [R] A B [R] A B
HSC 3 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 4 单相 [R] C [d]
双相 [R] CU CD
HSC CPU 板载输入 (0.x) SB 输入 (4.x) 3
0 1 2 3 4 5 6 7 0 1 2 3
AB 相 [R] A B
HSC 5 2 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 6 2 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B

1 HSC 1 和 HSC 2 可组态为使用板载输入或 SB 输入。

2 HSC 5 和 HSC 6 只能使用 SB 输入。 HSC 6 只能使用 4 输入 SB。

3 仅具有 2 个数字量输入的 SB 只能提供输入 4.0 和 4.1。

以下两个表给出了 CPU 1214C 的板载 I/O 和可选 SB(如果已安装)两者的 HSC 输入分配。

  • 对于单相: C 为时钟输入,[d] 为可选方向输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
  • 对于双相: CU 为加时钟输入,CD 为减时钟输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
  • 对于 AB 相正交: A 为时钟 A 输入,B 为时钟 B 输入,[R] 为可选外部复位输入。

(复位仅适用于“计数”模式。)

表格 9- 8 CPU 1214C 和 CPU 1215C(仅板载输入)的 HSC 输入分配

HSC 数字量输入 0(默认值: 0.x) 数字量输入 1(默认值: 1.x)
0 1 2 3 4 5 6 7 0 1 2 3 4 5
HSC 1 1 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 2 1 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B
HSC 3 单相 C [d] [R]
HSC 数字量输入 0(默认值: 0.x) 数字量输入 1(默认值: 1.x)
0 1 2 3 4 5 6 7 0 1 2 3 4 5
双相 CU CD [R]
AB 相 A B [R]
HSC 4 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B
HSC 5 1 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 6 1 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]

1 HSC 1、HSC 2、HSC 5 和 HSC 6 可组态为使用板载输入或 SB 输入。

表格 9- 9 SB 的 HSC 输入分配

HSC 1 SB 输入(默认值: 4.x)2
0 1 2 3
HSC 1 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 2 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B
HSC 5 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 6 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B
HSC 1 SB 输入(默认值: 4.x)2
0 1 2 3

1 对于 CPU 1214C: HSC 1、HSC 2、HSC 5 和 HSC 6 可组态为使用板载输入或 SB 输入。

2 仅具有 2 个数字量输入的 SB 只能提供输入 4.0 和 4.1。

访问 HSC 的当前值

说明

启用脉冲发生器作为 PTO 时,会向该 PTO 分配一个对应的 HSC。 HSC1 分配给

PTO1,HSC2 分配给 PTO2。 分配的 HSC 完全属于 PTO 通道,并且禁用 HSC 的正常输出。 HSC 值仅用于内部功能。 生成脉冲时,不能监视当前值(例如,在 ID1000

中)。

CPU 将每个 HSC 的当前值存储在一个输入 (I) 地址中。 下表列出了为每个 HSC 的当前值分配的默认地址。 可以通过在设备配置中修改 CPU 的属性来更改当前值的 I 地址。

表格 9- 10 HSC 的当前值

HSC 数据类型 默认地址
HSC1 DInt ID1000
HSC2 DInt ID1004
HSC3 DInt ID1008
HSC4 DInt ID1012
HSC5 DInt ID1016
HSC6 DInt ID1020

组态 HSC

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-2 CPU 允许用户组态最多 6 个高速计数器。 用户可编辑

CPU 的“属性”(Properties) 来组态各个 HSC 的参数。在用户程序中使用 CTRL_HSC 指令控制 HSC 的运行。

通过选择该 HSC 的“启用”(Enable) 选项启用特定的

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-3 HSC。

说明

当启用高速计数器并为其选择输入点时,这些点的输入滤波设置将组态为 800 ns。 每一个输入点都有一个适用于所有应用的滤波器组态: 过程输入、中断、脉冲捕捉和 HSC 输入。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-4警告
如果数字量输入通道的滤波时间更改自以前的设置,则新的“0”电平输入值可能需要保持长达 20.0 ms 的累积时间,然后滤波器才会完全响应新输入。 在此期间,可能不会检测到持续时间少于 20.0 ms 的短“0”脉冲事件或对其计数。

滤波时间的这种更改会引发意外的机械或过程操作,这可能会导致人员死亡、重伤和/或 设备损坏。

为了确保新的滤波时间立即生效,必须关闭 CPU 电源后再开启。

启用 HSC 之后组态其它参数,例如计数器功能、初始值、复位选项和中断事件。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-5

有关对 HSC 进行组态的信息,请参见 组态 CPU (页 125) 部分。

PID 控制

STEP 7 为 S7-1200 CPU 提供以下 PID 指令:

  • PID_Compact 指令用于通过连续输入变量和输出变量控制工艺过程。
  • PID_3Step 指令用于控制电机驱动的设备,如需要通过离散信号实现打开和关闭动作的阀门。

说明

只有 CPU 从 STOP 切换到 RUN 模式后,在 RUN 模式下对 PID 组态和下载进行的更改才会生效。

两个 PID 指令(PID_3Step 和 PID_Compact)都可以计算启动期间的 P 分量、I 分量以及 D 分量(如果组态为“预调节”)。 还可以将指令组态为“精确调节”,从而可对参数进行优化。 用户无需手动确定参数。

说明

以恒定的采样时间间隔执行 PID 指令(最好在循环 OB 中)。

由于 PID 回路需要一段时间来响应控制值的变化,因此请勿在每个循环中都计算输出值。 请勿在主程序循环 OB(如 OB 1)中执行 PID 指令。

PID 算法的采样时间表示两次输出值(控制值)计算之间的时间。 在自调节期间计算输出值,并取整为循环时间的倍数。 每次调用时都会执行 PID 指令的所有其它函数。

PID 算法

PID(比例/积分/微分)控制器会测量两次调用之间的时间间隔并评估监视采样时间的结果。 每次进行模式切换时以及初始启动期间都会生成采样时间的平均值。 该值用作监视

功能的参考并用于计算。 监视包括两次调用之间的当前测量时间和定义的控制器采样时间的平均值。

PID 控制器的输出值由三个分量组成:

    • P(比例): 如果通过“P”分量计算,则输出值与设定值和过程值(输入值)之差成比例。
    • I(积分): 如果通过“I”分量计算,则输出值与设定值和过程值(输入值)之差的持续时间成比例增加,以最终校正该差值。
    • D(微分): 如果通过“D”分量计算,输出值与设定值和过程值(输入值)之差的变化率成函数关系,并随该差值的变化加快而增大。 从而根据设定值尽快矫正输出值。

PID 控制器使用以下公式来计算 PID_Compact 指令的输出值。

y = Kp

(b · w - x) + 1

TI · s

[

(w - x) +

TD· s

a · TD · s + 1

(c · w - x) ]

y w Kp 输 出 值 设 定 值 比例增益 x s a 过程值

拉普拉斯算子微分延迟系数

(P 分量) (D 分量)
T1 积分作用时间 b 比例作用加权
(I 分量) (P 分量)
TD 微分作用时间 c 微分作用加权
(D 分量) (D 分量)

PID 控制器使用以下公式来计算 PID_3Step 指令的输出值。

Δ y = Kp

· s · (b · w - x) + 1

TI · s

[

(w - x) +

TD· s

a · TD · s + 1

(c · w - x) ]

y w Kp 输 出 值 设 定 值 比例增益 x s a 过程值

拉普拉斯算子微分延迟系数

(P 分量) (D 分量)
T1 积分作用时间 b 比例作用加权
(I 分量) (P 分量)
TD 微分作用时间 c 微分作用加权
(D 分量) (D 分量)
      1. 插入 PID 指令和工艺对象

STEP 7 提供了两个 PID 控制指令:

        • PID_Compact 指令及其相关工艺对象提供具有调节功能的通用 PID 控制器。 工艺对象包括控制环的所有设置。
        • PID_3Step 指令及其相关工艺对象为通过电机驱动的阀门提供具有特定设置的 PID 控制器。 工艺对象包括控制环的所有设置。 PID_3Step 控制器提供两个附加的布尔型输出。

创建工艺对象之后,必须 组态参数 (页 393)。 还应调整自动调节参数(启动期间的“预调节”或手动“精确调节”),以 调试 PID 控制器的操作 (页 396)。

表格 9- 11 插入 PID 指令和工艺对象

将 PID 指令插入用户程序时,STEP 7 会自动为指令创建工艺对象和背景数据块。 背景数据块包含

PID 指令要使用的所有参数。 每个 PID 指令必须

具有自身的唯一背景数据块才能正确工作。

插入 PID 指令并创建工艺对象和背景数据块之后, 应 组态工艺对象的参数 (页 393)。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-6

表格 9- 12 (可选)通过项目浏览器创建工艺对象

还可以在插入 PID 指令之前为项目创建工艺对象。 通过在将 PID 指令插入用户程序之前创建工艺对象,用户可以在插入 PID 指令时选择工艺对象。 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-7
要创建工艺对象,请在项目浏览器中双击“添加新对象”(Add new object) 图标。 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-8
单击“控制”(Control) 图标并选择适用于该类型的 PID 控制器(PID_Compact 或

PID_3Step)的工艺对象。 可以为工艺对象创建可选名称。

单击“确定”(OK) 创建工艺对象。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-9

PID_Compact 指令

PID 控制器使用以下公式来计算 PID_Compact 指令的输出值。

y = Kp

(b · w - x) + 1

TI · s

[

(w - x) +

TD· s

a · TD · s + 1

(c · w - x) ]

y

w Kp

输出值

设 定 值 比例增益

x

s a

过程值

拉普拉斯算子微分延迟系数

(P 分量) (D 分量)
T1 积分作用时间 b 比例作用加权
(I 分量) (P 分量)
TD 微分作用时间 c 微分作用加权
(D 分量) (D 分量)

表格 9- 13 PID_Compact 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-10 "PID_Compact_1"( Setpoint:=_real_in_, Input:=_real_in_, Input_PER:=_word_in_, ManualEnable:=_bool_in_, ManualValue:=_real_in_, Reset:=_bool_in_, ScaledInput=>_real_out_, Output=>_real_out_, Output_PER=>_word_out_, Output_PWM=>_bool_out_, SetpointLimit_H=>_bool_out_, SetpointLimit_L=>_bool_out_, InputWarning_H=>_bool_out_, InputWarning_L=>_bool_out_, State=>_int_out_, Error=>_dword_out_); PID_Compact 提供可在自动模式和手动模式下自我调节的 PID 控制器。

PID_Compact 是具有抗积分饱和功能且对 P 分量和 D 分量加权的 PIDT1 控制器。

1 STEP 7 会在插入指令时自动创建工艺对象和背景数据块。 该背景数据块包含工艺对象的参数。

2 在 SCL 示例中,“PID_Compact_1”是背景 DB 的名称。

表格 9- 14 参数的数据类型

参数和类型 数据类型 说明
Setpoint IN Real PID 控制器在自动模式下的设定值。 默认值: 0.0
Input IN Real 过程值。 默认值: 0.0

还必须设置 sPid_Cmpt.b_Input_PER_On = FALSE。

Input_PER IN Word 模拟过程值(可选)。 默认值: W#16#0

还必须设置 sPid_Cmpt.b_Input_PER_On = TRUE。

ManualEnable IN Bool 启用或禁用手动操作模式。 默认值: FALSE:

  • PID_Compact V1.0 和 V1.2: 当 CPU 切换到 RUN 时,如果 ManualEnable = TRUE,则 PID_Compact 在手动模式下启动。 将 PID_Compact 置于手动模式无需从 FALSE 切换到 TRUE。
  • PID_Compact V1.1: 当 CPU 切换到 RUN 并且ManualEnable = TRUE 时,PID Compact 在上一个状态下启动。 将 PID_Compact 置于手动模式需要从 TRUE 切换

到 FALSE 再切换到 TRUE。

ManualValue IN Real 手动操作的过程值。 默认值: 0.0
Reset IN Bool Reset 参数用于重新启动控制器。 默认值: FALSE

请参见下面的“复位响应”部分以查看 PID_Compact V1.1 和

V1.0 的复位响应图。

ScaledInput OUT Real 标定的过程值。 默认值: 0.0
Output1 OUT Real 输出值。 默认值: 0.0
Output_PER1 OUT Word 模拟量输出值。 默认值: W#16#0
Output_PWM1 OUT Bool 脉冲宽度调制的输出值。 默认值: FALSE
SetpointLimit_H OUT Bool 设定值上限。 默认值: FALSE

如果 SetpointLimit_H = TRUE,则说明达到设定值的绝对上限。 默认值: FALSE

SetpointLimit_L OUT Bool 设定值下限。 默认值: FALSE

如果 SetpointLimit_L = TRUE,则说明达到设定值的绝对下限。 默认值: FALSE

InputWarning_H OUT Bool 如果 InputWarning_H = TRUE,则说明过程值已达到或超出警告上限。 默认值: FALSE
参数和类型 数据类型 说明
InputWarning_L OUT Bool 如果 InputWarning_L = TRUE,则说明过程值已达到警告下限。 默认值: FALSE
State OUT Int PID 控制器的当前操作模式。 默认值: 0

使用 sRet.i_Mode 更改模式。

  • State = 0:未激活
  • State = 1:预调节
  • State = 2:手动精确调节
  • State = 3:自动模式
  • State = 4:手动模式
ErrorBits OUT DWord PID_Compact 指令 ErrorBits 参数表 (页 383)定义错误消息。默认值: DW#16#0000(无错误)

1 参数 Output、Output_PER 和 Output_PWM 的输出可并行使用。

复位响应

复位响应是否为 TRUE 取决于 PID_Compact 指令的版本。复位响应 PID_Compact 1.1

“复位”的上升沿将复位错误和警告并清除积分作用。 “复位”的下降沿将触发对最近激活的

操作模式的更改。

5HVHW

1

0

LB0RGH

3

0

6WDWH

3

0

W (PV)

 

 

 

W (PV)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-11 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-12 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-13 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-14

1

2

3

1

W (PV)

 

① 激活

② 错误

③ 复位

复位响应 PID_Compact V1.0

“复位”的上升沿将复位错误和警告并清除积分作用。 控制器直到 i_Mode 的下一个沿时才会重新激活。

5HVHW

1

 

0

LB0RGH

4

3

0

6WDWH

4

3

0

W (PV)

 

W (PV)

 

① 激活

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-15 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-16 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-17 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-18

1

2 3

1

W (PV)

② 错误

③ 复位

PID_Compact 控制器的操作

6FDOH

&53B,1

,QSXWB3(5

,QSXW

6HWSRLQW

/LPLW

EB,QSXWB3(5B2Q

1

3,'71

$QWL :LQGXS

˂X

,QSXW:DUQLQJB+

,QSXW:DUQLQJB/

39B$/50

0DQXDO(QDEOH

&53B287

EB,QY&WUO

,19

2XWSXW

/LPLW

0DQXDO9DOXH 0

1

1

1 0

3:0

2XWSXWB3(5

2XWSXWB3:0

图 9-1 PID_Compact 控制器的操作

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-19 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-20 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-21 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-22

6HWSRLQW (Z)

 

$QWL :LQGXS

/,0,7

,

\

 

6FDOHG,QSXW ([)

 

'71

.3

F

E

图 9-2 PID_Compact 控制器作为具有抗积分饱和功能的 PIDT1 控制器时的操作

PID_Compact 指令 ErrorBit 参数

如果存在多个错误未决,则错误代码的值将通过二进制加法显示。 例如,显示错误代码

0003 表示错误 0001 和 0002 未决。

表格 9- 15 PID_Compact 指令 ErrorBit 参数

ErrorBit

(DW#16#...)

说明
0000 无错误
0001 “Input”参数超出过程值限值。Input > sPid_Cmpt.r_Pv_Hlmor Input < sPid_Cmpt.r_Pv_Llm

在消除错误之前不能再次启动执行器。

0002 参数“Input_PER”的值无效。 请检查模拟量输入是否有错误尚未解决。
0004 精确调节时出错,无法保持过程值振荡。
0008 开始预调节时出错。 过程值过于接近设定值。 开始精确调节。
0010 在控制器调节期间设定值已更改。
0020 在自动模式下或精确调节期间可能无法执行预调节。
0040 精确调节时出错,设定值过于接近设定值限值。
0080 输出值限值的组态不正确。

进行检查,确定是否正确配置输出值的限值,并匹配控件工作时采用的方向。

0100 控制器调节期间出错导致参数无效。
0200 参数“Input”的值无效: 值的数字格式无效。
0400 计算输出值失败。 检查 PID 参数。
0800 采样时间错误: 在循环中断 OB 的采样时间内未调用

PID_Compact。

1000 参数“Setpoint”的值无效: 值的数字格式无效。

PID_3STEP 指令

PID 控制器使用以下公式来计算 PID_3Step 指令的输出值。

Δ y = Kp

· s · (b · w - x) + 1

TI · s

[

(w - x) +

TD· s

a · TD · s + 1

(c · w - x) ]

y

w Kp

输出值

设 定 值 比例增益

x

s a

过程值

拉普拉斯算子微分延迟系数

(P 分量) (D 分量)
T1 积分作用时间 b 比例作用加权
(I 分量) (P 分量)
TD 微分作用时间 c 微分作用加权
(D 分量) (D 分量)

表格 9- 16 PID_3Step 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-23 "PID_3Step_1"( SetpoInt:=_real_in_, Input:=_real_in_, ManualValue:=_real_in_, Feedback:=_real_in_, InputPer:=_word_in_, FeedbackPer:=_word_in_, ManualEnable:=_bool_in_, ManualUP:=_bool_in_, ManualDN:=_bool_in_, ActuatorH:=_bool_in_, ActuatorL:=_bool_in_, Reset:=_bool_in_, ScaledInput=>_real_out_, ScaledFeedback=>_real_out_, ErrorBits=>_dword_out_, OutputPer=>_word_out_, State=>_int_out_, OutputUP=>_bool_out_, OutputDN=>_bool_out_, SetpoIntLimitH=>_bool_out_, SetpoIntLimitL=>_bool_out_, InputWarningH=>_bool_out_, InputWarningL=>_bool_out_, Error=>_bool_out_); PID_3Step 用于组态具有自调节功能的 PID 控制器,这样的控制器已针对通过电机控制的阀门和执行器进行过优化。 它提供两个布尔型输出。

PID_3Step 是具有抗积分饱和功能且对 P 分量和 D 分量加权的 PIDT1 控制器。

1 STEP 7 会在插入指令时自动创建工艺对象和背景数据块。 该背景数据块包含工艺对象的参数。

2 在 SCL 示例中,“PID_3Step_1”是背景 DB 的名称。

表格 9- 17 参数的数据类型

参数和类型 数据类型 说明
Setpoint IN Real PID 控制器在自动模式下的设定值。 默认值: 0.0
Input IN Real 过程值。 默认值: 0.0

还必须设置 Config.InputPEROn = FALSE。

Input_PER IN Word 模拟过程值(可选)。 默认值: W#16#0

还必须设置 Config.InputPEROn = TRUE。

ManualEnable IN Bool 启用或禁用手动操作模式。 默认值: FALSE

  • 在从 FALSE 变为 TRUE 的信号沿出现时,PID 控制器会切换为手动模式,State = 4 和 Retain.Mode 保持不变。
  • 在从 TRUE 变为 FALSE 的信号沿出现时,PID 控制器会切换为上一次的激活操作模式且 State = Retain.Mode。
ManualUP IN Bool 在手动模式下,每个上升沿都会将阀门打开总动作范围的5%,或者保持最小电机动作时间。仅当未使用 Output_PER 并且无位置反馈时,才评估 ManualUP。 默认值: FALSE

  • 如果 Output_PER 为 FALSE,则手动输入打开Output_UP,持续时间对应于设备的 5% 运动量。
  • 如果 Config.ActuatorEndStopOn 为 TRUE,则在

Actuator_H 为 TRUE 时 Output_UP 不打开。

ManualDN IN Bool 在手动模式下,每个上升沿都会将阀门关闭总动作范围的5%,或者保持最小电机动作时间。仅当未使用 Output_PER 并且无位置反馈时,才评估 ManualDN。 默认值: FALSE

  • 如果 Output_PER 为 FALSE,则手动输入打开Output_DN,持续时间对应于设备的 5% 运动量。
  • 如果 Config.ActuatorEndStopOn 为 TRUE,则在

Actuator_L 为 TRUE 时 Output_DN 不打开。

ManualValue IN Real 手动操作的过程值。 默认值: 0.0

在手动模式下,可指定阀门的绝对位置。仅当正使用

OutputPer 或者位置反馈可用时,才评估 ManualValue。 默认值: 0.0

Feedback IN Real 阀门的位置反馈。 默认值: 0.0

要使用 Feedback,应设置Config.FeedbackPerOn = FALSE。

参数和类型 数据类型 说明
Feedback_PER IN Word 阀门位置的模拟反馈。 默认值: W#16#0

要使用 Feedback_PER,应设置Config.FeedbackPerOn = TRUE。通过以下参数标定Feedback_PER:

  • Config.FeedbackScaling.LowerPointIn
  • Config.FeedbackScaling.UpperPointIn
  • Config.FeedbackScaling.LowerPointOut
  • Config.FeedbackScaling.UpperPointOut
Actuator_H IN Bool 如果 Actuator_H = TRUE,则阀门处于上端停止位,且不再向此方向移动。 默认值: FALSE
Actuator_L IN Bool 如果 Actuator_L = TRUE,则阀门处于下端停止位,且不再向此方向移动。 默认值: FALSE
Reset IN Bool 重新启动 PID 控制器。 默认值: FALSE

如果为 FALSE 至 TRUE 沿:

  • “未激活”操作模式
  • 输入值 = 0
  • 复位控制器的中间值。 (保留 PID 参数。)

如果为 TRUE 至 FALSE 沿,则更改为最近激活的模式。

ScaledInput OUT Real 标定的过程值
ScaledFeedback OUT Real 标定的阀门位置
Output_PER OUT Word 模拟量输出值。 如果 Config.OutputPerOn = TRUE,则会使用 Output_PER 参数。
Output_UP OUT Bool 用于打开阀门的数字输出值。 默认值: FALSE

如果 Config.OutputPerOn = FALSE,则会使用 Output_UP 参数。

Output_DN OUT Bool 用于关闭阀门的数字输出值。 默认值: FALSE

如果 Config.OutputPerOn = FALSE,则会使用 Output_DN 参数。

SetpointLimitH OUT Bool 设定值上限。 默认值: FALSE

如果 SetpointLimitH = TRUE,则说明达到设定值的绝对上限。 在 CPU 中,设定值被限制为已组态的实际值绝对上限。

参数和类型 数据类型 说明
SetpointLimitL OUT Bool 设定值下限。 默认值: FALSE

如果 SetpointLimitL = TRUE,则说明达到设定值的绝对下限。 在 CPU 中,设定值被限制为已组态的过程值绝对下限。

InputWarningH OUT Bool 如果 InputWarningH = TRUE,则说明输入值已达到或超出警告上限。 默认值: FALSE
InputWarningL OUT Bool 如果 InputWarningL = TRUE,则说明输入值已达到或超出警告下限。 默认值: FALSE
State OUT Int PID 控制器的当前操作模式。 默认值: 0

使用 Retain.Mode 更改操作模式:

  • State = 0:未激活
  • State = 1:预调节
  • State = 2:手动精确调节
  • State = 3:自动模式
  • State = 4:手动模式
  • State = 5:替换输出值逼近
  • State = 6:切换时间测量
  • State = 7:通过错误监视替换输出值逼近
  • State = 8:错误监视
Error OUT Bool 如果 Error = TRUE,则至少一条错误消息未决。 默认值:

FALSE

ErrorBits OUT DWord PID_3STEP 指令 ErrorBits 参数表 (页 391)定义错误消息。 默认值: DW#16#0000(无错误)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-24 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-25 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-26 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-27 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-28

6HWSRLQW (Z)

 

'

.

3

˂\

 

 

 

6FDOHG,QSXW ([)

㏀䬘⌯檚▵

)DF/7W

,

1/7L

'HDGB%

'71

F

E

图 9-3 PID_3Step 控制器作为具有抗积分饱和功能的 PIDT1 控制器时的操作

0
0DQXDO(QDEOH
1/)$& 0DQXDO9DOXH

1

0
0DQXDO(QDEOH
0DQXDOB83
$GHDGB% 7KU6WS 1 3XOVH2XW

0DQXDOB'1 0

1
0

图 9-4 无位置反馈的 PID_3Step 控制器的操作

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-29 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-30 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-31 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-32

,QSXW:DUQLQJB+

,QSXW:DUQLQJB/

,QSXW3HU2Q

$QWL :LQGXS

,QSXWB3(5

1

,QSXW

0

3,'71

$QWL :LQGXS

 

 

˂Y

0,0

6HWSRLQW

2XWSXW3HU2Q

0 1

0,0

0 1

1

0,0

0 1

0,0

2XWSXWB3(5

2XWSXWB83

2XWSXWB'1

1,0

1 0,0

0

 

 

1,0

1 0,0 0

/LPLW

B/LP

5RF

&53B287

6FDOH

&53B,1

/LPLW

)DF

39B$/50

,QW

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-33 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-34

,QSXWB3(5

,QSXW

6HWSRLQW

&53B,1

/LPLW

,QSXW3HU2Q

1

6FDOH

0

3,'71

$QWL :LQGXS

$QWL :LQGXS

,QW

/LPLW

39B$/50

)DF

;

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-35 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-36 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-37

,QSXW:DUQLQJB+

,QSXW:DUQLQJB/

˂9

)HHGEDFNB3(5

&53B,1

)HHGEDFN

)HHGEDFN3HU2Q

6FDOH

1

0

0,0

&53B287

2XWSXW3HU2Q

1

0

0DQXDO(QDEOH

0DQXDO9DOXH

1

0

2XWSXWB3(5

$GHDGB%

0 0,0

1

0DQXDOB83

7KU6WS

0DQXDOB'1

0DQXDO(QDEOH

1

0

1

0

2XWSXWB83

3XOVH2XW

2XWSXWB'1

图 9-5 启用了位置反馈的 PID_3Step 控制器的操作

PID_3STEP 指令 ErrorBit 参数

如果存在多个错误未决,则错误代码的值将通过二进制加法显示。例如,显示错误代码

0003 表示错误 0001 和 0002 未决。

表格 9- 18 PID_3STEP 指令 ErrorBit 参数

ErrorBit

(DW#16#...)

说明
0000 无错误
0001 “Input”参数超出过程值限值:

Input > Config.InputUpperLimit 或者

Input < Config.InputLowerLimit

如果 ActivateRecoverMode = TRUE 并且 ErrorBehaviour = 1,执行器会移动至替换输出值。 如果 ActivateRecoverMode = TRUE 并且 ErrorBehaviour = 0,执行器将在其当前位置停止。 如果ActivateRecoverMode = FALSE,执行器将在其当前位置停止。

PID_3STEP V1.1: 可在手动模式下移动执行器。

PID_3STEP V1.0: 在该状态下不能使用手动模式。 在消除错误之前不能再次启动执行器。

0002 参数“Input_PER”的值无效。 请检查模拟量输入是否有错误尚未解决。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

0004 精确调节时出错,无法保持过程值振荡。
0008 开始预调节时出错。 过程值过于接近设定值。 开始精确调节。
0010 在精确调节期间不能更改设定值。
0020 在自动模式下或精确调节期间可能无法执行预调节。
0040 精确调节时出错,设定值过于接近设定值限值。
0080 在预调节时出错。 输出值限值的组态不正确。

进行检查,确定是否正确配置输出值的限值,并匹配控件工作时采用的方向。

0100 精确调节期间出错导致参数无效。
ErrorBit

(DW#16#...)

说明
0200 参数“Input”的值无效: 值的数字格式无效。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

0400 计算输出值失败。 检查 PID 参数。
0800 采样时间错误: 在循环中断 OB 的采样时间内未调用

PID_3STEP。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

1000 参数“Setpoint”的值无效: 值的数字格式无效。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode = TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

2000 参数 Feedback_PER 的值无效。

请检查模拟量输入是否有错误尚未解决。

执行器不能移动至替换输出值并且不能从当前位置移动。 在该状态下不能使用手动模式。 必须禁用位置反馈 (Config.

FeedbackOn = FALSE) 以从该状态移动执行器。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

ErrorBit

(DW#16#...)

说明
4000 参数 Feedback 的值无效。 值的数字格式无效。

执行器不能移动至替换输出值并且不能从当前位置移动。 在该状态下不能使用手动模式。 必须禁用位置反馈 (Config.

FeedbackOn = FALSE) 以从该状态移动执行器。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

8000 数字位置反馈出错。 Actuator_H = TRUE 以及 Actuator_L =

TRUE。

执行器不能移动至替换输出值并且不能从当前位置移动。 在该状态下不能使用手动模式。

必须禁用“Endstop 信号执行器”(Config.ActuatorEndStopOn =

FALSE) 才能从该状态移动执行器。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

组态 PID 控制器

工艺对象的参数决定 PID 控制器的操作。 使用该图标可打开组态编辑器。 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-38

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-39

图 9-6 PID_Compact 的组态编辑器(基本设置)

表格 9- 19 PID_Compact 指令的示例组态设置

设置 说明
基本 控制器类型

(Controller type)

选择工程单元。
反转控制逻辑(Invert the control logic) 允许选择反作用 PID 回路。

  • 如果未选择该选项,则 PID 回路处于直接作用模式,在输入值小于设定值时,PID 回路的输出会增大。
  • 如果选择了该选项,则在输入值大于设定值时,PID 回路的输出会增大。
CPU 重启后启用上一模式 (Enable last mode after CPU

restart)

在复位 PID 回路之后,或在超出输入限值后回到有效范围时,重新启动

PID 回路。

输入 (Input) 为过程值选择 Input 参数或 Input_PER 参数(用于模拟量)。

Input_PER 可直接来自模拟量输入模块。

输出 (Output) 为输出值选择 Output 参数或 Output_PER 参数(用于模拟量)。

Output_PER 可直接进入模拟量输出模块。

过程值 标定过程值的范围和限值。 如果过程值低于下限或高出上限,则 PID 回路进入未激活模式, 并将输出值设置为 0。

要使用 Input_PER,必须标定模拟过程值(输入值)。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-40

图 9-7 PID_3Step 的组态编辑器(基本设置)

表格 9- 20 PID_3Step 指令的示例组态设置

设置 说明
基本 控制器类型

(Controller type)

选择工程单元。
反转控制逻辑(Invert the control logic) 允许选择反作用 PID 回路。

  • 如果未选择该选项,则 PID 回路处于直接作用模式,在输入值小于设定值时,PID 回路的输出会增大。
  • 如果选择了该选项,则在输入值大于设定值时,PID 回路的输出会增大。
CPU 重启后启用上一模式 (Enable last mode after CPU

restart)

在复位 PID 回路之后,或在超出输入限值后回到有效范围时,重新启动

PID 回路。

输入 (Input) 为过程值选择 Input 参数或 Input_PER 参数(用于模拟量)。

Input_PER 可直接来自模拟量输入模块。

输出 (Output) 选择为输出值使用数字量输出(Output_UP 和 Output_DN)或使用模拟量输出 (Output_PER)。
反馈 (Feedback) 选择返回到 PID 回路的设备状态的类型:

  • 无反馈(默认)
  • 反馈
  • Feedback_PER
过程值 标定过程值的范围和限值。 如果过程值低于下限或高出上限,则 PID 回路进入未激活模式, 并将输出值设置为 0。

要使用 Input_PER,必须标定模拟过程值(输入值)。

执行器 电机切换时间

(Motor transition time)

设置阀门从打开到关闭的时间。 (可在阀门的数据表或面板上找到查看该值。)
最短打开时间

(Minimum ON time)

设置阀门的最短运动时间。 (可在阀门的数据表或面板上找到查看该值。)
最短关闭时间

(Minimum OFF time)

设置阀门的最短暂停时间。 (可在阀门的数据表或面板上找到查看该值。)
设置 说明
出错行为 (Error behavior) 定义检查到错误或复位 PID 回路时的阀门行为。 如果选择使用替换位置, 请输入“安全位置”(Safety position)。 对于模拟反馈或模拟输出,应为输出选择在上限和下限之间的值。 对于数字输出,只能选择 0%(关闭)或 100%

(打开)。

刻度位置反馈 1 (Scale Position Feedback)
  • “停止上限”(High stop) 和“停止下限”(Lower limit stop) 定义最大正向位置

(完全打开)和最大反向位置(完全关闭)。 “停止上限”(High stop) 必须大于“停止下限”(Lower limit stop)。

  • “过程值上限”(High limit process value) 和“过程值下限”(Low limit process value) 定义调节模式和自动模式中阀门的上限位置和下限位置。
  • “FeedbackPER”(“下限”和“上限”)定义阀门位置的模拟反馈。

“FeedbackPER 上限”必须大于“FeedbackPER 下限”。

1 只有在“基本”(Basic) 设置中启用了“反馈”(Feedback) 时,才能编辑“刻度位置反馈”(Scale Position

Feedback)。

调试 PID 控制器

使用调试编辑器可组态 PID 控制器,使其在启动时和操作过程中可自动调节。 要 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-41 打开调试编辑器,请单击指令或项目浏览器上的图标。 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-42

表格 9- 21 组态画面示例 (PID_3Step)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-43

  • 测量: 要在实时趋势中显示设定值、过程值

(输入值)和输出值,请输入采样时间并单击

“开始”(Start) 按钮。

  • 调节模式: 要调节 PID 循环,请选择“预调 节”(Pretuning) 或“微调”(Fine tuning)(手动) 并单击“开始”(Start) 按钮。 PID 控制器会运行多个阶段,以计算系统响应时间和更新时间。通过这些值可计算相应的调节参数。

完成调节过程之后,可以单击调试编辑器的

“PID 参数”(PID Parameters) 部分中的“上传

PID 参数”(Upload PID parameters) 按钮来存储新参数。

如果在调节过程中发生错误,PID 的输出值会变为 0。随后 PID 模式将被设置为“未激活”模式。状态可指示错误。

运动控制

CPU 通过脉冲接口为步进电机和伺服电机的运行提供运动控制功能。 运动控制功能负责对驱动器进行监控。

      • “轴”工艺对象用于组态机械驱动器的数据、驱动器的接口、动态参数以及其它驱动器 属性。
      • 通过对 CPU 的脉冲输出和方向输出进行组态来控制驱动器。
      • 用户程序使用运动控制指令来控制轴并启动运动任务。
      • PROFINET 接口用于在 CPU 与编程设备之间建立在线连接。 除了 CPU 的在线功能外,附加的调试和诊断功能也可用于运动控制。

说明

仅当 CPU 从 STOP 切换为 RUN 模式时,RUN 模式下对运动控制配置和下载的更改才会生效。

① PROFINET

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-44 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-45 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-46

S

6,0$7,& 67-1200

 

', 0 .1 .2 .3 .4 .5 .6 .7 .0 .1 .2 .3 .4 .5

&38 1214&

'&/'&/'&

'0 0 .1 .2 .3 .4 .5 .6 .7 .0 .1

;1:31//$1/

② 脉冲和方向输出

581/6723 (5525 0$,17

, 0.0

, 0.1

, 0.2

, 0.3

, 0.4

, 0.5

, 0.6

, 0.7

, 1.0

, 1.1

, 1.2

, 1.3

, 1.4

, 1.5

③ 步进电机的电源部分

0 0.0

0 0.1

0 0.2

0 0.3

0 0.4

0 0.5

0 0.6

0 0.7

0 1.0

0 1.1

④ 伺服电机的电源部分

DC/DC/DC 型 CPU S7-1200 上配备有用于直接控制驱动器的板载输出。 继电器型 CPU 需要具有用来控制驱动器的

DC 输出的信号板。

信号板 (SB, Signal Board) 将板载 I/O 扩展为包含多个附加 I/O 点。 具有 2 个数字量输出的 SB 可用作控制一台电机的脉冲输出和方向输出。 具有 4 个数字量输出的 SB 可用作控制两台电机的脉冲输出和方向输出。 不能将内置继电器输出用作控制电机的脉冲输

出。

说明

用户程序中的其它指令无法使用脉冲串输出

将 CPU 或信号板的输出组态为脉冲发生器时(供 PWM 或运动控制指令使用),会从 Q 存储器中移除相应的输出地址(Q0.0 到 Q0.3,Q4.0 到 Q4.3),并且这些地址在用户程序中不能用于其它用途。 如果用户程序向用作脉冲发生器的输出写入值,则 CPU 不会将该值写入到物理输出。

表格 9- 22 可控制驱动器的最大数目

CPU 型号 未安装任何 SB 带 SB

(2 x DC 输出)

带 SB

(4 x DC 输出)

CPU 1211C DC/DC/DC 2 2 2
AC/DC/RLY 0 1 2
DC/DC/RLY 0 1 2
CPU 1212C DC/DC/DC 2 2 2
AC/DC/RLY 0 1 2
DC/DC/RLY 0 1 2
CPU 1214C DC/DC/DC 2 2 2
AC/DC/RLY 0 1 2
DC/DC/RLY 0 1 2
CPU 型号 未安装任何 SB 带 SB

(2 x DC 输出)

带 SB

(4 x DC 输出)

CPU 1215C DC/DC/DC 4 4 4
AC/DC/RLY 0 1 2
DC/DC/RLY 0 1 2

表格 9- 23 脉冲输出的频率范围

脉冲输出 频率
板载 2 PTO: 2 Hz ≤ f ≤ 100 KHz
2 PTO: 2 Hz ≤ f ≤ 20 KHz
标准 SB 2 Hz ≤ f ≤ 20 KHz
高速 (200 KHz) SB MC V2 指令: 2 Hz ≤ f ≤ 200 KHz MC V1 指令: 2 Hz ≤ f ≤ 100 KHz 1

1 MC V1 指令支持的最大频率为 100 KHz。

注意
脉冲输出发生器的最大脉冲频率对于 CPU 的数字量输出为 100 KHz,而对于标准 SB

的数字量输出为 20 KHz,对于高速 SB 的数字量输出为 200 KHz(或对于 MC V1 指令

为 100 KHz)。

组态脉冲发生器

  1. 添加工艺对象:
    • 在项目树中,展开节点“工艺对象”(Technological Objects),然后选择“添加新对象”(Add new object)。
    • 选择“轴”(Axis) 图标(必要时可以重命名),然后单击“确定”(OK) 打开轴对象的组态编辑器。
    • 显示“基本参数”(Basic parameters) 下的“为轴控制选择 PTO”(Select PTO for Axis Control) 属性,然后选择所需脉冲。 请注意为脉冲和方向分配的两个 Q 输出。

说明

如果以前从未在“CPU 属性”(CPU Properties) 中组态 PTO,则将 PTO 组态为使用其中一个板载输出。

如果使用了输出信号板,则选择“设备组态”(Device configuration) 按钮以转到“CPU 属性”(CPU Properties)。 在“参数分配”(Parameter assignment) 下的“脉冲选

项”(Pulse options) 中,将数据源组态为信号板输出。 “Pulse_1”和“Pulse_3”是信号板上提供的两个唯一脉冲输出。

    • 对其余的基本参数和扩展参数进行组态。
  1. 对应用进行编程: 将 MC_Power 指令插入代码块。
    • 对于“轴”输入,请选择已创建并组态的轴工艺对象。
    • 将 Enable 输入设置为 TRUE 可以使其它运动指令起作用。
    • 将 Enable 输入设置为 FALSE 会取消其它运动指令。说明

每个轴只包括一个 MC_Power 指令。

  1. 插入其它运动指令,以生成所需的运动。

说明

将脉冲发生器组态为信号板输出: 选择 CPU 的“脉冲发生器 (PTO/PWM)”(Pulse generators (PTO/PWM)) 属性(在“设备组态”(Device configuration) 中)并启用脉冲发生器。 每个 S7-1200 CPU V1.0、V2.0、V2.1 和 V2.2 提供两个脉冲发生器。S7-1200 CPU V3.0 CPU 提供四个脉冲发生器。 在相同组态区域的“脉冲选项”(Pulse options) 下, 选择用作以下用途的脉冲发生器: “PTO”。

说明

CPU 以 10 ms 为“时间片”或时间段计算运动任务。执行一个时间片时,下一时间片会在队列中等待执行。 如果中断某个轴上的运动任务(通过执行该轴的其它新运动任务), 可能最多要等待 20 ms(当前时间片的剩余时间加上排队的时间片)才能执行新运动任务。

      1. 组态轴

STEP 7 为“轴”工艺对象提供了组态工具、调试工具和诊断工具。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-47 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-48 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-49 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-50 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-51 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-52 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-53 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-54 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-55 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-56

5

4

3

2

1

① 驱动器 ④ 调试

② 工艺对象 ⑤ 诊断

③ 组态

说 明 PTO 需要使用高速计数器 (HSC) 的内部功能。 也就是说,在其它地方无法使用相应的高速计数器。

PTO 和 HSC 间的分配是固定的。 激活 PTO1 时,它将与 HSC1 连接。 如果激活PTO2,则它将与 HSC2 连接。 这仅适用于 S7-1200 V1.0、V2.0、V2.1 和 V2.2 CPU。S7-1200 V3.0 CPU 没有此限制。

生成脉冲时,无法监视当前值(例如,在 ID 1000 中)。

表格 9- 24 用于运动控制的 STEP 7 工具

工具 说明
组态 组态“轴”工艺对象的下列属性:

  • 要用的 PTO 的选择以及驱动器接口的组态
  • 机械的属性和驱动器(机器或系统)的传动比参数
  • 位置限制属性、动态属性和回原点属性在工艺对象的数据块中保存组态数据。
调试 无需创建用户程序即可测试轴的功能。 启动该工具时,将显示控制面板。 控制面板上提供了下列命令:

  • 启用和禁用轴
  • 在点动模式下移动轴
  • 以绝对和相对方式定位轴
  • 使轴回原点
  • 确认错误信息

可以为运动命令指定速度以及加速度/减速度。 控制面板中还将显示当前的轴状态。

诊断 监视轴和驱动器的当前状态和错误信息。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-57 为轴创建工艺对象之后,通过定义基本参数(如PTO 和驱动器接口的组态)来组态该轴。 还可以组态轴的其它属性,例如位置限制属性、动态属性和回原点属性。

注意
在用户程序中可以根据新量纲单位调整运动控制指令的输入参数的值。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-58 组态驱动器信号、驱动器机械装置和位置监视

(硬件和软件限位开关)的属性。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-59 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-60 组态急停命令的运动动态和行为。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-61 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-62 还可以组态回原点行为(被动和主动)。

使用“调试”(Commissioning) 控制面板独立于用户程序对功能进行测试。 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-63 单击“启动”(Startup) 图标对轴进行调试。

控制面板会显示轴的当前状态。 不仅可以启用和禁用轴,还可以测试轴定位(以绝对和相对方式)以及指定速度、加速度和减速度。 还可以测试回原点和点动任务。 控制面板还可用于确认错误。

组态 TO_CommandTable_PTO

可以使用工艺对象组态 CommandTable 指令。

添加工艺对象

为应用规划步

  1. 在项目树中,展开节点“工艺对象”(Technological Objects),然后选择“添加新对象”(Add new object)。
  2. 选择“CommandTable”图标(必要时可以重命名),然后单击“确定”(OK) 打开

CommandTable 对象的组态编辑器。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-64

可在“命令表”(Command Table) 组态窗口中创建所需的运动序列,并根据趋势图中的图形视图来检查结果。

可选择要用于处理命令表的命令类型。 最多可输入 32 个步。 按顺序处理命令,轻松生成复杂运动轨迹。

表格 9- 25 MC_CommandTable 命令类型

命令类型 说明
Empty 空白用作占位符,以便添加任意命令。在处理命令表时,忽略空白条目。
Halt 暂停轴。

注:该命令仅在“Velocity setpoint”命令之后使用。

命令类型 说明
Positioning Relative 根据距离定位轴。该命令将按给定的距离和速度移动轴。
Positioning Absolute 根据位置定位轴。 该命令以指定的速度将轴移到给定位置。
Velocity setpoint 按给定速度移动轴。
Wait 等待给定期间结束。 “Wait”不会停止已激活的行进运动。
Separator 在选定行上方添加“分隔”线。 利用分隔线,可在单个命令表中定义多个轨迹。

在下图中,“命令完成”(Command complete) 用作到下一步的切换。 该类切换允许设备减速到启动/停止速度,然后在下一步开始时重新加速。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-65

① 轴在两步之间减速到启动/停止速度。

在下图中,“混合运动”(Blending motion) 用作到下一步的切换。 该类切换允许设备保持现有速度进入下一步,从而使设备平稳地从一步切换到下一步。 采用混合方式可缩短完全执行某轨迹所需的总时间。 如果不采用混合方式,运行该示例将需要七秒。 如果采用混合方式,则执行时间将减少一秒,因此总时间为六秒。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-66

① 轴继续移动,并加速或减速到下一步速度,这会节省时间和减少机械磨损。

CommandTable 的运行受 MC_CommandTable 指令控制,如下所示:

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-67

运动控制指令

说 明 CPU 以 10 ms 为“时间片”或时间段计算运动任务。执行一个时间片时,下一时间片会在队列中等待执行。 如果中断某个轴上的运动任务(通过执行该轴的其它新运动任务),

可能最多要等待 20 ms(当前时间片的剩余时间加上排队的时间片)才能执行新运动任

务。

MC_Power 指令
注意
如果由于错误而将轴关闭,则在消除并确认错误后会自动再次将其启用。 这要求输入参数 Enable 的值在该过程中保持为 TRUE。

表格 9- 26 MC_Power 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-68 "MC_Power_DB"( Axis:=_multi_fb_in_, Enable:=_bool_in_, StopMode:=_int_in_, Status=>_bool_out_, Busy=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); MC_Power 运动控制指令可启用或禁用
轴。 在启用或禁用轴之前,应确保以下条
件:
  • 已正确组态工艺对象。
  • 没有未决的启用-禁止错误。
运动控制任务无法中止 MC_Power 的执

行。 禁用轴(输入参数 Enable = FALSE)

将中止相关工艺对象的所有运动控制任务。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_Power_DB”是背景 DB 的名称。

表格 9- 27 MC_Power 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Enable IN Bool
  • FALSE(默认): 所有激活的任务都将按照参数化的

“StopMode”而中止,并且轴也会停止。

  • TRUE:运动控制尝试启用轴。
StopMode IN Int
  • 0: 急停:如果禁用轴的请求未决,则轴将以组态的紧急减速度制动。 轴在达到停止后被禁用。
  • 1: 立即停止:如果禁用轴的请求未决,该轴将在不减速的情况下被禁用。 脉冲输出立即停止。
  • 2: 通过冲击控制进行急停: 如果禁用轴的请求未决,则轴将以组态的急停减速度制动。 如果激活了冲击控制,则不

考虑组态的冲击。轴在达到停止后被禁用。

Status OUT Bool 轴使能的状态:

  • FALSE:轴已禁用:
    • 轴不会执行运动控制任务并且不接受任何新任务(例外: MC_Reset 任务)。
    • 轴未回原点。
    • 禁用时,直到轴达到停止状态,状态才会更改为

FALSE。

  • TRUE:轴已启用:
    • 轴已准备好执行运动控制任务。
    • 轴启用时,直到信号“驱动器就绪”(Drive ready) 进入未决,状态才会更改为 TRUE。 如果在轴组态中未组态“驱动器就绪”(Drive ready) 驱动器接口,状态会立即更改为TRUE。
Busy OUT Bool FALSE:MC_Power 未激活。

TRUE:MC_Power 处于活动状态

Error OUT Bool FALSE:无错误

TRUE:运动控制指令“MC_Power”或关联的工艺对象出错。出错原因可在“ErrorID”和“ErrorInfo”参数中找到。

ErrorID OUT Word 参数“Error"”的错误 ID
ErrorInfo OUT Word 参数“ErrorID”的错误信息 ID

$[LVB1 (QDB1

1

6WDWXVB1

%XV\B1 (UURUB1

0&B3RZHU

$[LV 6WDWXV

(QDEOH %XV\

6WRS0RGH (UURU (UURU,' (UURU,QIR

0&B3RZHU

 

1

(QDB1 0 W

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-69 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-70 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-71 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-72 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-73 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-74 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-75 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-76 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-77 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-78 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-79

1

2

W

 

1

6WDWXVB1 0 W

1

%XV\B1 0 W

1

(UURUB1 0

0&B5HVHW 1

0&B5HVHW

$[LV 'RQH

([HFXWH %XV\

(UURU (UURU,' (UURU,QIR

$[LVB1 ([HB2

'RQHB2

%XV\B2

([HB2 0 W

1

'RQHB2 0 W

1

%XV\B2 0 W

'ULYH ,QWHUIDFH 1

'ULYH (QDEOHG 0 W

1

'ULYH 5HDG\ 0 W

① 启用轴,然后再次禁用轴。 驱动器向 CPU 返回“驱动器就绪”(Drive ready) 信号后,可通过

“Status_1”读出成功启用信息。

② 启用轴后,出现了导致轴被禁用的错误。 该错误被消除并通过“MC_Reset”进行确认。 然后再次启用该轴。

要启用组态了驱动器接口的轴,请按以下步骤操作:

          1. 检查上文所述的要求。
          2. 使用所需值初始化输入参数“StopMode”。 将输入参数“Enable”设置为 TRUE。

“驱动器已启用”(Drive enabled) 的使能输出更改为 TRUE 以启用驱动器的电源。 CPU

等待驱动器的“驱动器就绪”(Drive ready) 信号。

当“驱动器就绪”(Drive ready) 信号出现在 CPU 的已组态就绪输入中时,轴将变为启用状态。 输出参数“Status”和工艺对象变量 <轴名称>.StatusBits.Enable 指示值 TRUE。

要启用未组态驱动器接口的轴,请按以下步骤操作:

  1. 检查上文所述的要求。
  2. 使用所需值初始化输入参数“StopMode”。 将输入参数“Enable”设置为 TRUE。 轴已启用。 输出参数“Status”和工艺对象变量 <轴名称>.StatusBits.Enable 指示值 TRUE。

要禁用轴,请按以下步骤操作:

  1. 将轴切换到停止状态。

可在工艺对象变量 <轴名称>.StatusBits.StandStill 中确定轴何时处于停止状态。

  1. 达到停止状态后将输入参数“Enable”设置为 FALSE。
  2. 如果输出参数“Busy”和“Status”以及工艺对象变量 <轴名称>.StatusBits.Enable 指示值

FALSE,则禁用轴的操作已完成。

MC_Reset 指令

表格 9- 28 MC_Reset 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-80 "MC_Reset_DB"( Axis:=_multi_fb_in_, Execute:=_bool_in_, Restart:=_bool_in_, Done=>_bool_out_, Busy=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 使用 MC_Reset 指令可确认“导致轴停止的运行错误”和“组态错误”。 需要确认的错误可在“解决方法”下的“ErrorIDs 和

ErrorInfos 的列表”中找到。

使用 MC_Reset 指令前,必须已将需要
确认的未决组态错误的原因消除(例如,
通过将“轴”工艺对象中的无效加速度值更
改为有效值)。
自 V3.0 及更高版本起,在 RUN 操作模式下,Restart 命令可将轴组态下载至工
作存储器。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_Reset_DB”是背景 DB 的名称。

MC_Reset 任务无法被任何其它运动控制任务中止。 新的 MC_Reset 任务不会中止任何其它已激活的运动控制任务。

表格 9- 29 MC_Reset 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始任务
Restart IN Bool TRUE = 从装载存储器将轴组态下载至工作存储器。 只有轴处于禁用状态时才能执行该命令。
FALSE = 确认未决错误
Done OUT Bool TRUE = 错误已确认。
Busy OUT Bool TRUE = 正在执行任务。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。

ErrorID OUTP Word 参数“Error"”的错误 ID
ErrorInfo OUT Word 参数“ErrorID”的错误信息 ID

要使用 MC_Reset 确认错误,请按以下步骤操作:

          1. 检查上文所述的要求。
          2. 在 Execute 输入参数出现上升沿时开始确认错误。
          3. 当 Done 等于 TRUE 并且工艺对象变量 <轴名称>.StatusBits.Error 等于 FALSE 时, 错误已被确认。
MC_Home 指令

表格 9- 30 MC_Home 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-81 "MC_Home_DB"(

Axis:=_multi_fb_in_, Execute:=_bool_in_, Position:=_real_in_, Mode:=_int_in_, Done=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_);

使用 MC_Home 指令可将轴坐标与实际物理驱动器位置匹配。 轴的绝对定位需要回原点:

为了使用 MC_Home 指令,必须先启用轴。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_Home_DB”是背景 DB 的名称。

可使用以下类型的回原点:

  • 绝对式直接回原点 (Mode = 0): 当前轴位置被设置为参数“Position”的值。
  • 相对式直接回原点 (Mode = 1): 当前轴位置的偏移量为参数“Position”的值。
  • 被动回原点 (Mode = 2): 在被动回原点期间,指令 MC_Home 不会执行任何回原点运动。 用户必须通过其它运动控制指令来执行该步骤所需的行进运动。 检测到参考点开关时,轴将回到原点。
  • 主动回原点 (Mode = 3): 自动执行回原点步骤。

表格 9- 31 MC_Home 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_PTO 轴工艺对象
Execute IN Bool 出现上升沿时开始任务
参数和类型 数据类型 说明
Position IN Real
  • Mode = 0、2 和 3(完成回原点操作后轴的绝对位置)
  • Mode = 1(当前轴位置的校正值)

限值: -1.0e12 ≤ Position ≤ 1.0e12

Mode IN Int 回原点模式

  • 0: 绝对式直接回原点

新的轴位置为参数“Position”的位置值。

  • 1: 相对式直接回原点

新的轴位置为当前轴位置 + 参数“Position”的位置值。

  • 2: 被动回原点

根据轴组态回原点。 回原点后,参数“Position”的值被设置为新的轴位置。

  • 3: 主动回原点

按照轴组态进行参考点逼近。 回原点后,参数

“Position”的值被设置为新的轴位置。

Done OUT Bool TRUE = 任务完成
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID” 和“ErrorInfo”参数中找到。
ErrorID OUT Word 参数“Error"”的错误 ID
ErrorInfo OUT Word 参数“ErrorID”的错误信息 ID

说明

在下列情况下,轴回原点会失败:

  • 通过 MC_Power 指令禁用轴
  • 在自动控制和手动控制之间切换
  • 主动回原点开始时(成功完成回原点操作后,可再次进行轴回原点操作。)
  • 对 CPU 循环上电后
  • CPU 重新启动后(RUN-to-STOP 或 STOP-to-RUN)

要使轴回原点,请按以下步骤操作:

          1. 检查上文所述的要求。
          2. 使用相应的值初始化必要的输入参数,然后在输入参数“Execute”出现上升沿时开始回原点操作。
          3. 如果输出参数“Done”和工艺对象变量 <轴名称>.StatusBits.HomingDone 指示值

TRUE,则回原点操作完成。

表格 9- 32 超驰响应

模式 说明
0 或 1 MC_Home 任务无法被任何其它运动控制任务中止。 新的 MC_Home 任务不会中止任何已激活的运动控制任务。 位置相关的运动任务在回原点后将根据新的原点位置(Position 输入参数中的值)恢复。
2 MC_Home 任务可被下列运动控制任务中止:

MC_Home 任务 Mode = 2、3: 新 MC_Home 任务可中止以下已激活的运动控制任务。

MC_Home 任务 Mode = 2: 位置相关的运动任务在回原点后将根据新的原点位置(Position 输入参数中的值)恢复。

3 MC_Home 任务可被下列运动控制任务中止:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
新 MC_Home 任务可中止下列激活的运动控制任务:

  • MC_Home 模式 = 2、3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
MC_Halt 指令

表格 9- 33 MC_Halt 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-82 "MC_Halt_DB"(

Axis:=_multi_fb_in_, Execute:=_bool_in_, Done=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_);

使用 MC_Halt 指令可停止所有运动并将轴切换到停止状态。 停止位置未定义。

为了使用 MC_Halt 指令,必须先启用轴。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_Halt_DB”是背景 DB 的名称。

表格 9- 34 MC_Halt 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始任务
Done OUT Bool TRUE = 速度达到零
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID” 和“ErrorInfo”参数中找到。
ErrorID OUT Word 参数“Error”的错误 ID
ErrorInfo OUT Word 参数“ErrorID”的错误信息 ID

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-83

0&B0RYH9HORFLW\

1 2

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-84 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-85 9HORFLW\

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-86 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-87 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-88 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-89 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-90 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-91 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-92 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-93 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-94 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-95 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-96 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-97 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-98 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-99 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-100 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-101 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-102 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-103 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-104 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-105 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-106 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-107 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-108 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-109 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-110 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-111 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-112 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-113 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-114 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-115 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-116 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-117 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-118 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-119 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-120 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-121 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-122 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-123 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-124 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-125 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-126 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-127 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-128 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-129 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-130 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-131 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-132 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-133 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-134 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-135 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-136 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-137 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-138 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-139 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-140 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-141 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-142 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-143 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-144 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-145 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-146 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-147 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-148 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-149 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-150 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-151 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-152 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-153 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-154 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-155 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-156 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-157 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-158 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-159 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-160 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-161 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-162 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-163 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-164 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-165 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-166 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-167 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-168 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-169

$[LVB1 $[LV

,Q9HORFLW\ ,Q9HOB1

1

([HB1

([HB1

([HFXWH

%XV\

%XV\B1 0 W

    1. 9HORFLW\

1 'LUHFWLRQ

&RPPDQG$ERUWHG

(UURU

$ERUWB1

1

,Q9HOB1 0 W

0

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-170 $[LVB1 ([HB2

&XUUHQW

$[LV ([HFXWH

0&B+DOW

(UURU,' (UURU,QIR

'RQH

%XV\

'RQHB2

%XV\B2

1

%XV\B1 0 W

1

$ERUWB1 0 W

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-171 0&B +DOW

1

([HB2 0 W

1

&RPPDQG$ERUWHG $ERUWB2 (UURU

(UURU,' (UURU,QIR

'RQHB2 0 W

1

%XV\B2 0 W

1

$ERUWB2 0 W

50.0

9HORFLW\

$[LVB1 0.0 W

下面的值已在“动态 > 常规”(Dynamics > General) 组态窗口中组态: 加速度 = 10.0,减速度 = 5.0

① 轴由 MC_Halt 任务进行制动,直到进入停止状态。 轴的停止状态通过“Done_2”来指示。

② 当 MC_Halt 任务对轴进行制动处理时,另一个运动任务会中止该任务。 该中止通过“Abort_2”来标识。

超驰响应

MC_Halt 任务可被下列运动控制任务中止:

      • MC_Home Mode = 3
      • MC_Halt
      • MC_MoveAbsolute
      • MC_MoveRelative
      • MC_MoveVelocity
      • MC_MoveJog

新 MC_Halt 任务可中止下列激活的运动控制任务:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
MC_MoveAbsolute 指令

表格 9- 35 MC_MoveAbsolute 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-172 "MC_MoveAbsolute_DB"( Axis:=_multi_fb_in_, Execute:=_bool_in_, Position:=_real_in_, Velocity:=_real_in_, Done=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 使用 MC_MoveAbsolute 指令可启动轴到绝对位置的定位运动。

为了使用 MC_MoveAbsolute 指令,必须先启用轴,同时必须使其回原点。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_MoveAbsolute_DB”是背景 DB 的名称。

表格 9- 36 MC_MoveAbsolute 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始任务(默认值: False)
Position IN Real 绝对目标位置(默认值:0.0) 限值: -1.0e12 ≤ Position ≤ 1.0e12
Velocity IN Real 轴的速度(默认值:10.0)

由于组态的加速度和减速度以及要逼近的目标位置的原因, 并不总是能达到此速度。

限值: 启动/停止速度 ≤ Velocity ≤ 最大速度

Done OUT Bool TRUE = 已达到绝对目标位置
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。

ErrorID OUT Word 参数“Error”的错误 ID(默认值:0000)
ErrorInfo OUT Word 参数“ErrorID”的错误信息(默认值:0000)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-173

1 2

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-174 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-175 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-176 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-177 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-178 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-179 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-180 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-181 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-182 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-183 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-184 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-185 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-186 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-187 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-188 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-189 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-190 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-191 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-192 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-193 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-194 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-195 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-196 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-197 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-198 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-199 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-200 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-201 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-202 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-203 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-204 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-205 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-206 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-207 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-208 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-209 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-210 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-211 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-212 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-213 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-214 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-215 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-216 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-217 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-218 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-219 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-220 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-221 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-222 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-223 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-224 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-225 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-226 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-227 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-228 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-229 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-230 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-231 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-232 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-233 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-234 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-235 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-236 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-237 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-238 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-239 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-240 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-241 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-242 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-243 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-244 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-245 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-246 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-247 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-248 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-249 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-250 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-251 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-252 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-253 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-254 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-255 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-256 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-257 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-258 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-259 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-260 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-261 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-262 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-263 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-264 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-265 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-266 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-267 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-268 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-269 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-270 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-271 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-272 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-273 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-274 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-275 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-276 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-277 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-278 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-279 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-280 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-281 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-282 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-283 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-284 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-285 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-286 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-287 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-288 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-289 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-290 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-291 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-292 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-293 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-294 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-295 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-296 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-297 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-298 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-299 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-300 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-301 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-302 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-303 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-304 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-305 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-306 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-307 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-308 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-309 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-310 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-311 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-312 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-313 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-314 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-315 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-316 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-317 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-318 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-319 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-320 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-321 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-322 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-323 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-324 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-325 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-326 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-327 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-328 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-329 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-330 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-331 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-332 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-333

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-334 0&B0RYH$EVROXWH

0RYH 1 1

$[LVB1 $[LV ([HB1 ([HFXWH

1000.0 3RVLWLRQ

'RQH 'RQHB1

%XV\ %XV\B1 &RPPDQG$ERUWHG $ERUWB1

([HB1 0 W

1

'RQHB1 0 W

50.0 9HORFLW\

(UURU (UURU,'

(UURU,QIR

1

%XV\B1 0 W

1

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-335 $ERUWB1 0 W

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-336 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-337 0&B0RYH$EVROXWH

0RYH 2 1

$[LVB1 $[LV

([HB2 ([HFXWH 1500.0 3RVLWLRQ

30.0 9HORFLW\

'RQH 'RQHB2

%XV\ %XV\B2 &RPPDQG$ERUWHG

(UURU (UURU,'

(UURU,QIR

([HB2 0 W

1

'RQHB2 0 W

1

%XV\B2 0 W

9HORFLW\

$[LVB1

50.0

30.0

    1. W

1500.0

1000.0

3RVLWLRQ

$[LVB1 0.0 W

下面的值已在“动态 > 常规”(Dynamics > General) 组态窗口中组态: 加速度 = 10.0,减速度 = 10.0

① 轴在 MC_MoveAbsolute 任务的驱动下移动到绝对位置 1000.0 处。 轴到达目标位置时,通过

“Done_1”对此情况进行标识。 “Done_1”= TRUE 时,将启动另一个目标位置为 1500.0 的

MC_MoveAbsolute 任务。 由于存在响应时间(例如,用户程序的循环时间等),轴会暂时进入停止状态(请参见放大的细节图)。 轴到达新的目标位置时,通过“Done_2”对此情况进行标识。

② 当前 MC_MoveAbsolute 任务将由另一个 MC_MoveAbsolute 任务中止。 该中止通过“Abort_1”来标识。 轴随后以新的加速度移动到新的目标位置 1500.0 处。 到达新的目标位置时,通过“Done_2”对此情况进行标识。

超驰响应

MC_MoveAbsolute 任务可被下列运动控制任务中止:

      • MC_Home Mode = 3
      • MC_Halt
      • MC_MoveAbsolute
      • MC_MoveRelative
      • MC_MoveVelocity
      • MC_MoveJog

新 MC_MoveAbsolute 任务可中止下列激活的运动控制任务:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
9.3.3.6 MC_MoveRelative 指令

表格 9- 37 MC_MoveRelative 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-338 "MC_MoveRelative_DB"( Axis:=_multi_fb_in_, Execute:=_bool_in_, Distance:=_real_in_, Velocity:=_real_in_, Done=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 使用 MC_MoveRelative 指令可启动相对于起始位置的定位运动。

为了使用 MC_MoveRelative

指令,必须先启用轴。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_MoveRelative_DB”是背景 DB 的名称。

表格 9- 38 MC_MoveRelative 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始任务(默认值: False)
Distance IN Real 定位操作的行进距离(默认值:0.0) 限值: -1.0e12 ≤ Distance ≤ 1.0e12
Velocity IN Real 轴的速度(默认值:10.0)

由于组态的加速度和减速度以及要行进的距离的原因,并不总是能达到此速度。

限值: 启动/停止速度 ≤ Velocity ≤ 最大速度

Done OUT Bool TRUE = 已达到目标位置
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。

ErrorID OUT Word 参数“Error”的错误 ID(默认值:0000)
ErrorInfo OUT Word 参数“ErrorID”的错误信息(默认值:0000)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-339

0&B0RYH5HODWLYH

1 2

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-340 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-341 0RYH 1 1

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-342 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-343 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-344 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-345 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-346 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-347 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-348 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-349 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-350 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-351 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-352 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-353 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-354 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-355 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-356 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-357 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-358 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-359 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-360 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-361 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-362 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-363 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-364 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-365 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-366 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-367 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-368 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-369 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-370 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-371 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-372 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-373 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-374 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-375 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-376 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-377 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-378 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-379 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-380 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-381 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-382 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-383 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-384 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-385 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-386 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-387 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-388 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-389 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-390 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-391 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-392 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-393 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-394 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-395 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-396 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-397 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-398 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-399 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-400 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-401 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-402 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-403 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-404 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-405 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-406 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-407 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-408 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-409 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-410 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-411 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-412 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-413 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-414 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-415 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-416 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-417 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-418 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-419 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-420 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-421 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-422 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-423 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-424 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-425 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-426 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-427 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-428 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-429 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-430 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-431 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-432 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-433 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-434 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-435 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-436 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-437 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-438 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-439 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-440 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-441 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-442 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-443 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-444 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-445 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-446 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-447 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-448 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-449 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-450 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-451 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-452 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-453 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-454 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-455 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-456 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-457 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-458 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-459 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-460 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-461 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-462 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-463 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-464 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-465 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-466 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-467 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-468 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-469 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-470 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-471 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-472 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-473 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-474 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-475 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-476 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-477 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-478 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-479 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-480 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-481 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-482 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-483 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-484 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-485 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-486 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-487 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-488 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-489 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-490 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-491 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-492 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-493 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-494 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-495 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-496 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-497 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-498 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-499 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-500 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-501 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-502 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-503 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-504 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-505 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-506 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-507 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-508 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-509 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-510 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-511 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-512 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-513 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-514 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-515 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-516

$[LVB1 $[LV ([HB1 ([HFXWH

1000.0 'LVWDQFH

'RQH 'RQHB1

%XV\ %XV\B1 &RPPDQG$ERUWHG $ERUWB1

([HB1 0 W

1

%XV\B1 0 W

50.0 9HORFLW\

(UURU

(UURU,' (UURU,QIR

1

'RQHB1 0 W

1

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-517 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-518 $ERUWB1 0 W

0&B0RYH5HODWLYH

0RYH 2 1

$[LVB1 $[LV ([HB2 ([HFXWH

500.0 'LVWDQFH

30.0 9HORFLW\

'RQH 'RQHB2

%XV\ %XV\B2 &RPPDQG$ERUWHG

(UURU (UURU,' (UURU,QIR

([HB2 0 W

1

%XV\B2 0 W

1

'RQHB2 0 W

9HORFLW\

$[LVB1

50.0

30.0

0.0 W

1500.0

1000.0

3RVLWLRQ

500

500

$[LVB1

    1. W

下面的值已在“动态 > 常规”(Dynamics > General) 组态窗口中组态: 加速度 = 10.0,减速度 = 10.0

① 轴在 MC_MoveRelative 任务的驱动下移动 1000.0 的距离(“Distance”)。 轴到达目标位置时,通过“Done_1”对此情况进行标识。 “Done_1”= TRUE 时,将启动另一个行进距离为 500.0 的

MC_MoveRelative 任务。 由于存在响应时间(例如,用户程序的循环时间),轴会暂时进入停止状态(请参见放大的细节图)。 轴到达新的目标位置时,通过“Done_2”对此情况进行标识。

② 当前 MC_MoveRelative 任务将由另一个 MC_MoveRelative 任务中止。 该中止通过“Abort_1”来标识。 轴随后以新的加速度移动一段新的距离(“Distance”)500.0。 到达新的目标位置时,通过

“Done_2”对此情况进行标识。

超驰响应

MC_MoveRelative 任务可被下列运动控制任务中止:

      • MC_Home Mode = 3
      • MC_Halt
      • MC_MoveAbsolute
      • MC_MoveRelative
      • MC_MoveVelocity
      • MC_MoveJog

新 MC_MoveRelative 任务可中止下列激活的运动控制任务:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
MC_MoveVelocity 指令

表格 9- 39 MC_MoveVelocity 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-519 "MC_MoveVelocity_DB"( Axis:=_multi_fb_in_, Execute:=_bool_in_, Velocity:=_real_in_, Direction:=_int_in_, Current:=_bool_in_, InVelocity=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 使用 MC_MoveVelocity 指令以指定的速度持续移动轴。为了使用 MC_MoveVelocity

指令,必须先启用轴。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_MoveVelocity_DB”是背景 DB 的名称。

表格 9- 40 MC_MoveVelocity 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始任务(默认值: False)
Velocity IN Real 指定轴运动的速度(默认值:10.0)

限值: 启动/停止速度 ≤ |Velocity| ≤ 最大速度

(允许 Velocity = 0.0)

Direction IN Int 指定方向:

  • 0: 旋转方向与参数“Velocity”中的值符号一致(默认值)
  • 1: 正旋转方向(参数“Velocity”的值符号被忽略。)
  • 2: 负旋转方向(参数“Velocity”的值符号被忽略。)
参数和类型 数据类型 说明
Current IN Bool 保持当前速度:

  • FALSE: 禁用“保持当前速度”。 使用参数“Velocity”和

“Direction”的值。 (默认值)

  • TRUE: 激活“保持当前速度”。 不考虑参数“Velocity” 和“Direction”的值。

当轴继续以当前速度运动时,参数 "InVelocity" 返回值

TRUE.

InVelocity OUT Bool TRUE:

  • 如果“Current”= FALSE: 已达到参数“Velocity"”中指定的速度。
  • 如果 "Current" = TRUE: 轴在启动时以当前速度运动。
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。

ErrorID OUT Word 参数“Error”的错误 ID(默认值:0000)
ErrorInfo OUT Word 参数“ErrorID”的错误信息(默认值:0000)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-520

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-521 1 2

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-522 0&B0RYH9HORFLW\

0RYH 1 1

$[LVB1

$[LV

,Q9HORFLW\ ,Q9HOB1

([HB1 0 W

([HB1 ([HFXWH

50.0 9HORFLW\

1 'LUHFWLRQ

0 &XUUHQW

%XV\ %XV\B1 &RPPDQG$ERUWHG $ERUWB1

(UURU

(UURU,' (UURU,QIR

1

%XV\B1 0 W

1

,Q9HOB1 0 W

1

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-523 $ERUWB1 0 W

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-524 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-525 0&B0RYH9HORFLW\

0RYH 2 1

$[LVB1 $[LV ([HB2 ([HFXWH

    1. 9HORFLW\

,Q9HORFLW\ ,Q9HOB2

%XV\ %XV\B2

&RPPDQG$ERUWHG

([HB2 0 W

1

%XV\B2 0 W

1 'LUHFWLRQ (UURU

0 &XUUHQW

(UURU,' (UURU,QIR

1

,Q9HOB2 0 W

50.0

9HORFLW\ 15.0

$[LVB1 0.0 W

下面的值已在“动态 > 常规”(Dynamics > General) 组态窗口中组态: 加速度 = 10.0,减速度 = 10.0

① 当前 MC_MoveVelocity 任务通过“InVel_1”来指示已达到目标速度。 该任务随后会被另一个

MC_MoveVelocity 任务中止。 该中止通过“Abort_1”来标识。 达到新的目标速度 15.0 时,将通过

“InVel_2”对此情况进行指示。 轴随后以新的恒定加速度继续移动。

② 在达到目标速度之前,当前 MC_MoveVelocity 任务会由另一个 MC_MoveVelocity 任务中止。 该中止通过“Abort_1”来标识。 达到新的目标速度 15.0 时,将通过“InVel_2”对此情况进行指示。 轴随后以新的恒定加速度继续移动。

超驰响应

MC_MoveVelocity 任务可被下列运动控制任务中止:

      • MC_Home Mode = 3
      • MC_Halt
      • MC_MoveAbsolute
      • MC_MoveRelative
      • MC_MoveVelocity
      • MC_MoveJog

新 MC_MoveVelocity 任务可中止下列激活的运动控制任务:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog

说明

速度设置为零 (Velocity = 0.0) 时的行为

“Velocity”= 0.0 的 MC_MoveVelocity 任务(如 MC_Halt 任务)可中止激活的运动任务并利用组态的减速度停止轴运动。 轴停止运动后,输出参数“InVelocity”将指示 TRUE 并至少持续一个程序循环的时间。

"“Busy”的值在减速运行期间为 TRUE,并且随“InVelocity”一起变为 FALSE。 如果设置了参数“Execute”= TRUE,则锁存“InVelocity”和“Busy”。

启动 MC_MoveVelocity 任务时,将设置工艺对象的状态位“SpeedCommand”。 轴停止运动后,将立即设置状态位“ConstantVelocity”。 启动新运动任务时,这两个位均会适应的新情况。

MC_MoveJog 指令

表格 9- 41 MC_MoveJog 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-526 "MC_MoveJog_DB"( Axis:=_multi_fb_in_, JogForward:=_bool_in_, JogBackward:=_bool_in_, Velocity:=_real_in_, InVelocity=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 使用 MC_MoveJog 指令以指定的速度在点动模式下持续移动轴。 该指令通常用于测试和调试。

为了使用 MC_MoveJog 指令,必须先启用轴。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_MoveJog_DB”是背景 DB 的名称。

表格 9- 42 MC_MoveJog 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
JogForward1 IN Bool 只要此参数为 TRUE,轴就会以参数“Velocity”中指定的速度沿正向移动。 参数“Velocity”的值符号被忽略。 (默认值:

False)

参数和类型 数据类型 说明
JogBackward1 IN Bool 只要此参数为 TRUE,轴就会以参数“Velocity”中指定的速度沿负向移动。 参数“Velocity”的值符号被忽略。 (默认值:

False)

Velocity IN Real 点动模式的预设速度(默认值:10.0)

限值: 启动/停止速度 ≤ |Velocity| ≤ 最大速度

InVelocity OUT Bool TRUE = 已达到参数“Velocity”中指定的速度。
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。

ErrorID OUT Word 参数“Error”的错误 ID(默认值:0000)
ErrorInfo OUT Word 参数“ErrorID”的错误信息(默认值:0000)

1 如果 JogForward 和 JogBackward 参数同时为 TRUE,则轴将以组态后的减速度停止运动。 将通过参数

“Error”、“ErrorID”和“ErrorInfo”指示错误。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-527 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-528 1 2

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-529 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-530 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-531 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-532 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-533

W

W

W

0RYH-RJ

0&B0RYH-RJ

$[LV

,Q9HORFLW\

-RJ)RUZDUG %XV\

-RJ%DFNZDUG &RPPDQG$ERUWHG

9HORFLW\ (UURU

(UURU,'

(UURU,QIR

1

$[LVB1

-RJB)

-RJB%

50.0

,Q9HOB1

%XV\B1

-RJB) 0

1

-RJB% 0

1

,Q9HOB1 0 W

1

%XV\B1 0 W

50.0

9HORFLW\

$[LVB1 0.0

50.0

下面的值已在“动态 > 常规”(Dynamics > General) 组态窗口中组态: 加速度 = 10.0,减速度 = 5.0

① 通过“Jog_F”在点动模式下沿正方向移动轴。 达到目标速度 50.0 时,将通过“InVelo_1”对此情况进行指示。 轴会在 Jog_F 复位后再次制动直到停止。

② 通过“Jog_B”在点动模式下沿负方向移动轴。 达到目标速度 50.0 时,将通过“InVelo_1”对此情况进行指示。 轴会在 Jog_B 复位后再次制动直到停止。

超驰响应

MC_MoveJog 任务可被下列运动控制任务中止:

          • MC_Home Mode = 3
          • MC_Halt
          • MC_MoveAbsolute
          • MC_MoveRelative
          • MC_MoveVelocity
          • MC_MoveJog

新 MC_MoveJog 任务可中止下列激活的运动控制任务:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
MC_CommandTable 指令

表格 9- 43 MC_CommandTable 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-534 "MC_CommandTable_DB"( Axis:=_multi_fb_in_, CommandTable:=_multi_fb_in_, Execute:=_bool_in_, StartIndex:=_uint_in_, EndIndex:=_uint_in_, Done=>_bool_out_, Busy=>_bool_out_,

CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_, CurrentIndex=>_uint_out_,

Code=>_word_out_);

针对电机控制轴执行一系列单
个运动,这些运动可组合成一
个运动序列。
在脉冲串输出的工艺对象命令
(TO_CommandTable_PTO)
中,可以组态这些单个的运
动。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_CommandTable_DB”是背景 DB 的名称。

表格 9- 44 MC_CommandTable 指令的参数

参数和类型 数据类型 初始值 说明
Axis IN TO_Axis_1 - 轴工艺对象
Table IN TO_CommandTable

_1

- 命令表工艺对象
参数和类型 数据类型 初始值 说明
Execute IN Booll FALSE 使用上升沿启动作业
StartIndex IN Int 1 从此步骤开始命令表处理

限制: 1 ≤ StartIndex ≤ EndIndex

EndIndex IN Int 32 从此步骤结束命令表处理

限制: StartIndex ≤ EndIndex ≤ 32

Done OUT Bool FALSE MC_CommandTable 处理已成功完成
Busy OUT Bool FALSE 正在运行
CommandAborted OUT Bool FALSE 该任务在处理期间被另一任务中止。
Error OUT Bool FALSE 处理时出错。 出错原因会通过参数 ErrorID

和 ErrorInfo. 指出。

ErrorID OUT Word 16#0000 错误标识符
ErrorInfo OUT Word 16#0000 错误信息
Step OUT Int 0 当前在处理的步骤
Code OUT Word 16#0000 当前处理步骤的用户定义标识符

可在“命令表”(Command Table) 组态窗口中创建所需的运动序列,并根据趋势图中的图形视图来检查结果。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-535

可选择要用于处理命令表的命令类型。 最多可输入 32 项作业。 将按顺序处理命令。

表格 9- 45 MC_CommandTable 命令类型

命令类型 说明
Empty 空白用作占位符,以便添加任意命令。 在处理命令表时,忽略空白条目。
Halt 暂停轴。

注: 该命令仅在“Velocity setpoint”命令之后使用。

Positioning Relative 根据距离定位轴。 该命令将按给定的距离和速度移动轴。
Positioning Absolute 根据位置定位轴。 该命令以指定的速度将轴移到给定位置。
Velocity setpoint 按给定速度移动轴。
Wait 等待给定期间结束。“Wait”不会停止已激活的行进运动。
Separator 在选定行上方添加“分隔”线。 利用分隔线,可在单个命令表中定义多个轨迹。

执行 MC_CommandTable 的先决条件:

  • 工艺对象 TO_Axis_PTO V2.0 必须已正确组态。
  • 工艺对象 TO_CommandTable_PTO 必须已正确组态。
  • 必须释放轴。

超驰响应

MC_CommandTable 任务可被下列运动控制任务中止:

          • MC_Home Mode = 3
          • MC_Halt
          • MC_MoveAbsolute
          • MC_MoveRelative
          • MC_MoveVelocity
          • MC_MoveJog
          • MC_CommandTable

新 MC_CommandTable 任务可中止下列激活的运动控制任务:

          • MC_Home Mode = 3
          • MC_Halt
          • MC_MoveAbsolute
          • MC_MoveRelative
          • MC_MoveVelocity
          • MC_MoveJog
          • MC_CommandTable
          • 启动第一个“Positioning Relative”、“Positioning Absolute”、

“Velocity setpoint”或“Halt”命令时的当前运动控制作业

MC_ChangeDynamic

表格 9- 46 MC_ChangeDynamic 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-536 "MC_ChangeDynamic_DB"( Execute:=_bool_in_, ChangeRampUp:=_bool_in_, RampUpTime:=_real_in_, ChangeRampDown:=_bool_in_, RampDownTime:=_real_in_, ChangeEmergency:=_bool_in_, EmergencyRampTime:=_real_in_, ChangeJerkTime:=_bool_in_, JerkTime:=_real_in_, Done=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 更改运动控制轴的动态设置:

  • 更改加速时间(加速度) 值
  • 更改减速时间(减速度) 值
  • 更改急停减速时间(急停减速度)值
  • 更改平滑时间(冲击)值

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_ChangeDynamic_DB”是背景 DB 的名称。

表格 9- 47 MC_ChangeDynamic 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始命令。默认值: FALSE
ChangeRampUp IN Bool TRUE = 根据输入参数“RampUpTime”更改加速时间。默认值: FALSE
RampUpTime IN Real 在没有冲击限制的情况下,从静止状态加速到组态的最大速度的时间(以秒为单位)。默认值: 5.00

更改将会影响变量 <轴名称>。

Config.DynamicDefaults.Acceleration。更改的有效性显示在该变量的描述中。

ChangeRampDown IN Bool TRUE = 根据输入参数“RampDownTime”更改减速时间。 默认值: FALSE
参数和类型 数据类型 说明
RampDownTime IN Real 在没有冲击限制的情况下,轴从组态的最大速度减速到静止状态的时间(以秒为单位)。默认值: 5.00

更改将会影响变量 <轴名称>。

Config.DynamicDefaults.Deceleration。更改的有效性显示在该变量的描述中。

ChangeEmergency IN Bool TRUE = 根据输入参数“EmergencyRampTime”更改急停减速时间 默认值: FALSE
EmergencyRampTime IN Real 在没有冲击限制的情况下,在急停模式下,轴从组态的最大速度减速到静止状态的时间(以秒为单位)。默认值: 2.00

更改将会影响变量 <轴名称>。

Config.DynamicDefaults.EmergencyDeceleration。更改的有效性显示在该变量的描述中。

ChangeJerkTime IN Bool TRUE = 根据输入参数“JerkTime”更改平滑时间。默认值: FALSE
JerkTime IN Real 用于轴加速度和减速度的平滑时间(以秒为单位)。默认值: 0.25

更改将会影响变量 <轴名称>。

Config.DynamicDefaults.Jerk。更改的有效性显示在该变量的描述中。

Done OUT Bool TRUE = 更改的值已写入工艺数据块。 在更改生效时将显示变量的描述。默认值: FALSE
Error OUT Bool TRUE = 命令执行期间出错。出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。默认值: FALSE

ErrorID OUT Word 错误标识符。默认值: 16#0000
ErrorInfo IN Word 错误信息。默认值: 16#0000

执行 MC_ ChangeDynamic 的先决条件:

  • 工艺对象 TO_Axis_PTO V2.0 必须已正确组态。
  • 必须释放轴。
超驰响应

MC_ChangeDynamic 命令无法被其它任何运动控制命令中止。

新的 MC_ChangeDynamic 命令不会中止任何已激活的运动控制作业。

说明

为输入参数“RampUpTime”、“RampDownTime”、“EmergencyRampTime”和

“RoundingOffTime”指定的值可以使生成的轴参数“加速度”(acceleration)、“延时”(delay)、

“急停延时”(emergency stop-delay) 和“冲击”(jerk) 超出允许限值。

请确保将 MC_ChangeDynamic 参数保持在轴工艺对象的动态组态设置的限制范围内。

S7-1200 的运动控制操作

        1. 用 于 运 动 控 制 的 CPU 输 出CPU 提供四个脉冲输出发生器。 每个脉冲输出发生器提供一个脉冲输出和一个方向输出,用于通过脉冲接口对步进电机驱动器或伺服电机驱动器进行控制。 脉冲输出为驱动器提供电机运动所需的脉冲。 方向输出则用于控制驱动器的行进方向。

脉冲输出和方向输出彼此互相分配的关系保持不变。 板载 CPU 输出和信号板的输出可用作脉冲和方向输出。 在设备组态期间,可以在“属性”(Properties) 选项卡的脉冲发生器

(PTO/PWM) 中,选择板载 CPU 输出或信号板输出。 只有 PTO (Pulse Train Output) 适用于运动控制。

PTO 输出生成频率可变的方波输出。 脉冲发生由通过 H/W 组态和/或 SFC/SFB 提供的组态和执行信息来控制。

在 CPU 处于 RUN 模式下时,根据用户的选择,将由存储在图像寄存器中的值或者脉冲发生器的输出来驱动数字量输出。 在 STOP 模式下,PTO 发生器不控制输出。

表格 9- 48 脉冲和方向输出的地址分配

使用运动控制的输出
脉冲 方向
PTO 0
内置 I/O Q0.0 Q0.1
SB I/O Q4.0 Q4.1
PTO 1
内置 I/O Q0.2 Q0.3
SB I/O Q4.2 Q4.3
使用运动控制的输出
PTO 2
内置 I/O Q0.41 Q0.51
SB I/O Q4.0 Q4.1
PTO 3
内置 I/O Q0.62 Q0.72
SB I/O Q4.2 Q4.3

1 CPU 1211C 没有输出 Q0.4、Q0.5、Q0.6 或 Q0.7。因此这些输出不能在 CPU 1211C 中使用。

2 CPU 1212C 没有输出 Q0.6 或 Q0.7。因此这些输出不能在 CPU 1212C 中使用。

3 该表适用于 CPU 1211C、CPU 1212C、CPU 1214C 以及 CPU 1215C PTO 功能

驱动器接口

对于运动控制,可以选择将驱动器接口组态为“驱动器启用”或“驱动器准备就绪”。 使用驱动器接口时,针对“驱动器启用”可选择数字量输出,针对“驱动器准备就绪”可选择数字量输入。

说明

如果已选择 PTO (Pulse Train Output) 并将其分配给某个轴,固件将通过相应的脉冲和方向输出接管控制。

在实现上述控制功能接管后,将断开过程映像和 I/O 输出间的连接。 虽然用户可通过用户程序或监视表格写入脉冲输出和方向输出的过程映像,但所写入的内容不会传送到 I/O 输出。 因此通过用户程序或监视表格无法监视 I/O 输出。 读取的信息只反映过程映像中的值,与 I/O 输出的实际状态并不完全一致。

对于 CPU 固件非永久使用的其它所有 CPU 输出,通常可以通过过程映像监控 I/O 输出的状态。

用于运动控制的硬件和软件限位开关

硬件和软件限位开关用于限制轴的“允许行程范围”和“工作范围”。

$

%

&

机械停止块 A 允许的轴行程范围
硬件下限和上限 B 轴的工作范围
软件下限和上限 C 距离

在组态中或用户程序中使用硬件和软件限位开关之前,必须事先将其激活。 只有在轴回原点之后,才可以激活软件限位开关。

硬件限位开关

硬件限位开关确定轴的最大行程范围。 硬件限位开关是物理开关元件,必须与 CPU 中具有中断功能的输入相连接。 仅使用逼近后始终保持切换的硬件限位开关。 只有在返回到允许的行程范围后,该切换状态才会发生改变。

表格 9- 49 脉冲发生器的可用输入

说明 RPS LIM- LIM+
PTO 0
内置 I/O I0.0 - I1.5
SB I/O I4.0 - I4.3
PTO 1
内置 I/O I0.0 - I1.5
SB I/O I4.0 - I4.3
PTO 2
内置 I/O I0.0 - I1.5
SB I/O I4.0 - I4.3
PTO 3
说明 RPS LIM- LIM+
内置 I/O I0.0 - I1.5
SB I/O I4.0 - I4.3

逼近硬件限位开关时,轴将以所组态的紧急减速度制动直到停止。 指定的紧急减速度必须足够大,才能确保在机械停止块前使轴停止。 下图显示了轴逼近硬件限位开关后的轴行为。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-537 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-538 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-539 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-540

$

1

1

&

%

'

(

)

'

2

2

① 轴将以所组态的紧急减速度制动直到停止。

② 硬件限位开关产生“已逼近”状态信号的范围。

          1. [速度]
          2. 允许的行程范围
          3. 距离
          4. 机械停止块
          5. 下限硬件限位开关
          6. 上限硬件限位开关
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-541警告
如果数字量输入通道的滤波时间更改自以前的设置,则新的“0”电平输入值可能需要保持长达 20.0 ms 的累积时间,然后滤波器才会完全响应新输入。 在此期间,可能不会检测到持续时间少于 20.0 ms 的短“0”脉冲事件或对其计数。

滤波时间的这种更改会引发意外的机械或过程操作,这可能会导致人员死亡、重伤和/或 设备损坏。

为了确保新的滤波时间立即生效,必须关闭 CPU 电源后再开启。

软件限位开关

软件限位开关将限制轴的“工作范围”。 它们位于限制行程范围的相关硬件限位开关内。由于软件限位开关的位置可以灵活设置,所以可以根据当前的运行轨迹和具体要求来限定轴的工作范围。 与硬件限位开关不同,软件限位开关只通过软件来实现,而无需借助自身的开关元件。

如果软件限位开关激活,则在软件限位开关所在的位置将停止当前的运动。 轴将以所组态的减速度制动。 下图显示了轴到达软件限位开关前的行为。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-542 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-543

$

1

1

&

%

' (

① 轴将以所组态的减速度制动直到停止。

  1. [速度]
  2. 工作范围
  3. 距离
  4. 下限软件限位开关
  5. 上限软件限位开关

如果机械停止块位于软件限位开关的后面并且有发生机械损坏的风险,则需要使用附加的硬件限位开关。

更多信息

用户程序可通过启用或禁用硬件和软件的限位功能来消除硬件或软件限位。 可通过轴 DB

进行选择。

  • 要启用或禁用硬件限位功能,请访问 DB 路径“<轴名称>/Config/PositonLimits_HW”中的“Active”变量 (Bool)。 “Active”变量的状态可启用或禁用硬件限位的使用。
  • 要启用或禁用软件限位功能,请访问 DB 路径“<轴名称>/Config/Position Limits_SW

中的“Active”变量 (Bool)。 此“Active”变量的状态可启用或禁用软件限位。

还可以利用用户程序修改软件限位(例如,提高机器设置的灵活性或缩短机器转换时间)。 用户程序可以将新值写入 DB 路径“<轴名称>/Config/PositionLimits_SW”的

“ MinPosition”和“ MaxPosition”变量中(采用 Real 格式的工程单位)。

回原点

回原点是指轴坐标与实际的物理驱动器位置匹配。 (如果驱动器当前位于位置 x,则轴将被调整为位于位置 x。)对于位置受控制的轴,位置输入与显示值指的就是这些轴坐标。

说明

轴坐标必需与实际情形相一致。 如果要确保通过驱动器也能准确到达轴的绝对目标位置,上述步骤必不可缺。

MC_Home 指令可启动轴的回原点操作。

有 4 种不同的回原点功能。 前两种功能允许用户设置轴的当前位置,后两种功能可相对于回原点参考传感器放置轴。

  • 模式 0 - 绝对式直接参考: 指令执行时,此模式将告知轴它的确切位置。 该模式将内部位置变量设置为回原点指令的 Position 输入的值。 此模式用于机器校准和设置。

轴位置的设置与参考点开关无关。 也不会终止当前的行进运动。 MC_Home 指令的

Position 输入参数的值将被立即设置为轴的参考点。 要将参考点分配给具体的机械位置,在执行回原点操作时轴必须停止在该位置。

  • 模式 1 - 相对式直接参考: 指令执行时,该模式将使用内部位置变量并加上回原点指令的 Position 输入的值。 考虑到机器偏移时通常使用此模式。

轴位置的设置与参考点开关无关。 也不会终止当前的行进运动。 以下语句适用于回到原点后轴的定位: 新轴位置 = 当前轴位置 + MC_Home 指令的 Position 参数的值。

  • 模式 2 - 被动参考: 当轴在移动的过程中经过参考点开关时,当前位置将设置为回原点位置。 此功能有助于应对正常的机器磨损和齿轮间隙,从而无需对磨损进行手动补偿。 如前所述,回原点指令的 Position 输入将添加到参考点开关指示的位置,从而可轻松补偿回原点位置。

在被动回原点期间,指令 MC_Home 不会执行任何回原点运动。 用户必须通过其它运动控制指令来执行该步骤所需的行进运动。检测到参考点开关时,将根据组态使轴回到原点。 被动回原点启动时,不会中止当前的行进运动。

  • 模式 3 - 主动参考: 此模式是最精确的使轴回原点方法。 运动的初始方向和速度在工艺对象组态扩展参数 Homing 中进行组态。 这取决于机器的配置。 还可以确定参考点开关信号的上升沿或下降沿是否是回原点位置。 几乎所有传感器都具有一个有效范围;如果“稳态开启”位置用作回原点信号,则回原点位置可能会出现错误,因为“开启”

信号有效范围将覆盖距离范围。 利用该信号的上升沿或下降沿,可得到更加精确的回原点位置。 与其它所有模式一样,回原点指令的 Position 输入的值将被添加到硬件参考位置。

在主动回原点模式下,MC_Home 指令执行所需的参考点逼近。检测到参考点开关时,将根据组态使轴回到原点。 同时终止当前的行进运动。

模式 0 和模式 1 不需要移动轴。 这两种模式通常用在设置和校准中。 模式 2 和模式 3 需要轴运动并经过在“轴”工艺对象中组态为参考点开关的传感器。 参考点可放在轴的工作区内或放在常规工作区外、运动范围内。

回原点参数的组态

在“回原点”(Homing) 组态窗口中,组态主动和被动回原点参数。 可以使用运动控制指令中“Mode”输入参数设置回原点方法。 其中,Mode = 2 表示被动回原点,Mode = 3 表示主动回原点。

注意
采用以下措施之一可确保机器在发生反向时不会行进到机械停止块:

  • 保持较低的逼近速度
  • 增大组态的加速度/减速度
  • 增大硬件限位开关和机械停止块间的距离

表格 9- 50 使轴回原点的参数组态

参数 说明
输入参考点开关

(主动和被动回原点)

从下拉列表框中为参考点开关选择数字量输入。 输入必须具有中断功能。板载 CPU 输入和所插入信号板输入都可以选作参考点开关的输入。

数字量输入的默认滤波时间是 6.4 ms。采用数字量输入作为参考点开关的输入时,可能引起意外减速,从而导致出现误差。 由于速度降低和参考点开关的范围的原因,可能检测不到参考点。 可以在数字量输入的设备组态的“输入滤波器”(Input filter) 中设置滤波时间。

指定的滤波时间必须小于参考点开关的输入信号的持续时间。

到达硬件限位开关后自动反转

(仅限主动回原点)

激活该复选框,可将硬件限位开关用作指示参考点逼近的反向凸轮。 必须组态硬件限位开关并激活反向功能。

如果在主动回原点期间到达硬件限位开关,轴将以组态的减速度减速(不是以紧急减速度),然后反向。 然后反向检测参考点开关。

如果未激活反向功能且在主动回原点期间轴到达硬件限位开关,将因错误取消参考点逼近并按紧急减速度使轴制动。

逼近方向

(主动和被动回原点)

通过方向选择,可以决定主动回原点期间用于搜索参考点开关的“逼近方向”以及回原点的方向。 回原点方向将指定执行回原点操作时轴用于逼近

组态的参考点开关侧的行进方向。

参考点开关

(主动和被动回原点)

  • 主动回原点: 选择将在参考点开关的左侧还是右侧对轴进行参考。 根据轴的起始位置和回原点参数的组态,参考点逼近顺序可能与组态窗口中图示的顺序不同。
  • 被动回原点: 对于被动回原点,必须由用户通过运动命令来执行回原点的行进运动。 回原点发生在参考点开关的哪一侧取决于以下因素:
    • “逼近方向”组态
    • “参考点开关”组态
    • 被动回原点期间的当前行进方向
逼近速度

(仅限主动回原点)

指定参考点逼近期间搜索参考点开关的速度。限值(与所选的用户单位无关):

启动/停止速度 ≤ 逼近速度 ≤ 最大速度

参数 说明
减小的速度

(仅限主动回原点)

指定轴逼近回原点参考点开关的速度。限值(与所选的用户单位无关):

启动/停止速度 ≤ 减小的速度 ≤ 最大速度

回原点位置偏移

(仅限主动回原点)

如果期望的参考点与参考点开关的位置有偏移,则可在该字段中指定回原点位置偏移。

如果值不等于 0,轴回到参考点开关位置后将执行以下动作:

  1. 以减小的速度使轴移动回原点位置偏移值。
  2. 到达回原点位置偏移的位置后,将该轴位置设置为绝对参考位置。 并通过运动控制指令“MC_Home”的参数“Position”,指定该绝对参考位置。

限值(与所选的用户单位无关):

-1.0e12 ≤ 回原点位置偏移 ≤ 1.0e12

表格 9- 51 影响回原点的因素

影响因素: 结果:
组 态 逼近方向 组 态 参考点开关 当前的行进方向 回原点发生在参考点开关
正方向 “左(负)侧” 正方向
负方向 右侧
正方向 “右(正)侧” 正方向 右侧
负方向
负方向 “左(负)侧” 正方向 右侧
负方向
负方向 “右(正)侧” 正方向
负方向 右侧
主动回原点的顺序

使用运动控制指令“MC_Home”(输入参数 Mode = 3),可以启动主动回原点。 在这种情况下,可以通过输入参数“Position”来指定绝对参考点的坐标。 也可以在控制面板上启动主动回原点,以便进行测试。

下图举例说明了使用以下组态参数时主动参考点逼近的特征曲线:

  • “逼近方向”=“正方向逼近”
  • “参考点开关”=“右(正)侧”
  • “回原点位置偏移”值 > 0

表格 9- 52 MC 回原点的速度特性曲线

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-544

操作 备注
$

཰ ཱ

ི %

- +

& '

A 逼近速度
B 减小的速度
C 归位位置坐标
D 回原点位置偏移
搜索阶段(蓝色曲线段): 主动回原点开始时,轴加速到组态的“逼近速度”并以该速度搜索参考点开关。
参考点逼近(红色曲线段): 检测到参考点开关时,本示例中的轴将制动并反向,以“减小的速度” 在组态的参考点开关侧回原点。
行进到参考点位置(绿色曲线段): 轴回原点到参考点开关位置后,轴将以“减小的速度”行进到“参

考点坐标”。 到达“参考点坐标”时,轴将立即停止在指令 MC_Home 的 Position 输入参数中指定的位置值处。

说明

如果回原点搜索没有按照预期的那样运行,请检查分配给硬件限位或参考点的输入。 可能已经在设备配置中禁用了这些输入的沿中断。

请检查相关轴工艺对象的组态数据,以查看为“HW Low Limit Switch Input”、“HW High Limit Switch Input”和“Input reference point switch”分配了哪些输入(如果有)。 然后打开 CPU 的设备配置,检查所分配的每个输入。 确认是否选择了“启用上升沿检测”(Enable rising edge detection) 和“启用下降沿检测”(Enable falling edge detection)。 如果未选择这些属性,请删除轴组态中指定的输入,然后再次选择这些属性。

冲击限制

利用冲击限制可在加速和减速斜坡期间减小机械装置上的应力。 步进限制器处于激活状态时,加速度和减速度的值不会突然发生变化;该值会在转换阶段进行调整。 下图显示了不使用冲击限制和使用冲击限制时的速度和加速度曲线。

表格 9- 53 冲击限制

不使用步进限制器时的曲线 使用步进限制器时的曲线
Y Y

D

W

W

W
D  

 

  W

冲击限制使轴运动的速度曲线变得“平滑”。 例如,这可以确保传送带实现软启动和软制动。

调试

“状态和错误位”诊断功能

诊断功能“状态和错误位”(Status and error bits) 用于监视轴的最重要状态和错误消息。当轴激活时,可以在在线模式下以“手动控制”模式和“自动控制”模式显示诊断功能。

表格 9- 54 轴的状态

状态 说明
启用 轴已启用且准备好接受运动控制任务的控制。

(工艺对象的变量:<轴名称>.StatusBits.Enable)

已回原点 轴已回原点且能够执行运动控制指令“MC_MoveAbsolute”的绝对定位任务。对于相对 回原点而言,轴不必回原点。特殊情况:

  • 主动回原点期间,该状态为 FALSE。
  • 如果回原点的轴经受被动回原点,则在被动回原点期间该状态设置为 TURE。

(工艺对象的变量:<轴名称>.StatusBits.HomingDone)

错误 “轴”工艺对象发生错误。有关错误的更多信息,请参见自动控制模式下的运动控制指令 的 ErrorID 和 ErrorInfo 参数。在手动模式下,控制面板中的“上一错误”(Last error) 字段显示更多错误原因信息。

(工艺对象的变量: <轴名称>.StatusBits.Error)

控制面板激活 在控制面板中启用了“手动控制”模式。控制面板对“轴”工艺对象具有优先控制权。不能 通过用户程序来控制轴。

(工艺对象的变量: <轴名称>.StatusBits.ControlPanelActive)

表格 9- 55 驱动器状态

状态 说明
驱动器准备就绪 驱动器准备好运行。

(工艺对象的变量:<轴名称>.StatusBits.DriveReady)

错误 驱动器在其准备就绪信号故障后报告了错误。

(工艺对象的变量: <轴名称>.ErrorBits.DriveFault)

表格 9- 56 轴运动的状态

状态 说明
停止 轴处于停止状态。

(工艺对象的变量:<轴名称>.StatusBits.StandStill)

加速 轴在加速。

(工艺对象的变量:<轴名称>.StatusBits.Acceleration)

恒速 轴在恒速运转。

(工艺对象的变量:<轴名称>.StatusBits.ConstantVelocity)

减速 轴在减速(速度下降)。

(工艺对象的变量:<轴名称>.StatusBits.Deceleration)

表格 9- 57 运动模式的状态

状态 说明
定位 轴在执行运动控制指令“MC_MoveAbsolute”或“MC_MoveRelative”或者控制面板的定位任务。

(工艺对象的变量:<轴名称>.StatusBits.PositioningCommand)

速度命令 轴在以运动控制指令“MC_MoveVelocity”或“MC_MoveJog”或者控制面板的设置速度执行任务。

(工艺对象的变量:<轴名称>.StatusBits.SpeedCommand)

回原点 轴在执行运动控制指令“MC_Home”或者控制面板的回原点任务。

(工艺对象的变量:<轴名称>.StatusBits.Homing)

表格 9- 58 错误位

错误 说明
到达最小软件限位 已到达下限软件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.SwLimitMinReached)

超出最小软件限位 已超出下限软件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.SwLimitMinExceeded)

到达最大软件限位 已到达上限软件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.SwLimitMaxReached)

错误 说明
超出最大软件限位 已超出上限软件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.SwLimitMaxExceeded)

负硬件限位 已逼近下限硬件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.HwLimitMin)

正硬件限位 已逼近上限硬件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.HwLimitMax)

PTO 和 HSC 已使用 另一个轴正在使用相同的 PTO 和 HSC 并且该轴已启用“MC_Power”。

(工艺对象的变量:<轴名称>.ErrorBits.HwUsed)

组态错误 错误地组态了“轴”工艺对象,或者在用户程序运行期间错误地修改了可编辑的 组态数据。

(工艺对象的变量:<轴名称>.ErrorBits.ConfigFault)

常规错误 发生内部错误。

(工艺对象的变量:<轴名称>.ErrorBits.SystemFault)

“运动状态”诊断功能

诊断功能“运动状态”(Motion status) 用于监视轴的运动状态。当轴激活时,可以在在线模式下以“手动控制”模式和“自动控制”模式显示诊断功能。

表格 9- 59 运动状态

状态 说明
目标位置 “目标位置”(Target position) 字段指示运动控制指令“MC_MoveAbsolute”或

“MC_MoveRelative”或者控制面板的激活定位任务的当前目标位置。“目标位置”(Target position) 的值仅在定位任务执行期间有效。

(工艺对象的变量:<轴名称>.MotionStatus.TargetPosition)

当前位置 “当前位置”(Current position) 字段指示当前轴位置。如果轴未回原点,则该值是相对于轴启用位置的位置值。

(工艺对象的变量:<轴名称>.MotionStatus.Position)

当前速度 “当前速度”(Current velocity) 字段指示轴的实际速度。

(工艺对象的变量:<轴名称>.MotionStatus.Velocity)

表格 9- 60 动态限制

动态限制 说明
速度 “速度”(Velocity) 字段指示组态的最大轴速度。

(工艺对象的变量:<轴名称>.Config.DynamicLimits.MaxVelocity)

加速度 “加速度”(Acceleration) 字段指示当前组态的轴的加速度。

(工艺对象的变量:<轴名称>.Config.DynamicDefaults.Acceleration)

减速度 “减速度”(Deceleration) 字段指示当前组态的轴的减速度。

(工艺对象的变量:<轴名称>.Config.DynamicDefaults.Deceleration)

监视激活的命令

监视具有输出参数“Done”的 MC 指令

具有输出参数“Done”的运动控制指令通过输入参数“Execute”启动,并且具有明确的结论

(例如,对于运动控制指令“MC_Home”: 回原点已成功)。任务完成后,轴处于停止状态。

          • 如果任务已功完成,则输出参数“Done”的值为 TRUE。
          • 输出参数“Busy”、“CommandAborted”和“Error”发出信号,指示任务仍在处理、已中 止或有未决的错误。运动控制指令“MC_Reset”无法中止,所以没有输出参数

“CommandAborted”。

在运动控制任务处理期间,输出参数“Busy”的值为 TRUE。如果任务已完成、中止或因错误停止,则输出参数“Busy”的值将变为 FALSE。无论输入参数“Execute”的信号状态是什么,都会发生这种变化。

输出参数“Done”、“CommandAborted”和“Error”的值至少在一个周期内都为

TRUE。当输入参数“Execute”设置为 TRUE 时,将锁存这些状态消息。以下运动控制指令的任务具有明确的结论:

          • MC_Reset
          • MC_Home
          • MC_Halt
          • MC_MoveAbsolute
          • MC_MoveRelative

下图针对各种示例情况显示了状态位的操作。

  • 第一个示例显示了已完成的任务的轴行为。如果运动控制任务已在对其下结论前完全执行,则通过输出参数“Done”的 TURE 值对此进行指示。 输入参数“Execute”的信号状态影响输出参数“Done”中的显示持续时间。
  • 第二个示例显示了已中止的任务的轴行为。如果运动控制任务在执行期间中止,则通过输出参数“CommandAborted”的 TURE 值对此进行指示。 输入参数“Execute”的信号状态影响输出参数“CommandAborted”中的显示持续时间。
  • 第三个示例显示了出现错误时的轴行为。如果在运动控制任务执行期间出错,则通过输出参数“Error”的 TURE 值对此进行指示。 输入参数“Execute”的信号状态影响输出参数“Error”中的显示持续时间。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-545 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-546

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-547 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-548 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-549 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-550 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-551 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-552

表格 9- 61 示例 1 - 任务完成执行

 

 

1

([HFXWH 0

 

 

%XV\ 1

0

 

 

1

'RQH 0

 

 

 

1

&RPPDQG

$ERUWHG 0

 

1

(UURU 0

 

1 2 3 5

如果在处理任务期间“Execute”= FALSE

 

 

1

([HFXWH 0

 

 

%XV\ 1

0

 

 

1

'RQH 0

 

 

 

1

&RPPDQG

$ERUWHG 0

 

1

(UURU 0

 

1 2 3 4

如果在完成任务后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”在任务执行期间仍然可能重置为

FALSE 值,或者保持为 TURE 值,直到任务完成为止。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 任务结束后(例如,对于运动控制指令“MC_Home”: 回原点已成功),输出参数“Busy”的值变为

FALSE,并且“Done”的值变为 TRUE。

④ 如果“Execute”的值在任务完成之前保持为 TRUE,则“Done”的值也将保持为 TRUE 并且其值随

“Execute”一起变为 FALSE。

⑤ 如果“Execute”已在任务完成之前设置为 FALSE,则“Done”的值仅在一个执行周期内为 TRUE。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-553 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-554 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-555 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-556

表格 9- 62 示例 2 - 中止任务

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-557 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-558 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-559 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-560 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-561 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-562

Abort

1

([HFXWH 0

%XV\ 1

0

1

'RQH 0

1

&RPPDQG 0

$ERUWHG

1

(UURU 0

1 2 3 5

如果任务中止之前“Execute”= FALSE

Abort

1

([HFXWH 0

%XV\ 1

0

1

'RQH 0

1

&RPPDQG 0

$ERUWHG

1

(UURU 0

1 2 3 4

如果任务中止之后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”在任务执行期间仍然可能重置为

FALSE 值,或者保持为 TURE 值,直到任务完成为止。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 在任务执行期间,任务被其它运动控制任务中止。如果任务中止,输出参数“Busy”的值将变为 FALSE

且“CommandAborted”的值将变为 TRUE。

④ 如果“Execute”的值在任务中止之前保持为 TRUE,则“CommandAborted”的值也将保持为 TRUE 并且其值随“Execute”一起变为 FALSE。

⑤ 如果“Execute”已在任务中止之前设置为 FALSE,则“CommandAborted”的值仅在一个执行周期内为

TRUE。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-563 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-564 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-565 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-566

表格 9- 63 示例 3 - 任务执行期间出错

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-567 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-568 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-569 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-570

Error

1

([HFXWH 0

%XV\ 1

0

1

'RQH 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 5

如果出现错误之前“Execute”= FALSE

Error

1

([HFXWH 0

%XV\ 1

0

1

'RQH 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 4

如果出现错误之后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”在任务执行期间仍然可能重置为

FALSE 值,或者保持为 TURE 值,直到任务完成为止。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 任务执行期间出错。出错时,输出参数“Busy”的值将变为 FALSE 且“Error”的值将变为 TRUE。

④ 如果“Execute”的值在出错之前保持为 TRUE,则“Error”的值也将保持为 TRUE 并且其值仅随“Execute” 一起变为 FALSE。

⑤ 如果“Execute”已在出错之前设置为 FALSE,则“Error”的值仅在一个执行周期内为 TRUE。

监视 MC_Velocity 指令

运动控制指令“MC_MoveVelocity”的任务持续以指定的速度执行。

          • 未明确定义运动控制指令“MC_MoveVelocity”任务的结束。第一次达到设置的速度且轴恒速运转时,就实现了任务目标。如果达到设置的速度,则通过输出参数

“InVelocity”的 TURE 值对此进行指示。

          • 已达到设置的速度且输入参数“Execute”的值已设置为 FALSE 时,任务完成。然而, 在任务完成时轴运动尚未完成。例如,可以使用运动控制任务“MC_Halt”停止轴运动。
          • 输出参数“Busy”、“CommandAborted”和“Error”发出信号,指示任务仍在处理、已中 止或有未决的错误。

在运动控制任务执行期间,输出参数“Busy”的值为 TRUE。如果任务已完成、中止或因错误停止,则输出参数“Busy”的值将变为 FALSE。无论输入参数“Execute”的信号状态是什么,都会发生这种变化。

当输出参数“InVelocity”、“CommandAborted”和“Error”的条件满足时,它们的值至 少在一个周期内都为 TRUE。当输入参数“Execute”设置为 TRUE 时,将锁存这些状态消息。

下图针对各种示例情况显示了状态位的操作。

          • 第一个示例显示了轴达到设置的速度时的行为。如果运动控制任务已在达到设置的速度前完成执行,则通过输出参数“InVelocity”的 TURE 值对此进行指示。 输入参数

“Execute”的信号状态影响输出参数“InVelocity”中的显示持续时间。

          • 第二个示例显示了在达到设置的速度之前中止任务时的轴行为。如果运动控制任务在达到设置速度前中止,则通过输出参数“CommandAborted”的 TURE 值对此进行指示。输入参数“Execute”的信号状态影响输出参数“CommandAborted”中的显示持续时 间。
          • 第三个示例显示了在达到设置的速度之前出错时的轴行为。如果在运动控制任务执行期间,达到设置速度之前出错,则通过输出参数“Error”的 TURE 值对此进行指示。 输入参数“Execute”的信号状态影响输出参数“Error”中的显示持续时间。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-571

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-572 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-573 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-574

表格 9- 64 示例 1 - 如果达到设置的速度

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-575 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-576 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-577 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-578

 

 

1

([HFXWH 0

 

 

%XV\ 1

0

 

 

1

,Q9HORFLW\ 0

 

 

 

1

&RPPDQG 0

$ERUWHG

 

1

(UURU 0

 

1 2 3 5

如果达到组态的速度之前“Execute”= FALSE

1

([HFXWH 0

%XV\ 1

0

1

,Q9HORFLW\ 0

1

&RPPDQG 0

$ERUWHG

1

(UURU 0

1 2 3 4

如果达到组态的速度之后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”的值可在达到设置的速度前重置为

FALSE,也可在达到设置的速度后重置为 FALSE。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 达到设置的速度时,输出参数“InVelocity”的值变为 TRUE。

④ 如果“Execute”的值在达到设置的速度后仍保持为 TRUE,则任务将保持激活状态。 "“InVelocity”和

“Busy”的值保持为 TRUE 并且其状态仅随“Execute”一起变为 FALSE。

⑤ 如果“Execute”已在达到设置的速度前重置为 FALSE,则任务将在达到设置的速度时完成。 "InVelocity”

的值仅在一个执行周期内为 TRUE,并且随“Busy”一起变为 FALSE。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-579 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-580 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-581 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-582 表格 9- 65 示例 2 - 如果任务在达到设置速度前中止

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-583 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-584 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-585 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-586

Abort

1

([HFXWH 0

%XV\ 1

0

1

,Q9HORFLW\ 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 5

如果任务中止之前“Execute”= FALSE

Abort

1

([HFXWH 0

%XV\ 1

0

1

,Q9HORFLW\ 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 4

如果任务中止之后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”在任务执行期间仍然可以被重置为

FALSE 值,或者保持为 TURE 值,直到任务中止为止。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 在任务执行期间,任务被其它运动控制任务中止。如果任务中止,输出参数“Busy”的值将变为 FALSE

且“CommandAborted”的值将变为 TRUE。

④ 如果“Execute”的值在任务中止之前保持为 TRUE,则“"CommandAborted”的值也将保持为 TRUE 并且其状态随“Execute”一起变为 FALSE。

⑤ 如果“Execute”已在任务中止之前重置为 FALSE,则“CommandAborted”的值仅在一个执行周期内为

TRUE。

说明

在以下条件下,输出参数“CommandAborted”不指示出现中止:

  • 已达到设置的速度,输入参数“Execute”的值为 FALSE,并且已启动一个新的运动控制任务。
  • 达到设置的速度并且输入参数“Execute”的值为 FALSE 时,任务完成。所以不会将新任务的启动指示为中止。

表格 9- 66 示例 3 - 如果在达到设置的速度之前出错

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-587 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-588 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-589 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-590 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-591 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-592 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-593 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-594 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-595 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-596

Error

1

([HFXWH 0

%XV\ 1

0

1

,Q9HORFLW\ 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 5

如果出现错误之前“Execute”= FALSE

Error

1

([HFXWH 0

%XV\ 1

0

1

,Q9HORFLW\ 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 4

如果出现错误之后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”在任务执行期间仍然可以被重置为

FALSE 值,或者保持为 TURE 值,直到出现错误为止。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 任务执行期间出错。出错时,输出参数“Busy”的值将变为 FALSE 且“Error”的值将变为 TRUE。

④ 如果“Execute”的值在出错之前保持为 TRUE,则“Error”的值也将保持为 TRUE 并且其状态仅随

“Execute”一起变为 FALSE。

⑤ 如果“Execute”已在出错之前重置为 FALSE,则“Error”的值仅在一个执行周期内为 TRUE。

说明

在以下条件下,输出参数“Error”不指示出现错误:

  • 已达到设置的速度,输入参数“Execute”的值为 FALSE,并且发生轴错误(例如,逼近软件限位开关)。
  • 达到设置的速度并且输入参数“Execute”的值为 FALSE 时,任务完成。任务完成后, 轴错误仅在运动控制指令“MC_Power”中指示。
监视 MC_MoveJog 指令

运动控制指令“MC_MoveJog”的任务是实现点动操作。

          • 运动控制任务“MC_MoveJog”的结束没有明确的定义。第一次达到设置的速度且轴恒速运转时,就实现了任务目标。如果达到设置的速度,则通过输出参数“InVelocity”的

TURE 值对此进行指示。

          • 输入参数“JogForward”或“JogBackward”的值已设置为 FALSE 并且轴已停止时,命令完成。
          • 输出参数“Busy”、“CommandAborted”和“Error”发出信号,指示任务仍在处理、已中 止或有未决的错误。

在运动控制任务处理期间,输出参数“Busy”的值为 TRUE。如果任务已完成、中止或因错误停止,则输出参数“Busy”的值将变为 FALSE。

只要轴在以设置的速度运转,输出参数“InVelocity”的值就为 TRUE。输出参数

“CommandAborted”和“Error”保持该状态至少一个周期。只要输入参数

“JogForward”或“JogBackward”设置为 TRUE,就锁存这些状态消息。下图针对各种示例情况显示了状态位的操作。

          • 第一个示例显示了达到并保持设置的速度时的轴行为。如果运动控制任务已在达到设置的速度前完成执行,则通过输出参数“InVelocity”的 TURE 值对此进行指示。
          • 第二个示例显示了任务中止时的轴行为。如果运动控制任务在执行期间中止,则通过输出参数“CommandAborted”的 TURE 值对此进行指示。该行为与是否达到设置的速度无关。
          • 第三个示例显示了出现错误时的轴行为。如果在运动控制任务执行期间出错,则通过输出参数“Error”的 TURE 值对此进行指示。该行为与是否达到设置的速度无关。

表格 9- 67 示例 1 - 如果达到并保持设置的速度

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-597 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-598 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-599 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-600 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-601 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-602 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-603 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-604 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-605 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-606

-RJ)RUZDUG 1

0

-RJ)RUZDUG 1

0

-RJ%DFNZDUG 1

0

%XV\ 1

0

1

,Q9HORFLW\ 0

&RPPDQG 1

$ERUWHG 0

(UURU 1

0

JogBackward

-RJ%DFNZDUG 1

0

%XV\ 1

0

,Q9HORFLW\ 1

0

&RPPDQG

$ERUWHG

1

0

(UURU 1

0

1 2 3 4 5 1 2 3 4 5
JogForward
① 输入参数“JogForward”或“JogBackward”的上升沿时启动任务。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 达到设置的速度时,输出参数“InVelocity”的值变为 TRUE。

④ 输入参数“JogForward”或“JogBackward”的值重置为 FALSE 时,轴运动结束。轴开始减速。结果,轴不再恒速运转并且输出参数“InVelocity”的状态变为 FALSE。

⑤ 如果轴已停止,则运动控制任务完成并且输出参数“Busy”的值将变为 FALSE。

表格 9- 68 示例 2 - 如果任务在执行期间中止

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-607 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-608 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-609 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-610

-RJ)RUZDUG 1

0

-RJ%DFNZDUG 1

0

%XV\ 1

0

,Q9HORFLW\ 1

0

&RPPDQG 1

$ERUWHG 0

(UURU 1

0

JogForward

Abort

1 2

3 4 -RJ)RUZDUG 1

0

-RJ%DFNZDUG 1

0

1

%XV\ 0

,Q9HORFLW\ 1

0

&RPPDQG 1

$ERUWHG 0

1

(UURU 0

JogBackward

Abort

1 2

3 4
① 输入参数“JogForward”或“JogBackward”的上升沿时启动任务。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 在任务执行期间,任务被其它运动控制任务中止。如果任务中止,输出参数“Busy”的值将变为 FALSE

且“CommandAborted”的值将变为 TRUE。

④ 输入参数“JogForward”或“JogBackward”的值重置为 FALSE 时,输出参数“CommandAborted”的值将变为 FALSE。

说明

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-611 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-612 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-613 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-614 如果满足以下所有条件,则在输出参数“CommandAborted”中指示任务中止并且仅持续一 个执行周期:

输入参数“JogForward”和“JogBackward”的值为 FALSE(但轴仍在减速),并且新的运动控制任务已启动。

表格 9- 69 示例 3 - 如果在任务执行期间出错

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-615 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-616 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-617 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-618 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-619 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-620

Error -RJ)RUZDUG 1

0

-RJ%DFNZDUG 1

0

%XV\ 1

0

,Q9HORFLW\ 1

0

&RPPDQG 1

$ERUWHG 0

(UURU 1

0

JogBackward

Error
-RJ)RUZDUG 1

0

-RJ%DFNZDUG 1

0

%XV\ 1

0

,Q9HORFLW\ 1

0

&RPPDQG 1
$ERUWHG 0
(UURU 1

0

1 2 3 4 1 2 3 4
JogForward
① 输入参数“JogForward”或“JogBackward”的上升沿时启动任务。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 任务执行期间出错。出错时,输出参数“Busy”的值将变为 FALSE 且“Error”的值将变为 TRUE。

④ 输入参数“JogForward”或“JogBackward”的值重置为 FALSE 时,输出参数“Error”的值将变为 FALSE。

说明

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-621 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-622 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-623 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-624 如果满足以下所有条件,则在输出参数“Error”中指示出错并且仅持续一个执行周期:

输入参数“JogForward”和“JogBackward”的值为 FALSE(但轴仍在减速),并且发生新错误(例如,逼近软件限位开关)。

工艺指令 9

高速计数器

表格 9- 1 CTRL_HSC 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-625 "CTRL_HSC_0_DB" (

hsc:=_hw_hsc_in_, dir:=_bool_in_, cv:=_bool_in_, rv:=_bool_in_, period:=_bool_in_, new_dir:=_int_in_, new_cv:=_int_in_, new_rv:=_dint_in_, new_period:=_int_in_, busy:=_bool_out_, status:=_word_out_);

每个 CTRL_HSC 指令都使用 DB 中存储的结构来保存数据。 在编辑器中放置 CTRL_HSC 指 令后分配 DB。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“CTRL_HSC_0_DB”是背景 DB 的名称。

表格 9- 2 参数的数据类型

参数和类型 数据类型 说明
HSC IN HW_HSC HSC 标识符
DIR1, 2 IN Bool 1 = 请求新方向
CV1 IN Bool 1 = 请求设置新的计数器值
RV1 IN Bool 1 = 请求设置新的参考值
PERIOD1 IN Bool 1 = 请求设置新的周期值

(仅限频率测量模式)

NEW_DIR IN Int 新方向: 1= 向上,-1= 向下
NEW_CV IN DInt 新计数器值
NEW_RV IN DInt 新参考值
NEW_PERIOD IN Int 以秒为单位的新周期值: 0.01、0.1 或 1

(仅限频率测量模式)

参数和类型 数据类型 说明
BUSY3 OUT Bool 功能忙
STATUS OUT Word 执行条件代码

1 如果不请求更新参数值,则将忽略相应的输入值。

2 仅当组态的计数方向设置为“用户程序(内部方向控制)”(User program (internal direction control)) 时,DIR 参数才有效。 用户在 HSC 设备组态中确定如何使用该参数。

3 对于 CPU 或 SB 上的 HSC,BUSY 参数的值始终为 0。

在 CPU 的设备组态中对每个 HSC 的参数进行组态: 计数模式、I/O 连接、中断分配以及是作为高速计数器还是设备来测量脉冲频率。

可以通过用户程序来修改某些 HSC 参数,从而对计数过程提供程序控制:

      • 将计数方向设置为 NEW_DIR 值
      • 将当前计数值设置为 NEW_CV 值
      • 将参考值设置为 NEW_RV 值
      • 将周期值(仅限频率测量模式)设置为 NEW_PERIOD 值

如果执行 CTRL_HSC 指令后以下布尔标记值置位为 1,则相应的 NEW_xxx 值将装载到计数器。 CTRL_HSC 指令执行一次可处理多个请求(同时设置多个标记)。

      • DIR = 1 是装载 NEW_DIR 值的请求,0 = 无变化
      • CV = 1 是装载 NEW_CV 值的请求,0 = 无变化
      • RV = 1 是装载 NEW_RV 值的请求,0 = 无变化
      • PERIOD = 1 是装载 NEW_PERIOD 值的请求,0 = 无变化

CTRL_HSC 指令通常放置在触发计数器硬件中断事件时执行的硬件中断 OB 中。 例如, 如果 CV=RV 事件触发计数器中断,则硬件中断 OB 代码块执行 CTRL_HSC 指令并且可通过装载 NEW_RV 值更改参考值。

在 CTRL_HSC 参数中没有提供当前计数值。 在高速计数器硬件的组态期间分配存储当前计数值的过程映像地址。 可以使用程序逻辑直接读取计数值。 返回给程序的值将是读取计数器瞬间的正确计数。 但计数器仍将继续对高速事件计数。 因此,程序使用旧的计数值完成处理前,实际计数值可能会更改。

条件代码: 发生错误时,ENO 设置为 0,并且 STATUS 输出包含条件代码。

表格 9- 3 STATUS 值 (W#16#)

STATUS 说明
0 无错误
80A1 HSC 标识符没有对 HSC 寻址
80B1 NEW_DIR 的值非法
80B2 NEW_CV 的值非法
80B3 NEW_RV 的值非法
80B4 NEW_PERIOD 的值非法
80C0 多路访问高速计数器
80D0 CPU 硬件配置中未启用高速计数器 (HSC)

高速计数器的使用方法

高速计数器 (HSC) 对发生速率快于 OB 执行速率的事件进行计数。 如果待计数事件的发生速率处于 OB 执行速率范围内,则可使用 CTU、CTD 或 CTUD 计数器指令。 如果事件的发生速率快于 OB 的执行速率,则应使用 HSC。 CTRL_HSC 指令允许用户程序通过程序更改一些 HSC 参数。

例如: 可以将 HSC 用作增量轴编码器的输入。 该轴编码器每转提供指定数量的计数值以及一个复位脉冲。 来自轴编码器的时钟和复位脉冲将输入到 HSC 中。

先是将若干预设值中的第一个装载到 HSC 上,并且在当前计数值小于当前预设值的时段内计数器输出一直是激活的。 在当前计数值等于预设时、发生复位时以及方向改变时,

HSC 会提供一个中断。

每次出现“当前计数值等于预设值”中断事件时,将装载一个新的预设值,同时设置输出的 下一状态。 当出现复位中断事件时,将设置输出的第一个预设值和第一个输出状态,并重复该循环。

由于中断发生的频率远低于 HSC 的计数速率,因此能够在对 CPU 扫描周期影响相对较小的情况下实现对高速操作的精确控制。 通过提供中断,可以在独立的中断例程中执行每次的新预设值装载操作以实现简单的状态控制。 (或者,所有中断事件也可在单个中断例程中进行处理。)

表格 9- 4 最大频率 (KHz)

HSC 单相 双相和 AB 正交
HSC1 CPU 100 KHz 80 KHz
高速 SB 200 KHz 160 KHz
SB 30 KHz 20 KHz
HSC2 CPU 100 KHz 80 KHz
高速 SB 200 KHz 160 KHz
SB 30 KHz 20 KHz
HSC3 CPU 100 KHz 80 KHz
HSC4 CPU 30 KHz 20 KHz
HSC5 CPU 30 KHz 20 KHz
高速 SB 200 KHz 160 KHz
SB 30 KHz 20 KHz
HSC6 CPU 30 KHz 20 KHz
高速 SB 200 KHz 160 KHz
SB 30 KHz 20 KHz
选择 HSC 的功能

所有 HSC 在同种计数器运行模式下的工作方式都相同。 HSC 共有四种基本类型:

  • 具有内部方向控制的单相计数器
  • 具有外部方向控制的单相计数器
  • 具有 2 个时钟输入的双相计数器
  • A/B 相正交计数器

用户可选择是否激活复位输入来使用各种 HSC 类型。 如果激活复位输入(存在一些限制,请参见下表),则它会清除当前值并在您禁用复位输入之前保持清除状态。

    • 频率功能: 有些 HSC 模式允许 HSC 被组态(计数类型)为报告频率而非当前脉冲计数值。 有三种可用的频率测量周期: 0.01、0.1 或 1.0 秒。

频率测量周期决定 HSC 计算并报告新频率值的频率。 报告频率是通过上一测量周期内总计数值确定的平均值。 如果该频率在快速变化,则报告值将是介于测量周期内出现的最高频率和最低频率之间的一个中间值。 无论频率测量周期的设置是什么,总是会以赫兹为单位来报告频率(每秒脉冲个数)。

    • 计数器模式和输入: 下表列出了用于与 HSC 相关的时钟、方向控制和复位功能的输入。

同一输入不可用于两个不同的功能,但任何未被其 HSC 的当前模式使用的输入均可用于其它用途。 例如,如果 HSC1 处于使用内置输入但不使用外部复位 (I0.3) 的模式, 则 I0.3 可以用于沿中断或 HSC2。

表格 9- 5 HSC 的计数模式

类型 输入 1 输入 2 输入 3 功能
具有内部方向控制的单相计数器 时钟 (可选: 方向) - 计数或频率
复位 计数
具有外部方向控制的单相计数器 时钟 方向 - 计数或频率
复位 计数
具有 2 个时钟输入的双相计数器 加时钟 减时钟 - 计数或频率
复位 计数
A/B 相正交计数器 A 相 B 相 - 计数或频率
复位 1 ?计数

1 对于编码器: Z 相,归位

HSC 的输入地址

说明

在设备配置期间分配高速计数器设备使用的数字量 I/O 点。 将数字量 I/O 点的地址分配给这些设备之后,无法通过监视表格中的强制功能修改所分配的 I/O 点的地址值。

组态 CPU 时,可以选择启用和组态每个 HSC。 CPU 会根据其组态自动为每个 HSC 分配输入地址。 (某些 HSC 允许选择是使用 CPU 的板载输入还是使用 SB 的输入。)

注意
如下表所示,不同 HSC 的可选信号的默认分配互相重叠。 例如,HSC 1 的可选外部复位使用的输入与 HSC 2 的其中一个输入相同。

请始终确保组态 HSC 时任何一个输入都不会被两个 HSC 使用。

下表显示了 CPU 1211C 的板载 I/O 和 SB 两者的 HSC 输入分配。 (如果 SB 只有 2 个输入,则仅输入 4.0 和 4.1 可用。)

  • 对于单相: C 为时钟输入,[d] 为可选方向输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
  • 对于双相: CU 为加时钟输入,CD 为减时钟输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
  • 对于 AB 相正交: A 为时钟 A 输入,B 为时钟 B 输入,[R] 为可选外部复位输入。

(复位仅适用于“计数”模式。)

表格 9- 6 CPU 1211C 的 HSC 输入分配

HSC CPU 板载输入 (0.x) SB 输入(默认为 4.x)3
0 1 2 3 4 5 0 1 2 3
HSC 1 1 单相 C [d] [R] C [d] [R]
双相 CU CD [R] CU CD [R]
AB 相 A B [R] A B [R]
HSC 2 1 单相 [R] C [d] [R] C [d]
双相 [R] CU CD [R] CU CD
AB 相 [R] A B [R] A B
HSC 3 单相 C [d]
双相 CU CD
AB 相 A B
HSC 5 2 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC CPU 板载输入 (0.x) SB 输入(默认为 4.x)3
0 1 2 3 4 5 0 1 2 3
HSC 6 2 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B

1 HSC 1 和 HSC 2 可组态为使用板载输入或 SB 输入。

2 HSC 5 和 HSC 6 只能使用 SB 输入。 HSC 6 只能使用 4 输入 SB。

3 仅具有 2 个数字量输入的 SB 只能提供输入 4.0 和 4.1。

下表显示了 CPU 1212C 的板载 I/O 和 SB 两者的 HSC 输入分配。 (如果 SB 只有 2 个输入,则仅输入 4.0 和 4.1 可用。)

    • 对于单相: C 为时钟输入,[d] 为可选方向输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
    • 对于双相: CU 为加时钟输入,CD 为减时钟输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
    • 对于 AB 相正交: A 为时钟 A 输入,B 为时钟 B 输入,[R] 为可选外部复位输入。

(复位仅适用于“计数”模式。)

表格 9- 7 CPU 1212C 的 HSC 输入分配

HSC CPU 板载输入 (0.x) SB 输入 (4.x) 3
0 1 2 3 4 5 6 7 0 1 2 3
HSC 1 1 单相 C [d] [R] C [d] [R]
双相 CU CD [R] CU CD [R]
AB 相 A B [R] A B [R]
HSC 2 1 单相 [R] C [d] [R] C [d]
双相 [R] CU CD [R] CU CD
AB 相 [R] A B [R] A B
HSC 3 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 4 单相 [R] C [d]
双相 [R] CU CD
HSC CPU 板载输入 (0.x) SB 输入 (4.x) 3
0 1 2 3 4 5 6 7 0 1 2 3
AB 相 [R] A B
HSC 5 2 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 6 2 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B

1 HSC 1 和 HSC 2 可组态为使用板载输入或 SB 输入。

2 HSC 5 和 HSC 6 只能使用 SB 输入。 HSC 6 只能使用 4 输入 SB。

3 仅具有 2 个数字量输入的 SB 只能提供输入 4.0 和 4.1。

以下两个表给出了 CPU 1214C 的板载 I/O 和可选 SB(如果已安装)两者的 HSC 输入分配。

  • 对于单相: C 为时钟输入,[d] 为可选方向输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
  • 对于双相: CU 为加时钟输入,CD 为减时钟输入,[R] 为可选外部复位输入。 (复位仅适用于“计数”模式。)
  • 对于 AB 相正交: A 为时钟 A 输入,B 为时钟 B 输入,[R] 为可选外部复位输入。

(复位仅适用于“计数”模式。)

表格 9- 8 CPU 1214C 和 CPU 1215C(仅板载输入)的 HSC 输入分配

HSC 数字量输入 0(默认值: 0.x) 数字量输入 1(默认值: 1.x)
0 1 2 3 4 5 6 7 0 1 2 3 4 5
HSC 1 1 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 2 1 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B
HSC 3 单相 C [d] [R]
HSC 数字量输入 0(默认值: 0.x) 数字量输入 1(默认值: 1.x)
0 1 2 3 4 5 6 7 0 1 2 3 4 5
双相 CU CD [R]
AB 相 A B [R]
HSC 4 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B
HSC 5 1 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 6 1 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]

1 HSC 1、HSC 2、HSC 5 和 HSC 6 可组态为使用板载输入或 SB 输入。

表格 9- 9 SB 的 HSC 输入分配

HSC 1 SB 输入(默认值: 4.x)2
0 1 2 3
HSC 1 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 2 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B
HSC 5 单相 C [d] [R]
双相 CU CD [R]
AB 相 A B [R]
HSC 6 单相 [R] C [d]
双相 [R] CU CD
AB 相 [R] A B
HSC 1 SB 输入(默认值: 4.x)2
0 1 2 3

1 对于 CPU 1214C: HSC 1、HSC 2、HSC 5 和 HSC 6 可组态为使用板载输入或 SB 输入。

2 仅具有 2 个数字量输入的 SB 只能提供输入 4.0 和 4.1。

访问 HSC 的当前值

说明

启用脉冲发生器作为 PTO 时,会向该 PTO 分配一个对应的 HSC。 HSC1 分配给

PTO1,HSC2 分配给 PTO2。 分配的 HSC 完全属于 PTO 通道,并且禁用 HSC 的正常输出。 HSC 值仅用于内部功能。 生成脉冲时,不能监视当前值(例如,在 ID1000

中)。

CPU 将每个 HSC 的当前值存储在一个输入 (I) 地址中。 下表列出了为每个 HSC 的当前值分配的默认地址。 可以通过在设备配置中修改 CPU 的属性来更改当前值的 I 地址。

表格 9- 10 HSC 的当前值

HSC 数据类型 默认地址
HSC1 DInt ID1000
HSC2 DInt ID1004
HSC3 DInt ID1008
HSC4 DInt ID1012
HSC5 DInt ID1016
HSC6 DInt ID1020

组态 HSC

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-626 CPU 允许用户组态最多 6 个高速计数器。 用户可编辑

CPU 的“属性”(Properties) 来组态各个 HSC 的参数。在用户程序中使用 CTRL_HSC 指令控制 HSC 的运行。

通过选择该 HSC 的“启用”(Enable) 选项启用特定的

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-627 HSC。

说明

当启用高速计数器并为其选择输入点时,这些点的输入滤波设置将组态为 800 ns。 每一个输入点都有一个适用于所有应用的滤波器组态: 过程输入、中断、脉冲捕捉和 HSC 输入。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-628警告
如果数字量输入通道的滤波时间更改自以前的设置,则新的“0”电平输入值可能需要保持长达 20.0 ms 的累积时间,然后滤波器才会完全响应新输入。 在此期间,可能不会检测到持续时间少于 20.0 ms 的短“0”脉冲事件或对其计数。

滤波时间的这种更改会引发意外的机械或过程操作,这可能会导致人员死亡、重伤和/或 设备损坏。

为了确保新的滤波时间立即生效,必须关闭 CPU 电源后再开启。

启用 HSC 之后组态其它参数,例如计数器功能、初始值、复位选项和中断事件。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-629

有关对 HSC 进行组态的信息,请参见 组态 CPU (页 125) 部分。

PID 控制

STEP 7 为 S7-1200 CPU 提供以下 PID 指令:

  • PID_Compact 指令用于通过连续输入变量和输出变量控制工艺过程。
  • PID_3Step 指令用于控制电机驱动的设备,如需要通过离散信号实现打开和关闭动作的阀门。

说明

只有 CPU 从 STOP 切换到 RUN 模式后,在 RUN 模式下对 PID 组态和下载进行的更改才会生效。

两个 PID 指令(PID_3Step 和 PID_Compact)都可以计算启动期间的 P 分量、I 分量以及 D 分量(如果组态为“预调节”)。 还可以将指令组态为“精确调节”,从而可对参数进行优化。 用户无需手动确定参数。

说明

以恒定的采样时间间隔执行 PID 指令(最好在循环 OB 中)。

由于 PID 回路需要一段时间来响应控制值的变化,因此请勿在每个循环中都计算输出值。 请勿在主程序循环 OB(如 OB 1)中执行 PID 指令。

PID 算法的采样时间表示两次输出值(控制值)计算之间的时间。 在自调节期间计算输出值,并取整为循环时间的倍数。 每次调用时都会执行 PID 指令的所有其它函数。

PID 算法

PID(比例/积分/微分)控制器会测量两次调用之间的时间间隔并评估监视采样时间的结果。 每次进行模式切换时以及初始启动期间都会生成采样时间的平均值。 该值用作监视

功能的参考并用于计算。 监视包括两次调用之间的当前测量时间和定义的控制器采样时间的平均值。

PID 控制器的输出值由三个分量组成:

    • P(比例): 如果通过“P”分量计算,则输出值与设定值和过程值(输入值)之差成比例。
    • I(积分): 如果通过“I”分量计算,则输出值与设定值和过程值(输入值)之差的持续时间成比例增加,以最终校正该差值。
    • D(微分): 如果通过“D”分量计算,输出值与设定值和过程值(输入值)之差的变化率成函数关系,并随该差值的变化加快而增大。 从而根据设定值尽快矫正输出值。

PID 控制器使用以下公式来计算 PID_Compact 指令的输出值。

y = Kp

(b · w - x) + 1

TI · s

[

(w - x) +

TD· s

a · TD · s + 1

(c · w - x) ]

y w Kp 输 出 值 设 定 值 比例增益 x s a 过程值

拉普拉斯算子微分延迟系数

(P 分量) (D 分量)
T1 积分作用时间 b 比例作用加权
(I 分量) (P 分量)
TD 微分作用时间 c 微分作用加权
(D 分量) (D 分量)

PID 控制器使用以下公式来计算 PID_3Step 指令的输出值。

Δ y = Kp

· s · (b · w - x) + 1

TI · s

[

(w - x) +

TD· s

a · TD · s + 1

(c · w - x) ]

y w Kp 输 出 值 设 定 值 比例增益 x s a 过程值

拉普拉斯算子微分延迟系数

(P 分量) (D 分量)
T1 积分作用时间 b 比例作用加权
(I 分量) (P 分量)
TD 微分作用时间 c 微分作用加权
(D 分量) (D 分量)
      1. 插入 PID 指令和工艺对象

STEP 7 提供了两个 PID 控制指令:

        • PID_Compact 指令及其相关工艺对象提供具有调节功能的通用 PID 控制器。 工艺对象包括控制环的所有设置。
        • PID_3Step 指令及其相关工艺对象为通过电机驱动的阀门提供具有特定设置的 PID 控制器。 工艺对象包括控制环的所有设置。 PID_3Step 控制器提供两个附加的布尔型输出。

创建工艺对象之后,必须 组态参数 (页 393)。 还应调整自动调节参数(启动期间的“预调节”或手动“精确调节”),以 调试 PID 控制器的操作 (页 396)。

表格 9- 11 插入 PID 指令和工艺对象

将 PID 指令插入用户程序时,STEP 7 会自动为指令创建工艺对象和背景数据块。 背景数据块包含

PID 指令要使用的所有参数。 每个 PID 指令必须

具有自身的唯一背景数据块才能正确工作。

插入 PID 指令并创建工艺对象和背景数据块之后, 应 组态工艺对象的参数 (页 393)。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-630

表格 9- 12 (可选)通过项目浏览器创建工艺对象

还可以在插入 PID 指令之前为项目创建工艺对象。 通过在将 PID 指令插入用户程序之前创建工艺对象,用户可以在插入 PID 指令时选择工艺对象。 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-631
要创建工艺对象,请在项目浏览器中双击“添加新对象”(Add new object) 图标。 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-632
单击“控制”(Control) 图标并选择适用于该类型的 PID 控制器(PID_Compact 或

PID_3Step)的工艺对象。 可以为工艺对象创建可选名称。

单击“确定”(OK) 创建工艺对象。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-633

PID_Compact 指令

PID 控制器使用以下公式来计算 PID_Compact 指令的输出值。

y = Kp

(b · w - x) + 1

TI · s

[

(w - x) +

TD· s

a · TD · s + 1

(c · w - x) ]

y

w Kp

输出值

设 定 值 比例增益

x

s a

过程值

拉普拉斯算子微分延迟系数

(P 分量) (D 分量)
T1 积分作用时间 b 比例作用加权
(I 分量) (P 分量)
TD 微分作用时间 c 微分作用加权
(D 分量) (D 分量)

表格 9- 13 PID_Compact 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-634 "PID_Compact_1"( Setpoint:=_real_in_, Input:=_real_in_, Input_PER:=_word_in_, ManualEnable:=_bool_in_, ManualValue:=_real_in_, Reset:=_bool_in_, ScaledInput=>_real_out_, Output=>_real_out_, Output_PER=>_word_out_, Output_PWM=>_bool_out_, SetpointLimit_H=>_bool_out_, SetpointLimit_L=>_bool_out_, InputWarning_H=>_bool_out_, InputWarning_L=>_bool_out_, State=>_int_out_, Error=>_dword_out_); PID_Compact 提供可在自动模式和手动模式下自我调节的 PID 控制器。

PID_Compact 是具有抗积分饱和功能且对 P 分量和 D 分量加权的 PIDT1 控制器。

1 STEP 7 会在插入指令时自动创建工艺对象和背景数据块。 该背景数据块包含工艺对象的参数。

2 在 SCL 示例中,“PID_Compact_1”是背景 DB 的名称。

表格 9- 14 参数的数据类型

参数和类型 数据类型 说明
Setpoint IN Real PID 控制器在自动模式下的设定值。 默认值: 0.0
Input IN Real 过程值。 默认值: 0.0

还必须设置 sPid_Cmpt.b_Input_PER_On = FALSE。

Input_PER IN Word 模拟过程值(可选)。 默认值: W#16#0

还必须设置 sPid_Cmpt.b_Input_PER_On = TRUE。

ManualEnable IN Bool 启用或禁用手动操作模式。 默认值: FALSE:

  • PID_Compact V1.0 和 V1.2: 当 CPU 切换到 RUN 时,如果 ManualEnable = TRUE,则 PID_Compact 在手动模式下启动。 将 PID_Compact 置于手动模式无需从 FALSE 切换到 TRUE。
  • PID_Compact V1.1: 当 CPU 切换到 RUN 并且ManualEnable = TRUE 时,PID Compact 在上一个状态下启动。 将 PID_Compact 置于手动模式需要从 TRUE 切换

到 FALSE 再切换到 TRUE。

ManualValue IN Real 手动操作的过程值。 默认值: 0.0
Reset IN Bool Reset 参数用于重新启动控制器。 默认值: FALSE

请参见下面的“复位响应”部分以查看 PID_Compact V1.1 和

V1.0 的复位响应图。

ScaledInput OUT Real 标定的过程值。 默认值: 0.0
Output1 OUT Real 输出值。 默认值: 0.0
Output_PER1 OUT Word 模拟量输出值。 默认值: W#16#0
Output_PWM1 OUT Bool 脉冲宽度调制的输出值。 默认值: FALSE
SetpointLimit_H OUT Bool 设定值上限。 默认值: FALSE

如果 SetpointLimit_H = TRUE,则说明达到设定值的绝对上限。 默认值: FALSE

SetpointLimit_L OUT Bool 设定值下限。 默认值: FALSE

如果 SetpointLimit_L = TRUE,则说明达到设定值的绝对下限。 默认值: FALSE

InputWarning_H OUT Bool 如果 InputWarning_H = TRUE,则说明过程值已达到或超出警告上限。 默认值: FALSE
参数和类型 数据类型 说明
InputWarning_L OUT Bool 如果 InputWarning_L = TRUE,则说明过程值已达到警告下限。 默认值: FALSE
State OUT Int PID 控制器的当前操作模式。 默认值: 0

使用 sRet.i_Mode 更改模式。

  • State = 0:未激活
  • State = 1:预调节
  • State = 2:手动精确调节
  • State = 3:自动模式
  • State = 4:手动模式
ErrorBits OUT DWord PID_Compact 指令 ErrorBits 参数表 (页 383)定义错误消息。默认值: DW#16#0000(无错误)

1 参数 Output、Output_PER 和 Output_PWM 的输出可并行使用。

复位响应

复位响应是否为 TRUE 取决于 PID_Compact 指令的版本。复位响应 PID_Compact 1.1

“复位”的上升沿将复位错误和警告并清除积分作用。 “复位”的下降沿将触发对最近激活的

操作模式的更改。

5HVHW

1

0

LB0RGH

3

0

6WDWH

3

0

W (PV)

 

 

 

W (PV)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-635 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-636 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-637 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-638

1

2

3

1

W (PV)

 

① 激活

② 错误

③ 复位

复位响应 PID_Compact V1.0

“复位”的上升沿将复位错误和警告并清除积分作用。 控制器直到 i_Mode 的下一个沿时才会重新激活。

5HVHW

1

 

0

LB0RGH

4

3

0

6WDWH

4

3

0

W (PV)

 

W (PV)

 

① 激活

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-639 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-640 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-641 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-642

1

2 3

1

W (PV)

② 错误

③ 复位

PID_Compact 控制器的操作

6FDOH

&53B,1

,QSXWB3(5

,QSXW

6HWSRLQW

/LPLW

EB,QSXWB3(5B2Q

1

3,'71

$QWL :LQGXS

˂X

,QSXW:DUQLQJB+

,QSXW:DUQLQJB/

39B$/50

0DQXDO(QDEOH

&53B287

EB,QY&WUO

,19

2XWSXW

/LPLW

0DQXDO9DOXH 0

1

1

1 0

3:0

2XWSXWB3(5

2XWSXWB3:0

图 9-1 PID_Compact 控制器的操作

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-643 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-644 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-645 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-646

6HWSRLQW (Z)

 

$QWL :LQGXS

/,0,7

,

\

 

6FDOHG,QSXW ([)

 

'71

.3

F

E

图 9-2 PID_Compact 控制器作为具有抗积分饱和功能的 PIDT1 控制器时的操作

PID_Compact 指令 ErrorBit 参数

如果存在多个错误未决,则错误代码的值将通过二进制加法显示。 例如,显示错误代码

0003 表示错误 0001 和 0002 未决。

表格 9- 15 PID_Compact 指令 ErrorBit 参数

ErrorBit

(DW#16#...)

说明
0000 无错误
0001 “Input”参数超出过程值限值。Input > sPid_Cmpt.r_Pv_Hlmor Input < sPid_Cmpt.r_Pv_Llm

在消除错误之前不能再次启动执行器。

0002 参数“Input_PER”的值无效。 请检查模拟量输入是否有错误尚未解决。
0004 精确调节时出错,无法保持过程值振荡。
0008 开始预调节时出错。 过程值过于接近设定值。 开始精确调节。
0010 在控制器调节期间设定值已更改。
0020 在自动模式下或精确调节期间可能无法执行预调节。
0040 精确调节时出错,设定值过于接近设定值限值。
0080 输出值限值的组态不正确。

进行检查,确定是否正确配置输出值的限值,并匹配控件工作时采用的方向。

0100 控制器调节期间出错导致参数无效。
0200 参数“Input”的值无效: 值的数字格式无效。
0400 计算输出值失败。 检查 PID 参数。
0800 采样时间错误: 在循环中断 OB 的采样时间内未调用

PID_Compact。

1000 参数“Setpoint”的值无效: 值的数字格式无效。

PID_3STEP 指令

PID 控制器使用以下公式来计算 PID_3Step 指令的输出值。

Δ y = Kp

· s · (b · w - x) + 1

TI · s

[

(w - x) +

TD· s

a · TD · s + 1

(c · w - x) ]

y

w Kp

输出值

设 定 值 比例增益

x

s a

过程值

拉普拉斯算子微分延迟系数

(P 分量) (D 分量)
T1 积分作用时间 b 比例作用加权
(I 分量) (P 分量)
TD 微分作用时间 c 微分作用加权
(D 分量) (D 分量)

表格 9- 16 PID_3Step 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-647 "PID_3Step_1"( SetpoInt:=_real_in_, Input:=_real_in_, ManualValue:=_real_in_, Feedback:=_real_in_, InputPer:=_word_in_, FeedbackPer:=_word_in_, ManualEnable:=_bool_in_, ManualUP:=_bool_in_, ManualDN:=_bool_in_, ActuatorH:=_bool_in_, ActuatorL:=_bool_in_, Reset:=_bool_in_, ScaledInput=>_real_out_, ScaledFeedback=>_real_out_, ErrorBits=>_dword_out_, OutputPer=>_word_out_, State=>_int_out_, OutputUP=>_bool_out_, OutputDN=>_bool_out_, SetpoIntLimitH=>_bool_out_, SetpoIntLimitL=>_bool_out_, InputWarningH=>_bool_out_, InputWarningL=>_bool_out_, Error=>_bool_out_); PID_3Step 用于组态具有自调节功能的 PID 控制器,这样的控制器已针对通过电机控制的阀门和执行器进行过优化。 它提供两个布尔型输出。

PID_3Step 是具有抗积分饱和功能且对 P 分量和 D 分量加权的 PIDT1 控制器。

1 STEP 7 会在插入指令时自动创建工艺对象和背景数据块。 该背景数据块包含工艺对象的参数。

2 在 SCL 示例中,“PID_3Step_1”是背景 DB 的名称。

表格 9- 17 参数的数据类型

参数和类型 数据类型 说明
Setpoint IN Real PID 控制器在自动模式下的设定值。 默认值: 0.0
Input IN Real 过程值。 默认值: 0.0

还必须设置 Config.InputPEROn = FALSE。

Input_PER IN Word 模拟过程值(可选)。 默认值: W#16#0

还必须设置 Config.InputPEROn = TRUE。

ManualEnable IN Bool 启用或禁用手动操作模式。 默认值: FALSE

  • 在从 FALSE 变为 TRUE 的信号沿出现时,PID 控制器会切换为手动模式,State = 4 和 Retain.Mode 保持不变。
  • 在从 TRUE 变为 FALSE 的信号沿出现时,PID 控制器会切换为上一次的激活操作模式且 State = Retain.Mode。
ManualUP IN Bool 在手动模式下,每个上升沿都会将阀门打开总动作范围的5%,或者保持最小电机动作时间。仅当未使用 Output_PER 并且无位置反馈时,才评估 ManualUP。 默认值: FALSE

  • 如果 Output_PER 为 FALSE,则手动输入打开Output_UP,持续时间对应于设备的 5% 运动量。
  • 如果 Config.ActuatorEndStopOn 为 TRUE,则在

Actuator_H 为 TRUE 时 Output_UP 不打开。

ManualDN IN Bool 在手动模式下,每个上升沿都会将阀门关闭总动作范围的5%,或者保持最小电机动作时间。仅当未使用 Output_PER 并且无位置反馈时,才评估 ManualDN。 默认值: FALSE

  • 如果 Output_PER 为 FALSE,则手动输入打开Output_DN,持续时间对应于设备的 5% 运动量。
  • 如果 Config.ActuatorEndStopOn 为 TRUE,则在

Actuator_L 为 TRUE 时 Output_DN 不打开。

ManualValue IN Real 手动操作的过程值。 默认值: 0.0

在手动模式下,可指定阀门的绝对位置。仅当正使用

OutputPer 或者位置反馈可用时,才评估 ManualValue。 默认值: 0.0

Feedback IN Real 阀门的位置反馈。 默认值: 0.0

要使用 Feedback,应设置Config.FeedbackPerOn = FALSE。

参数和类型 数据类型 说明
Feedback_PER IN Word 阀门位置的模拟反馈。 默认值: W#16#0

要使用 Feedback_PER,应设置Config.FeedbackPerOn = TRUE。通过以下参数标定Feedback_PER:

  • Config.FeedbackScaling.LowerPointIn
  • Config.FeedbackScaling.UpperPointIn
  • Config.FeedbackScaling.LowerPointOut
  • Config.FeedbackScaling.UpperPointOut
Actuator_H IN Bool 如果 Actuator_H = TRUE,则阀门处于上端停止位,且不再向此方向移动。 默认值: FALSE
Actuator_L IN Bool 如果 Actuator_L = TRUE,则阀门处于下端停止位,且不再向此方向移动。 默认值: FALSE
Reset IN Bool 重新启动 PID 控制器。 默认值: FALSE

如果为 FALSE 至 TRUE 沿:

  • “未激活”操作模式
  • 输入值 = 0
  • 复位控制器的中间值。 (保留 PID 参数。)

如果为 TRUE 至 FALSE 沿,则更改为最近激活的模式。

ScaledInput OUT Real 标定的过程值
ScaledFeedback OUT Real 标定的阀门位置
Output_PER OUT Word 模拟量输出值。 如果 Config.OutputPerOn = TRUE,则会使用 Output_PER 参数。
Output_UP OUT Bool 用于打开阀门的数字输出值。 默认值: FALSE

如果 Config.OutputPerOn = FALSE,则会使用 Output_UP 参数。

Output_DN OUT Bool 用于关闭阀门的数字输出值。 默认值: FALSE

如果 Config.OutputPerOn = FALSE,则会使用 Output_DN 参数。

SetpointLimitH OUT Bool 设定值上限。 默认值: FALSE

如果 SetpointLimitH = TRUE,则说明达到设定值的绝对上限。 在 CPU 中,设定值被限制为已组态的实际值绝对上限。

参数和类型 数据类型 说明
SetpointLimitL OUT Bool 设定值下限。 默认值: FALSE

如果 SetpointLimitL = TRUE,则说明达到设定值的绝对下限。 在 CPU 中,设定值被限制为已组态的过程值绝对下限。

InputWarningH OUT Bool 如果 InputWarningH = TRUE,则说明输入值已达到或超出警告上限。 默认值: FALSE
InputWarningL OUT Bool 如果 InputWarningL = TRUE,则说明输入值已达到或超出警告下限。 默认值: FALSE
State OUT Int PID 控制器的当前操作模式。 默认值: 0

使用 Retain.Mode 更改操作模式:

  • State = 0:未激活
  • State = 1:预调节
  • State = 2:手动精确调节
  • State = 3:自动模式
  • State = 4:手动模式
  • State = 5:替换输出值逼近
  • State = 6:切换时间测量
  • State = 7:通过错误监视替换输出值逼近
  • State = 8:错误监视
Error OUT Bool 如果 Error = TRUE,则至少一条错误消息未决。 默认值:

FALSE

ErrorBits OUT DWord PID_3STEP 指令 ErrorBits 参数表 (页 391)定义错误消息。 默认值: DW#16#0000(无错误)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-648 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-649 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-650 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-651 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-652

6HWSRLQW (Z)

 

'

.

3

˂\

 

 

 

6FDOHG,QSXW ([)

㏀䬘⌯檚▵

)DF/7W

,

1/7L

'HDGB%

'71

F

E

图 9-3 PID_3Step 控制器作为具有抗积分饱和功能的 PIDT1 控制器时的操作

0
0DQXDO(QDEOH
1/)$& 0DQXDO9DOXH

1

0
0DQXDO(QDEOH
0DQXDOB83
$GHDGB% 7KU6WS 1 3XOVH2XW

0DQXDOB'1 0

1
0

图 9-4 无位置反馈的 PID_3Step 控制器的操作

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-653 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-654 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-655 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-656

,QSXW:DUQLQJB+

,QSXW:DUQLQJB/

,QSXW3HU2Q

$QWL :LQGXS

,QSXWB3(5

1

,QSXW

0

3,'71

$QWL :LQGXS

 

 

˂Y

0,0

6HWSRLQW

2XWSXW3HU2Q

0 1

0,0

0 1

1

0,0

0 1

0,0

2XWSXWB3(5

2XWSXWB83

2XWSXWB'1

1,0

1 0,0

0

 

 

1,0

1 0,0 0

/LPLW

B/LP

5RF

&53B287

6FDOH

&53B,1

/LPLW

)DF

39B$/50

,QW

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-657 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-658

,QSXWB3(5

,QSXW

6HWSRLQW

&53B,1

/LPLW

,QSXW3HU2Q

1

6FDOH

0

3,'71

$QWL :LQGXS

$QWL :LQGXS

,QW

/LPLW

39B$/50

)DF

;

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-659 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-660 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-661

,QSXW:DUQLQJB+

,QSXW:DUQLQJB/

˂9

)HHGEDFNB3(5

&53B,1

)HHGEDFN

)HHGEDFN3HU2Q

6FDOH

1

0

0,0

&53B287

2XWSXW3HU2Q

1

0

0DQXDO(QDEOH

0DQXDO9DOXH

1

0

2XWSXWB3(5

$GHDGB%

0 0,0

1

0DQXDOB83

7KU6WS

0DQXDOB'1

0DQXDO(QDEOH

1

0

1

0

2XWSXWB83

3XOVH2XW

2XWSXWB'1

图 9-5 启用了位置反馈的 PID_3Step 控制器的操作

PID_3STEP 指令 ErrorBit 参数

如果存在多个错误未决,则错误代码的值将通过二进制加法显示。例如,显示错误代码

0003 表示错误 0001 和 0002 未决。

表格 9- 18 PID_3STEP 指令 ErrorBit 参数

ErrorBit

(DW#16#...)

说明
0000 无错误
0001 “Input”参数超出过程值限值:

Input > Config.InputUpperLimit 或者

Input < Config.InputLowerLimit

如果 ActivateRecoverMode = TRUE 并且 ErrorBehaviour = 1,执行器会移动至替换输出值。 如果 ActivateRecoverMode = TRUE 并且 ErrorBehaviour = 0,执行器将在其当前位置停止。 如果ActivateRecoverMode = FALSE,执行器将在其当前位置停止。

PID_3STEP V1.1: 可在手动模式下移动执行器。

PID_3STEP V1.0: 在该状态下不能使用手动模式。 在消除错误之前不能再次启动执行器。

0002 参数“Input_PER”的值无效。 请检查模拟量输入是否有错误尚未解决。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

0004 精确调节时出错,无法保持过程值振荡。
0008 开始预调节时出错。 过程值过于接近设定值。 开始精确调节。
0010 在精确调节期间不能更改设定值。
0020 在自动模式下或精确调节期间可能无法执行预调节。
0040 精确调节时出错,设定值过于接近设定值限值。
0080 在预调节时出错。 输出值限值的组态不正确。

进行检查,确定是否正确配置输出值的限值,并匹配控件工作时采用的方向。

0100 精确调节期间出错导致参数无效。
ErrorBit

(DW#16#...)

说明
0200 参数“Input”的值无效: 值的数字格式无效。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

0400 计算输出值失败。 检查 PID 参数。
0800 采样时间错误: 在循环中断 OB 的采样时间内未调用

PID_3STEP。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

1000 参数“Setpoint”的值无效: 值的数字格式无效。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode = TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

2000 参数 Feedback_PER 的值无效。

请检查模拟量输入是否有错误尚未解决。

执行器不能移动至替换输出值并且不能从当前位置移动。 在该状态下不能使用手动模式。 必须禁用位置反馈 (Config.

FeedbackOn = FALSE) 以从该状态移动执行器。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

ErrorBit

(DW#16#...)

说明
4000 参数 Feedback 的值无效。 值的数字格式无效。

执行器不能移动至替换输出值并且不能从当前位置移动。 在该状态下不能使用手动模式。 必须禁用位置反馈 (Config.

FeedbackOn = FALSE) 以从该状态移动执行器。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

8000 数字位置反馈出错。 Actuator_H = TRUE 以及 Actuator_L =

TRUE。

执行器不能移动至替换输出值并且不能从当前位置移动。 在该状态下不能使用手动模式。

必须禁用“Endstop 信号执行器”(Config.ActuatorEndStopOn =

FALSE) 才能从该状态移动执行器。

如果在出错之前自动模式处于活动状态,ActivateRecoverMode =

TRUE 并且错误不再为未决错误,PID_3STEP 会切换回自动模式。

组态 PID 控制器

工艺对象的参数决定 PID 控制器的操作。 使用该图标可打开组态编辑器。 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-662

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-663

图 9-6 PID_Compact 的组态编辑器(基本设置)

表格 9- 19 PID_Compact 指令的示例组态设置

设置 说明
基本 控制器类型

(Controller type)

选择工程单元。
反转控制逻辑(Invert the control logic) 允许选择反作用 PID 回路。

  • 如果未选择该选项,则 PID 回路处于直接作用模式,在输入值小于设定值时,PID 回路的输出会增大。
  • 如果选择了该选项,则在输入值大于设定值时,PID 回路的输出会增大。
CPU 重启后启用上一模式 (Enable last mode after CPU

restart)

在复位 PID 回路之后,或在超出输入限值后回到有效范围时,重新启动

PID 回路。

输入 (Input) 为过程值选择 Input 参数或 Input_PER 参数(用于模拟量)。

Input_PER 可直接来自模拟量输入模块。

输出 (Output) 为输出值选择 Output 参数或 Output_PER 参数(用于模拟量)。

Output_PER 可直接进入模拟量输出模块。

过程值 标定过程值的范围和限值。 如果过程值低于下限或高出上限,则 PID 回路进入未激活模式, 并将输出值设置为 0。

要使用 Input_PER,必须标定模拟过程值(输入值)。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-664

图 9-7 PID_3Step 的组态编辑器(基本设置)

表格 9- 20 PID_3Step 指令的示例组态设置

设置 说明
基本 控制器类型

(Controller type)

选择工程单元。
反转控制逻辑(Invert the control logic) 允许选择反作用 PID 回路。

  • 如果未选择该选项,则 PID 回路处于直接作用模式,在输入值小于设定值时,PID 回路的输出会增大。
  • 如果选择了该选项,则在输入值大于设定值时,PID 回路的输出会增大。
CPU 重启后启用上一模式 (Enable last mode after CPU

restart)

在复位 PID 回路之后,或在超出输入限值后回到有效范围时,重新启动

PID 回路。

输入 (Input) 为过程值选择 Input 参数或 Input_PER 参数(用于模拟量)。

Input_PER 可直接来自模拟量输入模块。

输出 (Output) 选择为输出值使用数字量输出(Output_UP 和 Output_DN)或使用模拟量输出 (Output_PER)。
反馈 (Feedback) 选择返回到 PID 回路的设备状态的类型:

  • 无反馈(默认)
  • 反馈
  • Feedback_PER
过程值 标定过程值的范围和限值。 如果过程值低于下限或高出上限,则 PID 回路进入未激活模式, 并将输出值设置为 0。

要使用 Input_PER,必须标定模拟过程值(输入值)。

执行器 电机切换时间

(Motor transition time)

设置阀门从打开到关闭的时间。 (可在阀门的数据表或面板上找到查看该值。)
最短打开时间

(Minimum ON time)

设置阀门的最短运动时间。 (可在阀门的数据表或面板上找到查看该值。)
最短关闭时间

(Minimum OFF time)

设置阀门的最短暂停时间。 (可在阀门的数据表或面板上找到查看该值。)
设置 说明
出错行为 (Error behavior) 定义检查到错误或复位 PID 回路时的阀门行为。 如果选择使用替换位置, 请输入“安全位置”(Safety position)。 对于模拟反馈或模拟输出,应为输出选择在上限和下限之间的值。 对于数字输出,只能选择 0%(关闭)或 100%

(打开)。

刻度位置反馈 1 (Scale Position Feedback)
  • “停止上限”(High stop) 和“停止下限”(Lower limit stop) 定义最大正向位置

(完全打开)和最大反向位置(完全关闭)。 “停止上限”(High stop) 必须大于“停止下限”(Lower limit stop)。

  • “过程值上限”(High limit process value) 和“过程值下限”(Low limit process value) 定义调节模式和自动模式中阀门的上限位置和下限位置。
  • “FeedbackPER”(“下限”和“上限”)定义阀门位置的模拟反馈。

“FeedbackPER 上限”必须大于“FeedbackPER 下限”。

1 只有在“基本”(Basic) 设置中启用了“反馈”(Feedback) 时,才能编辑“刻度位置反馈”(Scale Position

Feedback)。

调试 PID 控制器

使用调试编辑器可组态 PID 控制器,使其在启动时和操作过程中可自动调节。 要 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-665 打开调试编辑器,请单击指令或项目浏览器上的图标。 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-666

表格 9- 21 组态画面示例 (PID_3Step)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-667

  • 测量: 要在实时趋势中显示设定值、过程值

(输入值)和输出值,请输入采样时间并单击

“开始”(Start) 按钮。

  • 调节模式: 要调节 PID 循环,请选择“预调 节”(Pretuning) 或“微调”(Fine tuning)(手动) 并单击“开始”(Start) 按钮。 PID 控制器会运行多个阶段,以计算系统响应时间和更新时间。通过这些值可计算相应的调节参数。

完成调节过程之后,可以单击调试编辑器的

“PID 参数”(PID Parameters) 部分中的“上传

PID 参数”(Upload PID parameters) 按钮来存储新参数。

如果在调节过程中发生错误,PID 的输出值会变为 0。随后 PID 模式将被设置为“未激活”模式。状态可指示错误。

运动控制

CPU 通过脉冲接口为步进电机和伺服电机的运行提供运动控制功能。 运动控制功能负责对驱动器进行监控。

      • “轴”工艺对象用于组态机械驱动器的数据、驱动器的接口、动态参数以及其它驱动器 属性。
      • 通过对 CPU 的脉冲输出和方向输出进行组态来控制驱动器。
      • 用户程序使用运动控制指令来控制轴并启动运动任务。
      • PROFINET 接口用于在 CPU 与编程设备之间建立在线连接。 除了 CPU 的在线功能外,附加的调试和诊断功能也可用于运动控制。

说明

仅当 CPU 从 STOP 切换为 RUN 模式时,RUN 模式下对运动控制配置和下载的更改才会生效。

① PROFINET

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-668 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-669 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-670

S

6,0$7,& 67-1200

 

', 0 .1 .2 .3 .4 .5 .6 .7 .0 .1 .2 .3 .4 .5

&38 1214&

'&/'&/'&

'0 0 .1 .2 .3 .4 .5 .6 .7 .0 .1

;1:31//$1/

② 脉冲和方向输出

581/6723 (5525 0$,17

, 0.0

, 0.1

, 0.2

, 0.3

, 0.4

, 0.5

, 0.6

, 0.7

, 1.0

, 1.1

, 1.2

, 1.3

, 1.4

, 1.5

③ 步进电机的电源部分

0 0.0

0 0.1

0 0.2

0 0.3

0 0.4

0 0.5

0 0.6

0 0.7

0 1.0

0 1.1

④ 伺服电机的电源部分

DC/DC/DC 型 CPU S7-1200 上配备有用于直接控制驱动器的板载输出。 继电器型 CPU 需要具有用来控制驱动器的

DC 输出的信号板。

信号板 (SB, Signal Board) 将板载 I/O 扩展为包含多个附加 I/O 点。 具有 2 个数字量输出的 SB 可用作控制一台电机的脉冲输出和方向输出。 具有 4 个数字量输出的 SB 可用作控制两台电机的脉冲输出和方向输出。 不能将内置继电器输出用作控制电机的脉冲输

出。

说明

用户程序中的其它指令无法使用脉冲串输出

将 CPU 或信号板的输出组态为脉冲发生器时(供 PWM 或运动控制指令使用),会从 Q 存储器中移除相应的输出地址(Q0.0 到 Q0.3,Q4.0 到 Q4.3),并且这些地址在用户程序中不能用于其它用途。 如果用户程序向用作脉冲发生器的输出写入值,则 CPU 不会将该值写入到物理输出。

表格 9- 22 可控制驱动器的最大数目

CPU 型号 未安装任何 SB 带 SB

(2 x DC 输出)

带 SB

(4 x DC 输出)

CPU 1211C DC/DC/DC 2 2 2
AC/DC/RLY 0 1 2
DC/DC/RLY 0 1 2
CPU 1212C DC/DC/DC 2 2 2
AC/DC/RLY 0 1 2
DC/DC/RLY 0 1 2
CPU 1214C DC/DC/DC 2 2 2
AC/DC/RLY 0 1 2
DC/DC/RLY 0 1 2
CPU 型号 未安装任何 SB 带 SB

(2 x DC 输出)

带 SB

(4 x DC 输出)

CPU 1215C DC/DC/DC 4 4 4
AC/DC/RLY 0 1 2
DC/DC/RLY 0 1 2

表格 9- 23 脉冲输出的频率范围

脉冲输出 频率
板载 2 PTO: 2 Hz ≤ f ≤ 100 KHz
2 PTO: 2 Hz ≤ f ≤ 20 KHz
标准 SB 2 Hz ≤ f ≤ 20 KHz
高速 (200 KHz) SB MC V2 指令: 2 Hz ≤ f ≤ 200 KHz MC V1 指令: 2 Hz ≤ f ≤ 100 KHz 1

1 MC V1 指令支持的最大频率为 100 KHz。

注意
脉冲输出发生器的最大脉冲频率对于 CPU 的数字量输出为 100 KHz,而对于标准 SB

的数字量输出为 20 KHz,对于高速 SB 的数字量输出为 200 KHz(或对于 MC V1 指令

为 100 KHz)。

组态脉冲发生器

  1. 添加工艺对象:
    • 在项目树中,展开节点“工艺对象”(Technological Objects),然后选择“添加新对象”(Add new object)。
    • 选择“轴”(Axis) 图标(必要时可以重命名),然后单击“确定”(OK) 打开轴对象的组态编辑器。
    • 显示“基本参数”(Basic parameters) 下的“为轴控制选择 PTO”(Select PTO for Axis Control) 属性,然后选择所需脉冲。 请注意为脉冲和方向分配的两个 Q 输出。

说明

如果以前从未在“CPU 属性”(CPU Properties) 中组态 PTO,则将 PTO 组态为使用其中一个板载输出。

如果使用了输出信号板,则选择“设备组态”(Device configuration) 按钮以转到“CPU 属性”(CPU Properties)。 在“参数分配”(Parameter assignment) 下的“脉冲选

项”(Pulse options) 中,将数据源组态为信号板输出。 “Pulse_1”和“Pulse_3”是信号板上提供的两个唯一脉冲输出。

    • 对其余的基本参数和扩展参数进行组态。
  1. 对应用进行编程: 将 MC_Power 指令插入代码块。
    • 对于“轴”输入,请选择已创建并组态的轴工艺对象。
    • 将 Enable 输入设置为 TRUE 可以使其它运动指令起作用。
    • 将 Enable 输入设置为 FALSE 会取消其它运动指令。说明

每个轴只包括一个 MC_Power 指令。

  1. 插入其它运动指令,以生成所需的运动。

说明

将脉冲发生器组态为信号板输出: 选择 CPU 的“脉冲发生器 (PTO/PWM)”(Pulse generators (PTO/PWM)) 属性(在“设备组态”(Device configuration) 中)并启用脉冲发生器。 每个 S7-1200 CPU V1.0、V2.0、V2.1 和 V2.2 提供两个脉冲发生器。S7-1200 CPU V3.0 CPU 提供四个脉冲发生器。 在相同组态区域的“脉冲选项”(Pulse options) 下, 选择用作以下用途的脉冲发生器: “PTO”。

说明

CPU 以 10 ms 为“时间片”或时间段计算运动任务。执行一个时间片时,下一时间片会在队列中等待执行。 如果中断某个轴上的运动任务(通过执行该轴的其它新运动任务), 可能最多要等待 20 ms(当前时间片的剩余时间加上排队的时间片)才能执行新运动任务。

      1. 组态轴

STEP 7 为“轴”工艺对象提供了组态工具、调试工具和诊断工具。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-671 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-672 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-673 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-674 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-675 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-676 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-677 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-678 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-679 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-680

5

4

3

2

1

① 驱动器 ④ 调试

② 工艺对象 ⑤ 诊断

③ 组态

说 明 PTO 需要使用高速计数器 (HSC) 的内部功能。 也就是说,在其它地方无法使用相应的高速计数器。

PTO 和 HSC 间的分配是固定的。 激活 PTO1 时,它将与 HSC1 连接。 如果激活PTO2,则它将与 HSC2 连接。 这仅适用于 S7-1200 V1.0、V2.0、V2.1 和 V2.2 CPU。S7-1200 V3.0 CPU 没有此限制。

生成脉冲时,无法监视当前值(例如,在 ID 1000 中)。

表格 9- 24 用于运动控制的 STEP 7 工具

工具 说明
组态 组态“轴”工艺对象的下列属性:

  • 要用的 PTO 的选择以及驱动器接口的组态
  • 机械的属性和驱动器(机器或系统)的传动比参数
  • 位置限制属性、动态属性和回原点属性在工艺对象的数据块中保存组态数据。
调试 无需创建用户程序即可测试轴的功能。 启动该工具时,将显示控制面板。 控制面板上提供了下列命令:

  • 启用和禁用轴
  • 在点动模式下移动轴
  • 以绝对和相对方式定位轴
  • 使轴回原点
  • 确认错误信息

可以为运动命令指定速度以及加速度/减速度。 控制面板中还将显示当前的轴状态。

诊断 监视轴和驱动器的当前状态和错误信息。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-681 为轴创建工艺对象之后,通过定义基本参数(如PTO 和驱动器接口的组态)来组态该轴。 还可以组态轴的其它属性,例如位置限制属性、动态属性和回原点属性。

注意
在用户程序中可以根据新量纲单位调整运动控制指令的输入参数的值。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-682 组态驱动器信号、驱动器机械装置和位置监视

(硬件和软件限位开关)的属性。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-683 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-684 组态急停命令的运动动态和行为。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-685 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-686 还可以组态回原点行为(被动和主动)。

使用“调试”(Commissioning) 控制面板独立于用户程序对功能进行测试。 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-687 单击“启动”(Startup) 图标对轴进行调试。

控制面板会显示轴的当前状态。 不仅可以启用和禁用轴,还可以测试轴定位(以绝对和相对方式)以及指定速度、加速度和减速度。 还可以测试回原点和点动任务。 控制面板还可用于确认错误。

组态 TO_CommandTable_PTO

可以使用工艺对象组态 CommandTable 指令。

添加工艺对象

为应用规划步

  1. 在项目树中,展开节点“工艺对象”(Technological Objects),然后选择“添加新对象”(Add new object)。
  2. 选择“CommandTable”图标(必要时可以重命名),然后单击“确定”(OK) 打开

CommandTable 对象的组态编辑器。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-688

可在“命令表”(Command Table) 组态窗口中创建所需的运动序列,并根据趋势图中的图形视图来检查结果。

可选择要用于处理命令表的命令类型。 最多可输入 32 个步。 按顺序处理命令,轻松生成复杂运动轨迹。

表格 9- 25 MC_CommandTable 命令类型

命令类型 说明
Empty 空白用作占位符,以便添加任意命令。在处理命令表时,忽略空白条目。
Halt 暂停轴。

注:该命令仅在“Velocity setpoint”命令之后使用。

命令类型 说明
Positioning Relative 根据距离定位轴。该命令将按给定的距离和速度移动轴。
Positioning Absolute 根据位置定位轴。 该命令以指定的速度将轴移到给定位置。
Velocity setpoint 按给定速度移动轴。
Wait 等待给定期间结束。 “Wait”不会停止已激活的行进运动。
Separator 在选定行上方添加“分隔”线。 利用分隔线,可在单个命令表中定义多个轨迹。

在下图中,“命令完成”(Command complete) 用作到下一步的切换。 该类切换允许设备减速到启动/停止速度,然后在下一步开始时重新加速。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-689

① 轴在两步之间减速到启动/停止速度。

在下图中,“混合运动”(Blending motion) 用作到下一步的切换。 该类切换允许设备保持现有速度进入下一步,从而使设备平稳地从一步切换到下一步。 采用混合方式可缩短完全执行某轨迹所需的总时间。 如果不采用混合方式,运行该示例将需要七秒。 如果采用混合方式,则执行时间将减少一秒,因此总时间为六秒。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-690

① 轴继续移动,并加速或减速到下一步速度,这会节省时间和减少机械磨损。

CommandTable 的运行受 MC_CommandTable 指令控制,如下所示:

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-691

运动控制指令

说 明 CPU 以 10 ms 为“时间片”或时间段计算运动任务。执行一个时间片时,下一时间片会在队列中等待执行。 如果中断某个轴上的运动任务(通过执行该轴的其它新运动任务),

可能最多要等待 20 ms(当前时间片的剩余时间加上排队的时间片)才能执行新运动任

务。

MC_Power 指令
注意
如果由于错误而将轴关闭,则在消除并确认错误后会自动再次将其启用。 这要求输入参数 Enable 的值在该过程中保持为 TRUE。

表格 9- 26 MC_Power 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-692 "MC_Power_DB"( Axis:=_multi_fb_in_, Enable:=_bool_in_, StopMode:=_int_in_, Status=>_bool_out_, Busy=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); MC_Power 运动控制指令可启用或禁用
轴。 在启用或禁用轴之前,应确保以下条
件:
  • 已正确组态工艺对象。
  • 没有未决的启用-禁止错误。
运动控制任务无法中止 MC_Power 的执

行。 禁用轴(输入参数 Enable = FALSE)

将中止相关工艺对象的所有运动控制任务。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_Power_DB”是背景 DB 的名称。

表格 9- 27 MC_Power 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Enable IN Bool
  • FALSE(默认): 所有激活的任务都将按照参数化的

“StopMode”而中止,并且轴也会停止。

  • TRUE:运动控制尝试启用轴。
StopMode IN Int
  • 0: 急停:如果禁用轴的请求未决,则轴将以组态的紧急减速度制动。 轴在达到停止后被禁用。
  • 1: 立即停止:如果禁用轴的请求未决,该轴将在不减速的情况下被禁用。 脉冲输出立即停止。
  • 2: 通过冲击控制进行急停: 如果禁用轴的请求未决,则轴将以组态的急停减速度制动。 如果激活了冲击控制,则不

考虑组态的冲击。轴在达到停止后被禁用。

Status OUT Bool 轴使能的状态:

  • FALSE:轴已禁用:
    • 轴不会执行运动控制任务并且不接受任何新任务(例外: MC_Reset 任务)。
    • 轴未回原点。
    • 禁用时,直到轴达到停止状态,状态才会更改为

FALSE。

  • TRUE:轴已启用:
    • 轴已准备好执行运动控制任务。
    • 轴启用时,直到信号“驱动器就绪”(Drive ready) 进入未决,状态才会更改为 TRUE。 如果在轴组态中未组态“驱动器就绪”(Drive ready) 驱动器接口,状态会立即更改为TRUE。
Busy OUT Bool FALSE:MC_Power 未激活。

TRUE:MC_Power 处于活动状态

Error OUT Bool FALSE:无错误

TRUE:运动控制指令“MC_Power”或关联的工艺对象出错。出错原因可在“ErrorID”和“ErrorInfo”参数中找到。

ErrorID OUT Word 参数“Error"”的错误 ID
ErrorInfo OUT Word 参数“ErrorID”的错误信息 ID

$[LVB1 (QDB1

1

6WDWXVB1

%XV\B1 (UURUB1

0&B3RZHU

$[LV 6WDWXV

(QDEOH %XV\

6WRS0RGH (UURU (UURU,' (UURU,QIR

0&B3RZHU

 

1

(QDB1 0 W

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-693 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-694 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-695 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-696 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-697 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-698 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-699 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-700 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-701 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-702 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-703

1

2

W

 

1

6WDWXVB1 0 W

1

%XV\B1 0 W

1

(UURUB1 0

0&B5HVHW 1

0&B5HVHW

$[LV 'RQH

([HFXWH %XV\

(UURU (UURU,' (UURU,QIR

$[LVB1 ([HB2

'RQHB2

%XV\B2

([HB2 0 W

1

'RQHB2 0 W

1

%XV\B2 0 W

'ULYH ,QWHUIDFH 1

'ULYH (QDEOHG 0 W

1

'ULYH 5HDG\ 0 W

① 启用轴,然后再次禁用轴。 驱动器向 CPU 返回“驱动器就绪”(Drive ready) 信号后,可通过

“Status_1”读出成功启用信息。

② 启用轴后,出现了导致轴被禁用的错误。 该错误被消除并通过“MC_Reset”进行确认。 然后再次启用该轴。

要启用组态了驱动器接口的轴,请按以下步骤操作:

          1. 检查上文所述的要求。
          2. 使用所需值初始化输入参数“StopMode”。 将输入参数“Enable”设置为 TRUE。

“驱动器已启用”(Drive enabled) 的使能输出更改为 TRUE 以启用驱动器的电源。 CPU

等待驱动器的“驱动器就绪”(Drive ready) 信号。

当“驱动器就绪”(Drive ready) 信号出现在 CPU 的已组态就绪输入中时,轴将变为启用状态。 输出参数“Status”和工艺对象变量 <轴名称>.StatusBits.Enable 指示值 TRUE。

要启用未组态驱动器接口的轴,请按以下步骤操作:

  1. 检查上文所述的要求。
  2. 使用所需值初始化输入参数“StopMode”。 将输入参数“Enable”设置为 TRUE。 轴已启用。 输出参数“Status”和工艺对象变量 <轴名称>.StatusBits.Enable 指示值 TRUE。

要禁用轴,请按以下步骤操作:

  1. 将轴切换到停止状态。

可在工艺对象变量 <轴名称>.StatusBits.StandStill 中确定轴何时处于停止状态。

  1. 达到停止状态后将输入参数“Enable”设置为 FALSE。
  2. 如果输出参数“Busy”和“Status”以及工艺对象变量 <轴名称>.StatusBits.Enable 指示值

FALSE,则禁用轴的操作已完成。

MC_Reset 指令

表格 9- 28 MC_Reset 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-704 "MC_Reset_DB"( Axis:=_multi_fb_in_, Execute:=_bool_in_, Restart:=_bool_in_, Done=>_bool_out_, Busy=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 使用 MC_Reset 指令可确认“导致轴停止的运行错误”和“组态错误”。 需要确认的错误可在“解决方法”下的“ErrorIDs 和

ErrorInfos 的列表”中找到。

使用 MC_Reset 指令前,必须已将需要
确认的未决组态错误的原因消除(例如,
通过将“轴”工艺对象中的无效加速度值更
改为有效值)。
自 V3.0 及更高版本起,在 RUN 操作模式下,Restart 命令可将轴组态下载至工
作存储器。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_Reset_DB”是背景 DB 的名称。

MC_Reset 任务无法被任何其它运动控制任务中止。 新的 MC_Reset 任务不会中止任何其它已激活的运动控制任务。

表格 9- 29 MC_Reset 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始任务
Restart IN Bool TRUE = 从装载存储器将轴组态下载至工作存储器。 只有轴处于禁用状态时才能执行该命令。
FALSE = 确认未决错误
Done OUT Bool TRUE = 错误已确认。
Busy OUT Bool TRUE = 正在执行任务。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。

ErrorID OUTP Word 参数“Error"”的错误 ID
ErrorInfo OUT Word 参数“ErrorID”的错误信息 ID

要使用 MC_Reset 确认错误,请按以下步骤操作:

          1. 检查上文所述的要求。
          2. 在 Execute 输入参数出现上升沿时开始确认错误。
          3. 当 Done 等于 TRUE 并且工艺对象变量 <轴名称>.StatusBits.Error 等于 FALSE 时, 错误已被确认。
MC_Home 指令

表格 9- 30 MC_Home 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-705 "MC_Home_DB"(

Axis:=_multi_fb_in_, Execute:=_bool_in_, Position:=_real_in_, Mode:=_int_in_, Done=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_);

使用 MC_Home 指令可将轴坐标与实际物理驱动器位置匹配。 轴的绝对定位需要回原点:

为了使用 MC_Home 指令,必须先启用轴。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_Home_DB”是背景 DB 的名称。

可使用以下类型的回原点:

  • 绝对式直接回原点 (Mode = 0): 当前轴位置被设置为参数“Position”的值。
  • 相对式直接回原点 (Mode = 1): 当前轴位置的偏移量为参数“Position”的值。
  • 被动回原点 (Mode = 2): 在被动回原点期间,指令 MC_Home 不会执行任何回原点运动。 用户必须通过其它运动控制指令来执行该步骤所需的行进运动。 检测到参考点开关时,轴将回到原点。
  • 主动回原点 (Mode = 3): 自动执行回原点步骤。

表格 9- 31 MC_Home 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_PTO 轴工艺对象
Execute IN Bool 出现上升沿时开始任务
参数和类型 数据类型 说明
Position IN Real
  • Mode = 0、2 和 3(完成回原点操作后轴的绝对位置)
  • Mode = 1(当前轴位置的校正值)

限值: -1.0e12 ≤ Position ≤ 1.0e12

Mode IN Int 回原点模式

  • 0: 绝对式直接回原点

新的轴位置为参数“Position”的位置值。

  • 1: 相对式直接回原点

新的轴位置为当前轴位置 + 参数“Position”的位置值。

  • 2: 被动回原点

根据轴组态回原点。 回原点后,参数“Position”的值被设置为新的轴位置。

  • 3: 主动回原点

按照轴组态进行参考点逼近。 回原点后,参数

“Position”的值被设置为新的轴位置。

Done OUT Bool TRUE = 任务完成
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID” 和“ErrorInfo”参数中找到。
ErrorID OUT Word 参数“Error"”的错误 ID
ErrorInfo OUT Word 参数“ErrorID”的错误信息 ID

说明

在下列情况下,轴回原点会失败:

  • 通过 MC_Power 指令禁用轴
  • 在自动控制和手动控制之间切换
  • 主动回原点开始时(成功完成回原点操作后,可再次进行轴回原点操作。)
  • 对 CPU 循环上电后
  • CPU 重新启动后(RUN-to-STOP 或 STOP-to-RUN)

要使轴回原点,请按以下步骤操作:

          1. 检查上文所述的要求。
          2. 使用相应的值初始化必要的输入参数,然后在输入参数“Execute”出现上升沿时开始回原点操作。
          3. 如果输出参数“Done”和工艺对象变量 <轴名称>.StatusBits.HomingDone 指示值

TRUE,则回原点操作完成。

表格 9- 32 超驰响应

模式 说明
0 或 1 MC_Home 任务无法被任何其它运动控制任务中止。 新的 MC_Home 任务不会中止任何已激活的运动控制任务。 位置相关的运动任务在回原点后将根据新的原点位置(Position 输入参数中的值)恢复。
2 MC_Home 任务可被下列运动控制任务中止:

MC_Home 任务 Mode = 2、3: 新 MC_Home 任务可中止以下已激活的运动控制任务。

MC_Home 任务 Mode = 2: 位置相关的运动任务在回原点后将根据新的原点位置(Position 输入参数中的值)恢复。

3 MC_Home 任务可被下列运动控制任务中止:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
新 MC_Home 任务可中止下列激活的运动控制任务:

  • MC_Home 模式 = 2、3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
MC_Halt 指令

表格 9- 33 MC_Halt 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-706 "MC_Halt_DB"(

Axis:=_multi_fb_in_, Execute:=_bool_in_, Done=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_);

使用 MC_Halt 指令可停止所有运动并将轴切换到停止状态。 停止位置未定义。

为了使用 MC_Halt 指令,必须先启用轴。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_Halt_DB”是背景 DB 的名称。

表格 9- 34 MC_Halt 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始任务
Done OUT Bool TRUE = 速度达到零
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID” 和“ErrorInfo”参数中找到。
ErrorID OUT Word 参数“Error”的错误 ID
ErrorInfo OUT Word 参数“ErrorID”的错误信息 ID

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-707

0&B0RYH9HORFLW\

1 2

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-708 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-709 9HORFLW\

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-710 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-711 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-712 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-713 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-714 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-715 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-716 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-717 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-718 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-719 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-720 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-721 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-722 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-723 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-724 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-725 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-726 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-727 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-728 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-729 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-730 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-731 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-732 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-733 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-734 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-735 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-736 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-737 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-738 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-739 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-740 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-741 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-742 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-743 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-744 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-745 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-746 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-747 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-748 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-749 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-750 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-751 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-752 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-753 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-754 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-755 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-756 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-757 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-758 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-759 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-760 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-761 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-762 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-763 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-764 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-765 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-766 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-767 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-768 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-769 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-770 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-771 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-772 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-773 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-774 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-775 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-776 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-777 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-778 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-779 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-780 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-781 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-782 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-783 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-784 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-785 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-786 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-787 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-788 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-789 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-790 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-791 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-792 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-793

$[LVB1 $[LV

,Q9HORFLW\ ,Q9HOB1

1

([HB1

([HB1

([HFXWH

%XV\

%XV\B1 0 W

    1. 9HORFLW\

1 'LUHFWLRQ

&RPPDQG$ERUWHG

(UURU

$ERUWB1

1

,Q9HOB1 0 W

0

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-794 $[LVB1 ([HB2

&XUUHQW

$[LV ([HFXWH

0&B+DOW

(UURU,' (UURU,QIR

'RQH

%XV\

'RQHB2

%XV\B2

1

%XV\B1 0 W

1

$ERUWB1 0 W

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-795 0&B +DOW

1

([HB2 0 W

1

&RPPDQG$ERUWHG $ERUWB2 (UURU

(UURU,' (UURU,QIR

'RQHB2 0 W

1

%XV\B2 0 W

1

$ERUWB2 0 W

50.0

9HORFLW\

$[LVB1 0.0 W

下面的值已在“动态 > 常规”(Dynamics > General) 组态窗口中组态: 加速度 = 10.0,减速度 = 5.0

① 轴由 MC_Halt 任务进行制动,直到进入停止状态。 轴的停止状态通过“Done_2”来指示。

② 当 MC_Halt 任务对轴进行制动处理时,另一个运动任务会中止该任务。 该中止通过“Abort_2”来标识。

超驰响应

MC_Halt 任务可被下列运动控制任务中止:

      • MC_Home Mode = 3
      • MC_Halt
      • MC_MoveAbsolute
      • MC_MoveRelative
      • MC_MoveVelocity
      • MC_MoveJog

新 MC_Halt 任务可中止下列激活的运动控制任务:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
MC_MoveAbsolute 指令

表格 9- 35 MC_MoveAbsolute 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-796 "MC_MoveAbsolute_DB"( Axis:=_multi_fb_in_, Execute:=_bool_in_, Position:=_real_in_, Velocity:=_real_in_, Done=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 使用 MC_MoveAbsolute 指令可启动轴到绝对位置的定位运动。

为了使用 MC_MoveAbsolute 指令,必须先启用轴,同时必须使其回原点。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_MoveAbsolute_DB”是背景 DB 的名称。

表格 9- 36 MC_MoveAbsolute 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始任务(默认值: False)
Position IN Real 绝对目标位置(默认值:0.0) 限值: -1.0e12 ≤ Position ≤ 1.0e12
Velocity IN Real 轴的速度(默认值:10.0)

由于组态的加速度和减速度以及要逼近的目标位置的原因, 并不总是能达到此速度。

限值: 启动/停止速度 ≤ Velocity ≤ 最大速度

Done OUT Bool TRUE = 已达到绝对目标位置
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。

ErrorID OUT Word 参数“Error”的错误 ID(默认值:0000)
ErrorInfo OUT Word 参数“ErrorID”的错误信息(默认值:0000)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-797

1 2

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-798 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-799 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-800 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-801 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-802 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-803 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-804 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-805 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-806 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-807 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-808 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-809 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-810 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-811 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-812 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-813 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-814 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-815 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-816 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-817 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-818 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-819 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-820 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-821 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-822 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-823 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-824 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-825 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-826 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-827 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-828 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-829 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-830 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-831 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-832 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-833 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-834 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-835 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-836 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-837 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-838 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-839 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-840 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-841 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-842 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-843 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-844 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-845 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-846 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-847 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-848 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-849 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-850 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-851 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-852 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-853 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-854 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-855 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-856 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-857 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-858 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-859 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-860 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-861 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-862 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-863 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-864 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-865 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-866 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-867 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-868 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-869 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-870 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-871 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-872 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-873 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-874 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-875 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-876 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-877 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-878 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-879 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-880 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-881 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-882 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-883 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-884 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-885 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-886 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-887 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-888 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-889 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-890 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-891 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-892 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-893 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-894 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-895 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-896 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-897 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-898 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-899 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-900 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-901 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-902 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-903 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-904 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-905 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-906 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-907 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-908 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-909 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-910 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-911 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-912 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-913 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-914 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-915 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-916 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-917 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-918 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-919 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-920 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-921 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-922 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-923 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-924 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-925 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-926 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-927 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-928 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-929 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-930 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-931 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-932 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-933 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-934 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-935 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-936 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-937 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-938 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-939 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-940 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-941 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-942 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-943 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-944 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-945 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-946 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-947 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-948 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-949 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-950 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-951 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-952 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-953 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-954 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-955 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-956 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-957

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-958 0&B0RYH$EVROXWH

0RYH 1 1

$[LVB1 $[LV ([HB1 ([HFXWH

1000.0 3RVLWLRQ

'RQH 'RQHB1

%XV\ %XV\B1 &RPPDQG$ERUWHG $ERUWB1

([HB1 0 W

1

'RQHB1 0 W

50.0 9HORFLW\

(UURU (UURU,'

(UURU,QIR

1

%XV\B1 0 W

1

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-959 $ERUWB1 0 W

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-960 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-961 0&B0RYH$EVROXWH

0RYH 2 1

$[LVB1 $[LV

([HB2 ([HFXWH 1500.0 3RVLWLRQ

30.0 9HORFLW\

'RQH 'RQHB2

%XV\ %XV\B2 &RPPDQG$ERUWHG

(UURU (UURU,'

(UURU,QIR

([HB2 0 W

1

'RQHB2 0 W

1

%XV\B2 0 W

9HORFLW\

$[LVB1

50.0

30.0

    1. W

1500.0

1000.0

3RVLWLRQ

$[LVB1 0.0 W

下面的值已在“动态 > 常规”(Dynamics > General) 组态窗口中组态: 加速度 = 10.0,减速度 = 10.0

① 轴在 MC_MoveAbsolute 任务的驱动下移动到绝对位置 1000.0 处。 轴到达目标位置时,通过

“Done_1”对此情况进行标识。 “Done_1”= TRUE 时,将启动另一个目标位置为 1500.0 的

MC_MoveAbsolute 任务。 由于存在响应时间(例如,用户程序的循环时间等),轴会暂时进入停止状态(请参见放大的细节图)。 轴到达新的目标位置时,通过“Done_2”对此情况进行标识。

② 当前 MC_MoveAbsolute 任务将由另一个 MC_MoveAbsolute 任务中止。 该中止通过“Abort_1”来标识。 轴随后以新的加速度移动到新的目标位置 1500.0 处。 到达新的目标位置时,通过“Done_2”对此情况进行标识。

超驰响应

MC_MoveAbsolute 任务可被下列运动控制任务中止:

      • MC_Home Mode = 3
      • MC_Halt
      • MC_MoveAbsolute
      • MC_MoveRelative
      • MC_MoveVelocity
      • MC_MoveJog

新 MC_MoveAbsolute 任务可中止下列激活的运动控制任务:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
9.3.3.6 MC_MoveRelative 指令

表格 9- 37 MC_MoveRelative 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-962 "MC_MoveRelative_DB"( Axis:=_multi_fb_in_, Execute:=_bool_in_, Distance:=_real_in_, Velocity:=_real_in_, Done=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 使用 MC_MoveRelative 指令可启动相对于起始位置的定位运动。

为了使用 MC_MoveRelative

指令,必须先启用轴。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_MoveRelative_DB”是背景 DB 的名称。

表格 9- 38 MC_MoveRelative 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始任务(默认值: False)
Distance IN Real 定位操作的行进距离(默认值:0.0) 限值: -1.0e12 ≤ Distance ≤ 1.0e12
Velocity IN Real 轴的速度(默认值:10.0)

由于组态的加速度和减速度以及要行进的距离的原因,并不总是能达到此速度。

限值: 启动/停止速度 ≤ Velocity ≤ 最大速度

Done OUT Bool TRUE = 已达到目标位置
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。

ErrorID OUT Word 参数“Error”的错误 ID(默认值:0000)
ErrorInfo OUT Word 参数“ErrorID”的错误信息(默认值:0000)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-963

0&B0RYH5HODWLYH

1 2

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-964 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-965 0RYH 1 1

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-966 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-967 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-968 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-969 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-970 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-971 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-972 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-973 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-974 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-975 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-976 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-977 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-978 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-979 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-980 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-981 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-982 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-983 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-984 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-985 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-986 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-987 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-988 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-989 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-990 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-991 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-992 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-993 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-994 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-995 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-996 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-997 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-998 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-999 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1000 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1001 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1002 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1003 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1004 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1005 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1006 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1007 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1008 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1009 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1010 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1011 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1012 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1013 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1014 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1015 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1016 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1017 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1018 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1019 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1020 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1021 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1022 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1023 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1024 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1025 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1026 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1027 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1028 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1029 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1030 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1031 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1032 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1033 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1034 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1035 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1036 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1037 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1038 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1039 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1040 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1041 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1042 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1043 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1044 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1045 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1046 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1047 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1048 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1049 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1050 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1051 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1052 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1053 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1054 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1055 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1056 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1057 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1058 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1059 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1060 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1061 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1062 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1063 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1064 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1065 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1066 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1067 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1068 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1069 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1070 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1071 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1072 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1073 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1074 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1075 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1076 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1077 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1078 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1079 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1080 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1081 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1082 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1083 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1084 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1085 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1086 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1087 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1088 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1089 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1090 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1091 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1092 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1093 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1094 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1095 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1096 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1097 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1098 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1099 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1100 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1101 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1102 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1103 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1104 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1105 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1106 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1107 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1108 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1109 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1110 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1111 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1112 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1113 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1114 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1115 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1116 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1117 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1118 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1119 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1120 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1121 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1122 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1123 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1124 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1125 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1126 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1127 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1128 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1129 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1130 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1131 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1132 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1133 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1134 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1135 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1136 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1137 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1138 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1139 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1140

$[LVB1 $[LV ([HB1 ([HFXWH

1000.0 'LVWDQFH

'RQH 'RQHB1

%XV\ %XV\B1 &RPPDQG$ERUWHG $ERUWB1

([HB1 0 W

1

%XV\B1 0 W

50.0 9HORFLW\

(UURU

(UURU,' (UURU,QIR

1

'RQHB1 0 W

1

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1141 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1142 $ERUWB1 0 W

0&B0RYH5HODWLYH

0RYH 2 1

$[LVB1 $[LV ([HB2 ([HFXWH

500.0 'LVWDQFH

30.0 9HORFLW\

'RQH 'RQHB2

%XV\ %XV\B2 &RPPDQG$ERUWHG

(UURU (UURU,' (UURU,QIR

([HB2 0 W

1

%XV\B2 0 W

1

'RQHB2 0 W

9HORFLW\

$[LVB1

50.0

30.0

0.0 W

1500.0

1000.0

3RVLWLRQ

500

500

$[LVB1

    1. W

下面的值已在“动态 > 常规”(Dynamics > General) 组态窗口中组态: 加速度 = 10.0,减速度 = 10.0

① 轴在 MC_MoveRelative 任务的驱动下移动 1000.0 的距离(“Distance”)。 轴到达目标位置时,通过“Done_1”对此情况进行标识。 “Done_1”= TRUE 时,将启动另一个行进距离为 500.0 的

MC_MoveRelative 任务。 由于存在响应时间(例如,用户程序的循环时间),轴会暂时进入停止状态(请参见放大的细节图)。 轴到达新的目标位置时,通过“Done_2”对此情况进行标识。

② 当前 MC_MoveRelative 任务将由另一个 MC_MoveRelative 任务中止。 该中止通过“Abort_1”来标识。 轴随后以新的加速度移动一段新的距离(“Distance”)500.0。 到达新的目标位置时,通过

“Done_2”对此情况进行标识。

超驰响应

MC_MoveRelative 任务可被下列运动控制任务中止:

      • MC_Home Mode = 3
      • MC_Halt
      • MC_MoveAbsolute
      • MC_MoveRelative
      • MC_MoveVelocity
      • MC_MoveJog

新 MC_MoveRelative 任务可中止下列激活的运动控制任务:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
MC_MoveVelocity 指令

表格 9- 39 MC_MoveVelocity 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1143 "MC_MoveVelocity_DB"( Axis:=_multi_fb_in_, Execute:=_bool_in_, Velocity:=_real_in_, Direction:=_int_in_, Current:=_bool_in_, InVelocity=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 使用 MC_MoveVelocity 指令以指定的速度持续移动轴。为了使用 MC_MoveVelocity

指令,必须先启用轴。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_MoveVelocity_DB”是背景 DB 的名称。

表格 9- 40 MC_MoveVelocity 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始任务(默认值: False)
Velocity IN Real 指定轴运动的速度(默认值:10.0)

限值: 启动/停止速度 ≤ |Velocity| ≤ 最大速度

(允许 Velocity = 0.0)

Direction IN Int 指定方向:

  • 0: 旋转方向与参数“Velocity”中的值符号一致(默认值)
  • 1: 正旋转方向(参数“Velocity”的值符号被忽略。)
  • 2: 负旋转方向(参数“Velocity”的值符号被忽略。)
参数和类型 数据类型 说明
Current IN Bool 保持当前速度:

  • FALSE: 禁用“保持当前速度”。 使用参数“Velocity”和

“Direction”的值。 (默认值)

  • TRUE: 激活“保持当前速度”。 不考虑参数“Velocity” 和“Direction”的值。

当轴继续以当前速度运动时,参数 "InVelocity" 返回值

TRUE.

InVelocity OUT Bool TRUE:

  • 如果“Current”= FALSE: 已达到参数“Velocity"”中指定的速度。
  • 如果 "Current" = TRUE: 轴在启动时以当前速度运动。
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。

ErrorID OUT Word 参数“Error”的错误 ID(默认值:0000)
ErrorInfo OUT Word 参数“ErrorID”的错误信息(默认值:0000)

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1144

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1145 1 2

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1146 0&B0RYH9HORFLW\

0RYH 1 1

$[LVB1

$[LV

,Q9HORFLW\ ,Q9HOB1

([HB1 0 W

([HB1 ([HFXWH

50.0 9HORFLW\

1 'LUHFWLRQ

0 &XUUHQW

%XV\ %XV\B1 &RPPDQG$ERUWHG $ERUWB1

(UURU

(UURU,' (UURU,QIR

1

%XV\B1 0 W

1

,Q9HOB1 0 W

1

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1147 $ERUWB1 0 W

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1148 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1149 0&B0RYH9HORFLW\

0RYH 2 1

$[LVB1 $[LV ([HB2 ([HFXWH

    1. 9HORFLW\

,Q9HORFLW\ ,Q9HOB2

%XV\ %XV\B2

&RPPDQG$ERUWHG

([HB2 0 W

1

%XV\B2 0 W

1 'LUHFWLRQ (UURU

0 &XUUHQW

(UURU,' (UURU,QIR

1

,Q9HOB2 0 W

50.0

9HORFLW\ 15.0

$[LVB1 0.0 W

下面的值已在“动态 > 常规”(Dynamics > General) 组态窗口中组态: 加速度 = 10.0,减速度 = 10.0

① 当前 MC_MoveVelocity 任务通过“InVel_1”来指示已达到目标速度。 该任务随后会被另一个

MC_MoveVelocity 任务中止。 该中止通过“Abort_1”来标识。 达到新的目标速度 15.0 时,将通过

“InVel_2”对此情况进行指示。 轴随后以新的恒定加速度继续移动。

② 在达到目标速度之前,当前 MC_MoveVelocity 任务会由另一个 MC_MoveVelocity 任务中止。 该中止通过“Abort_1”来标识。 达到新的目标速度 15.0 时,将通过“InVel_2”对此情况进行指示。 轴随后以新的恒定加速度继续移动。

超驰响应

MC_MoveVelocity 任务可被下列运动控制任务中止:

      • MC_Home Mode = 3
      • MC_Halt
      • MC_MoveAbsolute
      • MC_MoveRelative
      • MC_MoveVelocity
      • MC_MoveJog

新 MC_MoveVelocity 任务可中止下列激活的运动控制任务:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog

说明

速度设置为零 (Velocity = 0.0) 时的行为

“Velocity”= 0.0 的 MC_MoveVelocity 任务(如 MC_Halt 任务)可中止激活的运动任务并利用组态的减速度停止轴运动。 轴停止运动后,输出参数“InVelocity”将指示 TRUE 并至少持续一个程序循环的时间。

"“Busy”的值在减速运行期间为 TRUE,并且随“InVelocity”一起变为 FALSE。 如果设置了参数“Execute”= TRUE,则锁存“InVelocity”和“Busy”。

启动 MC_MoveVelocity 任务时,将设置工艺对象的状态位“SpeedCommand”。 轴停止运动后,将立即设置状态位“ConstantVelocity”。 启动新运动任务时,这两个位均会适应的新情况。

MC_MoveJog 指令

表格 9- 41 MC_MoveJog 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1150 "MC_MoveJog_DB"( Axis:=_multi_fb_in_, JogForward:=_bool_in_, JogBackward:=_bool_in_, Velocity:=_real_in_, InVelocity=>_bool_out_, Busy=>_bool_out_, CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 使用 MC_MoveJog 指令以指定的速度在点动模式下持续移动轴。 该指令通常用于测试和调试。

为了使用 MC_MoveJog 指令,必须先启用轴。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_MoveJog_DB”是背景 DB 的名称。

表格 9- 42 MC_MoveJog 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
JogForward1 IN Bool 只要此参数为 TRUE,轴就会以参数“Velocity”中指定的速度沿正向移动。 参数“Velocity”的值符号被忽略。 (默认值:

False)

参数和类型 数据类型 说明
JogBackward1 IN Bool 只要此参数为 TRUE,轴就会以参数“Velocity”中指定的速度沿负向移动。 参数“Velocity”的值符号被忽略。 (默认值:

False)

Velocity IN Real 点动模式的预设速度(默认值:10.0)

限值: 启动/停止速度 ≤ |Velocity| ≤ 最大速度

InVelocity OUT Bool TRUE = 已达到参数“Velocity”中指定的速度。
Busy OUT Bool TRUE = 正在执行任务。
CommandAborted OUT Bool TRUE = 任务在执行期间被另一任务中止。
Error OUT Bool TRUE = 任务执行期间出错。 出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。

ErrorID OUT Word 参数“Error”的错误 ID(默认值:0000)
ErrorInfo OUT Word 参数“ErrorID”的错误信息(默认值:0000)

1 如果 JogForward 和 JogBackward 参数同时为 TRUE,则轴将以组态后的减速度停止运动。 将通过参数

“Error”、“ErrorID”和“ErrorInfo”指示错误。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1151 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1152 1 2

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1153 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1154 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1155 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1156 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1157

W

W

W

0RYH-RJ

0&B0RYH-RJ

$[LV

,Q9HORFLW\

-RJ)RUZDUG %XV\

-RJ%DFNZDUG &RPPDQG$ERUWHG

9HORFLW\ (UURU

(UURU,'

(UURU,QIR

1

$[LVB1

-RJB)

-RJB%

50.0

,Q9HOB1

%XV\B1

-RJB) 0

1

-RJB% 0

1

,Q9HOB1 0 W

1

%XV\B1 0 W

50.0

9HORFLW\

$[LVB1 0.0

50.0

下面的值已在“动态 > 常规”(Dynamics > General) 组态窗口中组态: 加速度 = 10.0,减速度 = 5.0

① 通过“Jog_F”在点动模式下沿正方向移动轴。 达到目标速度 50.0 时,将通过“InVelo_1”对此情况进行指示。 轴会在 Jog_F 复位后再次制动直到停止。

② 通过“Jog_B”在点动模式下沿负方向移动轴。 达到目标速度 50.0 时,将通过“InVelo_1”对此情况进行指示。 轴会在 Jog_B 复位后再次制动直到停止。

超驰响应

MC_MoveJog 任务可被下列运动控制任务中止:

          • MC_Home Mode = 3
          • MC_Halt
          • MC_MoveAbsolute
          • MC_MoveRelative
          • MC_MoveVelocity
          • MC_MoveJog

新 MC_MoveJog 任务可中止下列激活的运动控制任务:

  • MC_Home Mode = 3
  • MC_Halt
  • MC_MoveAbsolute
  • MC_MoveRelative
  • MC_MoveVelocity
  • MC_MoveJog
MC_CommandTable 指令

表格 9- 43 MC_CommandTable 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1158 "MC_CommandTable_DB"( Axis:=_multi_fb_in_, CommandTable:=_multi_fb_in_, Execute:=_bool_in_, StartIndex:=_uint_in_, EndIndex:=_uint_in_, Done=>_bool_out_, Busy=>_bool_out_,

CommandAborted=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_, CurrentIndex=>_uint_out_,

Code=>_word_out_);

针对电机控制轴执行一系列单
个运动,这些运动可组合成一
个运动序列。
在脉冲串输出的工艺对象命令
(TO_CommandTable_PTO)
中,可以组态这些单个的运
动。

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_CommandTable_DB”是背景 DB 的名称。

表格 9- 44 MC_CommandTable 指令的参数

参数和类型 数据类型 初始值 说明
Axis IN TO_Axis_1 - 轴工艺对象
Table IN TO_CommandTable

_1

- 命令表工艺对象
参数和类型 数据类型 初始值 说明
Execute IN Booll FALSE 使用上升沿启动作业
StartIndex IN Int 1 从此步骤开始命令表处理

限制: 1 ≤ StartIndex ≤ EndIndex

EndIndex IN Int 32 从此步骤结束命令表处理

限制: StartIndex ≤ EndIndex ≤ 32

Done OUT Bool FALSE MC_CommandTable 处理已成功完成
Busy OUT Bool FALSE 正在运行
CommandAborted OUT Bool FALSE 该任务在处理期间被另一任务中止。
Error OUT Bool FALSE 处理时出错。 出错原因会通过参数 ErrorID

和 ErrorInfo. 指出。

ErrorID OUT Word 16#0000 错误标识符
ErrorInfo OUT Word 16#0000 错误信息
Step OUT Int 0 当前在处理的步骤
Code OUT Word 16#0000 当前处理步骤的用户定义标识符

可在“命令表”(Command Table) 组态窗口中创建所需的运动序列,并根据趋势图中的图形视图来检查结果。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1159

可选择要用于处理命令表的命令类型。 最多可输入 32 项作业。 将按顺序处理命令。

表格 9- 45 MC_CommandTable 命令类型

命令类型 说明
Empty 空白用作占位符,以便添加任意命令。 在处理命令表时,忽略空白条目。
Halt 暂停轴。

注: 该命令仅在“Velocity setpoint”命令之后使用。

Positioning Relative 根据距离定位轴。 该命令将按给定的距离和速度移动轴。
Positioning Absolute 根据位置定位轴。 该命令以指定的速度将轴移到给定位置。
Velocity setpoint 按给定速度移动轴。
Wait 等待给定期间结束。“Wait”不会停止已激活的行进运动。
Separator 在选定行上方添加“分隔”线。 利用分隔线,可在单个命令表中定义多个轨迹。

执行 MC_CommandTable 的先决条件:

  • 工艺对象 TO_Axis_PTO V2.0 必须已正确组态。
  • 工艺对象 TO_CommandTable_PTO 必须已正确组态。
  • 必须释放轴。

超驰响应

MC_CommandTable 任务可被下列运动控制任务中止:

          • MC_Home Mode = 3
          • MC_Halt
          • MC_MoveAbsolute
          • MC_MoveRelative
          • MC_MoveVelocity
          • MC_MoveJog
          • MC_CommandTable

新 MC_CommandTable 任务可中止下列激活的运动控制任务:

          • MC_Home Mode = 3
          • MC_Halt
          • MC_MoveAbsolute
          • MC_MoveRelative
          • MC_MoveVelocity
          • MC_MoveJog
          • MC_CommandTable
          • 启动第一个“Positioning Relative”、“Positioning Absolute”、

“Velocity setpoint”或“Halt”命令时的当前运动控制作业

MC_ChangeDynamic

表格 9- 46 MC_ChangeDynamic 指令

LAD/FBD SCL 说明
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1160 "MC_ChangeDynamic_DB"( Execute:=_bool_in_, ChangeRampUp:=_bool_in_, RampUpTime:=_real_in_, ChangeRampDown:=_bool_in_, RampDownTime:=_real_in_, ChangeEmergency:=_bool_in_, EmergencyRampTime:=_real_in_, ChangeJerkTime:=_bool_in_, JerkTime:=_real_in_, Done=>_bool_out_, Error=>_bool_out_, ErrorID=>_word_out_, ErrorInfo=>_word_out_); 更改运动控制轴的动态设置:

  • 更改加速时间(加速度) 值
  • 更改减速时间(减速度) 值
  • 更改急停减速时间(急停减速度)值
  • 更改平滑时间(冲击)值

1 STEP 7 会在插入指令时自动创建 DB。

2 在 SCL 示例中,“MC_ChangeDynamic_DB”是背景 DB 的名称。

表格 9- 47 MC_ChangeDynamic 指令的参数

参数和类型 数据类型 说明
Axis IN TO_Axis_1 轴工艺对象
Execute IN Bool 出现上升沿时开始命令。默认值: FALSE
ChangeRampUp IN Bool TRUE = 根据输入参数“RampUpTime”更改加速时间。默认值: FALSE
RampUpTime IN Real 在没有冲击限制的情况下,从静止状态加速到组态的最大速度的时间(以秒为单位)。默认值: 5.00

更改将会影响变量 <轴名称>。

Config.DynamicDefaults.Acceleration。更改的有效性显示在该变量的描述中。

ChangeRampDown IN Bool TRUE = 根据输入参数“RampDownTime”更改减速时间。 默认值: FALSE
参数和类型 数据类型 说明
RampDownTime IN Real 在没有冲击限制的情况下,轴从组态的最大速度减速到静止状态的时间(以秒为单位)。默认值: 5.00

更改将会影响变量 <轴名称>。

Config.DynamicDefaults.Deceleration。更改的有效性显示在该变量的描述中。

ChangeEmergency IN Bool TRUE = 根据输入参数“EmergencyRampTime”更改急停减速时间 默认值: FALSE
EmergencyRampTime IN Real 在没有冲击限制的情况下,在急停模式下,轴从组态的最大速度减速到静止状态的时间(以秒为单位)。默认值: 2.00

更改将会影响变量 <轴名称>。

Config.DynamicDefaults.EmergencyDeceleration。更改的有效性显示在该变量的描述中。

ChangeJerkTime IN Bool TRUE = 根据输入参数“JerkTime”更改平滑时间。默认值: FALSE
JerkTime IN Real 用于轴加速度和减速度的平滑时间(以秒为单位)。默认值: 0.25

更改将会影响变量 <轴名称>。

Config.DynamicDefaults.Jerk。更改的有效性显示在该变量的描述中。

Done OUT Bool TRUE = 更改的值已写入工艺数据块。 在更改生效时将显示变量的描述。默认值: FALSE
Error OUT Bool TRUE = 命令执行期间出错。出错原因可在“ErrorID”和

“ErrorInfo”参数中找到。默认值: FALSE

ErrorID OUT Word 错误标识符。默认值: 16#0000
ErrorInfo IN Word 错误信息。默认值: 16#0000

执行 MC_ ChangeDynamic 的先决条件:

  • 工艺对象 TO_Axis_PTO V2.0 必须已正确组态。
  • 必须释放轴。
超驰响应

MC_ChangeDynamic 命令无法被其它任何运动控制命令中止。

新的 MC_ChangeDynamic 命令不会中止任何已激活的运动控制作业。

说明

为输入参数“RampUpTime”、“RampDownTime”、“EmergencyRampTime”和

“RoundingOffTime”指定的值可以使生成的轴参数“加速度”(acceleration)、“延时”(delay)、

“急停延时”(emergency stop-delay) 和“冲击”(jerk) 超出允许限值。

请确保将 MC_ChangeDynamic 参数保持在轴工艺对象的动态组态设置的限制范围内。

S7-1200 的运动控制操作

        1. 用 于 运 动 控 制 的 CPU 输 出CPU 提供四个脉冲输出发生器。 每个脉冲输出发生器提供一个脉冲输出和一个方向输出,用于通过脉冲接口对步进电机驱动器或伺服电机驱动器进行控制。 脉冲输出为驱动器提供电机运动所需的脉冲。 方向输出则用于控制驱动器的行进方向。

脉冲输出和方向输出彼此互相分配的关系保持不变。 板载 CPU 输出和信号板的输出可用作脉冲和方向输出。 在设备组态期间,可以在“属性”(Properties) 选项卡的脉冲发生器

(PTO/PWM) 中,选择板载 CPU 输出或信号板输出。 只有 PTO (Pulse Train Output) 适用于运动控制。

PTO 输出生成频率可变的方波输出。 脉冲发生由通过 H/W 组态和/或 SFC/SFB 提供的组态和执行信息来控制。

在 CPU 处于 RUN 模式下时,根据用户的选择,将由存储在图像寄存器中的值或者脉冲发生器的输出来驱动数字量输出。 在 STOP 模式下,PTO 发生器不控制输出。

表格 9- 48 脉冲和方向输出的地址分配

使用运动控制的输出
脉冲 方向
PTO 0
内置 I/O Q0.0 Q0.1
SB I/O Q4.0 Q4.1
PTO 1
内置 I/O Q0.2 Q0.3
SB I/O Q4.2 Q4.3
使用运动控制的输出
PTO 2
内置 I/O Q0.41 Q0.51
SB I/O Q4.0 Q4.1
PTO 3
内置 I/O Q0.62 Q0.72
SB I/O Q4.2 Q4.3

1 CPU 1211C 没有输出 Q0.4、Q0.5、Q0.6 或 Q0.7。因此这些输出不能在 CPU 1211C 中使用。

2 CPU 1212C 没有输出 Q0.6 或 Q0.7。因此这些输出不能在 CPU 1212C 中使用。

3 该表适用于 CPU 1211C、CPU 1212C、CPU 1214C 以及 CPU 1215C PTO 功能

驱动器接口

对于运动控制,可以选择将驱动器接口组态为“驱动器启用”或“驱动器准备就绪”。 使用驱动器接口时,针对“驱动器启用”可选择数字量输出,针对“驱动器准备就绪”可选择数字量输入。

说明

如果已选择 PTO (Pulse Train Output) 并将其分配给某个轴,固件将通过相应的脉冲和方向输出接管控制。

在实现上述控制功能接管后,将断开过程映像和 I/O 输出间的连接。 虽然用户可通过用户程序或监视表格写入脉冲输出和方向输出的过程映像,但所写入的内容不会传送到 I/O 输出。 因此通过用户程序或监视表格无法监视 I/O 输出。 读取的信息只反映过程映像中的值,与 I/O 输出的实际状态并不完全一致。

对于 CPU 固件非永久使用的其它所有 CPU 输出,通常可以通过过程映像监控 I/O 输出的状态。

用于运动控制的硬件和软件限位开关

硬件和软件限位开关用于限制轴的“允许行程范围”和“工作范围”。

$

%

&

机械停止块 A 允许的轴行程范围
硬件下限和上限 B 轴的工作范围
软件下限和上限 C 距离

在组态中或用户程序中使用硬件和软件限位开关之前,必须事先将其激活。 只有在轴回原点之后,才可以激活软件限位开关。

硬件限位开关

硬件限位开关确定轴的最大行程范围。 硬件限位开关是物理开关元件,必须与 CPU 中具有中断功能的输入相连接。 仅使用逼近后始终保持切换的硬件限位开关。 只有在返回到允许的行程范围后,该切换状态才会发生改变。

表格 9- 49 脉冲发生器的可用输入

说明 RPS LIM- LIM+
PTO 0
内置 I/O I0.0 - I1.5
SB I/O I4.0 - I4.3
PTO 1
内置 I/O I0.0 - I1.5
SB I/O I4.0 - I4.3
PTO 2
内置 I/O I0.0 - I1.5
SB I/O I4.0 - I4.3
PTO 3
说明 RPS LIM- LIM+
内置 I/O I0.0 - I1.5
SB I/O I4.0 - I4.3

逼近硬件限位开关时,轴将以所组态的紧急减速度制动直到停止。 指定的紧急减速度必须足够大,才能确保在机械停止块前使轴停止。 下图显示了轴逼近硬件限位开关后的轴行为。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1161 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1162 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1163 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1164

$

1

1

&

%

'

(

)

'

2

2

① 轴将以所组态的紧急减速度制动直到停止。

② 硬件限位开关产生“已逼近”状态信号的范围。

          1. [速度]
          2. 允许的行程范围
          3. 距离
          4. 机械停止块
          5. 下限硬件限位开关
          6. 上限硬件限位开关
西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1165警告
如果数字量输入通道的滤波时间更改自以前的设置,则新的“0”电平输入值可能需要保持长达 20.0 ms 的累积时间,然后滤波器才会完全响应新输入。 在此期间,可能不会检测到持续时间少于 20.0 ms 的短“0”脉冲事件或对其计数。

滤波时间的这种更改会引发意外的机械或过程操作,这可能会导致人员死亡、重伤和/或 设备损坏。

为了确保新的滤波时间立即生效,必须关闭 CPU 电源后再开启。

软件限位开关

软件限位开关将限制轴的“工作范围”。 它们位于限制行程范围的相关硬件限位开关内。由于软件限位开关的位置可以灵活设置,所以可以根据当前的运行轨迹和具体要求来限定轴的工作范围。 与硬件限位开关不同,软件限位开关只通过软件来实现,而无需借助自身的开关元件。

如果软件限位开关激活,则在软件限位开关所在的位置将停止当前的运动。 轴将以所组态的减速度制动。 下图显示了轴到达软件限位开关前的行为。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1166 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1167

$

1

1

&

%

' (

① 轴将以所组态的减速度制动直到停止。

  1. [速度]
  2. 工作范围
  3. 距离
  4. 下限软件限位开关
  5. 上限软件限位开关

如果机械停止块位于软件限位开关的后面并且有发生机械损坏的风险,则需要使用附加的硬件限位开关。

更多信息

用户程序可通过启用或禁用硬件和软件的限位功能来消除硬件或软件限位。 可通过轴 DB

进行选择。

  • 要启用或禁用硬件限位功能,请访问 DB 路径“<轴名称>/Config/PositonLimits_HW”中的“Active”变量 (Bool)。 “Active”变量的状态可启用或禁用硬件限位的使用。
  • 要启用或禁用软件限位功能,请访问 DB 路径“<轴名称>/Config/Position Limits_SW

中的“Active”变量 (Bool)。 此“Active”变量的状态可启用或禁用软件限位。

还可以利用用户程序修改软件限位(例如,提高机器设置的灵活性或缩短机器转换时间)。 用户程序可以将新值写入 DB 路径“<轴名称>/Config/PositionLimits_SW”的

“ MinPosition”和“ MaxPosition”变量中(采用 Real 格式的工程单位)。

回原点

回原点是指轴坐标与实际的物理驱动器位置匹配。 (如果驱动器当前位于位置 x,则轴将被调整为位于位置 x。)对于位置受控制的轴,位置输入与显示值指的就是这些轴坐标。

说明

轴坐标必需与实际情形相一致。 如果要确保通过驱动器也能准确到达轴的绝对目标位置,上述步骤必不可缺。

MC_Home 指令可启动轴的回原点操作。

有 4 种不同的回原点功能。 前两种功能允许用户设置轴的当前位置,后两种功能可相对于回原点参考传感器放置轴。

  • 模式 0 - 绝对式直接参考: 指令执行时,此模式将告知轴它的确切位置。 该模式将内部位置变量设置为回原点指令的 Position 输入的值。 此模式用于机器校准和设置。

轴位置的设置与参考点开关无关。 也不会终止当前的行进运动。 MC_Home 指令的

Position 输入参数的值将被立即设置为轴的参考点。 要将参考点分配给具体的机械位置,在执行回原点操作时轴必须停止在该位置。

  • 模式 1 - 相对式直接参考: 指令执行时,该模式将使用内部位置变量并加上回原点指令的 Position 输入的值。 考虑到机器偏移时通常使用此模式。

轴位置的设置与参考点开关无关。 也不会终止当前的行进运动。 以下语句适用于回到原点后轴的定位: 新轴位置 = 当前轴位置 + MC_Home 指令的 Position 参数的值。

  • 模式 2 - 被动参考: 当轴在移动的过程中经过参考点开关时,当前位置将设置为回原点位置。 此功能有助于应对正常的机器磨损和齿轮间隙,从而无需对磨损进行手动补偿。 如前所述,回原点指令的 Position 输入将添加到参考点开关指示的位置,从而可轻松补偿回原点位置。

在被动回原点期间,指令 MC_Home 不会执行任何回原点运动。 用户必须通过其它运动控制指令来执行该步骤所需的行进运动。检测到参考点开关时,将根据组态使轴回到原点。 被动回原点启动时,不会中止当前的行进运动。

  • 模式 3 - 主动参考: 此模式是最精确的使轴回原点方法。 运动的初始方向和速度在工艺对象组态扩展参数 Homing 中进行组态。 这取决于机器的配置。 还可以确定参考点开关信号的上升沿或下降沿是否是回原点位置。 几乎所有传感器都具有一个有效范围;如果“稳态开启”位置用作回原点信号,则回原点位置可能会出现错误,因为“开启”

信号有效范围将覆盖距离范围。 利用该信号的上升沿或下降沿,可得到更加精确的回原点位置。 与其它所有模式一样,回原点指令的 Position 输入的值将被添加到硬件参考位置。

在主动回原点模式下,MC_Home 指令执行所需的参考点逼近。检测到参考点开关时,将根据组态使轴回到原点。 同时终止当前的行进运动。

模式 0 和模式 1 不需要移动轴。 这两种模式通常用在设置和校准中。 模式 2 和模式 3 需要轴运动并经过在“轴”工艺对象中组态为参考点开关的传感器。 参考点可放在轴的工作区内或放在常规工作区外、运动范围内。

回原点参数的组态

在“回原点”(Homing) 组态窗口中,组态主动和被动回原点参数。 可以使用运动控制指令中“Mode”输入参数设置回原点方法。 其中,Mode = 2 表示被动回原点,Mode = 3 表示主动回原点。

注意
采用以下措施之一可确保机器在发生反向时不会行进到机械停止块:

  • 保持较低的逼近速度
  • 增大组态的加速度/减速度
  • 增大硬件限位开关和机械停止块间的距离

表格 9- 50 使轴回原点的参数组态

参数 说明
输入参考点开关

(主动和被动回原点)

从下拉列表框中为参考点开关选择数字量输入。 输入必须具有中断功能。板载 CPU 输入和所插入信号板输入都可以选作参考点开关的输入。

数字量输入的默认滤波时间是 6.4 ms。采用数字量输入作为参考点开关的输入时,可能引起意外减速,从而导致出现误差。 由于速度降低和参考点开关的范围的原因,可能检测不到参考点。 可以在数字量输入的设备组态的“输入滤波器”(Input filter) 中设置滤波时间。

指定的滤波时间必须小于参考点开关的输入信号的持续时间。

到达硬件限位开关后自动反转

(仅限主动回原点)

激活该复选框,可将硬件限位开关用作指示参考点逼近的反向凸轮。 必须组态硬件限位开关并激活反向功能。

如果在主动回原点期间到达硬件限位开关,轴将以组态的减速度减速(不是以紧急减速度),然后反向。 然后反向检测参考点开关。

如果未激活反向功能且在主动回原点期间轴到达硬件限位开关,将因错误取消参考点逼近并按紧急减速度使轴制动。

逼近方向

(主动和被动回原点)

通过方向选择,可以决定主动回原点期间用于搜索参考点开关的“逼近方向”以及回原点的方向。 回原点方向将指定执行回原点操作时轴用于逼近

组态的参考点开关侧的行进方向。

参考点开关

(主动和被动回原点)

  • 主动回原点: 选择将在参考点开关的左侧还是右侧对轴进行参考。 根据轴的起始位置和回原点参数的组态,参考点逼近顺序可能与组态窗口中图示的顺序不同。
  • 被动回原点: 对于被动回原点,必须由用户通过运动命令来执行回原点的行进运动。 回原点发生在参考点开关的哪一侧取决于以下因素:
    • “逼近方向”组态
    • “参考点开关”组态
    • 被动回原点期间的当前行进方向
逼近速度

(仅限主动回原点)

指定参考点逼近期间搜索参考点开关的速度。限值(与所选的用户单位无关):

启动/停止速度 ≤ 逼近速度 ≤ 最大速度

参数 说明
减小的速度

(仅限主动回原点)

指定轴逼近回原点参考点开关的速度。限值(与所选的用户单位无关):

启动/停止速度 ≤ 减小的速度 ≤ 最大速度

回原点位置偏移

(仅限主动回原点)

如果期望的参考点与参考点开关的位置有偏移,则可在该字段中指定回原点位置偏移。

如果值不等于 0,轴回到参考点开关位置后将执行以下动作:

  1. 以减小的速度使轴移动回原点位置偏移值。
  2. 到达回原点位置偏移的位置后,将该轴位置设置为绝对参考位置。 并通过运动控制指令“MC_Home”的参数“Position”,指定该绝对参考位置。

限值(与所选的用户单位无关):

-1.0e12 ≤ 回原点位置偏移 ≤ 1.0e12

表格 9- 51 影响回原点的因素

影响因素: 结果:
组 态 逼近方向 组 态 参考点开关 当前的行进方向 回原点发生在参考点开关
正方向 “左(负)侧” 正方向
负方向 右侧
正方向 “右(正)侧” 正方向 右侧
负方向
负方向 “左(负)侧” 正方向 右侧
负方向
负方向 “右(正)侧” 正方向
负方向 右侧
主动回原点的顺序

使用运动控制指令“MC_Home”(输入参数 Mode = 3),可以启动主动回原点。 在这种情况下,可以通过输入参数“Position”来指定绝对参考点的坐标。 也可以在控制面板上启动主动回原点,以便进行测试。

下图举例说明了使用以下组态参数时主动参考点逼近的特征曲线:

  • “逼近方向”=“正方向逼近”
  • “参考点开关”=“右(正)侧”
  • “回原点位置偏移”值 > 0

表格 9- 52 MC 回原点的速度特性曲线

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1168

操作 备注
$

཰ ཱ

ི %

- +

& '

A 逼近速度
B 减小的速度
C 归位位置坐标
D 回原点位置偏移
搜索阶段(蓝色曲线段): 主动回原点开始时,轴加速到组态的“逼近速度”并以该速度搜索参考点开关。
参考点逼近(红色曲线段): 检测到参考点开关时,本示例中的轴将制动并反向,以“减小的速度” 在组态的参考点开关侧回原点。
行进到参考点位置(绿色曲线段): 轴回原点到参考点开关位置后,轴将以“减小的速度”行进到“参

考点坐标”。 到达“参考点坐标”时,轴将立即停止在指令 MC_Home 的 Position 输入参数中指定的位置值处。

说明

如果回原点搜索没有按照预期的那样运行,请检查分配给硬件限位或参考点的输入。 可能已经在设备配置中禁用了这些输入的沿中断。

请检查相关轴工艺对象的组态数据,以查看为“HW Low Limit Switch Input”、“HW High Limit Switch Input”和“Input reference point switch”分配了哪些输入(如果有)。 然后打开 CPU 的设备配置,检查所分配的每个输入。 确认是否选择了“启用上升沿检测”(Enable rising edge detection) 和“启用下降沿检测”(Enable falling edge detection)。 如果未选择这些属性,请删除轴组态中指定的输入,然后再次选择这些属性。

冲击限制

利用冲击限制可在加速和减速斜坡期间减小机械装置上的应力。 步进限制器处于激活状态时,加速度和减速度的值不会突然发生变化;该值会在转换阶段进行调整。 下图显示了不使用冲击限制和使用冲击限制时的速度和加速度曲线。

表格 9- 53 冲击限制

不使用步进限制器时的曲线 使用步进限制器时的曲线
Y Y

D

W

W

W
D  

 

  W

冲击限制使轴运动的速度曲线变得“平滑”。 例如,这可以确保传送带实现软启动和软制动。

调试

“状态和错误位”诊断功能

诊断功能“状态和错误位”(Status and error bits) 用于监视轴的最重要状态和错误消息。当轴激活时,可以在在线模式下以“手动控制”模式和“自动控制”模式显示诊断功能。

表格 9- 54 轴的状态

状态 说明
启用 轴已启用且准备好接受运动控制任务的控制。

(工艺对象的变量:<轴名称>.StatusBits.Enable)

已回原点 轴已回原点且能够执行运动控制指令“MC_MoveAbsolute”的绝对定位任务。对于相对 回原点而言,轴不必回原点。特殊情况:

  • 主动回原点期间,该状态为 FALSE。
  • 如果回原点的轴经受被动回原点,则在被动回原点期间该状态设置为 TURE。

(工艺对象的变量:<轴名称>.StatusBits.HomingDone)

错误 “轴”工艺对象发生错误。有关错误的更多信息,请参见自动控制模式下的运动控制指令 的 ErrorID 和 ErrorInfo 参数。在手动模式下,控制面板中的“上一错误”(Last error) 字段显示更多错误原因信息。

(工艺对象的变量: <轴名称>.StatusBits.Error)

控制面板激活 在控制面板中启用了“手动控制”模式。控制面板对“轴”工艺对象具有优先控制权。不能 通过用户程序来控制轴。

(工艺对象的变量: <轴名称>.StatusBits.ControlPanelActive)

表格 9- 55 驱动器状态

状态 说明
驱动器准备就绪 驱动器准备好运行。

(工艺对象的变量:<轴名称>.StatusBits.DriveReady)

错误 驱动器在其准备就绪信号故障后报告了错误。

(工艺对象的变量: <轴名称>.ErrorBits.DriveFault)

表格 9- 56 轴运动的状态

状态 说明
停止 轴处于停止状态。

(工艺对象的变量:<轴名称>.StatusBits.StandStill)

加速 轴在加速。

(工艺对象的变量:<轴名称>.StatusBits.Acceleration)

恒速 轴在恒速运转。

(工艺对象的变量:<轴名称>.StatusBits.ConstantVelocity)

减速 轴在减速(速度下降)。

(工艺对象的变量:<轴名称>.StatusBits.Deceleration)

表格 9- 57 运动模式的状态

状态 说明
定位 轴在执行运动控制指令“MC_MoveAbsolute”或“MC_MoveRelative”或者控制面板的定位任务。

(工艺对象的变量:<轴名称>.StatusBits.PositioningCommand)

速度命令 轴在以运动控制指令“MC_MoveVelocity”或“MC_MoveJog”或者控制面板的设置速度执行任务。

(工艺对象的变量:<轴名称>.StatusBits.SpeedCommand)

回原点 轴在执行运动控制指令“MC_Home”或者控制面板的回原点任务。

(工艺对象的变量:<轴名称>.StatusBits.Homing)

表格 9- 58 错误位

错误 说明
到达最小软件限位 已到达下限软件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.SwLimitMinReached)

超出最小软件限位 已超出下限软件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.SwLimitMinExceeded)

到达最大软件限位 已到达上限软件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.SwLimitMaxReached)

错误 说明
超出最大软件限位 已超出上限软件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.SwLimitMaxExceeded)

负硬件限位 已逼近下限硬件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.HwLimitMin)

正硬件限位 已逼近上限硬件限位开关。

(工艺对象的变量:<轴名称>.ErrorBits.HwLimitMax)

PTO 和 HSC 已使用 另一个轴正在使用相同的 PTO 和 HSC 并且该轴已启用“MC_Power”。

(工艺对象的变量:<轴名称>.ErrorBits.HwUsed)

组态错误 错误地组态了“轴”工艺对象,或者在用户程序运行期间错误地修改了可编辑的 组态数据。

(工艺对象的变量:<轴名称>.ErrorBits.ConfigFault)

常规错误 发生内部错误。

(工艺对象的变量:<轴名称>.ErrorBits.SystemFault)

“运动状态”诊断功能

诊断功能“运动状态”(Motion status) 用于监视轴的运动状态。当轴激活时,可以在在线模式下以“手动控制”模式和“自动控制”模式显示诊断功能。

表格 9- 59 运动状态

状态 说明
目标位置 “目标位置”(Target position) 字段指示运动控制指令“MC_MoveAbsolute”或

“MC_MoveRelative”或者控制面板的激活定位任务的当前目标位置。“目标位置”(Target position) 的值仅在定位任务执行期间有效。

(工艺对象的变量:<轴名称>.MotionStatus.TargetPosition)

当前位置 “当前位置”(Current position) 字段指示当前轴位置。如果轴未回原点,则该值是相对于轴启用位置的位置值。

(工艺对象的变量:<轴名称>.MotionStatus.Position)

当前速度 “当前速度”(Current velocity) 字段指示轴的实际速度。

(工艺对象的变量:<轴名称>.MotionStatus.Velocity)

表格 9- 60 动态限制

动态限制 说明
速度 “速度”(Velocity) 字段指示组态的最大轴速度。

(工艺对象的变量:<轴名称>.Config.DynamicLimits.MaxVelocity)

加速度 “加速度”(Acceleration) 字段指示当前组态的轴的加速度。

(工艺对象的变量:<轴名称>.Config.DynamicDefaults.Acceleration)

减速度 “减速度”(Deceleration) 字段指示当前组态的轴的减速度。

(工艺对象的变量:<轴名称>.Config.DynamicDefaults.Deceleration)

监视激活的命令

监视具有输出参数“Done”的 MC 指令

具有输出参数“Done”的运动控制指令通过输入参数“Execute”启动,并且具有明确的结论

(例如,对于运动控制指令“MC_Home”: 回原点已成功)。任务完成后,轴处于停止状态。

          • 如果任务已功完成,则输出参数“Done”的值为 TRUE。
          • 输出参数“Busy”、“CommandAborted”和“Error”发出信号,指示任务仍在处理、已中 止或有未决的错误。运动控制指令“MC_Reset”无法中止,所以没有输出参数

“CommandAborted”。

在运动控制任务处理期间,输出参数“Busy”的值为 TRUE。如果任务已完成、中止或因错误停止,则输出参数“Busy”的值将变为 FALSE。无论输入参数“Execute”的信号状态是什么,都会发生这种变化。

输出参数“Done”、“CommandAborted”和“Error”的值至少在一个周期内都为

TRUE。当输入参数“Execute”设置为 TRUE 时,将锁存这些状态消息。以下运动控制指令的任务具有明确的结论:

          • MC_Reset
          • MC_Home
          • MC_Halt
          • MC_MoveAbsolute
          • MC_MoveRelative

下图针对各种示例情况显示了状态位的操作。

  • 第一个示例显示了已完成的任务的轴行为。如果运动控制任务已在对其下结论前完全执行,则通过输出参数“Done”的 TURE 值对此进行指示。 输入参数“Execute”的信号状态影响输出参数“Done”中的显示持续时间。
  • 第二个示例显示了已中止的任务的轴行为。如果运动控制任务在执行期间中止,则通过输出参数“CommandAborted”的 TURE 值对此进行指示。 输入参数“Execute”的信号状态影响输出参数“CommandAborted”中的显示持续时间。
  • 第三个示例显示了出现错误时的轴行为。如果在运动控制任务执行期间出错,则通过输出参数“Error”的 TURE 值对此进行指示。 输入参数“Execute”的信号状态影响输出参数“Error”中的显示持续时间。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1169 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1170

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1171 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1172 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1173 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1174 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1175 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1176

表格 9- 61 示例 1 - 任务完成执行

 

 

1

([HFXWH 0

 

 

%XV\ 1

0

 

 

1

'RQH 0

 

 

 

1

&RPPDQG

$ERUWHG 0

 

1

(UURU 0

 

1 2 3 5

如果在处理任务期间“Execute”= FALSE

 

 

1

([HFXWH 0

 

 

%XV\ 1

0

 

 

1

'RQH 0

 

 

 

1

&RPPDQG

$ERUWHG 0

 

1

(UURU 0

 

1 2 3 4

如果在完成任务后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”在任务执行期间仍然可能重置为

FALSE 值,或者保持为 TURE 值,直到任务完成为止。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 任务结束后(例如,对于运动控制指令“MC_Home”: 回原点已成功),输出参数“Busy”的值变为

FALSE,并且“Done”的值变为 TRUE。

④ 如果“Execute”的值在任务完成之前保持为 TRUE,则“Done”的值也将保持为 TRUE 并且其值随

“Execute”一起变为 FALSE。

⑤ 如果“Execute”已在任务完成之前设置为 FALSE,则“Done”的值仅在一个执行周期内为 TRUE。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1177 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1178 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1179 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1180

表格 9- 62 示例 2 - 中止任务

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1181 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1182 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1183 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1184 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1185 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1186

Abort

1

([HFXWH 0

%XV\ 1

0

1

'RQH 0

1

&RPPDQG 0

$ERUWHG

1

(UURU 0

1 2 3 5

如果任务中止之前“Execute”= FALSE

Abort

1

([HFXWH 0

%XV\ 1

0

1

'RQH 0

1

&RPPDQG 0

$ERUWHG

1

(UURU 0

1 2 3 4

如果任务中止之后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”在任务执行期间仍然可能重置为

FALSE 值,或者保持为 TURE 值,直到任务完成为止。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 在任务执行期间,任务被其它运动控制任务中止。如果任务中止,输出参数“Busy”的值将变为 FALSE

且“CommandAborted”的值将变为 TRUE。

④ 如果“Execute”的值在任务中止之前保持为 TRUE,则“CommandAborted”的值也将保持为 TRUE 并且其值随“Execute”一起变为 FALSE。

⑤ 如果“Execute”已在任务中止之前设置为 FALSE,则“CommandAborted”的值仅在一个执行周期内为

TRUE。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1187 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1188 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1189 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1190

表格 9- 63 示例 3 - 任务执行期间出错

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1191 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1192 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1193 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1194

Error

1

([HFXWH 0

%XV\ 1

0

1

'RQH 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 5

如果出现错误之前“Execute”= FALSE

Error

1

([HFXWH 0

%XV\ 1

0

1

'RQH 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 4

如果出现错误之后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”在任务执行期间仍然可能重置为

FALSE 值,或者保持为 TURE 值,直到任务完成为止。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 任务执行期间出错。出错时,输出参数“Busy”的值将变为 FALSE 且“Error”的值将变为 TRUE。

④ 如果“Execute”的值在出错之前保持为 TRUE,则“Error”的值也将保持为 TRUE 并且其值仅随“Execute” 一起变为 FALSE。

⑤ 如果“Execute”已在出错之前设置为 FALSE,则“Error”的值仅在一个执行周期内为 TRUE。

监视 MC_Velocity 指令

运动控制指令“MC_MoveVelocity”的任务持续以指定的速度执行。

          • 未明确定义运动控制指令“MC_MoveVelocity”任务的结束。第一次达到设置的速度且轴恒速运转时,就实现了任务目标。如果达到设置的速度,则通过输出参数

“InVelocity”的 TURE 值对此进行指示。

          • 已达到设置的速度且输入参数“Execute”的值已设置为 FALSE 时,任务完成。然而, 在任务完成时轴运动尚未完成。例如,可以使用运动控制任务“MC_Halt”停止轴运动。
          • 输出参数“Busy”、“CommandAborted”和“Error”发出信号,指示任务仍在处理、已中 止或有未决的错误。

在运动控制任务执行期间,输出参数“Busy”的值为 TRUE。如果任务已完成、中止或因错误停止,则输出参数“Busy”的值将变为 FALSE。无论输入参数“Execute”的信号状态是什么,都会发生这种变化。

当输出参数“InVelocity”、“CommandAborted”和“Error”的条件满足时,它们的值至 少在一个周期内都为 TRUE。当输入参数“Execute”设置为 TRUE 时,将锁存这些状态消息。

下图针对各种示例情况显示了状态位的操作。

          • 第一个示例显示了轴达到设置的速度时的行为。如果运动控制任务已在达到设置的速度前完成执行,则通过输出参数“InVelocity”的 TURE 值对此进行指示。 输入参数

“Execute”的信号状态影响输出参数“InVelocity”中的显示持续时间。

          • 第二个示例显示了在达到设置的速度之前中止任务时的轴行为。如果运动控制任务在达到设置速度前中止,则通过输出参数“CommandAborted”的 TURE 值对此进行指示。输入参数“Execute”的信号状态影响输出参数“CommandAborted”中的显示持续时 间。
          • 第三个示例显示了在达到设置的速度之前出错时的轴行为。如果在运动控制任务执行期间,达到设置速度之前出错,则通过输出参数“Error”的 TURE 值对此进行指示。 输入参数“Execute”的信号状态影响输出参数“Error”中的显示持续时间。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1195

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1196 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1197 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1198

表格 9- 64 示例 1 - 如果达到设置的速度

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1199 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1200 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1201 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1202

 

 

1

([HFXWH 0

 

 

%XV\ 1

0

 

 

1

,Q9HORFLW\ 0

 

 

 

1

&RPPDQG 0

$ERUWHG

 

1

(UURU 0

 

1 2 3 5

如果达到组态的速度之前“Execute”= FALSE

1

([HFXWH 0

%XV\ 1

0

1

,Q9HORFLW\ 0

1

&RPPDQG 0

$ERUWHG

1

(UURU 0

1 2 3 4

如果达到组态的速度之后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”的值可在达到设置的速度前重置为

FALSE,也可在达到设置的速度后重置为 FALSE。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 达到设置的速度时,输出参数“InVelocity”的值变为 TRUE。

④ 如果“Execute”的值在达到设置的速度后仍保持为 TRUE,则任务将保持激活状态。 "“InVelocity”和

“Busy”的值保持为 TRUE 并且其状态仅随“Execute”一起变为 FALSE。

⑤ 如果“Execute”已在达到设置的速度前重置为 FALSE,则任务将在达到设置的速度时完成。 "InVelocity”

的值仅在一个执行周期内为 TRUE,并且随“Busy”一起变为 FALSE。

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1203 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1204 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1205 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1206 表格 9- 65 示例 2 - 如果任务在达到设置速度前中止

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1207 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1208 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1209 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1210

Abort

1

([HFXWH 0

%XV\ 1

0

1

,Q9HORFLW\ 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 5

如果任务中止之前“Execute”= FALSE

Abort

1

([HFXWH 0

%XV\ 1

0

1

,Q9HORFLW\ 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 4

如果任务中止之后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”在任务执行期间仍然可以被重置为

FALSE 值,或者保持为 TURE 值,直到任务中止为止。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 在任务执行期间,任务被其它运动控制任务中止。如果任务中止,输出参数“Busy”的值将变为 FALSE

且“CommandAborted”的值将变为 TRUE。

④ 如果“Execute”的值在任务中止之前保持为 TRUE,则“"CommandAborted”的值也将保持为 TRUE 并且其状态随“Execute”一起变为 FALSE。

⑤ 如果“Execute”已在任务中止之前重置为 FALSE,则“CommandAborted”的值仅在一个执行周期内为

TRUE。

说明

在以下条件下,输出参数“CommandAborted”不指示出现中止:

  • 已达到设置的速度,输入参数“Execute”的值为 FALSE,并且已启动一个新的运动控制任务。
  • 达到设置的速度并且输入参数“Execute”的值为 FALSE 时,任务完成。所以不会将新任务的启动指示为中止。

表格 9- 66 示例 3 - 如果在达到设置的速度之前出错

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1211 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1212 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1213 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1214 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1215 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1216 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1217 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1218 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1219 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1220

Error

1

([HFXWH 0

%XV\ 1

0

1

,Q9HORFLW\ 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 5

如果出现错误之前“Execute”= FALSE

Error

1

([HFXWH 0

%XV\ 1

0

1

,Q9HORFLW\ 0

1

&RPPDQG

$ERUWHG 0

1

(UURU 0

1 2 3 4

如果出现错误之后“Execute”= FALSE

① 输入参数“Execute”的上升沿时启动任务。根据编程情况,“Execute”在任务执行期间仍然可以被重置为

FALSE 值,或者保持为 TURE 值,直到出现错误为止。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 任务执行期间出错。出错时,输出参数“Busy”的值将变为 FALSE 且“Error”的值将变为 TRUE。

④ 如果“Execute”的值在出错之前保持为 TRUE,则“Error”的值也将保持为 TRUE 并且其状态仅随

“Execute”一起变为 FALSE。

⑤ 如果“Execute”已在出错之前重置为 FALSE,则“Error”的值仅在一个执行周期内为 TRUE。

说明

在以下条件下,输出参数“Error”不指示出现错误:

  • 已达到设置的速度,输入参数“Execute”的值为 FALSE,并且发生轴错误(例如,逼近软件限位开关)。
  • 达到设置的速度并且输入参数“Execute”的值为 FALSE 时,任务完成。任务完成后, 轴错误仅在运动控制指令“MC_Power”中指示。
监视 MC_MoveJog 指令

运动控制指令“MC_MoveJog”的任务是实现点动操作。

          • 运动控制任务“MC_MoveJog”的结束没有明确的定义。第一次达到设置的速度且轴恒速运转时,就实现了任务目标。如果达到设置的速度,则通过输出参数“InVelocity”的

TURE 值对此进行指示。

          • 输入参数“JogForward”或“JogBackward”的值已设置为 FALSE 并且轴已停止时,命令完成。
          • 输出参数“Busy”、“CommandAborted”和“Error”发出信号,指示任务仍在处理、已中 止或有未决的错误。

在运动控制任务处理期间,输出参数“Busy”的值为 TRUE。如果任务已完成、中止或因错误停止,则输出参数“Busy”的值将变为 FALSE。

只要轴在以设置的速度运转,输出参数“InVelocity”的值就为 TRUE。输出参数

“CommandAborted”和“Error”保持该状态至少一个周期。只要输入参数

“JogForward”或“JogBackward”设置为 TRUE,就锁存这些状态消息。下图针对各种示例情况显示了状态位的操作。

          • 第一个示例显示了达到并保持设置的速度时的轴行为。如果运动控制任务已在达到设置的速度前完成执行,则通过输出参数“InVelocity”的 TURE 值对此进行指示。
          • 第二个示例显示了任务中止时的轴行为。如果运动控制任务在执行期间中止,则通过输出参数“CommandAborted”的 TURE 值对此进行指示。该行为与是否达到设置的速度无关。
          • 第三个示例显示了出现错误时的轴行为。如果在运动控制任务执行期间出错,则通过输出参数“Error”的 TURE 值对此进行指示。该行为与是否达到设置的速度无关。

表格 9- 67 示例 1 - 如果达到并保持设置的速度

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1221 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1222 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1223 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1224 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1225 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1226 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1227 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1228 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1229 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1230

-RJ)RUZDUG 1

0

-RJ)RUZDUG 1

0

-RJ%DFNZDUG 1

0

%XV\ 1

0

1

,Q9HORFLW\ 0

&RPPDQG 1

$ERUWHG 0

(UURU 1

0

JogBackward

-RJ%DFNZDUG 1

0

%XV\ 1

0

,Q9HORFLW\ 1

0

&RPPDQG

$ERUWHG

1

0

(UURU 1

0

1 2 3 4 5 1 2 3 4 5
JogForward
① 输入参数“JogForward”或“JogBackward”的上升沿时启动任务。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 达到设置的速度时,输出参数“InVelocity”的值变为 TRUE。

④ 输入参数“JogForward”或“JogBackward”的值重置为 FALSE 时,轴运动结束。轴开始减速。结果,轴不再恒速运转并且输出参数“InVelocity”的状态变为 FALSE。

⑤ 如果轴已停止,则运动控制任务完成并且输出参数“Busy”的值将变为 FALSE。

表格 9- 68 示例 2 - 如果任务在执行期间中止

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1231 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1232 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1233 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1234

-RJ)RUZDUG 1

0

-RJ%DFNZDUG 1

0

%XV\ 1

0

,Q9HORFLW\ 1

0

&RPPDQG 1

$ERUWHG 0

(UURU 1

0

JogForward

Abort

1 2

3 4 -RJ)RUZDUG 1

0

-RJ%DFNZDUG 1

0

1

%XV\ 0

,Q9HORFLW\ 1

0

&RPPDQG 1

$ERUWHG 0

1

(UURU 0

JogBackward

Abort

1 2

3 4
① 输入参数“JogForward”或“JogBackward”的上升沿时启动任务。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 在任务执行期间,任务被其它运动控制任务中止。如果任务中止,输出参数“Busy”的值将变为 FALSE

且“CommandAborted”的值将变为 TRUE。

④ 输入参数“JogForward”或“JogBackward”的值重置为 FALSE 时,输出参数“CommandAborted”的值将变为 FALSE。

说明

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1235 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1236 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1237 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1238 如果满足以下所有条件,则在输出参数“CommandAborted”中指示任务中止并且仅持续一 个执行周期:

输入参数“JogForward”和“JogBackward”的值为 FALSE(但轴仍在减速),并且新的运动控制任务已启动。

表格 9- 69 示例 3 - 如果在任务执行期间出错

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1239 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1240 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1241 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1242 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1243 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1244

Error -RJ)RUZDUG 1

0

-RJ%DFNZDUG 1

0

%XV\ 1

0

,Q9HORFLW\ 1

0

&RPPDQG 1

$ERUWHG 0

(UURU 1

0

JogBackward

Error
-RJ)RUZDUG 1

0

-RJ%DFNZDUG 1

0

%XV\ 1

0

,Q9HORFLW\ 1

0

&RPPDQG 1
$ERUWHG 0
(UURU 1

0

1 2 3 4 1 2 3 4
JogForward
① 输入参数“JogForward”或“JogBackward”的上升沿时启动任务。

② 任务激活期间,输出参数“Busy”的值为 TRUE。

③ 任务执行期间出错。出错时,输出参数“Busy”的值将变为 FALSE 且“Error”的值将变为 TRUE。

④ 输入参数“JogForward”或“JogBackward”的值重置为 FALSE 时,输出参数“Error”的值将变为 FALSE。

说明

西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1245 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1246 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1247 西门子s7-1200 工艺指令 功能指令 西门子s71200指令手册-1248 如果满足以下所有条件,则在输出参数“Error”中指示出错并且仅持续一个执行周期:

输入参数“JogForward”和“JogBackward”的值为 FALSE(但轴仍在减速),并且发生新错误(例如,逼近软件限位开关)。

weinxin
plc入门知识问答
每一个PLC工程师都应该关注的微信公众账号,只需输入您的问题,就会有答案

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: