FX系列PLC的功能指令一.docx

上传人:b****8 文档编号:10618581 上传时间:2023-02-21 格式:DOCX 页数:17 大小:136.65KB
下载 相关 举报
FX系列PLC的功能指令一.docx_第1页
第1页 / 共17页
FX系列PLC的功能指令一.docx_第2页
第2页 / 共17页
FX系列PLC的功能指令一.docx_第3页
第3页 / 共17页
FX系列PLC的功能指令一.docx_第4页
第4页 / 共17页
FX系列PLC的功能指令一.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

FX系列PLC的功能指令一.docx

《FX系列PLC的功能指令一.docx》由会员分享,可在线阅读,更多相关《FX系列PLC的功能指令一.docx(17页珍藏版)》请在冰豆网上搜索。

FX系列PLC的功能指令一.docx

FX系列PLC的功能指令一

第二节FX系列PLC的功能指令

(一)

一、功能指令的表示格式

1、功能指令表示格式的基本要素:

①助记符②操作数

例:

区间复位S0—S25

防止X0按下是多个扫描周期重复操作可以用后缀P(上升沿有效)MOVP

原操作数DO,目标操作数D4Z0,其它操作数K3

2、助记符

每一功能指令都对应一个助记符

在编程书写时根据执行方式、处理数据的位数增加后缀(P)MOVP(上升沿有效)或前缀(D)

3、操作数:

•源操作数、目标操作数、其他操作数

•操作数可取的数据类型

①可使用X、Y、M、S等位元件

②可将位元件组合,以KnX、KnY、KnM、KnS等形式表示K1M0(K1是M0—M3),K2M0(K2是M0—M7),K3X0(K3是X0—X7X10—X13),作为数值数据进行处理

③使用字元件:

D,T,V,Z或C的当前值寄存器。

双字元件D1D0如“DMOVD0D2”双字MOVD0到D2

注意:

作为32位指令的操作数时的使用方法。

另:

C200-C255的1点可处理32位数据,不能指定为16位指令的操作数。

4、如何查阅资料

二、程序流向控制类指令

1、条件跳转指令

•格式:

助记符:

CJ(P);操作数:

指针标号P0~P127

•功能:

实现当执行条件满足时,程序跳转到指令所指定的指针标号开始执行,反之,若条件不满足,则按顺序执行程序。

跳转指令常用于初始化或手动/自动切换控制。

•应用注意:

与MC/MCR指令不同,执行CJ指令后,被跳转部分程序将不被扫描,这意味着,跳转前的输出状态(执行结果)将被保留,例如

2、子程序调用与子程序返回指令(FNC01、FNC02)

•调用(FNC01):

助记符CALL(P);操作数指针标号P0~P127(P63除外)

•返回(FNC02):

助记符SRET;无操作数

•含义:

 

•注意事项:

①标号应写在FEND之后。

②CJ指令中用过的标号不能重复再用,但不同的CALL指令可调用同一标号的子程序。

③在子程序中可再CALL子程序,形成子程序嵌套,总数可有5级嵌套。

④在子程序和中断子程序中使用的定时器范围规定为T192~T199和T246~T249。

3、与中断有关的指令(FNC03、FNC04、FNC05)

•中断返回IRET(FNC03),无操作数

•中断允许EI(FNC04),无操作数

•中断禁止DI(FNC05),无操作数

•说明:

①允许中断范围

②禁止中断继电器M8050~M8059

M8050—M8058禁止中断,M8059禁止所有中断

③中断优先权问题00--10

④中断嵌套问题允许1次

4、主程序结束指令(FNC06)

•助记符FEND;无操作数

•说明:

这条指令表示主程序结束。

执行到此指令时机器进行输出刷新、输入刷新、警戒时钟刷新等处理,完成后返回第0步。

•注意:

①CALL或CALLP指令的标号应写在FEND指令之后,且一定要用SRET指令作结束。

同样,中断子程序也要写在FEND之后,并用IRET指令结束。

