电工学习网

 找回密码
 立即注册
查看: 49141|回复: 1
打印 上一主题 下一主题

三菱plc功能指令应用详解

[复制链接]
跳转到指定楼层
楼主
发表于 2015-11-22 11:02:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
  三菱plc功能指令实际上就是功能各异的PLC子程序块。FX2N系列PLC的功能指令有程序流程、传送比较、四则逻辑运算、旋转移位、数据处理、高速处理、方便指令、外部设备处理、浮点数、时钟运算、接点比较等若干类。本节仅介绍三菱FX2N系列PLC常用的功能指令。
一、功能指令形式 1.功能指令格式
  功能指令用编号FNC00~FNC246表示,并给出对应的语句名称,每条功能指令都有一个指令表。例如FNC45是一条数据处理平均值功能的指令,助记符为MEAN,使用简易编程器时输入FNC45,而采用智能编程器或计算机编程时也可输入助记符MEAN。图1是一条取平均值功能指令的梯形图。
三菱plc功能指令应用详解
图1 MEAN示例梯形图

  图中MEAN是功能指令的语句名称,也可使用FNC45(但不直观);D0是源操作数的首元件;D4Z是指定计算结果存放的数据寄存器的地址;K3是指定取值的个数为3。显然该功能指令的含义是D4Z =(D0+D1+D2)/3,即将(D0+D1+D2)/3的运算结果赋值给D4Z。
  功能指令的指令段通常占1个程序步,16位操作数占2步,32位操作数占4步。
2. 功能指令执行方式
  功能指令有连续执行和脉冲执行两种类型。图2中第1支路的MOV是连续执行型指令,即当X001接通时,各运算周期都执行一次,而第2支路的MOV(P)是脉冲执行型型指令,(P)就表示当X000由OFF转换为ON时,仅执行一次指令。
三菱plc功能指令应用详解
图2 功能指令执行方式示例

3.可处理数据长度
  功能指令可处理16位数据,也可处理32位数据,见图3示例梯形图。第1梯级中,当X000接通,则移位MOV功能指令处理的数据为16位,即将D10 的内容传送至D12;而在第2梯级中,(D)MOV功能指令处理的数据为32位,将D21D20(由D21、D20构成的32位数据)的内容传送到 D23D22(由D23、D22组成的32位数据存储单元)。
三菱plc功能指令应用详解
图3 功能指令处理数据长度示例

二、程序流程指令 1.条件跳转指令
  当执行条件跳转指令CJ指令时,跳过CJ指令和指针标号之间的程序,见图4。当X30接通时,跳转到P20处执行该行及以后程序,如果X30不接通,则跳转不执行,程序按原顺序执行。指令可用的有效指针范围为P0~P127。
三菱plc功能指令应用详解
图4 CJ指令应用示例

  执行跳转指令CJ后,对于不被执行的指令,即使输入零件状态发生改变,输出元件的状态也维持不变。
2.子程序调用指令
三菱plc功能指令应用详解
图5 CALL指令示例
  子程序调用CALL指令的操作数为P0~P127,占用3个程序步。需与子程序返回指令SRET(无操作数)配合使用,见图5。
  若X0接通,则转到标号P10处去执行子程序。当执行到子程序结束SRET指令时,返回到CALL指令的下一步执行。使用子程序调用与返回指令时应注意转移标号不能重复,也不可与跳转指令的标号重复。子程序调用可以嵌套调用,最多可达5级嵌套。
  FEND是主程序结束指令,无操作数,占用1个程序步。表示主程序结束,当执行到FEND时,PLC进行输入/输出处理,监视定时器刷新,完成后返回起始步。

三、比较指令 1.CMP指令

三菱plc功能指令应用详解
图6 CMP指令示例
  比较CMP指令有3个操作数,其中是将2个源操作数相比较,将比较结果送到目标操作数中,见图6示例。当X0接通时,比较K100和C10当前值的大小,分三种情况分别接通M0、M1、M2中一个辅助继电器,另二个辅助继电器则不接通。若X0不接通,则CMP指令也不执行。
2.ZCP指令
  区间比较ZCP指令是将1个源数据与2个源源数据相比较,比较结果将影响目标存储器的数据状态。当X0接通时,根据C30与K100、K120之间的比较结果,分别对M3、M4、M5进行赋值。
