现代电气控制技术 教学课件 ppt 作者 任振辉 第6章 S7-200系列PLC基本指令

上传人:E**** 文档编号:89256495 上传时间:2019-05-22 格式:PPT 页数:117 大小:1.30MB
返回 下载 相关 举报
现代电气控制技术 教学课件 ppt 作者 任振辉 第6章 S7-200系列PLC基本指令_第1页
第1页 / 共117页
现代电气控制技术 教学课件 ppt 作者 任振辉 第6章 S7-200系列PLC基本指令_第2页
第2页 / 共117页
现代电气控制技术 教学课件 ppt 作者 任振辉 第6章 S7-200系列PLC基本指令_第3页
第3页 / 共117页
现代电气控制技术 教学课件 ppt 作者 任振辉 第6章 S7-200系列PLC基本指令_第4页
第4页 / 共117页
现代电气控制技术 教学课件 ppt 作者 任振辉 第6章 S7-200系列PLC基本指令_第5页
第5页 / 共117页
点击查看更多>>
资源描述

《现代电气控制技术 教学课件 ppt 作者 任振辉 第6章 S7-200系列PLC基本指令》由会员分享,可在线阅读,更多相关《现代电气控制技术 教学课件 ppt 作者 任振辉 第6章 S7-200系列PLC基本指令(117页珍藏版)》请在金锄头文库上搜索。

1、,第6章 S7-200系列PLC基本指令 6.1 S7-200基本逻辑指令 在语句表中,S7-200PLC基本指令(包括基本逻辑指令)的书写格式与单片机的汇编语言格式相似,也是由指令的助记符和操作数构成的,其基本指令的格式如下:,操作数有位、字节、字和双字这四种数据类型,指令必须与其指定的操作数的数据类型相匹配,否则,所编写的用户程序就是错误的,CPU不会执行这样的用户程序。,通常,对于带有操作数的指令而言,指令的助记符后面标有字符B、W、D的指令分别就是字节、字、双字数据类型的指令,指令的助记符后面没有标字符B、W、D的指令就是位数据类型的指令。 此外,不同的指令所带的操作数的个数也有所不同

2、,有的指令只带一个操作数,而有的指令可能带有两个甚至多个操作数。 6.1.1 位逻辑指令 在S7-200PLC的用户数据存储区中,有个特殊的存储小区,称为堆栈,用来暂时存放一些逻辑运算的中间结果。,几乎所有的S7-200PLC的位逻辑指令的执行都与堆栈有关。故堆栈对于确保用户程序的执行起着重要的作用。 堆栈中只有位存储单元,堆栈的位存储单元从上到下共有9层,分别称为第一层,第二层,第九层,第一层为堆栈的最上层,又称为栈顶,第九层为最下层,每一层都只有一个位存储单元,只能存放一个位二进制数据,整个堆栈总共可存放9个位数据,通常数据只能从栈顶压入或弹出堆栈,CPU向堆栈的栈顶每压入一个数据,堆栈中

3、第18层中原先的数据就会自动地依次向下移一层,第9层中原先的数据则会自然溢出。,反之,CPU从堆栈的栈顶每弹出一个数据,堆栈中第29层中原先的数据就会自动地依次向上移一层。对于堆栈而言,数据的进出遵循“先进后出,后进先出”的规则。 在PLC的CPU内部,任何两个位存储单元(不包括堆栈的位存储单元)的数据之间都不能直接进行逻辑运算,任何一个位存储单元的数据也不能与堆栈的第29层的某个数据直接进行逻辑运算,而只能与栈顶的数据直接进行逻辑运算。因此,如果要对某两个位存储单元的数据进行逻辑运算,那么必须先把其中一个位存储单元的数据装载到栈顶,然后才能对这两个数进行逻辑运算。,同理,如果要对某个位存储单

4、元的数据与堆栈为第29层的某个数据进行逻辑运算,必须先把堆栈的第29层的该数据移到栈顶,然后才能对这两个数据进行逻辑运算。 1.装载、取反装载与输出指令 (1)LD(Load):装载指令。该指令的功能是把一个指定的位存储单元的数据(0或1)装载到栈顶,并使堆栈中第18层中原先的数据依次向下移一层,第9层中原先的数据自然溢出。 LD指令执行后,该指令所指定的位存储单元中原先的数据仍保持不变。,实际上,除了后面将要讲到输出置位、复位等具有改写功能的指令外,其它任何位逻辑指令均不能改变它所指定的位存储单元的数据,对此,以后不再复述。 在梯形图中,LD指令的功能相当于把一个指定的常开触点与梯形图的左母