②若有多个FEND指令,则子程序必须在最后一个FEND指令与END指令之间。

5、监视定时器指令

•助记符WDT;无操作数

•说明:

解决程序过长的一种手段。

即,如果扫描周期(从第0步到END或FEND指令)超过200ms,PLC将停止运行。

可以用WDT指令插到适当的程序步中刷新监视定时器,使得顺序程序能继续运行直到END。

6、循环指令

•循环起点FOR(FNC08),操作数n

•循环结束NEXT(FNC09),无操作数

•说明:

①程序运行时,位于FOR-NEXT间的程序反复执行n次后,再执行后续程序。

注意,FOR和NEXT必须成对使用。

②循环次数n的范围:

可用常数指定,也可用字元件的内容指定。

③可循环嵌套5层。

④可利用CJ指令跳出循环。

练习题:

按如下要求编写程序

⑴按下按钮X0,把下面7个数:

2、6、5、4、7、4、3按顺序传送到D0~D67个数据寄存器中。

⑵完成⑴以后,按X1按钮,求出上述7个数的最大值,当X1按钮松开时,用Y0~Y34个输出点显示最大数的值。

⑶按下X2按钮,执行复位操作。

三、传送与比较类指令

㈠比较类

1、比较指令CMP(FNC10)

两个数值进行比较,用三个位元件的状态表示比较结果。

例:

比较结果送到M0—M2

M0K100>C10

M1K100=C10

M2K100

例2:

教材例4-5第118页

2、区间比较指令ZCP(FNC11)

用以确定一个数落在由二个数值构成的闭区间的何处。

例:

S1比S2小

上例中,C10的当前值落在区间[100,120]的左方时,M0ON;落在区间内部时,M1ON;落在区间的右方时,M2ON。

3、触点比较指令(FNC224~FNC246)

CMP指令的结果是等待处理的,若要直接使用比较结果,可用触点比较指令,即把比较结果表示为一个触点状态,直接在程序中作逻辑运算。

比较结果更细化:

包括“=”,“>”,“<”,“<>”,“≤”,“≥”等6种;逻辑运算可采用LD(FNC224~FNC230)、AND(FNC232~FNC238)、OR(FNC240~FNC246)。

例:

前面练习题求最大值的一个方法

用D10存放最大值,比较前使(D0)→(D10),在FOR/NEXT中执行下面比较程序:

㈡传送类

传送操作的基本意义在于把源数据传送到指定的目标,可能在传送过程中伴随着其他某些操作,例如

•先完成源数据内部的某些处理,例如逐位取反后再传送(CMLFNC14);

•把一块连续区域的数据成批地传送到另一块连续区域(BMOVFNC15)

•把一个数据传送到一块连续区域(FMOVFNC16)

•使数据在指定的目标元件之间交换(XCHFNC17)

•进行源数据的数码变换然后传送到目标元件(BCDFNC18和BINFNC19)

1、传送指令MOV(FNC12)(DMOVD0D2,D0D1组合放到D2D3)

例:

教材例4-4

•指令的功能是把源数据传送到指定的目标。

•注意:

目标操作数可以是所有字元件,或除输入元件外的位元件组合。

采用位元件组合作为操作数应注意的问题

执行二进制传送,即自动把源操作数转换为二进制数,然后再传送。

2、块传送BMOV(FNC15)教材116页

•BMOV实现把一块连续区域的数据成批地传送到另一块连续区域的功能。

•程序执行时,数据逐个传送,系统自动解决源数据区域与目标区域有重叠引起的问题。

3、数据变换指令:

实现数据的BCD码与BIN码之间的变换,其中,BCD指令(FNC18)将源中的二进制数变换为BCD码并传送到目标元件中。

BIN指令(FNC19)将源元件中的BCD数据变换为二进制数并传送到目标元件中。

例BCD码369369每位转成2进制

001101101001

00+29+28+26+25+23+20=873(BIN码2进制转为10进制)

⑴十进制数的BCD码表示

