
电气控制与可编程控制器技术》电子课件6后半部.ppt
74页七)栈操作(MPS/MRD/MPP)指令 1.指令助记符及功能 MPS、MRD、MPP指令功能、梯形图表示、操作组件和程序步如表6-32所示,表6-32 栈指令助记符及功能,2.指令说明 (1)这组指令分别为进栈、读栈、出栈指令,用于分支多重输出电路中将连接点数据先存储,便于连接后面电路时读出或取出该数据2)在FX2N系列PLC中有11个用来存储运算中间结果的存储区域,称为栈存储器栈指令操作如图6-40,由图可知,使用一次MPS指令,便将此刻的中间运算结果送入堆栈的第一层,而将原存在堆栈第一层的数据移往堆栈的下一层图6-40栈存储器,MRD指令是读出栈存储器最上层的最新数据,此时堆栈内的数据不移动可对分支多重输出电路多次使用,但分支多重输出电路不能超过24行 使用MPP指令,栈存储器最上层的数据被读出,各数据顺次向上一层移动读出的数据从堆栈内消失 (3)MPS、MRD、MPP指令都是不带软组件的指令 (4)MPS和MPP必须成对使用,而且连续使用应少于11次3.编程应用 【例1】一层堆栈,如图6-41例2】 一层堆栈,并用ANB、ORB指令,如图6-42例3】 二层堆栈程序,如图6-43所示。
例4】图6-44 四层堆栈及程序的改进四层堆栈程序如图6-44(a),也可以将梯形图(a)改变成图(b)所示,就可不必使用堆栈指令八)主控触点(MC/MCR)指令 1.指令助记符及功能 MC、MCR指令功能、梯形图表示、操作组件、程序步如表6-33所示表6-33 主控指令助记符及功能,2.指令说明 (1)MC为主控指令,用于公共串联触点的连接,MCR为主控复位指令,即MC的复位指令 主控触点可以解决编程时,经常遇到多个线圈同时受一个或一组控制若在每个线圈的控制电路中都串入同样的触点,将多占存储单元的问题 主控指令控制的操作组件的常开触点要与主控指令后的母线垂直串联连接,是控制一组梯形图电路的总开关当主控指令控制的操作组件的常开触点闭合时,激活所控制的一组梯形图电路如图6-45所示例1】无嵌 套结构的主控指令MC/MCR编程应用,如图6-45 所示图中上、下两个主控指令程序中,均采用相同的嵌套级N02)在图6-45中,若输入X000接通,则执行MC至MCR之间的梯形图电路的指令若输入X000断开,则跳过主控指令控制的梯形图电路,这时MC/MCR之间的梯形图电路根据软组件性质不同有以下两种状态: 积算定时器、计数器、置位/复位指令驱动的软组件保持断开前状态不变; 非积算定时器、OUT指令驱动的软组件均变为OFF状态。
(3)主控(MC)指令母线后接的所有起始触点均以LD/LDI指令开始,最后由MCR指令返回到主控(MC)指令后的母线,向下继续续执行新的程序4)在没有嵌套结构的多个主控指令程序中,可以都用嵌套级号N0来编程,N0的使用次数不受限制(见编程应用中的例1) (5)通过更改Mi的地址号,可以多次使用MC指令,形成多个嵌套级,嵌套级Ni的编号由小到大返回时通过MCR指令,从大的嵌套级开始逐级返回(见编程应用中的例2) 【例2】有嵌套结构的主控指令MC/ MCR编程应用,如图6-46所示九)置位/复位(SET/RST)指令 1.指令助记符及功能 SET、RET指令的功能、梯形图表示、操作组件和程序步如表6-34所示表6-34 置位/复位指令助记符及功能,2.指令说明 (1)SET为置位指令,使线圈接通保持(置 1)RST为复位指令,使线圈断开复位(置0) (2)对同一软组件,SET,RST可多次使用,不限制使用次数,但最后执行者有效 (3)对数据寄存器D、变址寄存器V、Z的内容清零,既可以用RST指令,也可以用常数K0经传送指令清零,效果相同RST指令也可以用于积算定时器T246~T255和计数器C的当前值的复位和触点复位。
3.编程应用,,图6-47 SET/RST指令的编程应用,(十)微分脉冲输出(PLS/PLF)指令 1.指令助记符及功能 PLS、PLF指令的功能、梯形图表示、操作组件程序步如表6-35所示表6-35 指令助记符及功能,,2.指令说明 (1)PLS、PLF为微分脉冲输出指令PLS指令使操作组件在输入信号上升沿时产生一个扫描周期的脉冲输出PLF指令则使操作组件在输入信号下降沿产生一个扫描周期的脉冲输出 (2)在图6-48程序的时序图中可以看出, PLS、PLF指令可以将输入组件的脉宽较宽的输入信号变成脉宽等于可编过程控制器的扫描周期的触发脉冲信号,相当于对输入信号进行了微分3.编程应用,,图6-48 PLS/PLF指令的编程应用,(十一)取反(INV)指令 1.指令助记符及功能 INV指令的功能、梯形图表示、操作组件和程序步如表6-36所示表6-36 指令助记符及功能,2.指令说明 (1)INV指令是将执行INV指令的运算结果取反后,如图6-49所示,不需要指定软组件的地址号图6-49 INV指令操作示意图,(2)使用INV指令编程时,可以在AND或ANI,ANDP或ANDF指令的位置后编程,也可以在ORB、ANB指令回路中编程,但不能象OR,ORI,ORP,ORF指令那样单独并联使用,也不能象LD,LDI,LDI,LDF那样与母线单独连接。
2)使用INV指令编程时,可以在AND或ANI,ANDP或ANDF指令的位置后编程,也可以在ORB、ANB指令回路中编程,但不能象OR,ORI,ORP,ORF指令那样单独并联使用,也不能象LD,LDI,LDI,LDF那样与母线单独连接 3.编程应用 【例1】 取反操作指令编程应用如图6-50所示图6-50 取反INV指令的编程应用,,,由图6-50可知,如果X000断开,则Y000接通;如果X000接通,则Y000断开例2】图6-51是INV指令在包含ORB指令、ANB指令的复杂回路编程的例子由图可见,各个INV指令是将它前面的逻辑运算结果取反图6-51程序输出的逻辑表达式为:,图6-51 INV指令在ORB、ANB指令的复杂回路中的编程,,(十二)空操作(NOP)指令和程序结束(END)指令 1.指令助记符及功能 NOP和END指令的功能、梯形图表示、操作组件和程序步如表6-37所示2.指令说明 (1)空操作指令就是使该步无操作在程序中加入空操作指令,在变更程序或增加指令时可以使步序号不变化用NOP指令也可以替换一些已写入的指令,修改梯形图或程序但要注意,若将LD、LDI、ANB、ORB等指令换成NOP指令后,会引起梯形图电路的构成发生很大的变化,导致出错。
例如: ① AND、ANI指令改为NOP指令时会使相关触点短路,如图6-52(a) ② ANB指令改为NOP指令时,使前面的电路全部短路,如图6-52(b)③ OR指令改为NOP时使相关电路切断,如图6-52(c) ④ ORB指令改为NOP时前面的电路全部切断,如图6-52(d) ⑤ 图6-52(e)中LD指令改为NOP时,则与上面的OUT电路纵接,电路如图6-52(f),若图6-52(f)中AND指令改为LD,电路就变成了图6-52(g) (2) 当执行程序全部清零操作时,所有指令均变成NOP图6-52 用NOP指令修改电路,(3)END为程序结束指令可编程序控器总是按照指令进行输入处理、执行程序到END指令结束,进入输出处理工作若在程序中不写入END指令,则可编过程控制器从用户程序的第0步扫描到程序存储器的最后一步若在程序中写入END指令,则END以后的程序步不再扫描执行,而是直接进行输出处理,如图6-53也就是说,使用END指令可以缩短扫描周期图6-53 END指令执行过程,(4)END指令还有一个用途是可以对较长的程序分段程序调试调试时,可将程序分段后插入END指令,从而依次对各程序段的运算进行检查。
然后在确认前面电路块动作正确无误之后依次删除END指令第四节 编程规则及注意事项,一、梯形图的结构规则 梯形图作为一种编程语言,绘制时有一定的规则在编辑梯形图时,要注意以下几点 (1)梯形图的各种符号,要以左母线为起点,右母线为终点(可允许省略右母线)从左向右分行绘出每一行起始的触点群构成该行梯形图的 “执行条件”,与右母线连接的应是输出线圈、功能指令,不能是触点一行写完,自上而下依次再写下一行注意,触点不能接圈的右边,如图6-54(a)所示;线圈也不能直接与左母线连接,必须通过触点连接,如图6-54(b) 所示图6-54 规则(1)说明,(2)触点应画在水平线上,不能画在垂直分支线上例如,在图6-55(a)中触点E被画在垂直线上,便很难正确识别它与其它触点的关系,也难于判断通过触点E对输出线圈的控制方向因此,应根据信号单向自左至右、自上而下流动的原则和对输出线圈F的几种可能控制路径画成如图6-55(b)所示的形式图6-55 规则(2)说明:桥式梯形图改成双信号流向的梯形图,(3)不包含触点的分支应放在垂直方向,不可水平方向设置,以便于识别触点的组合和对输出线圈的控制路径,如图6-56。
图6-56 规则(3)说明,(4)如果有几个电路块并联时,应将触点最多的支路块放在最上面若有几个支路块串联时,应将并联支路多的尽量靠近左母线这样可以使编制的程序简洁明,指令语句减少如图6-57所示图6-57 规则(4)说明,(5)遇到不可编程的梯形图时,可根据信号流向对原梯形图重新编排,以便于正确进行编程图6-58中举了几个实例,将不可编程梯形图重新编排成了可编程的梯形图 二、语句表程序的编辑规则 在许多场合需要将绘好的梯形图列写出指令语句表程序根据梯形图上的符号及符号间的相互关系正确地选取指令及注意正确的表达顺序是很重要的 (1)利用PLC基本指令对梯形图编程时,必须要按信号单方向从左到右、自上而下的流向原则进行编写图6-59阐明了所示梯形图的编程顺序图6-58 重排电路举例,,图6-59 梯形图的编程顺序,三、双线圈输出问题 在梯形图中,线圈前边的触点代表线圈输出的条件,线圈代表输出在同一程序中,某个线圈的输出条件可能非常复杂,但应是惟一且可集中表达的由PLC的操作系统引出的梯形图编绘法则规定,一个线圈在梯形图中只能出现一次如果在同一程序中同一组件的线圈使用两次或多次,称为双线圈输出。
PLC程序对这种情况的出现,扫描执行的原则规定是:前面的输出无效,最后一次输出才是有效的但是,作为这种事件的特例:同一程序的两个绝不会同时执行的程序段中可以有相同的输出线圈如图6-60所示,,图6-60 双线圈输出的程序分析,第五节 常用基本环节的编程,作为编程组件及基本指令的应用,本节将讨论一些基本环节的编程这些环节常作为梯形图的基本单元出现在程序中 一、三相异步电动机单向运转控制:启-保- 停电路单元 三相异步电动机单向运转控制电路在电气控制部分已经介绍过现将线路图转绘于图6-61中图(a)为PLC的输入输出接线图,从图中可知,启动按钮SB1接于X000输入点,停车按钮SB2接于X001,交流接触器KM接于输出点Y000,这就是端子分配图,实质是为程序安排代表控制系统中事物的机内组件图6-61 异步电机单向运转控制,,(b)图是启-保-停单向控制梯形图它是将机内组件进行逻辑组合的程序,也是实现控制系统内各事物间逻辑关系的体现启-保-停单向控制电路是梯形图中最典型的单元,它包含了梯形图程序的全部要素它们是: (1)事件 每一个梯形图支路都针对一个事件事件用输出线圈(或功能框)表示,本例中为Y000。
(2)事件发生的条件 梯形图支路中除了线圈外还有触点的组合,使线圈置1的条件即是事件发生的条件,本例中为启动按钮使XO00置1 (3)事件得以延续的条件 触点组合中使线圈置1得以保持的条件是与XO00并联的。
