SIMATIC S7-1200,CPU 1215C, 紧凑型 CPU,DC/DC/继电器, 2 个 PROFINET 端口, 机载 I/O: 14 个 24V DC 数字输入;10 DO 继电器 2A, 2 AI 0-10V DC,2 AO 0-20mA DC, 电源:直流 20.4-28.8V DC, 程序存储器/数据存储器 125 KB
如果尚未对该 OB 进行编程,那么发生以上任意情况时,CPU 将保持在 RUN 模式。 表格 5-8 机架或站故障 OB 的启动信息 输入 数据类型 说明 LADDR HW_IO 硬件标识符 Event_Class Byte 16#38:离开事件 16#39:进入事件 Fault_ID Byte 故障标识符 5.1.3.10 时钟 OB 时钟 OB 根据所组态的时钟时间条件执行。CPU 支持两个时钟 OB。 时钟事件 可将时钟中断事件组态为在某个指定的日期或时间发生一次,或者按照以下周期之一循环发 生: • 每分钟:每分钟发生中断。 • 每小时:每小时发生中断。 • 每天:在每天的指定时间(小时和分钟)发生中断。 • 每周:在每周指定日期的指定时间(例如,每周二下午 4:30)发生中断。 • 每月:在每月指定日期的指定时间发生中断。日期编号必须介于 1 和 28 之间(包括 1 和 28)。 • 每个月末:在每个月*后一天的指定时间发生中断。 • 每年:在每年的指定日期(月和日)发生中断。不能指定 2 月 29 日。 表格 5-9 时钟事件 OB 的启动信息 输入 数据类型 描述 CaughtUp Bool 已向前设置时间,因此满足 OB 调用 SecondTim e Bool 已向后设置时间,因此第二次启动 OB 调用 PLC 概念 5.1 用户程序的执行 S7-1200 可编程控制器 80 系统手册, V4.6 11/2022, A5E02486685-AP 5.1.3.11 状态 OB 如果 DPV1 或 PNIO 从站触发状态中断,则执行状态 OB。如果 DPV1 或 PNIO 从站的组件(模 块或机架)更改了其工作模式(例如由 RUN 变为 STOP),则可能发生这种情况。 状态事件 有关可触发状态中断的事件的详细信息,请参见 DPV1 或 PNIO 从站的制造商文档。 表格 5-10 状态 OB 的启动信息 输入 数据类型 说明 LADDR HW_IO 硬件标识符 Slot UInt 插槽号 Specifier Word 报警说明符 5.1.3.12 更新 OB 如果 DPV1 或 PNIO 从站触发更新中断,则执行更新 OB。 更新事件 有关可触发更新中断的事件的详细信息,请参见 DPV1 或 PNIO 从站的制造商文档。 表格 5-11 更新 OB 的启动信息 输入 数据类型 说明 LADDR HW_IO 硬件标识符 Slot UInt 插槽号 Specifier Word 报警说明符 5.1.3.13 配置文件 OB 如果 DPV1 或 PNIO 从站触发配置文件特定的中断,则执行配置文件 OB。 PLC 概念 5.1 用户程序的执行 S7-1200 可编程控制器 系统手册, V4.6 11/2022, A5E02486685-AP 81 配置文件事件 有关可触发配置文件中断的事件的详细信息,请参见 DPV1 或 PNIO 从站的制造商文档。 表格 5-12 配置文件 OB 的启动信息 输入 数据类型 说明 LADDR HW_IO 硬件标识符 Slot UInt 插槽号 Specifier Word 报警说明符 5.1.3.14 MC 伺服和 MC 插补器 OB 在创建运动工艺对象并将驱动器接口设置为“模拟驱动器接口”(Analog drive connection) 或 “PROFIDrive”时,STEP 7 会自动创建只读 MC 伺服和 MC 插补器 OB。用户无需编辑任何 OB 属性,也无需直接创建此 OB。CPU 将这些 OB 用于闭环控制。有关更多详细信息,请参见 STEP 7 信息系统。 5.1.**** MC-PreServo 可以对 MC-PreServo OB 进行编程,使其包含程序逻辑:在 MC-Servo OB 执行前直接执行 STEP 7 程序。 MC-PreServo 事件 MC-PreServo OB 使您可读取所组态的应用周期信息(单位为 µs)。 表格 5-13 MC-PreServo OB 的起始信息 输入 数据类型 说明 Initial_Call BOOL TRUE 表示从 STOP 转为 RUN 的过程中首次调用该 OB PIP_Input BOOL TRUE 表示相关的过程映像输入为*新值。 PIP_Output BOOL TRUE 表示在*后一个周期后,CPU 将相关的过程映像输出适 时传送到输出中。 IO_System USINT 触发中断的分布式 I/O 系统的编号 Event_Count INT n:丢失的循环数 -1:丢失的循环数未知(例如,由于更改了循环
配置文件事件
有关可触发配置文件中断的事件的详细信息,请参见 DPV1 或 PNIO 从站的制造商文档。
表格 5-12 配置文件 OB 的启动信息
输入 数据类型 说明
LADDR HW_IO 硬件标识符
Slot UInt 插槽号
Specifier Word 报警说明符
5.1.3.14 MC 伺服和 MC 插补器 OB
在创建运动工艺对象并将驱动器接口设置为“模拟驱动器接口”(Analog drive connection) 或
“PROFIDrive”时,STEP 7 会自动创建只读 MC 伺服和 MC 插补器 OB。用户无需编辑任何 OB
属性,也无需直接创建此 OB。CPU 将这些 OB 用于闭环控制。有关更多详细信息,请参见
STEP 7 信息系统。
5.1.**** MC-PreServo
可以对 MC-PreServo OB 进行编程,使其包含程序逻辑:在 MC-Servo OB 执行前直接执行
STEP 7 程序。
MC-PreServo 事件
MC-PreServo OB 使您可读取所组态的应用周期信息(单位为 µs)。
表格 5-13 MC-PreServo OB 的起始信息
输入 数据类型 说明
Initial_Call BOOL TRUE 表示从 STOP 转为 RUN 的过程中首次调用该 OB
PIP_Input BOOL TRUE 表示相关的过程映像输入为*新值。
PIP_Output BOOL TRUE 表示在*后一个周期后,CPU 将相关的过程映像输出适
时传送到输出中。
IO_System USINT 触发中断的分布式 I/O 系统的编号
Event_Count INT n:丢失的循环数
-1:丢失的循环数未知(例如,由于更改了循环)
PLC 概念
5.1 用户程序的执行
S7-1200 可编程控制器
82 系统手册, V4.6 11/2022, A5E02486685-AP
输入 数据类型 说明
Synchronous BOOL 预留
CycleTime UDINT 显示为 MC-Servo OB 组态的应用周期,单位为 μs
5.1.3.16 MC-PostServo
可以对 MC-PreServo OB 进行编程,使其包含程序逻辑:在 MC-Servo OB 执行后直接执行
STEP 7 程序。
MC-PostServo 事件
MC-PreServo OB 使您可读取所组态的应用周期信息(单位为 µs)。
表格 5-14 MC-PostServo OB 的起始信息
输入 数据类型 说明
Initial_Call BOOL TRUE 表示从 STOP 转为 RUN 的过程中首次调用该 OB
PIP_Input BOOL TRUE 表示相关的过程映像输入为*新值。
PIP_Output BOOL TRUE 表示在*后一个周期后,CPU 将相关的过程映像输出适
时传送到输出中。
IO_System USINT 触发中断的分布式 I/O 系统的编号
Event_Count INT n:丢失的循环数
-1:丢失的循环数未知(例如,由于更改了循环)
Synchronous BOOL 预留
CycleTime UDINT 显示为 MC-Servo OB 组态的应用周期,单位为 μs
5.1.3.17 事件执行的优先级与排队
事件控制着 CPU 的执行。事件会触发要执行的中断 OB。可以在块的创建期间、设备配置期
间或使用 ATTACH 或 DETACH 指令指定事件的中断 OB。有些事件定期发生,例如,程序循
环或循环事件。而其它事件只发生一次,例如,启动事件和延时事件。还有一些事件则在硬
件触发事件时发生,例如,输入点上的沿事件或高速计数器事件。诊断错误和时间错误等事
件只在出现错误时发生。事件优先级和队列用于确定事件中断 OB 的处理顺序。
CPU 按照优先级顺序处理事件,1 为*低优先级,26 为*高优先级。可在 OB 属性的属性中
为 OB 分配优先级等级。
PLC 概念
5.1 用户程序的执行
S7-1200 可编程控制器
系统手册, V4.6 11/2022, A5E02486685-AP 83
可中断与不可中断执行模式
OB (页 72) 按照其触发事件的优先级顺序执行。在 CPU 设备组态的启动属性 (页 149)中,您
可以将 OB 执行组态为可中断或不可中断。请注意,程序循环 OB 始终为可中断,但可将其
它所有 OB 组态为可中断或不可中断。
如果设置了可中断模式,则在执行 OB 并且 OB 执行结束前发生了更高优先级的事件时,将
中断正在运行的 OB,以允许更高优先级的事件 OB 运行。运行更**别的事件直至结束后,
才会继续执行之前中断的 OB。如果执行可中断 OB 时发生多个事件,CPU 将按照优先级顺
序处理这些事件。
如果未设置可中断模式,则无论触发的 OB 在运行期间是否触发了其它任何事件,都将继续
运行直至结束。
考虑以下两种情况,其中中断事件触发循环 OB 和延时 OB。在这两种情况中,延时 OB
(OB 201) 没有过程映像分区分配(页65)并且以优先级 4 执行。循环 OB (OB 200) 分配了 PIP1
过程映像分区并且以优先级 2 执行。下图显示了不可中断执行模式与可中断执行模式下执行
OB 的区别:
ᗚ⧟䰤䳄ᐢ䗷 ᔦᰦᇊᰦಘᰦ
䰤ᐢ䗷
3,3ޕ߉
3,3ޕ߉
䈫ਆ3,3
䈫ਆ3,3
ᢗ㹼2%
ᢗ㹼2%
ᢗ㹼2%
ᰦ䰤
ᢗ㹼2%˄㔝˅
图 5-1 情况 1:不可中断 OB 执行
ᢗ㹼2%
ᰦ䰤
䈫ਆ3,3 ᢗ㹼2% ᢗ㹼2%˄㔝˅ ޕ߉3,3
ޕ߉3,3 䈫ਆ3,3 ᢗ㹼2% ᢗ㹼2%˄㔝˅
ᗚ⧟䰤䳄ᐢ䗷 ᔦᰦᇊᰦಘᰦ
䰤ᐢ䗷
图 5-2 情况 2:可中断 OB 执行
说明
如果将 OB 执行模式组态为不可中断,则时间错误 OB 不能中断除程序循环 OB 以外的 OB。
在 S7-1200 CPU V4.0 之前的版本中,时间错误 OB 可中断任何正在执行的 OB。为了使时间
错误 OB 或其它高优先级 OB 能够中断 OB,必须将 OB 执行组态为可中断。
PLC 概念
5.1 用户程序的执行
S7-1200 可编程控制器
84 系统手册, V4.6 11/2022, A5E02486685-AP
了解事件执行的优先级与排队
CPU 通过各种事件类型的不同队列限制单一来源的未决(排队的)事件数量。达到给定事件
类型的未决事件限值后,下一个事件将丢失。可以使用时间错误中断 OB (页 75) 响应队列溢
出。
请注意,STEP 7 可
用于组态循环中断
OB 和时间 OB 的一
些特定事件队列参
数。
有关 CPU 过载行为和事件排队的更多详细信息,请参见 STEP 7 Information System。
每个 CPU 事件都具有相关优先级。通常,CPU 按优先级顺序处理事件(优先级*高的*先
进行处理)。对于优先级相同的事件,CPU 按照“先到先得”的原则进行处理。
表格 5-15 OB 事件
事件 允许的数量 默认 OB 优先级
程序循环 1 个程序循环事件
允许多个 OB
1
1
启动 1 个启动事件 1
允许多个 OB
1
1
延时 *多 4 个时间事件
每个事件 1 个 OB
OB 20:3
OB 21:4
OB 22:5
OB 23:6
OB 123 至
OB 32767:3