西门子华东区供应商
PLC有两种基本的工作模式,即运行(RUN)模式与停止(STOP)模式。在运行模式,PLC通过反复执行反映控制要求的用户程序来实现控制功能。为了使PLC的输出及时地响应随时可能变化的输入信号,用户程序不是只执行一次,而是不断地重复执行,直至PLC停机或切换到STOP工作模式。
除了执行用户程序外,在每次循环过程中, PLC还要完成内部处理、通信处理等工作,一次循环可分为5个阶段(见图1-5)。PLC的这种周而复始的循环工作方式称为扫描工作方式。由于计算机执行指令的速度*高,从外部输入-输出关系来看,处理过程似乎是同时完成的。
在内部处理阶段,PLC检查CPU.模块内部的硬件是否正常,将监控定时器复位,以及完成一些其它内部工作。
在通信服务阶段,PLC与其它的带微处理器的智能装置通信,响应编程器键入的命令,*新编程器的显示内容。
当PLC处于停止(STOP)模式时,只执行以上的操作。PLC处于运行(RUN)模式时,还要完成另外三个阶段的操作。
在PLC的存储器中,设置了一片区域用来存放输入信号和输出信号的状态,它们分别称为输入映像寄存器和输出映像寄存器。PLC梯形图中的其他编程元件也有对应的映像存储区,它们统称为元件映像寄存器。
在输入处理阶段,PLC把所有外部输入电路的接通,断开状态读入输入映像寄存器。 外部输入电路接通时,对应的输入映像寄存器为l状态,梯形图中对应的输入继电器的常开触点接通,常闭触点断开。外部输入触点电路断开时,对应的输入映像寄存器为0状态,梯形图中对应的输入继电器的常开触点断开,常闭触点接通。
某一编程元件对应的映像寄存器为l状态时,称该编程元件为ON,映像寄存器为0状态时,称该编程元件为OFF。
在程序执行阶段,即使外部输入信号的状态发生了变化,输入映像寄存器的状态也不会随之而变,输入信号变化了的状态只能在下一个扫描周期的输入处理阶段被读入。
PLC的用户程序由若干条指令组成,指令在存储器中按步序号顺序排列。在没有跳转指令时,CPU从*条指令开始,逐条顺序地执行用户程序,直到用户程序结束之处。在执行指令时,从输入映像寄存器或别的元件映像寄存器中将有关编程元件的0/1状态读来,并根据指令的要求执行相应的逻辑运算,运算的结果写入到对应的元件映像寄存器中,因此,各编程元件的映像寄存器(输入映像寄存器除外)的内容随着程序的执行而变化。
在输出处理阶段,CP/7将输出映像寄存器的0/1状态传送到输出锁存器。梯形图中某一输出继电器的线圈“通电”时,对应的输出映像寄存器为1状态。信号经输出模块隔离和功率放大后,继电器型输出模块中对应的硬件继电器的线圈通电,其常开触点闭合,使外部负载通电工作。
若梯形图中输出继电器的线圈“断电”,对应的输出映像寄存器为0状态,在输出处理阶段之后,继电器型输出模块中对应的硬件继电器的线圈断电,其常开触点断开,外部负载断电,停止工作。
在下列初始化和操作顺序中,HSCI1用做模型计数器。初始化定S7-200刚进入RUN(运行)模式,因此,*次扫描内存位为真。否则,在进入RUN(运行)模式后,对于每个高速计数器HDEF指令只能执行一次。对高速计数器*二次执行HDEF产生运行时错误,不会以*次执行HDEF时为此计数器设置的方式改变计数器设置。
1.初始化模式0、模式1或模式2
为具有内部方向(模式0、模式1或模式2)的单相向上/向下计数器初始化HSC1按下列步骤进行:
(1)使用*次扫描内存位调用在其中执行初始化操作的子程序。因为使用子程序,随后的扫描不再调用子程序,这可以减少扫描执行时间。
(2)在初始化子程序中,将需要的控制操作输入SMB47。例如,SMB47 = 16#F8产生下列结果:
启用计数器:
●写新当前值:
●写新预设值:
●方向为向上计数:
●设置启动和重设输入到现用高速计数器。
(3)执行HDEF指令,HSC输入设置为1,“模式”输入设置为下列之一:对于无外部重设或启动为0;对于外部重设和无启动为1:对于外部重设和启动为2。
(4)用期望的当前值(用0载入以它)载入SMD48(双字大小数值)。
(5)用期望的预设值载入SMD52(双字大小数值)。
(6)为了捕获当前值等于预置事件,通过将CV=PV中断事件连接到中断程序。
(7)为了捕获外部重设事件,通过将外部重设中断事件连接到中断程序。
(8)执行全局中断启用指令(ENI)来启用中断。
(9)执行HSC指令
(10)退出子程序。
2.初始化模式3、模式4或模式5
为具有外部方向(模式3、模式4或模式5)的单相向上/向下计数器初始化HSC1按下列步骤进行:
(1)使用*次扫描内存位调用在其中执行初始化操作的子程序。因为使用子程序调用,随后的扫描不再调用子程序,这减少扫描执行时间和提供更多的结构程序。
(2)在初始化子程序中,根据期望的控制操作载入SMB47。例如,SMB47=16#F8产生下列结果:
●启用计数器:
●设置HSC的初始方向为向上计数;
●设置开始和重设输入为现用高速计数器。
(3)执行HDEF指令,HSC输入设置为1,“模式”输入设置为下列之一:对于无外部重设或启动为3:对于外部重设和无启动为4:对于外部重设和启动为5。
(6)为了捕获当前值等于预置事件,通过将CV =PV中断事件连接到中断程序。
(7)为了捕获外部方向改变,通过将方向改变中断事件连接到中断程序。
(8)为了捕获外部重设事件,通过将外部重设中断事件连接到中断程序。
(9)执行全局中断启用指令(END)来启用中断。
(10)执行高速计数器指令。
(11)退出子程序