5、线相连。对于触点的串联或并联电路块中的第一个触点,当它是常开触点时也要使用LD指令。 (2)LDN(Load Not):取反装载指令。该指令的功能是将一个指定的位存储单元的数据取反(即将1变为0,将0变为1)后装载到栈顶,并使堆栈中第18层原先的数据依次向下移一层,第9层的数据自然溢出。,在梯形图中,LDN的指令功能相当于把一个指定的常闭触点与梯形图的左母线相连,对于触点的串联或并联电路块中的第一个触点,当它是常闭触点时,也要使用LON指令。 (3)=:输出指令。该指令的功能是将栈顶值(即逻辑运算结果)存入指定的位存储单元。 在梯形图中,=指令的功能相当于把一个指定的线圈与左边的触点电路相连串

6、联,该指令可以连续多次使用,这相当于把多个线圈并联在一起。 =指令不能作用于输入映像寄存器位操作数,这就是说,在梯形图中,不得出现输入断电器(I)的线圈。,图6-1是使用LD、LDN和=指令的一个例子,该图的左边是梯形图,右边是与之对应的指令表程序。,图6-1 LD、LDN与=指令,LD、LDN指令可作用于I、Q、M、SM、S、V、L、T、C;=指令可作用于Q、M、SM、S、V、I、T、C。,2.与逻辑指令 (1)A(And):与逻辑指令。该指令的功能是将一个指定的位存储单元的数据与栈顶的值相与,结果存入栈顶,栈顶中原先的数据自然消失。 在梯形图中,A指令的功能相当于把一个指定的常开触点与左边

7、的触点电路相串联。 (2)AN(And Not):取反与逻辑指令。该指令的功能是将一个指定的位存储单元的数据取反,然后再与栈顶的值相与,结果存入栈顶,栈顶中原先的数据自然消失。 在梯形图中,AN指令的功能相当于把一个指定的常闭触点与左边的触点电路相串联。,在梯形图中,无论是常开触点还是常闭触点,串联触点的个数都没有限制。 图6-2是使用A与AN指令的一个例子,图中,在指令“= Q0.1”的后面,通过触点M0.2去驱动M1.4的现象,称为连续输出,这样的连续输出可以多次使用。,图6-2 A与AN指令,但是,如果把线圈Q0.1与线圈M1.4的支路的交换位置,如图6-3所示,那么,就必须在电路的分支

8、点处使用后面将要讲到的进栈(LPS)和出栈(LPP)指令。,图6-3 不推荐使用的电路,A与AN指令可作用于I、Q、M、SM、S、V、L、T、C。,3.或逻辑指令 (1)O(or):或逻辑指令。该指令将一个指定的位存储单元的数据与栈顶的值相或,结果存入栈顶,栈顶中原先的数据自然消失。 在梯形图中,O指令的功能相当于把一个指定的常开触点与前面的触点电路相并联,具体连接时应按下述两种情况来处理: 在同一个线圈回路中,如果在0指令的前面有OLD或ALD指令,而且该0指令与OLD或ALD指令之间没有LD或LDN指令,那么,应将该0指令指定的常开触点并联在由该OLD或ALD指令连接起来的触点电路块的两端

9、。, 在同一个线圈回路中,如果在0指令的前面有LD或LDN指令,且该0指令与LD或LDN指令之间没有OLD或ALD指令,那么,应将该0指令指定的常开触点左端连接到该LD或LDN指令指定的触点的左端,并将该常开触点的右端连接到它的前一条指令指定的触点的右端。 (2)ON(Or Not):取反或逻辑指令。该指令的功能是将一个指定的位存储单元的数据取反,然后再与栈顶的值相或,结果存入栈顶,栈顶中原先的值自然消失。 在梯形图中,ON指令的功能相当于把一个指定的常闭触点与前面的触点电路相并联,具体连接方法与0指令指定的常开触点的连接方法相同,此处不再复述。,在梯形图中,无论是常开触点还是常闭触点,并联触

10、点的个数都没有限制。 图6-4是使用0与ON指令的一个例子。,图6-4 0与ON指令,O与ON指令可作用于I、Q、M、SM、S、V、L、T、C。 4.装载与指令 (1)OLD(Or Load):装载或指令。该指令的功能是将堆栈中第1层的值与第2层的值相或,结果存入栈顶。OLD指令执行后,第1、2层中原先的值自然消失。第39层中原先的数据依次向上移一层,如图6-5所示。 OLD指令是不带操作数的指令。 使用OLD指令的前提是堆栈的第1,2层要有数据,否则就没有可供OLD指令进行或逻辑运算的数据了。而要将数据装载到堆栈的第1,2层中,只要连续使用两次LD或LON指令即可,如图6-6中的语句表(a)