四、FX2N顺控指令   FX2N系列PLC有900个状态元件可用于顺序功能图中,其中S0~S9为初始状态器,存储顺序功能图中的起始状态数据,S10~S19为回零状态继电器,S20~S899是普通状态器。
FX2N系列PLC顺控指令有步进触头STL指令和步进返回RET指令。其中STL指令用于步进触头的驱动,而RST指令则用于步进程序结束返回。
1. 单序列顺控指令应用
   图8是运料小车的顺控功能图。该小车的一个工作周期由5步组成,分别对应S0、S20~S23,其中步S0为初始步。
  图9是运料小车单序列顺控梯形图,第1支路中当初始化脉冲M8002的常开触头闭合时,由SET指令将初始步S0置为活动步。第2支路中当SO的STL 触头和X3的常开触头同时接通时,由SET指令将S20置为活动步。进入第3支路后,当Y1闭合,则置Y0输出为ON并保持,若限位开关X1按下,由步 S20转换至步S21的条件满足,由SET指令将S21置为活动步。直至第6支路中当S23被置为活动步,同时行程开关X2按下时,顺控状态将从S23转换到S0,此处须用OUT指令输出SO状态步,以实现了循环操作。在一系列STL指令之后需用RET指令结束步进顺控指令,使其重返左母线。
三菱plc功能指令应用详解
图8 单序列顺控梯形图
三菱plc功能指令应用详解
图9 运料小车单序列顺控功能图

   梯形图对应的语句指令程序为:
          LD M8002
          SET S0 //激活状态步S0
          //状态步S0的活动过程
          STL SO
          LD X3
          SET S20
          //状态步S20的活动过程
          STL S20
          LDI Y1
          OUT Y0
          LD X1
          SET S21
          //状态步S21的活动过程
          STL S21
          LDI Y0
          OUT Y1
          LD X2
          SET S22
          //状态步S22的活动过程
          STL S22
          LDI Y1
          OUT Y0
          LD X0
          SET S23
          //状态步S23的活动过程
          STL S23
          LDI Y0
          OUT Y1
          LD X2
          OUT S0 //用OUT指令返回初始状态步S0
          RET //结束步进顺控指令
          END
三菱plc功能指令。包含FX0N、FX1S、FX1N、FX2N、FX3NC 等三菱PLC的功能指令。
FNC NO.指令助记符功能说明对应不同型号的PLC
FX0SFX0NFX1SFX1NFX2NFX2NC
00CJ条件跳转
01CALL子程序调用××
02SRET子程序返回××
03IRET中断返回
04EI开中断
05DI关中断
06FEND主程序结束
07WDT监视定时器刷新
08FOR循环的起点与次数
09NEXT循环的终点
10CMP比较
11ZCP区间比较
12MOV传送
13SMOV位传送××××
14CML取反传送××××
15BMOV成批传送×
16FMOV多点传送××××
17XCH交换××××
18BCD二进制转换成BCD
19BINBCD码转换成二进制
20ADD二进制加法运算
21SUB二进制减法运算
22MUL二进制乘法运算
23DIV二进制除法运算
24INC二进制加1运算
25DEC二进制减1运算
26WAND字逻辑与
27WOR字逻辑或
28WXOR字逻辑异或
29NEG求二进制补码××××
30ROR循环右移××××
31ROL循环左移××××
32RCR带进位右移××××
33RCL带进位左移××××
34SFTR位右移
35SFTL位左移
36WSFR字右移××××
37WSFL字左移××××
38SFWRFIFO(先入先出)写入××
39SFRDFIFO(先入先出)读出××
40ZRST区间复位
41DECO解码
42ENCO编码
43SUM统计ON位数××××
44BON查询位某状态××××
45MEAN求平均值××××
46ANS报警器置位××××
47ANR报警器复位××××
48SQR求平方根××××
49FLT整数与浮点数转换××××
50REF输入输出刷新
51REFF输入滤波时间调整××××
52MTR矩阵输入××
53HSCS比较置位(高速计数用)×
54HSCR比较复位(高速计数用)×
55HSZ区间比较(高速计数用)××××
56SPD脉冲密度××
57PLSY指定频率脉冲输出
58PWM脉宽调制输出
59PLSR带加减速脉冲输出××
便60IST状态初始化82ASCI16进制数转换成ASCI
83HEXASCI码转换成16进制数×
84CCD校验×
85VRRD电位器变量输入××
86VRSC电位器变量区间××
87--
88PIDPID运算××
89--
110ECMP二进制浮点数比较××××
111EZCP二进制浮点数区间比较××××
118EBCD二进制浮点数十进制浮点数××××
119EBIN十进制浮点数二进制浮点数××××
120EADD二进制浮点数加法××××
121EUSB二进制浮点数减法××××
122EMUL二进制浮点数乘法××××
123EDIV二进制浮点数除法××××
127ESQR二进制浮点数开平方××××
129INT二进制浮点数二进制整数××××
130SIN二进制浮点数Sin运算××××
131COS二进制浮点数Cos运算××××
132TAN二进制浮点数Tan运算××××
147SWAP高低字节交换××××
155ABSABS当前值读取×××
156ZRN原点回归×××
157PLSY可变速的脉冲输出×××
158DRVI相对位置控制×××
159DRVA绝对位置控制×××
160TCMP时钟数据比较××
161TZCP时钟数据区间比较××
162TADD时钟数据加法××
163TSUB时钟数据减法××
166TRD时钟数据读出××
167TWR时钟数据写入××
169HOUR计时仪××
170GRY二进制数格雷码××××
171GBIN格雷码二进制数××××
176RD3A模拟量模块(FX0N-3A)读出×××
177WR3A模拟量模块(FX0N-3A)写入×××
224LD=S1= (S2)时起始触点接通××
225LD>S1> (S2)时起始触点接通××
226LD<S1< (S2)时起始触点接通××
228LD<>S1<> (S2)时起始触点接通××
229LD≦S1≦ (S2)时起始触点接通××
230LD≧S1≧ (S2)时起始触点接通××
232AND=S1= (S2)时串联触点接通××
233AND>S1> (S2)时串联触点接通××
234AND<S1< (S2)时串联触点接通××
236AND<>S1<> (S2)时串联触点接通××
237AND≦S1≦ (S2)时串联触点接通××
238AND≧S1≧ (S2)时串联触点接通××
240OR=S1= (S2)时并联触点接通××
241OR>S1> (S2)时并联触点接通××
242OR<S1< (S2)时并联触点接通××
244OR<>S1<> (S2)时并联触点接通××
245OR≦S1≦ (S2)时并联触点接通××
246OR≧S1≧ (S2)时并联触点接通××

