西门子S7-200程序菜鸟级学习——第二章 基本逻辑指令

 

在开始本次学习之前,小编先声明一件事情:本公共平台为个人平台,同时主要面向的是冶金学院机电15-2班的学生,...



在开始本次学习之前,小编先声明一件事情:本公共平台为个人平台,同时主要面向的是冶金学院机电15-2班的学生,因此其中一些知识可能并没有什么高深的实用意义,但却是确实作为学习PLC入门的必掌握知识,因此我希望不管是机电15-2班的学生还是一些微信朋友们,我发的这一板块仅能作为学习PLC的入门知识,同时如果有大师们对我所写的东西有质疑,我也希望大家能够在私底下与我沟通交流,相互成长!毕竟我一个人的能力有限,我也希望能够通过这一板块结交一些关于PLC方面的“大神们”;同时学习PLC最重要的是多练习,因此如果真想学必须有S7-200的编程软件,如果有想要的可以在公共平台里给我留言,我会通过一些渠道发给大家的,如果后面我写的有错误,还请大家多多包含。闲话少叙,下面进入正题:今天我来带领大家认识一些PLC编程时常用的指令,这些指令在以后的程序编写时是经常会用到的:

S7-200系列PLC具有丰富的指令集,按功能可分为基本逻辑指令,算术、逻辑运算指令,数据处理指令,程序控制指令以及集成功能指令5部分。

其中前4部分是编制PLC的基本应用程序经常用到的,称为基本指令;最后一部分是PLC完成复杂的功能控制所需要的,称为功能指令。本章将介绍各种基本指令的梯形图符号、指令表达方式以及功能和用法,并附有相应的指令应用实例。

基本逻辑指令是指构成基本逻辑运算功能指令的集合,包括基本位操作、置位/复位、边沿触发、定时、计数、比较等逻辑指令。

1.1基本位操作指令

位操作指令是PLC常用的基本指令,梯形图指令有触点和线圈两大类 ,触点又分为常开和常闭两种形式;语句表指令有与、或以及输出等逻辑关系,位操作指令能够实现基本的位逻辑运算和控制。基本位操作指令操作数寻址范围:I,Q,M,SM,T,C,V,S,L等。

基本位操作指令格式如下表所示:

梯形图的触点符号代表CPU对存储器的读操作。CPU运行扫描到触点符号时,到触点位地址指定的存储器位访问,读取相应的逻辑值参与程序的逻辑运算。

梯形图的线圈符号代表CPU对存储器的写操作。线圈左侧触点组成逻辑运算关系,逻辑运算结果为1时,能量流可以到达线圈,使线圈通电,CPU将线圈位地址指定的存储器位置1,逻辑运算结果为0时,线圈不通电,存储器位置0(复位)。梯形图利用线圈通、断电描述存储器位的置位、复位操作。

结论:梯形图的触点代表CPU对存储器的读操作,由于计算机系统读操作的次数不受限制,所以用户程序中,常开、常闭触点使用的次数不受限制。梯形图的线圈符号代表CPU对存储器的写操作,由于PLC采用自上而下的扫描方式工作,在用户程序中,每个线圈只能使用一次,使用次数(存储器写入次数)多于一次时,其状态以最后一次为准。

基本逻辑指令的语句表由指令助记符和操作数两部分组成,操作数由可以进行位操作的寄存器元件及地址组成。常用位操作指令助计符的定义如下所述:

(1)LD(Load):装载指令,对应梯形图从左侧母线开始,连接常开触点。

(2)LDN(Load  Not):装载指令,对应梯形图从左侧母线开始,连接常闭触点。

(3)A(And):与操作指令,用于常开触点的串联。

(4)AN(And  Not):与操作指令,用于常闭触点的串联。

(5)O(Or):或操作指令,用于常开触点的并联。

(6)ON(Or  Not):或操作指令,用于常闭触点的并联。

(7)=(Out):置位指令,线圈输出。

例2-1 位操作指令应用程序,相应的梯形图和指令表表示如下图所示。

1.2块操作和堆栈指令

(1) OLD(块或):用于两个以上触点串联的支路与前面支路并联连接。

(2) ALD(块与):用于并联电路块与前面接点电路或并联电路块的串联 。

两个以上触点串联的电路称为串联电路块。串联电路块并联连接时,在每支路始端用LD或LDN指令,在支路终端用OLD指令。

两个以上触点并联的电路称为并联电路块。并联电路块与前一个并联电路串联时,用LD或LDN指令作并联电路块各分支电路的始端;分支电路的并联电路块完成后,用ALD指令再完成同前一电路的串联。

例2.2 块操作具体应用实例如下:



(3) LPS(逻辑压栈):将该时刻逻辑运算的中间结果压入栈存储器,先前存入的数据依次向栈的下一级推移。

(4) LRD(逻辑读栈):将栈存储器的最上级的数据读出,栈内数据不发生移动。

(5) LPP(逻辑弹栈):将栈存储器的最上级的数据弹出,栈内其它数据依次向上移动一位。

S7-200系列PLC中有一个9层堆栈,用于处理所有逻辑操作,称为逻辑堆栈。

例2.3 堆栈指令具体应用实例如下:

1.3 触发器指令

取非和空操作指令

(1) NOT(取非): 取非指令,将NOT指令前的运算结果反转,无操作元件。

(2) NOP(空操作):或称空处理,用于程序的修改,便于调试程序。执行空操作指令,将稍微延长扫描周期长度,不影响用户程序的执行,不会使能流输出断开。操作数N为执行空操作指令的次数,N=0~255。

(3) AENO(And ENO):用于和前面的指令盒输出端ENO相与。AENO指令只能在语句表中使用。

例2.4 取非和空操作指令应用实例:

置位/复位指令(在我写的案例中以后会常用的一套指令)

(1) S(置位):将从操作数的直接位地址(Bit)开始的N个逻辑位置1。

(2) R(复位):将从操作数的直接位地址(Bit)开始的N个逻辑位置0。

例2.5 置位、复位指令应用案例:

边沿触发指令(脉冲生成)

(1) EU(Edge Up):上升沿微分输出指令。

(2) ED(Edge Down):下降沿微分输出指令。例2.6 边沿触发指令应用案例:

此程序的运行结果分析如下:

今天我们对于指令的学习就先到这里,由于我的时间有限,所以每次知识更新不会太多,望大家见谅,我们下次再继续!


    关注 机电一五二


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册