2、编写程序实现以下控制:
PLC通电后,首先进入密码输入页面;
如密码正确(2012),按下列条件进入不同页面:
(1) 如开关打在左边,则进入手动页面;
(2) 如开关打在右边,则进入自动页面;
报警页面中的报警信号有:卡机报警(Y12),缺料报警X2,气缸未定位报警s901,计数报警C10。
编程思路:
1、PLC上电后,首先把页面编号1,传送给页面切换寄存器D;
2、使用比较指令,判断输入的密码是否为2012;
3、密码正确的情况下:如X1=1, 把页面编号3,传送给页面切换寄存器D;
4、密码正确的情况下:如X1=0, 把页面编号2,传送给页面切换寄存器D;
5、如有任何报警,让主电机Y10停机,蜂鸣器Y11响,如按下M34,则Y11
不响。
6、M30,M31分别给D200,D225清零。
3.1 传送指令
今天,我们来学习跟“数值传送”相关的功能指令。
在控制应用中,一个控制程序总是需要初始数据,这些数据可以通过各种方式获得,如从外部器件读取,或在程序开始运行时,从内部存储单元获取,因此,机内的数据传送是不可缺少的。
一、传送指令的“助记符”
在三菱的指令系统里,比较指令的“指令记号”是MOV,也就是Move (移动,运输)的简写。
二、传送指令的格式
“比较指令的指令格式”如下:
其中:
是传送源;是传送目标。
指令规定:
传送源:可以是字元件,如T、C、D、V/Z,也可以是位组合的字元件KnX,KnY,KnM,KnS,当然可以是十进制数K、十六进制数H。
是传送目标:必须是字元件,如T、C、D、V/Z,也可以是位组合的字元件KnY,KnM,KnS。
操作数格式如下所示:
三、传送指令的常用用法
传送指令一般用于读出内部存储器件的当前值、数据间接赋值和位传送。
1、读出内部存储器件的当前值
此行程序表示,当X1导通时,将定时器T0的当前计时值读出,存储在数据寄存器D20中。
2、数据间接赋值
上述程序表示,当X2导通时,将K100传送给数据寄存器D10,当X2关断时,将K50传送给数据寄存器D10,当M0导通时,定时器T20开始计时。
可以看出,通过X2的开、关,可以对定时器T20设定2个设定值。
3、位传送
上图左侧为基本指令的梯形图,表示X0(或X1\X2\X3)导通时,Y0(或
Y1\Y2\Y3)导通,我们可以使用右侧MOV指令来替代。
3.2 比较指令
今天,我们来学习跟“数值比较”相关的功能指令。
在控制应用中,经常需要将某个物理量的数值变化作为控制点,如温度低于多少度就打开电热器,速度高于或低于一个区间就报警等。
因此,作为一个控制“阀门”,比较指令常出现在工业控制程序中。
一、比较指令的“助记符”
比较指令的“指令记号”是CMP,也就是compare的简写。
比较指令有连续执行型(D)CMP和脉冲执行型(D)CMPP,DCMP(P)表示32位数据的比较。
二、比较指令的格式
“比较指令的格式”如下:
其中:
S1和S2是源操作数,即两个进行数值比较的对象;
D是目标操作数,即根据比较结果所输出的结果。
指令规定:
源操作数(S1,S2):可以是处理数据的字元件,如T、C、D、V/Z,也可以是位组合的字元件KnX,KnY,KnM,KnS,当然可以是十进制数K、十六进制数H。
目标操作数(D):必须是位元件,如Y、M、S。
如操作数不完整,或者指定的操作数不符合要求,使用比较指令就会出错。
操作数格式如下所示:
三、比较指令的示例
我们看一个示例:
当X0满足条件(接通)时,指令执行,S1和S2进行比较有三种结果:大于、等于、小于。
一般,我们把要比较的基准值放在前面,也就是S1(在示例是K100),把变化的数值放在后面,也就是S2(在示例中是计数器C20),如下图所示。
根据上述三种比较结果,目标操作数D的结果如下:
S1> S2;也就是C20<K100,位元件D变ON;
S1= S2;也就是C20=K100,位元件D+1变ON;
S1< S2;也就是C20>K100,位元件D+1变ON。
大家要注意到:在示例中目标操作数为m0,则m1、m2被自动占用。
“触点比较指令”
2、触点比较指令
在工业控制中,经常需要反复使用CMP指令或ZCP指令,这时使用触点比较指令会非常方便,同时,触点比较指令为上下限控制以及数值条件判断提供了方便。
(1)触点比较指令的说明
触点比较指令相当于一个触点,指令执行时,比较两个操作数[S1]、[S2],满足比较条件,则触点闭合。
触点比较指令的“助记符”即为数学运算符号“>”(大于)、“<”(小于)、“≥”(大于等于)、“≤”(小于等于)、“=”(等于)、“< >”(不等于)。
触点比较指令格式,示例如下:
如上图所示为判断S1和S2是否相等的触点比较指令,如相等此触点导通。
当进行32位的数值比较时,指令的“助记符”前要加D,如下例所示。
当X0处于ON,数据寄存器D11,D10的内容小于678493时,驱动M0。
触点比较指令作为一个触点,可以和母线直接相连,也可以串联和并联。
如下例所示即为两个触点比较指令串联使用,形成一个比较区域。
如上图所示为判断S是否在(S1,S2)范围内,即两个触点都满足条件时,这一行程序才能执行和输出动作。
(2)触点比较指令的应用
如下程序为一个霓虹灯循环点亮控制程序。
12盏灯分别接在PLC的Y0—Y13输出端,X0端接启动按钮。
当X0接通,计时器T0开始循环计时,K60是计时6秒钟。
当X0断开,0送入将Y0—Y13,即所有彩灯都熄灭。