可编程序控制器的指令系统3演示文稿.ppt

* * * * * * * * * * * 查表指令操作举例 图 查表指令操作举例 LD I2.1 FND-VW202,16#3130,AC1 * 3.先入先出(FIFO)指令 先入先出(First In First Out)指令从表(TBL)中移走最先放进的第一个数据(数据0),并将它送入DATA指定的地址,表中剩下的各项依次向上移动一个位置。每次执行此指令,表中的项数EC减1。TABLE为INT型,DATA为WORD型。 * 先入先出指令的应用  LIFO执行后 图 先入先出指令举例 执行前 * 4.后入先出(LIFO)指令 后入先出(Last In First Out)指令从表(TBL)中移走最后放进的数据,并将它送入DATA指定的位置,剩下的各项依次向上移动一个位置。每次执行此指令 ,表中的项数EC减1。TABLE为INT型,DATA为WORD型。 * 后入先出指令的应用 图 后入先出指令的应用举例 LIFO执行前 LIFO执行后 * 5.存储器填充指令 存储器填充指令FILL(Memory Fill)用输入值(IN)填充从输出OUT开始的N个字,字节型整数N=1~255。图7-26中的FILL指令将0填入VW200~VW219,IN和OUT为WORD型。 图 填充指令 * 6.读写实时时钟指令 读写实时时钟指令TODR(Time of Day Read)从时钟读取当前时间和日期,并把它们装入以T为起始地址的8个字节缓冲区,依次存放年、月、日、时、分、秒、0和星期、时间和日期的数据类型为字节型 。 图 时钟指令 * 二、转换指令 转换指令是对操作数的类型进行转换,并输出到指定的目标地址中去。转换指令包括数据的类型转换、数据的编码和译码指令以及字符串类型转换指令。 6.字节与整数的转换指令 2.双字整数转换为实数 3.四舍五入取整指令 4.截位取整指令 5.整数与双整数的转换 1、BCD码与整数之间的转换 * 转换指令如图: 图 转换指令 图 转换指令 * 7.译码指令 8.段译码指令 SEG EN IN ENO OUT D0 D1 D2 D5 D4 D3 D6 图 段译码指令 * 三、中断指令 (一)中断源 1.中断源 (1)通信中断 (2)I/O中断 I/O中断包括外部输入中断、高速计数器中断和脉冲 串输出中断。 (3)时间中断 时间中断包括定时中断和定时器中断。 PLC的自由通信模式下,通信口的状态可由程序来控制 S7-200系列可编程控制器最多有34个中断源, * 2.中断优先级 中断优先级由高到低依次是:通信中断、输入输出中断、时基中断。 在PLC应用系统中通常有多个中断源。当多个中断源同时向CPU申请中断时,要求CPU能将全部中断源按中断性质和处理的轻重缓急进行排队,并给予优先权。 3.CPU响应中断的顺序 PLC中,CPU响应中断的顺序可以分以下三种情况: (1)当不同的优先级的中断源同时申请中断时,CPU响应中断请求的顺序为从优先级高的中断源到优先级低的中断源。 (2)当相同优先级的中断源申请中断时,CPU按先来先服务的原则响应中断请求。 * (3)当CPU正在处理某中断,又有中断源提出中断请求时,新出现的中断请求按优先级排队等候处理,当前中断服务程序不会被其他甚至更优先级的中断程序打断。任何时刻CPU只执行一个中断程序。 (二)中断控制 经过中断判优后,将优先级最高的中断请求送给CPU,CPU响应中断后自动保存逻辑堆栈、累加器和某些特殊标志寄存器位,即保护现场。中断处理完成后,又自动恢复这些单元保存起来的数据,即恢复现场。 * 中断指令如图 图 中断指令 * 三、中断程序(中断服务程序 ) 中段程序是为处理中断事件而事先编好的程序。中断程序不是由程序调用,而是在中断事件发生时由操作系统调用。 注意: (1)在中断程序中禁止使用DISI、ENI、HDEF、LSCR、END指令。 (2)中断程序最后一条指令一定是无条件返回指令RETI(省略),也可以是有条件返回指令CRETI结束中断程序。 * 分析: 查表8-2可知,I0.1上升沿产生的中断事件号为2。 所以在主程序中用ATCH指令将事件号2和中断程序0连接起来,并全局开中断。 【例】编写由I0.1的上升沿产生的中断事件的初始化程序 * * 【例】编程完成采样工作,要求每10ms采样一次 分析: 完成每10ms采样一次,需用定时中断,查表8-2可知,定时中断0的中断事件号为10

文档评论(0)

1亿VIP精品文档

相关文档