6ES7321-1BH10-0AA0
6ES7321-1BH10-0AA0
CPU 支持以下类型的代码块,使用它们可以创建有效的用户程序结构:
组织块 (OB) 定义程序的结构。 有些 OB 具有预定义的行为和启动事件,但用户也可以创建具有自定义启动事件的 OB。
功能 (FC) 和功能块 (FB) 包含与特定任务或参数组合相对应的程序代码。 每个 FC 或 FB 都提供一组输入和输出参数,用于与调用块共享数据。 FB 还使用相关联的数据块(称为背景数据块)来保存该 FB 调用实例的数据值。 可多次调用 FB,每次调用都采背景数据块。 调用带有不同背景数据块的同一 FB 不会对其它任何背景数据块的数据值产生影响。
数据块 (DB) 存储程序块可以使用的数据。
用户程序的执行顺序是:从一个或多个在进入 RUN 模式时运行一次的可选启动组织块 (OB) 开始,然后执行一个或多个循环执行的程序循环 OB。还可以将 OB 与中断事件关联,该事件可以是标准事件或错误事件。当发生相应的标准或错误事件时,即会执行这些 OB。
功能 (FC) 或功能块 (FB) 是指可从 OB 或其它 FC/FB 调用的程序代码块,可下至以下嵌套深度:
16(从程序循环 OB 或启动 OB 开始)
6(从任意中断事件 OB 开始)
FC 不与任何特定数据块 (DB) 相关联。FB 与 DB 直接相关并使用该 DB 传递参数及存储中间值和结果。
用户程序、数据及组态的大小受 CPU 中可用装载存储器和工作存储器的限制。对各个 OB、FC、FB 和 DB 块的数目没有特殊限制。但是块的总数限制在 1024 之内。
每个周期都包括写入输出、读取输入、执行用户程序指令以及执行后台处理。该周期称为扫描周期或扫描。
S7‑1200 自动化解决方案可由配备 S7‑1200 CPU 和附加模块的中央机架组成。术语“中央机架”表示 CPU 和关联模块采用导轨或面板式安装。只有在通电时才会对模块(SM、SB、BB、CB、CM 或 CP)进行检测和记录。
不支持通电时在中央机架中插入或拔出模块(热插拔)。切勿在 CPU 通电时在中央机架中插入或拔出模块。
warning
警告
插入或拔出模块的安全要求
在 CPU 通电时在中央机架中插入或拔出模块(SM、SB、BB、CD、CM 或 CP)可能导致不可预知的行为,从而导致设备受损和/或人员受伤。
在中央机架中插入或拔出模块前,请务必切断 CPU 和中央机架的电源并遵守相应的安全预防措施。
可在 CPU 通电时插入或拔出 SIMATIC 存储卡。但在 CPU 处于 RUN 模式时插入或拔出存储卡会使 CPU 进入 STOP 模式。
注意
CPU 处于 RUN 模式时拔出存储卡的风险
在 CPU 处于 RUN 模式时插入或拔出存储卡会使 CPU 进入 STOP 模式,这可能导致受控的设备或过程受损。
只要插入或拔出存储卡,CPU 就立即进入 STOP 模式。在插入或拔出存储卡前,务必确保 CPU 当前未控制任何机器或过程。因此务必要为您的应用或过程安装急停电路。
如果在 CPU 处于 RUN 模式时在分布式 I/O 机架(AS‑i、PROFINET 或 PROFIBUS)中插入或拔出模块,CPU 将在诊断缓冲区中生成一个条目,若存在拔出或插入模块 OB 则执行该 OB,并且默认保持在 RUN 模式。
过程映像更新与过程映像分区
CPU 伴随扫描周期使用内部存储区(即过程映像)对本地数字量和模拟量 I/O 点进行同步更新。过程映像包含物理输入和输出(CPU、信号板和信号模块上的物理 I/O 点)的快照。
可组态在每个扫描周期或发生特定事件中断时在过程映像中对 I/O 点进行更新。也可对 I/O 点进行组态使其排除在过程映像的更新之外。例如,当发生如硬件中断这类事件时,过程可能只需要特定的数据值。通过为这些 I/O 点组态映像过程更新,使其与分配给硬件中断 OB 的分区相关联,就可避免在过程不需要持续更新时,CPU 于每个扫描周期中执行不必要的数据值更新。
对于需要在每个扫描周期进行更新的 I/O,CPU 将在每个扫描周期期间执行以下任务:
CPU 将过程映像输出区中的输出值写入到物理输出。
CPU 仅在用户程序执行前读取物理输入,并将输入值存储在过程映像输入区。这样一来,这些值便将在整个用户指令执行过程中保持一致。
CPU 执行用户指令逻辑,并更新过程映像输出区中的输出值,而不是写入实际的物理输出。
这一过程通过在给定周期内执行用户指令而提供一致的逻辑,并防止物理输出点可能在过程映像输出区中多次改变状态而出现抖动。
为控制在每个扫描周期或在事件触发时是否自动更新 I/O 点,S7-1200 提供了五个过程映像分区。个过程映像分区 PIP0 用于每个扫描周期都自动更新的 I/O,此为默认分配。其余四个分区 PIP1、PIP2、PIP3 和 PIP4 可用于将 I/O 过程映像更新分配给不同的中断事件。在设备组态中将 I/O 分配给过程映像分区,并在创建中断 OB 或编辑 OB 属性时将过程映像分区分配给中断事件。
默认情况下,在设备视图中插入模块时,STEP 7 会将其 I/O 过程映像更新为“自动更新”(Automatic update)。对于组态为“自动更新”(Automatic update) 的 I/O,CPU 将在每个扫描周期自动处理模块和过程映像之间的数据交换。
与西门子S7-200 plc不同,S7-300/400 PLC的电路块没有专用的指令。如图1所示的并联块,实际就是把两个虚线框当做两个块,再将两个块做或运算。如图2所示的串联块,实际就是把两个虚线框当做两个块,再将两个块做与运算。
图1 并联块示例
图2 串联块示例
位逻辑指令用于二进制数的逻辑运算。位逻辑运算的结果简称为RLO。
位逻辑指令是常用的指令之一,主要有与指令、与非指令、或指令、或非指令、置位指令、复位指令和输出指令等。
A (And):与指令表示串联的常开触点,检测信号1,与And关联。
O(Or):或指令表示并联的常开触点,检测信号1,与Or关联。
AN (AndNot):与非指令表示串联的常闭触点,检测信号0,与And Not关联。
ON (OrNot):或非指令表示并联的常闭触点,检测信号0,与Or Not关联。
输出指令“=”将操作结果RLO赋值给地址位,与线圈相对应。
与、与非及输出指令示例如图1所示,图中左侧是梯形图,右侧是与梯形图对应的指令表。当常开触点I0.0和常闭触点I0.2都接通时,输出线圈Q0.0得电(Q0.0=1),Q0.0=1实际上就是运算结果RLO的数值,I0.0和I0.2是串联关系。
图1 与、与非及输出指令示例
或、或非及输出指令示例如图2所示,当常开触点I0.0、常开触点Q0.0和常闭触点M0.0有一个接通时,输出线圈Q0.0得电(Q0.0=1),I0.0、Q0.0和M0.0是并联关系。
图2 或、或非及输出指令示例
实验条件:
电脑已安装的软件 Wincc 7.3 、 TIA博途 V13 、STEP 7 Professional SP1 for V13.0、S7-plcSIM V13.0 SP1 Upd1
实验步骤:
1、 TIA新建项目,新建设备,控制器CPU选1500系列任一型号,我用的1515-2PN,添加一个输入模块,并设置好
2、 添加几个实验变量
3、 在控制面板里设置PG/PC接口
4、 点击工具栏红色圆圈位置的图标打开仿真软件,下载组态好的PLC和程序,空程序也不影响实验
点击RUN按钮运行仿真
5、 新建wincc项目,打开变量管理器,右键单击变量管理,添加新的驱动程序通道
6、 在OMS下新建连接,右键设置连接参数
7、 然后读取AS符号,这里需要注意,此操作必须是wincc的运行系统已经激活,否则会提示错误
8、 变量加载成功
9、选择需要访问的变量,会发现被选择的变量自动添加到了变量标签页内