再介绍FX系列三菱PLC功能指令的数据格式。
1.位元件与字元件
象X、Y、M、S等只处理ON/OFF信息的软元件称为位元件;而象T、C、D等处理数值的软元件则称为字元件,一个字元件由16位二进制数组成。
位元件可以通过组合使用,4个位元件为一个单元,通用表示方法是由Kn加起始的软元件号组成,n为单元数。例如K2 M0表示M0~M7组成两个位元件组(K2表示2个单元),它是一个8位数据,M0为最低位。如果将16位数据传送到不足16位的位元件组合(n<4)时,只传送低位数据,多出的高位数据不传送,32位数据传送也一样。在作16位数操作时,参与操作的位元件不足16位时,高位的不足部分均作0处理,这意味着只能处理正数(符号位为0),在作32位数处理时也一样。被组合的元件首位元件可以任意选择,但为避免混乱,建议采用编号以0结尾的元件,如S10,X0,X20等。
2.数据格式
在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。二进制补码的最高位为符号位,正数的符号位为0,负数的符号位为1。FX系列PLC可实现二进制码与BCD码的相互转换。
为更精确地进行运算,可采用浮点数运算。在FX系列PLC中提供了二进制浮点运算和十进制浮点运算,设有将二进制浮点数与十进制浮点数相互转换的指令。二进制浮点数采用编号连续的一对数据寄存器表示,例D11和D10组成的32位寄存器中,D10的16位加上D11的低7位共23位为浮点数的尾数,而D11中除最高位的前8位是阶位,最高位是尾数的符号位(0为正,1是负)。10进制的浮点数也用一对数据寄存器表示,编号小数据寄存器为尾数段,编号大的为指数段,例如使用数据寄存器(D1,D0)时,表示数为
10进制浮点数=〔尾数D0〕×10〔指数D1〕
其中:D0,D1的最高位是正负符号位。

回复

使用道具 举报

沙发
发表于 2015-11-22 13:38:30 | 只看该作者
过于简单了,其实光一个RS指令就够学习2个月的了

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

电工学习网 ( )

GMT+8, 2024-5-4 11:32

Powered by © 2011-2022 www.diangon.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

快速回复 返回顶部 返回列表