PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 121|回复: 0

[西门子] 西门子 S7-1200 什么是执行用户程序?

[复制链接]
发表于 2024-8-16 21:14:54 | 显示全部楼层 |阅读模式
>
1.   执行用户程序  1.1  CPU支持的代码块CPU支持多种类型的代码块,它们共同构成了用户程序的有效结构:
(1)组织块(OB):这些块定义了程序的结构框架。有些OB具有预设的行为和启动条件,用户也可以自定义启动条件的OB。
(2)功能(FC)和功能块(FB):它们包含了针对特定任务或参数组合的程序代码。每个FC或FB都设有一组输入输出参数,用于与调用它们的块共享数据。特别的是,FB还会关联一个数据块(称为背景数据块),用于保存该FB每次调用时的数据值。同一个FB可以被多次调用,每次调用都会使用一个独立的背景数据块,这样就不会相互影响。FC和FB的嵌套深度有限制:从程序循环OB或启动OB开始,最多可以嵌套16层;而从任意中断事件OB开始,则最多只能嵌套6层。
(3)数据块(DB):用于存储程序块可以使用的数据。  
用户程序的执行顺序是这样的:
首先,当系统进入RUN模式时,会运行一些可选的启动OB(这些OB只运行一次)。接着,程序会循环执行一个或多个程序循环OB。此外,OB还可以与中断事件关联,当发生相应的标准事件或错误事件时,就会执行这些OB。  需要注意的是,FC并不与任何特定的数据块(DB)相关联,而FB则直接与DB相关联,并通过该DB来传递参数以及存储中间值和结果。  用户程序、数据及组态的大小会受到CPU中可用装载存储器和工作存储器的限制。虽然对各个OB、FC、FB和DB的数目没有特殊限制,但是块的总数不能超过1024个。每个扫描周期或扫描都包括写入输出、读取输入、执行用户程序指令以及执行后台处理。S7-1200自动化解决方案通常由配备S7-1200 CPU和附加模块的中央机架组成。这个“中央机架”就是CPU和关联模块采用导轨或面板式安装的地方。需要特别注意的是,只有在通电时才会对模块进行检测和记录,而且不支持在通电时在中央机架中插入或拔出模块(也就是不支持热插拔)。如果CPU处于RUN模式时,插入或拔出存储卡会使CPU进入STOP模式,这可能会导致受控的设备或过程受损。同样地,在CPU通电时,在中央机架中插入或拔出模块也可能导致不可预知的行为,从而可能损坏设备或造成伤害。因此,在插入或拔出模块之前,务必切断CPU和中央机架的电源,并遵守相应的安全预防措施。不过,有一个例外是,可以在CPU通电时插入或拔出SIMATIC存储卡。另外,如果CPU处于RUN模式时,在分布式I/O机架(如AS-i、PROFINET或PROFIBUS)中插入或拔出模块,CPU会在诊断缓冲区中生成一个条目。如果存在拔出或插入模块的OB,则会执行该OB,并且默认情况下CPU会保持在RUN模式。
2.  过程映像更新与过程映像分区   
CPU伴随扫描周期使用内部存储区(过程映像)对本地数字量和模拟量I/O点进行同步更新。过程映像包含物理输入和输出(CPU、信号板卡和信号模块上的物理I/O点)的快照。可组态在每个扫描周期或发生特定事件中断时在过程映像中对I/O点进行更新,也可对I/O点进行组态,使其排除在过程映像的更新之外。  例如,当发生如硬件中断这类事件时,过程可能只需要特定的数据值。通过为这些I/O点组态映像过程更新,使其与分配给硬件中断OB的分区相关联,就可避免在过程不需要持续更新时,CPU在每个扫描周期中执行不必要的数据值更新。  
对于需要在每个扫描周期进行更新的I/O点,CPU将在每个扫描周期期间执行以下任务:
(1)CPU将过程映像输出区中的输出值写入物理输出。
(2)CPU仅在用户程序执行前读取物理输入,并将输入值存储在过程映像输入区。此时,这些值便将在整个用户指令执行过程中保持一致。
(3)CPU执行用户指令逻辑,并更新过程映像输出区中的输出值,而不是写入实际的物理输出。  该过程通过在给定周期内执行用户指令而提供一致的逻辑,防止物理输出点可能在过程映像输出区中多次改变状态而出现抖动。为控制在每个扫描周期或在事件触发时是否自动更新I/O点,S7-1200提供了5个过程映像分区。第一个过程映像分区为PIP0,指定用于每个扫描周期都自动更新的I/O点,此为默认分配;其余4个分区PIP1、PIP2、PIP3和PIP4可用于将I/O点过程映像更新分配给不同的中断事件。在设备组态中将I/O点分配给过程映像分区,并在创建中断OB或编辑OB属性时将过程映像分区分配给中断事件。默认情况下,在设备视图中插入模块时,STEP 7会将其I/O点过程映像更新为“自动更新”(Automatic Update)。对于组态为“自动更新”(Automatic Update)的I/O点,CPU将在每个扫描周期自动处理模块和过程映像之间的数据交换。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-9-17 04:02 , Processed in 0.044391 second(s), 26 queries .

快速回复 返回顶部 返回列表