11、所示。,图6-5 OLD指令的功能,图6-6 OLD指令的合理使用,OLD指令用于需要将两个与(或者“与、或、非”混合)逻辑运算的结果相或的情形。如要实现在下逻辑运算,Q0.0=I0.0I0.1+I0.2I0.3,可采用下面的语句表程序来实现,LD I0.0 /把I0.0的值装载到栈顶, A I0.1 /把I0.1的值与栈顶中I0.0的值相与,结果S0存入栈顶; LD 0.2 /把I0.2的值装载到栈顶,栈顶中原先的值S0被推入第二层 A I0.3 /把I0.3的值与栈顶中I0.2的值相与,结果S1存入栈顶; OLD /把堆栈中第1、2层的值S1与S0相或,结果S2存入栈顶, = Q0.0 /

12、把栈顶的值S2写入Q0.0。,上述语句表右边给出了每条指令的注释,这对于帮助读者理解OLD指令的功能和使用方法可起到一定的作用。,与上述语句表对应的梯形图如图6-7所示,由此可知,在梯形图中,OLD指令主要用于需要将两个由若干个触点串联(或串并联)组成的电路块并联起来的场合。,图6-7 OLD指令,5.装载与指令 ALD(And Load):装载与指令,该指令的功能是把堆栈中第1,2层的两个值相与,结果存入栈顶。,该指令执行后,第1,2层中原先的数据自然消失,第39层的数据依次向上移一层,如图6-8所示。,图6-8 ALD指令的功能,图6-9 ALD指令的合理使用,图6-9同时给出了可以实现把

13、两个触点串联起来的语句表(a)和(b),但语句表(b)比(a)少用了一条ALD指令,故语句表(b)比(a)更好一些,由此可知,最好不要把ALD指令用于需要把两个或两个以上的单触点串联在一起的场合。 通常,ALD指令用于需要将两个或(或者“与、或、非”混合)逻辑运算的结果相与的场合;例如,要实现下述逻辑运算:,Q0.0=(I0.0+I0.1)(I0.2+I0.3),可以采用下面的语句表来实现:,LD I0.2 /把I0.2的值装载到栈顶, O I0.3 /把I0.3的值与栈顶中I0.2的值相或,结果S1存入栈顶; LD I0.0 /把I0.0的值装载到栈顶, O I0.1 /把I0.1的值与栈顶

14、中I0.0的值相或,结果S0存入栈顶; ALD /把堆栈中第1、2层的值S1与S0相与,结果S2存入栈顶, = Q0.0 /把栈顶的值S2写入Q0.0。,与上述语句表对应的梯形图如图6-10所示,由此可知,在梯形图中,ALD指令主要用于需要将两个由若干个触点并联(或串并联)组成的电路块串联起来的场合。,图6-10 ALD指令,ALD指令也是不带操作数的指令,6.入栈、读栈、出栈与装载堆栈指令 (1)LPS(Logic Push): 入栈指令,该指令的功能是将栈顶的值复制到堆栈的第2层。该指令执行后,栈顶中原先的值保持不变,堆栈的第28层中原先的数据依次向下移一层,第9层的数据自然消失,如图6-

15、11(a)所示。,图6-11,(3)LPP(Logic Pop):出栈指令。该指令的功能是将堆栈的第29层的值依次向上移一层,该指令执行后,栈顶中原先的值自然消失。如图6-11(c)所示。,图6-11,(2)LRD(Logic Read):读栈指令。该指令的功能是将堆栈的第2层的值复制到第1层。该指令执行后,栈顶中原先的数据自然消失,堆栈的第29层中原先的数据保持不变。如图6-11(b)所示。,(4)LDS(Load Stack):装载堆栈指令。指令格式 LDS n,(n=18),图6-11,LDS指令的功能是将堆栈中第n层的值复制到栈顶。该指令执行后,堆栈的第18层中原先的值依次向下移一层,

16、第9层中原先的值自然消失。如图6-11(d)所示。 LPS、LRD、LRD、LPP指令用于有分支支路的情形,这里所说的分支支路是指的同时含有触点和线圈的电路,如图6-12所示。,在6-12图中,当入栈指令LPS执行时,将分支点左边触点电路的逻辑运算结果从栈顶复制到第2层暂存起来,然后,在CPU处理第1条支路时,再让栈顶的值参与第1条支路的逻辑运算。,图6-12 堆栈指令的使用只有一级分支点的情形,当读栈指令LRD执行时,将堆栈的第2层的值(分支点左边触点电路块的逻辑运算结果)复制到栈顶,然后,在CPU处理第2条支路时,再让栈顶值参与第2条支路的逻辑运算。 当出栈指令LPP执行时,将堆栈的第2层的值(分支点左边触点电路块的逻辑运算结果)移到栈顶,然后,在CPU处理第3条支路时,再让栈顶值参与第3条支路的逻辑运算。 在图6-13所示的梯形图中,分支点A后面还有分支点B,这种情形称为两极分支点,对此,要使用两条入栈指令LPS,第

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号