[西门子] 西门子S7-1200 CPU的工作模式

[复制链接]
查看182 | 回复0 | 2024-8-16 21:15:09 | 显示全部楼层 |阅读模式
1. CPU的工作模式   
CPU拥有三种不同的工作模式,每种模式都通过其前部的状态LED灯来显示:
1. STOP模式:在这种模式下,CPU不执行任何程序,但它允许你下载新的项目或程序。  
2.STARTUP模式:当CPU处于启动模式时,它会执行一次启动组织块(OB),如果存在的话。需要注意的是,在这种模式下,CPU不会处理任何中断事件。  
3.RUN模式:这是CPU的正常运行模式,其中程序循环组织块(OB)会不断地重复执行。在这种模式下,可能会发生中断事件,并且CPU会在任何时刻执行相应的中断事件组织块(OB)。此外,你也可以在RUN模式下下载项目的某些部分。  CPU还支持通过暖启动的方式进入RUN模式。暖启动不会重置存储器,它会初始化所有的非保持性系统和用户数据,但会保留所有保持性的用户数据。  与暖启动不同,存储器复位会清除所有工作存储器以及保持性和非保持性存储区的内容。它会将装载存储器的内容复制到工作存储器,并将输出设置为组态中定义的“对CPU STOP的响应”。不过,存储器复位不会清除诊断缓冲区或永久保存的IP地址值。  在CPU的“设备组态”中的“启动”选项下,你可以设置“上电后启动”的行为。当CPU通电后,它会执行一系列的上电诊断检查和系统初始化操作。在这个过程中,CPU会删除所有非保持性的位(M)存储器内容,并将所有非保持性数据块(DB)的内容重置为装载存储器中的初始值。同时,它会保留保持性的位(M)存储器和保持性数据块(DB)的内容,并根据设置进入相应的工作模式。需要注意的是,如果检测到某些错误,CPU可能不会进入RUN模式。  CPU提供了以下组态选项:不重新启动(保持在STOP模式)、暖启动后进入RUN模式、暖启动后回到断电前的操作模式。

注意:    可以使用编程软件在线工具中的STOP或RUN命令更改当前工作模式,也可在程序中包含STP指令,以使CPU切换到STOP模式。这样就可以根据程序逻辑停止程序的执行。  在STOP模式下,CPU处理所有通信请求(如果适用)并执行自诊断。CPU不执行用户程序,过程映像也不会自动更新。  在STARTUP和RUN模式下,CPU执行如下图所示的任务。
2.  启动过程   只要工作模式从STOP切换到RUN,CPU就会清除过程映像输入、初始化过程映像输出并处理启动OB。通过“启动OB”中的指令对过程映像输入进行任何的读访问,都只会读取零值,而不是读取当前物理输入值。因此,要     在RUN模式下读取物理输入的当前状态,必须执行立即读取操作,接着再执行启动OB及任何相关的FC和FB。如果存在多个启动OB,则按照OB编号依次执行各启动OB,OB编号最小的先执行。   每个启动OB都包含确定保持性数据和时钟有效性的启动信息,可以在启动OB中编写指令,以检查这些启动值,从而采取适当的措施。启动OB支持的启动位置如下表所示。
在启动过程中,CPU还会执行以下任务:
(1)在启动阶段,对中断进行排队但不加以处理。
(2)在启动阶段,不执行任何循环时间监视。
(3)在STARTUP模式下,可以更改HSC(High-Speed Counter,高速计数器)、PWM(Pulse-Width Modulation,脉冲宽度调制)和PtP(Point-to-Point Communication,点对点通信)模块的组态。
(4)只有在RUN模式下才会真正运行HSC、PWM和PtP模块。执行完启动OB后,CPU将进入RUN模式并在连续的扫描周期内处理控制任务。
3.  在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从中断点继续执行用户程序。


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

本帖子中包含更多资源

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

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

本版积分规则