执行用户程序
发布时间:2014/8/10 16:57:26 访问次数:2083
PLC的用户程序由若干条指令组成,AD645KN指令在存储器中按顺序排列。在RUN工作方式的程序执行阶段,在没有跳转指令时,CPU从第一条指令开始,逐条顺序地执行用户程序,直至遇到结束( END)指令。遇到结束指令时,CPU检查系统的智能模块是否需要股务。
在执行指令时,从I/O映像寄存器或别的位元件的映像寄存器读出其0/1状态,并根据指令的要求执行相应的逻辑运算,运算的结果写入到相应的映像寄存器中。因此,各映像寄存器(只读的输入映像寄存器除外)的内容随着程序的执行而变化。
在程序执行阶段,即使外部输入信号的状态发生了变化,输入映像寄存器的状态也不会随之而变,输入信号变化了的状态只能在下一个扫描周期的读取输入阶段被读入。执行程序时,对输入/输出的存取通常是通过映像寄存器,而不是实际的I/O点,这样做有以下好处:
(1)程序执行阶段的输入值是固定的,程序执行完后再用输出映像寄存器的值更新输出点,使系统的运行稳定。
(2)用户程序读写I/O映像寄存器比读写I/O点快得多,这样可以提高程序的执行速度。
(3) 110点必须按位来存取,而映像寄存器可按位、字节、字或双字来存取,灵活性好。
在智能模块通信处理阶段,CPU模块检查智能模块是否需要服务,如果需要,则读取智能模块的信息并存放在缓冲区中,供下一扫描周期使用。在通信信息处理阶段,CPU处理通信口接收到的信息,在适当的时候将信息传送给通信请求方。
4.CPU自诊断测试
自诊断测试包括定期检查EEPROM、用户程序存储器、I/O模块状态以及I/O扩展总线的一致性,将监控定时器复位,以及完成一些别的内部工作。
5.修改输出
CPU执行完用户程序后,将输出映像寄存器的0/1状态传送到输出模块并锁存起来。梯形图中某一输出位的线圈“通电”时,对应的输出映像寄存器为1状态。信号经输出模块隔离和功率放大后,继电器型输出模块中对应的硬件继电器的线圈通电,其常开触点闭合,使外部负载通电工作。若梯形图中输出点的线圈“断电”,对应的输出映像寄存器中存放的二进制数为0,将它送到继电器型输出模块,对应的硬件继电器的线圈断电,其常开触点断开,外部负载断电,停止工作。
当CPU的工作方式从RUN变为STOP时,数字量输出被置为系统块中的输出表定义的状态,或保持当时的状态。默认的设置是将数字量输出清零,模拟量输出保持最后写的值。
6.中断程库的处理
如果在程序中使用了中断,中断事件发生时立即执行中断程序,中断程序可能在扫描周期的任意点上被执行。
7.立即I/O处理
在程序执行过程中使用立即I/O指令可以直接存取I/O点。用立即I/O指令读输入点的值时,相应的输入映像寄存器的值未被更新。用立即I/O指令来改写输出点时,相应的输出映像寄存器的值被更新。
PLC在RUN工作状态时,执行一次扫描操作所需的时间称为扫描周期,其典型值为Ims~lOOms。指令执行所需的时间与用户程序长短、指令的种类和CPU执行指令的速度有很大的关系。用户程序较长时,指令执行时间在扫描周期中占相当大的比例。
PLC的用户程序由若干条指令组成,AD645KN指令在存储器中按顺序排列。在RUN工作方式的程序执行阶段,在没有跳转指令时,CPU从第一条指令开始,逐条顺序地执行用户程序,直至遇到结束( END)指令。遇到结束指令时,CPU检查系统的智能模块是否需要股务。
在执行指令时,从I/O映像寄存器或别的位元件的映像寄存器读出其0/1状态,并根据指令的要求执行相应的逻辑运算,运算的结果写入到相应的映像寄存器中。因此,各映像寄存器(只读的输入映像寄存器除外)的内容随着程序的执行而变化。
在程序执行阶段,即使外部输入信号的状态发生了变化,输入映像寄存器的状态也不会随之而变,输入信号变化了的状态只能在下一个扫描周期的读取输入阶段被读入。执行程序时,对输入/输出的存取通常是通过映像寄存器,而不是实际的I/O点,这样做有以下好处:
(1)程序执行阶段的输入值是固定的,程序执行完后再用输出映像寄存器的值更新输出点,使系统的运行稳定。
(2)用户程序读写I/O映像寄存器比读写I/O点快得多,这样可以提高程序的执行速度。
(3) 110点必须按位来存取,而映像寄存器可按位、字节、字或双字来存取,灵活性好。
在智能模块通信处理阶段,CPU模块检查智能模块是否需要服务,如果需要,则读取智能模块的信息并存放在缓冲区中,供下一扫描周期使用。在通信信息处理阶段,CPU处理通信口接收到的信息,在适当的时候将信息传送给通信请求方。
4.CPU自诊断测试
自诊断测试包括定期检查EEPROM、用户程序存储器、I/O模块状态以及I/O扩展总线的一致性,将监控定时器复位,以及完成一些别的内部工作。
5.修改输出
CPU执行完用户程序后,将输出映像寄存器的0/1状态传送到输出模块并锁存起来。梯形图中某一输出位的线圈“通电”时,对应的输出映像寄存器为1状态。信号经输出模块隔离和功率放大后,继电器型输出模块中对应的硬件继电器的线圈通电,其常开触点闭合,使外部负载通电工作。若梯形图中输出点的线圈“断电”,对应的输出映像寄存器中存放的二进制数为0,将它送到继电器型输出模块,对应的硬件继电器的线圈断电,其常开触点断开,外部负载断电,停止工作。
当CPU的工作方式从RUN变为STOP时,数字量输出被置为系统块中的输出表定义的状态,或保持当时的状态。默认的设置是将数字量输出清零,模拟量输出保持最后写的值。
6.中断程库的处理
如果在程序中使用了中断,中断事件发生时立即执行中断程序,中断程序可能在扫描周期的任意点上被执行。
7.立即I/O处理
在程序执行过程中使用立即I/O指令可以直接存取I/O点。用立即I/O指令读输入点的值时,相应的输入映像寄存器的值未被更新。用立即I/O指令来改写输出点时,相应的输出映像寄存器的值被更新。
PLC在RUN工作状态时,执行一次扫描操作所需的时间称为扫描周期,其典型值为Ims~lOOms。指令执行所需的时间与用户程序长短、指令的种类和CPU执行指令的速度有很大的关系。用户程序较长时,指令执行时间在扫描周期中占相当大的比例。