一、比较指令
1)比较指令(CMP)
比较源操作数[S1·]和[S2·]的值,并将比较的结果送到目标操作数[D·]。
下图中当X0为ON时将[S1·]K100和[S2·]C20进行比较,并将结果分别保存到M0、M1、M2中。
当[S1·]100>[S2·]C20当前值时,M0为ON;当[S1·]100=[S2·]C20当前值时,M1为ON;当[S1·]100<[S2·]C20当前值时,M2为ON。
2)触点比较指令
对两个数值进行比较,条件成立时输出为ON。比较方式为:/=/>=/<=/<>(不等于)。
下图表示当C1当前值>20且C2当前值<=30时,Y0为ON。
二、四则运算指令
1)加运算(ADD )
将源操作数[S1·]和[S2·]相加,并将结果保存到目标操作数[D·]。在进行32位运算时指定的操作数为低位,如图中程序则表示(D101,D100)+(D11,D110)→(D121,D120)。
2)减运算(SUB)
用源操作数[S1·]减去[S2·],并将结果保存到目标操作数[D·]。32位运算的方式与加运算相同。
3)乘运算(MUL)
将源操作数[S1·]和[S2·]相乘,并将结果保存到目标操作数[D·]。
在进行16位运算时目标操作数为32位,即(D0)×(D1)→(D5,D4)。
在进行32位运算时目标操作数为64位,即(D1,D0)×(D3,D2)→(D7,D6;D5,D4)。
4)除运算(DIV)
被除数[S1·]除以除数[S2·],并将结果保存到目标操作数[D·],余数保存到[D·]的下一个元件。
在进行16位运算时被除数为(D0),除数为(D2),商为(D4),余数为(D5)。
在进行32位运算时被除数为(D1,D0),除数为(D3,D2)商为(D5,D4)余数为(D7,D6)。
5)加1和减1指令
使用脉冲执行时,每检测到执行条件的上升沿[D·]会自动加1/减1。
使用连续执行时,则每个扫描周期加1/减1。
三、区间复位指令(ZRST)
将[D1·]和[D2·]指定范围内的元件成批复位。
[D1·]和[D2·]应为同类型元件,[D1·]指定的元件号应小于等于[D2·]指定的元件号。
下图程序表示将M500~M599成批复位。
四、指令运用
以《部件分配》项目为例对上述指令进行演示。
1)确定变量表
进入项目后,根据项目要求和仿真动画确定各个元件所对应的I/O地址。
|项目要求
仿真动画
2)编辑程序
程序段1:物件供给按下按钮PB1且机器人在原点,机器人供给物件。
程序段2:1号传送带正转旋转旋钮SW1,1号传送带动作。
|程序段3:物件型号检测当X3为ON且X2、X1为OFF时,表示物件是小型号,让辅助继电器M1为ON并自锁。当X4检测到物件放置到位后复位M1。中型号与大型号物件的检测原理与其类似。
程序段4:推出机构动作控制物件到位检测传感器X10~X12检测到物件到达指定位置后,对应的推出机构动作。当物件到达指定数量后,推出机构不再动作。
程序段5:2~4号输送带动作控制当对应型号的物件没有达到指定数量,且物件到位检测传感器X10~X12没有检测到物件,对应的输送带动作。当对应型号的物件达到指定数量后,无论物件到位检测传感器X10~X12是否检测到物件,所有输送带都要动作,将物料推到地下。旋钮SW1为OFF后所有输送带停止动作。
程序段6:物件计数每检测到物件放置检测传感器X4~X6的上升沿,对应寄存器就进行加1。加1指令输入方式:INC(空格)D1。
程序段7:比较物件数量当物件未达到指定数量时,物件正常输送与放置;当物件到达指定数量后,推出机构不动作,直接将该物件输送到地上。比较指令输入方法:=(空格)D1(空格)K2。
程序段8:复位寄存器所有动作完成后将旋钮SW1旋转到OFF,并利用区间复位指令对寄存器进行复位,等待开始下一次循环。
程序整体浏览