2023西门子代理商
在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中断事件(事件13,见表5-34)连接到中断程序。
(7)为了捕获外部重设事件,通过将外部重设中断事件(事件15,见表5-34)连接到中断程序。
(8)执行全局中断启用指令(ENI)来启用中断。
(9)执行HSC指令
(10)退出子程序。
2.初始化模式3、模式4或模式5
为具有外部方向(模式3、模式4或模式5)的单相向上/向下计数器初始化HSC1按下列步骤进行:
(1)使用*次扫描内存位调用在其中执行初始化操作的子程序。因为使用子程序调用,随后的扫描不再调用子程序,这减少扫描执行时间和提供更多的结构程序。2023西门子代理商
(2)在初始化子程序中,根据期望的控制操作载入SMB47。例如,SMB47=16#F8产生下列结果:
●启用计数器:
●设置HSC的初始方向为向上计数;
●设置开始和重设输入为现用高速计数器。
(3)执行HDEF指令,HSC输入设置为1,“模式”输入设置为下列之一:对于无外部重设或启动为3:对于外部重设和无启动为4:对于外部重设和启动为5。
(6)为了捕获当前值等于预置事件,通过将CV =PV中断事件连接到中断程序。
(7)为了捕获外部方向改变,通过将方向改变中断事件连接到中断程序。
(8)为了捕获外部重设事件,通过将外部重设中断事件连接到中断程序。
(9)执行全局中断启用指令(END)来启用中断。
(10)执行高速计数器指令。
(11)退出子程序
初始化模式6、模式7或模式8
为具有向上/向下时钟(模式6、模式7或模式8)的双相向上/向下计数器初始化HSC1按下列步骤进行:
(2)在初始化子程序中,根据期望的控制操作载入SMB47.例如,SMB47=16#F8产生下列结果:
●设置高速计数器的初始方向为向上计数:
(3)执行HDEF指令,高速计数器输入设置为1,“模式”设置为下列之一:对于无外部重设或启动为6;对于外部重设和无启动为7;对于外部重设和启动为8。
(6)为了捕获当前值等于预置事件,通过将CV=PV中断事件(事件13)连接到中断程序。可参考关于中断的部分
(7)为了捕获外部方向改变,通过将方向改变中断事件(事件14)连接到中断程序。
(8)为了捕获外部重设事件,通过将外部重设中断事件(事件15)连接到中断程序。
(9)执行全局中断启用指令(ENI)来启用中断。
(11)退出子程序。
4.初始化模式9、模式10或模式11
为A/B相正交计数器(模式9、模式10或模式11)初始化HSC1按下列步骤进行:
(1)使用*次扫描内存位调用在其中执行初始化操作的子程序。因为使用子程序调用,随后的扫描不再调用子程序,这减少扫描执行时间并提供更多的结构化程序。2023西门子代理商
(2)在初始化子程序中,根据期望的控制操作载入SMB47。
示例(1x计数模式):SMB47=16#FC产生下列结果:
●写新当前值
●写新预设值
示例(4X计数模式):SMB47=16#F8产生下列结果:
●启用计数器
写新预设值:
●设置高速计数器的初始方向为向上计数;
(3)执行HDEF指令,高速计数器输入设置为1,“模式”输入设置为下列之一:对于无外部重设或启动为9:对于外部重设和无启动为10:对于外部重设和启动为11。
(6)为了捕获当前值等于预置事件,通过将CV=PV中断事件连接到中断程序。关于中断处理的细节可参考启用中断(ENI)部分。
(7)为了捕获方向改变,通过将方向改变中断事件 连接到中断程序。
(8)为了捕获外部重设事件,通过将外部重设中断事件 连接到中断程序。
(11)退出子程。