⑵使用16位的BCD指令应注意的源元件的数应在K0~9999范围,否则出错

⑶使用BIN指令应注意的源元件的数据必须是BCD码,否则出错

⑷BCD指令和BIN指令的实际应用:

①BCD数字开关②用BCD码作输入的数码管电路

4、SMOV指令实现源元件的BCD数据按分配传送,实现数据组合。

这条指令同样要求源元件的数据必须是能转换为BCD码的。

应用例子:

某过程控制系统需要2个由外部设定的时间参数,它们都不超过十位数,若用4位拨码开关作为PLC的输入设定,试设计程序,使输入数据能指定2个定时器T0和T1的设定值。

四、算术运算与逻辑运算类指令

㈠算术运算指令

1、算术运算指令实现2个带符号整数进行四则运算(+,-,×,÷),结果送到目标元件的操作。

⑴加法ADD(FNC20)和减法SUB(FNC21)指令

①由于系统进行运算时,数据长度的被限制,“+”,“-”运算可能出现向高位进位或位的情况,需要用标志位(M8020~M8022)标识。

M8020零标志、M8021借位标志、M8022进位标志。

②源和目标可以用相同的元件号。

但须注意,此时若采用连续执行方式,结果会在每个扫描周期都会改变。

⑵乘法MUL指令(FNC22)(DMULDOD2D10,把DO、D1组合乘D2、D3组合放到D10、D11、D12、D13)

①目标元件的长度增加一倍,即16位运算时,D为32位,32位运算时,D为64位。

②采用变址功能确定元件号时,Z只有16乘法时能用,32位不可用。

⑶除法DIV指令(FNC23)注意,除数为零运算错误,PLC停机。

2、加1和减1指令:

INC和DEC指令分别是当条件满足时将指定的元件内容加强和减1,因此,如果使用连续方式,会每一扫描周期都作一次加1或减1运算;这种情况应避免。

INC与ADD、DEC与SUB使用时主要区别是:

INC和DEC不使用标志位。

脉冲执行INCP

例:

交通灯控制实验

㈡逻辑运算类指令

逻辑运算类指令通过对两个源操作数按位进行逻辑运算(与、或、异或等),把结果送指定元件,达到屏蔽数据的某些位、保留某些位,或实现某些校验功能的目的。

例:

某设备有6台电机,要求在手动方式下,每台电机均用一个按钮控制其直接启动/停止。

设手动/自动选择开关信号连接到X10端,6个按钮信号从X0起按顺序连接。

方法1:

用逻辑与(WAND)和逻辑异或指令(WXOR)实现

方法2:

用交替输出指令ALTP(FNC66)

⑴交替输出指令ALTP(FNC66)属于方便类指令,是FX系列PLC用于专门用于实现由一个按钮控制负载的启动和停止,如下图所示,当X0由OFF到ON时,Y0的状态改变一次。

注意,若用连续的ALT指令则每个扫描周期Y0均改变一次。

ALT指令也常用于信号分频上。

⑵用于本例的程序仅需6条ALTP指令

五、循环与移位指令

㈠循环与移位指令可分为三种:

⑴循环移位和带进位的循环移位指令,实现目标元件内部各位数据的回转,主要用于对采用循环码编码的数据进行处理的场合。

⑵位移位和字移位指令。

位移位指令实现目标位元件的状态成组地向右(或向左)移动,字移位指令则是位移位指令功能的推广。

⑶按先进先出(FIFO)原则进行控制的数据移位写入和读出指令

㈡位移位指令:

以位右移指令为例

•特例:

n2=1的位移指令。

天塔之光控制实验:

塔顶上放置9盏灯,要求系统启动

后,各灯按一定规律发亮、熄灭,时间间隔为1秒。

 

㈢FIFO移位写入和读出指令

1、FIFO移位写入指令SFWR(FNC38)

2、FIFO移位读出指令SFRD(FNC39)

例:

按产品入库顺序,要求按先入先出原则输出要取出的产品的编号。

