浔之漫智控技术(上海)有限公司为西门子授权代理商,代理西门子PLC全系列产品,千万库存,一站式采购。欢迎来电合作
西门子S7-1200 CPU订货信息
6ES7211-1BE40-0XB0 CPU 1211C AC/DC/Rly,6输入/4输出,集成2AI
6ES7211-1AE40-0XB0 CPU 1211C DC/DC/DC,6输入/4输出,集成2AI
6ES7211-1HE40-0XB0 CPU 1211C DC/DC/Rly,6输入/4输出,集成2AI
6ES7212-1BE40-0XB0 CPU 1212C AC/DC/Rly,8输入/6输出,集成2AI
6ES7212-1AE40-0XB0 CPU 1212C DC/DC/DC,8输入/6输出,集成2AI
6ES7212-1HE40-0XB0 CPU 1212C DC/DC/Rly,8输入/6输出,集成2AI
6ES7214-1BG40-0XB0 CPU 1214C AC/DC/Rly,14输入/10输出,集成2AI
6ES7214-1AG40-0XB0 CPU 1214C DC/DC/DC,14输入/10输出,集成2AI
6ES7214-1HG40-0XB0 CPU 1214C DC/DC/Rly,14输入/10输出,集成2AI
6ES7215-1BG40-0XB0 CPU 1215C AC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7215-1AG40-0XB0 CPU 1215C DC/DC/DC,14输入/10输出,集成2AI/2AO
6ES7215-1HG40-0XB0 CPU 1215C DC/DC/Rly,14输入/10输出,集成2AI/2AO
6ES7217-1AG40-0XB0 CPU 1217C DC/DC/DC,14输入/10输出,集成2AI/2AO
在 RUN 模式下处理扫描周期
在每个扫描周期中,CPU都会写入输出、读取输入、执行用户程序、更新通信模块以及响应用户中断事件和通信请 求。 在扫描期间会定期处理通信请求。以上操作(用户中断事件除外)按先后顺序定期进行处理。 对于已启用的用户中断事件,将根据优先级按其发生顺序进行处理。对于中断事件,如果适用的话,CPU 将读取输入、执行 OB,使用关联的过程映像分区 (PIP) 写入输出。
系统要保证扫描周期在一定的时间段内(即大循环时间)完成;否则将生成时间错误事件
●在每个扫描周期的开始,从过程映像重新获取数字量及模拟量输出的当前值,将 其写入到 CPU、SB 和 SM 模块上组态为自动 I/O更新(默认组态)的物理输出。 通过指令访问物理输出时,输出过程映像和物理输出本身都将被更新。
● 随后在该扫描周期中,将读取 CPU、SB 和 SM模块上组态为自动 I/O 更新(默认组态)的数字量及模拟量输入的当前值,将这些值写入过程映像。通过指令访问物理输入时,指令将访问物理输入的值,但输入过程映像不会更新。
●读取输入后,系统将从条指令开始执行用户程序,一直执行到后一条指令。 其中包括所有的程序循环 OB 及其所有关联的 FC 和 FB。程序循环 OB 根据 OB 编号依次执行,OB 编号小的先执行。
在扫描期间会定期处理通信请求,这可能会中断用户程序的执行。自诊断检查包括定期检查系统和检查 I/O 模块的状态。 中断可能发生在扫描周期的任何阶段,并且由事件驱动。 事件发生时,CPU将中断扫描循环,并调用被组态用于处理该事件的 OB。 OB 处理完该事件后,CPU 从中断点继续执行用户程序。
组织块 (OB)
OB 控制用户程序的执行。CPU中的特定事件将触发组织块的执行。OB 无法互相调用。FC 或 FB 不能调用 OB。只有发生诊断中断或时间间隔这类事件才能启动 OB的执行。CPU 按照 OB 对应的优先级对其进行处理,遵从高优先级在前低优先级在后的顺序执行 OB。低优先等级为1(对应主程序循环),高优先等级为 26。
程序循环 OB
程序循环 OB 在 CPU 处于 RUN模式时循环执行。主程序块是一种程序循环 OB。您可在此处放置控制程序的说明和调用其他用户块。您可以拥有多个程序循环 OB,CPU将按编号顺序执行这些 OB。主 (OB 1) 是默认程序循环。
程序循环事件
程序循环事件在每个程序循环(扫描)期间发生一次在程序循环期间,CPU写入输出、读取输入和执行程序循环 OB。程序循环事件是必需的,并且一直启用。可以不为程序循环事件选择任何程序循环 OB,也可以选择多个OB。程序循环事件发生后,CPU 将执行编号小的程序循环 OB(通常为“Main”OB 1)。在程序循环中,CPU会依次(按编号顺序)执行其它程序循环 OB。程序循环执行,将在以下时刻发生程序循环事件:
● 上一个启动 OB 执行结束
● 上一个程序循环 OB 执行结束
启动 OB
启动 OB 在 CPU 的操作模式从 STOP 切换到 RUN时执行一次,包括处于 RUN 模式时和执行 STOP 到 RUN 切换命令时上电。之后将开始执行主“程序循环”OB。
启动事件在从 STOP 切换到 RUN 模式时发生一次,并触发CPU 执行启动 OB。 可为启动事件组态多个 OB。 启动 OB 按编号顺序执行。
延时中断 OB:延时中断 OB在组态的时延后执行。
将延时中断事件组态为在经过一个指定的延时后发生。 延迟时间可通过SRT_DINT 指令分配。 延时事件将中断程序循环以执行相应的延时中断 OB。只能将一个延时中断 OB 连接到一个延时事件。 CPU支持四个延时事件。
循环中断 OB以指定的时间间隔执行。多可组态四个循环中断事件,每个循环中断事件对应一个 OB。
循环中断事件:用户可通过循环中断事件组态中断 OB在组态的周期时间执行。创建循环中断 OB 时即可组态初始周期时间。循环事件负责中断程序循环并执行相应的循环中断OB。请注意,循环中断事件的优先级比程序循环事件更高。 一个循环事件只可连接一个循环中断 OB。可为每一个循环中断分配一个相移,从而使循环中断彼此错开一定的相移量执行。例如, 如果有 5 ms 的循环事件和 10 ms的循环事件,并且这两个事件每 10 毫秒发生一次。如果将 5 ms 的事件相移 1 到 4 ms,将 10 ms 的事件相移 0ms,则这两个事件不再会发生。 默认相位偏移为 0。要更改初始相移,或更改循环事件的循环时间,请执行以下步骤: 1.在项目树中右键单击循环中断 OB。 2. 从上下文菜单中选择“属性”(Properties)。 3. 单击“循环中断 [OB30]”(Cyclic interrupt [OB 30]) 对话框中的“循环中断”(Cyclicinterrupt),输入新的初始值。大相移为 6000 ms(6 秒)或为大循环时间,选择两者中的较小者。
还可以用 Query 循环中断 (QRY_CINT) 和 Set 循环中断 (SET_CINT)指令在程序中查询并更改扫描时间和相移。SET_CINT 指令设置的扫描时间和相移不会在上电循环或切换到 STOP模式的过程中保持不变;扫描时间和相移值会在上电循环或切换到 STOP 模式后重新变为初始值。CPU 共支持四个循环中断事件。
硬件中断 OB
硬件中断 OB 在发生相关硬件事件时执行。硬件中断 OB 将中断正常的循环程序执行来响应硬件事件信号。
硬件发生变化时将触发硬件中断事件,例如输入点上的上升沿/下降沿事件或者 HSC(High SpeedCounter,高速计数器)事件。S7-1200 支持为每个硬件中断事件使用一个中断OB。可在设备组态中启用硬件事件,并在设备组态中为事件分配 OB,也可在用户程序中通过 ATTACH 指令进行分配。CPU支持多个硬件中断事件。具体的可用事件由 CPU 型号和输入点数决定。 硬件中断事件数具有以下限制: 沿: ● 上升沿事件:多 16 条● 下降沿事件:多 16 条 HSC 事件: ● CV=PV:多 6 个 ● 方向更改:多 6 条 ● 外部复位:多 6 条
时间错误中断 OB
如已组态,那么当扫描周期超过大周期时间或发生时间错误事件时,将执行时间错误中 断 OB (OB80)。如已触发,错误中断将中断正常的循环程序执行或其它任何事件 OB。发生任何上述事件都将生成一个描述相应事件的诊断缓冲区条目。无论是否存在时间错误 中断 OB,都将生成诊断缓冲区条目。