设产品按16制编号(小于等于4位),允许最大库存量是99件。

产品编号由X000~X017输入并送到D256。

将D257作指针,D258~D356的99个数据寄存器用来存储产品的编号。

根据出库的要求,将最先入库的产品的编号送到D357,要取出的产品的编号以4位16进制数形式输出到Y000~

Y017.

 

六、数据处理指令

与FNC10~FNC39的基本功能指令相比,FNC40~FNC49指令能进行更复杂的处理或作为满足特殊用途的指令使用。

㈠使用区间复位指令ZRST(FNC40)应注意问题

㈡译码和编码指令

1、译码指令DECO(P)(FNC41)

⑴功能说明

计算源元件中n位二进制数值,使目标元件中与计算结果对应编号的位置位。

注意:

①源元件可以是位元件,也可以是字元件,对于位源元件,n指定了进行数值计算的位元件个数(从低向高编号),n的取值范围为n=1~8;对于字源元件,n指定了进行数值计算的位数(第0位开始)。

②目标元件可以是位元件(Y、M、S),也可以是字元件(K、H、T、C、V和Z)。

对于位目标元件,其个数为2n,例如:

n=8,则为256个。

对于字目标元件,位数被限制为16,因此n的取值范围被限制为n≤4。

⑵例:

教材例4-13用DECO指令实现步进电动机的正反转和调速控制。

①被控对象:

三相六拍步进电动机,故有A、B、C三相功放电路,PLC产生脉冲序列,作为步进电动机驱动电源的输入。

脉冲正序列:

A-AB-B-BC-C-CA,脉冲反序列:

CA-C-BC-B-AB-A。

②步进电动机的速度取决于脉冲序列的频率,本实验要求为1~10步/秒。

脉冲产生方法:

用1ms积算定时器T246

若T246设定值为K200~K1000,可达到速度要求。

速度的调整:

每100ms使T246设定值加1或减1,实现减速或加速。

③步进工步的产生和脉冲分配:

用DECOP指令实现工步计数器的值译码为对应位状态,根据脉冲正序列和脉冲反序列组合各步应驱动的输出。

各工步输出驱动如下:

工步号

正转(A-AB-B-BC-C-CA)

反转(CA-C-BC-B-AB-A)

M10

Y0

Y0、Y2

M11

Y0、Y1

Y2

M12

Y1

Y2、Y1

M13

Y1、Y2

Y1

M14

Y2

Y1、Y0

M15

Y2、Y0

Y0

由上表容易各输出驱动的梯级图,例如A相驱动的梯级图:

2、编码指令ENCO(FNC42)

编码操作是译码操作的逆过程,但须注意,ENCO指令只是将源操作数中为1的最高位的位编号编码成二进制数写入目标元件。

㈢报警器置位(ANSFNC46)和复位(ANRFNC47)指令

①FX2NPLC规定的信号报警器S900~S999:

固定掉电保持特性

②ANS指令采用报警条件满足后延时置位报警器的方式。

定时器限定为T0~T199,在子程序调用中也能使用该指令。

③ANR指令的使用:

从最低编号的报警元件开始复位。

七、时钟运算指令(FNC160~FNC169)

1、FX2N的特殊辅助寄存器D8013~D8019

①存放实时数据,存放顺序按秒、分、时、日、月、年、星期的顺序。

②掉电保持和读/写特性

2、时钟数据读取指令TRD(FNC166)和写入指令TWR(FNC167)

注意:

①读取和写入的顺序是年、月、日、时、分、秒、星期

②使用TWR指令时,须预先设定由源元件号起始的7个字元件,并注意数据范围和格式。

如果要把年设定2000年以后,应M8002↑用MOV指令把K2000传送到D8018。

3、时钟数据比较指令TCMP(FNC160)

TCMP指令仅比较时、分、秒3个数据,注意三个源数据的设定范围

例1:

例2:

教材例4-14PLC在隧道射流风机上的应用

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1