FX系列PLC的功能指令一_第1页
FX系列PLC的功能指令一_第2页
FX系列PLC的功能指令一_第3页
FX系列PLC的功能指令一_第4页
FX系列PLC的功能指令一_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二节 FX系列PLC的功能指令(一)一、功能指令的表示格式 1、功能指令表示格式的基本要素:助记符 操作数 例: 区间复位 S0S25 防止X0按下是多个扫描周期重复操作可以用后缀P(上升沿有效) MOVP 原操作数DO,目标操作数D4Z0,其它操作数K32、助记符 每一功能指令都对应一个助记符 在编程书写时根据执行方式、处理数据的位数增加后缀(P)MOVP(上升沿有效)或前缀(D)3、操作数: 源操作数、目标操作数、其他操作数 操作数可取的数据类型可使用X、Y、M、S等位元件可将位元件组合,以KnX、KnY、KnM、KnS等形式表示K1M0(K1是M0M3),K2M0(K2是M0M7),K

2、3X0(K3是X0X7 X10X13),作为数值数据进行处理使用字元件:D,T,V,Z或C的当前值寄存器。双字元件D1D0 如“DMOV D0 D2” 双字MOV D0到D2 注意:作为32位指令的操作数时的使用方法。另:C200-C255的1点可处理32位数据,不能指定为16位指令的操作数。4、如何查阅资料二、程序流向控制类指令1、条件跳转指令 格式:助记符:CJ(P);操作数:指针标号P0P127 功能:实现当执行条件满足时,程序跳转到指令所指定的指针标号开始执行,反之,若条件不满足,则按顺序执行程序。跳转指令常用于初始化或手动/自动切换控制。 应用注意:与MC/MCR指令不同,执行CJ指

3、令后,被跳转部分程序将不被扫描,这意味着,跳转前的输出状态(执行结果)将被保留,例如2、子程序调用与子程序返回指令(FNC01、FNC02) 调用(FNC01):助记符 CALL(P);操作数 指针标号P0P127(P63除外) 返回(FNC02):助记符 SRET;无操作数 含义: 注意事项:标号应写在FEND之后。CJ指令中用过的标号不能重复再用,但不同的CALL指令可调用同一标号的子程序。在子程序中可再CALL子程序,形成子程序嵌套,总数可有5级嵌套。在子程序和中断子程序中使用的定时器范围规定为T192T199和T246T249。3、与中断有关的指令(FNC03、FNC04、FNC05)

4、 中断返回IRET(FNC03),无操作数 中断允许EI(FNC04),无操作数 中断禁止DI(FNC05),无操作数 说明:允许中断范围禁止中断继电器M8050M8059M8050M8058禁止中断,M8059禁止所有中断中断优先权问题 00-10中断嵌套问题 允许1次4、主程序结束指令(FNC06) 助记符 FEND;无操作数 说明:这条指令表示主程序结束。执行到此指令时机器进行输出刷新、输入刷新、警戒时钟刷新等处理,完成后返回第0步。 注意:CALL或CALLP指令的标号应写在FEND指令之后,且一定要用SRET指令作结束。同样,中断子程序也要写在FEND之后,并用IRET指令结束。 若

5、有多个FEND指令,则子程序必须在最后一个FEND指令与END指令之间。5、监视定时器指令 助记符 WDT;无操作数 说明:解决程序过长的一种手段。即,如果扫描周期(从第0步到END 或 FEND指令)超过200ms,PLC将停止运行。可以用WDT指令插到适当的程序步中刷新监视定时器,使得顺序程序能继续运行直到END。6、循环指令 循环起点FOR(FNC08),操作数 n 循环结束NEXT(FNC09),无操作数 说明: 程序运行时,位于FOR-NEXT间的程序反复执行n次后,再执行后续程序。注意,FOR和NEXT必须成对使用。循环次数n的范围:可用常数指定,也可用字元件的内容指定。可循环嵌套

6、5层。可利用CJ指令跳出循环。练习题:按如下要求编写程序 按下按钮X0,把下面7个数:2、6、5、4、7、4、3 按顺序传送到D0D6 7个数据寄存器中。 完成以后,按X1按钮,求出上述7个数的最大值,当X1按钮松开时,用Y0Y3 4个输出点显示最大数的值。 按下X2按钮,执行复位操作。三、传送与比较类指令比较类1、比较指令CMP(FNC10) 两个数值进行比较,用三个位元件的状态表示比较结果。 例: 比较结果送到M0M2 M0 K100>C10 M1 K100=C10 M2 K100<C10 例2:教材例4-5 第118页2、区间比较指令ZCP(FNC11) 用以确定一个数落在由

7、二个数值构成的闭区间的何处。例: S1比S2小 上例中,C10的当前值落在区间100,120的左方时,M0 ON;落在区间内部时,M1 ON;落在区间的右方时,M2 ON。3、触点比较指令(FNC224FNC246) CMP指令的结果是等待处理的,若要直接使用比较结果,可用触点比较指令,即把比较结果表示为一个触点状态,直接在程序中作逻辑运算。 比较结果更细化:包括 “=”, “>”, “<”, “<>”, “”, “”等6种;逻辑运算可采用LD(FNC224FNC230)、AND(FNC232FNC238)、OR(FNC240FNC246)。例:前面练习题求最大值的一个

8、方法用D10存放最大值,比较前使(D0)(D10),在FOR/NEXT中执行下面比较程序:传送类 传送操作的基本意义在于把源数据传送到指定的目标,可能在传送过程中伴随着其他某些操作,例如 先完成源数据内部的某些处理,例如逐位取反后再传送(CML FNC14); 把一块连续区域的数据成批地传送到另一块连续区域(BMOV FNC15) 把一个数据传送到一块连续区域(FMOV FNC16) 使数据在指定的目标元件之间交换(XCH FNC17) 进行源数据的数码变换然后传送到目标元件(BCD FNC18和BIN FNC19)1、传送指令MOV(FNC12)(DMOV D0 D2,D0D1组合放到D2D

9、3)例:教材例4-4 指令的功能是把源数据传送到指定的目标。 注意:目标操作数可以是所有字元件,或除输入元件外的位元件组合。 采用位元件组合作为操作数应注意的问题 执行二进制传送,即自动把源操作数转换为二进制数,然后再传送。2、块传送BMOV(FNC15)教材116页 BMOV实现把一块连续区域的数据成批地传送到另一块连续区域的功能。 程序执行时,数据逐个传送,系统自动解决源数据区域与目标区域有重叠引起的问题。3、数据变换指令:实现数据的BCD码与BIN码之间的变换,其中,BCD指令(FNC18)将源中的二进制数变换为BCD码并传送到目标元件中。 BIN指令(FNC19)将源元件中的BCD数据

10、变换为二进制数并传送到目标元件中。例BCD码 369 3 6 9 每位转成2进制 0011 0110 1001 00+29+28+26+25+23+20=873(BIN码2进制转为10进制)十进制数的BCD码表示使用16位的BCD指令应注意的源元件的数应在K09999范围,否则出错使用BIN指令应注意的源元件的数据必须是BCD码,否则出错BCD指令和BIN指令的实际应用:BCD数字开关 用BCD码作输入的数码管电路4、SMOV指令实现源元件的BCD数据按分配传送,实现数据组合。这条指令同样要求源元件的数据必须是能转换为BCD码的。应用例子:某过程控制系统需要2个由外部设定的时间参数,它们都不超

11、过十位数,若用4位拨码开关作为PLC的输入设定,试设计程序,使输入数据能指定2个定时器T0和T1的设定值。四、算术运算与逻辑运算类指令算术运算指令1、算术运算指令实现2个带符号整数进行四则运算(+,-,×,÷),结果送到目标元件的操作。加法 ADD(FNC20)和减法SUB(FNC21)指令由于系统进行运算时,数据长度的被限制,“+”,“-”运算可能出现向高位进位或位的情况,需要用标志位(M8020M8022)标识。M8020零标志、M8021借位标志、M8022进位标志。源和目标可以用相同的元件号。但须注意,此时若采用连续执行方式,结果会在每个扫描周期都会改变。乘法MUL

12、指令(FNC22)(DMUL DO D2 D10,把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例:交通灯控制实验逻

13、辑运算类指令逻辑运算类指令通过对两个源操作数按位进行逻辑运算(与、或、异或等),把结果送指定元件,达到屏蔽数据的某些位、保留某些位,或实现某些校验功能的目的。例:某设备有6台电机,要求在手动方式下,每台电机均用一个按钮控制其直接启动/停止。设手动/自动选择开关信号连接到X10端,6个按钮信号从X0起按顺序连接。方法1:用逻辑与(WAND)和逻辑异或指令(WXOR)实现方法2:用交替输出指令ALTP(FNC66)交替输出指令ALTP(FNC66)属于方便类指令,是FX系列PLC用于专门用于实现由一个按钮控制负载的启动和停止,如下图所示,当X0由OFF到ON时,Y0的状态改变一次。注意,若用连续的

14、ALT指令则每个扫描周期Y0均改变一次。 ALT指令也常用于信号分频上。用于本例的程序仅需6条ALTP指令五、循环与移位指令循环与移位指令可分为三种: 循环移位和带进位的循环移位指令,实现目标元件内部各位数据的回转,主要用于对采用循环码编码的数据进行处理的场合。位移位和字移位指令。位移位指令实现目标位元件的状态成组地向右(或向左)移动,字移位指令则是位移位指令功能的推广。按先进先出(FIFO)原则进行控制的数据移位写入和读出指令位移位指令:以位右移指令为例特例:n2=1的位移指令。天塔之光控制实验:塔顶上放置9盏灯,要求系统启动后,各灯按一定规律发亮、熄灭,时间间隔为1秒。FIFO移位写入和读

15、出指令1、FIFO移位写入指令SFWR(FNC38)2、FIFO移位读出指令SFRD(FNC39) 例:按产品入库顺序,要求按先入先出原则输出要取出的产品的编号。设产品按16制编号(小于等于4位),允许最大库存量是99件。产品编号由X000X017输入并送到D256。将D257作指针,D258D356的99个数据寄存器用来存储产品的编号。根据出库的要求,将最先入库的产品的编号送到D357,要取出的产品的编号以4位16进制数形式输出到Y000Y017.六、数据处理指令与FNC10FNC39的基本功能指令相比,FNC40FNC49指令能进行更复杂的处理或作为满足特殊用途的指令使用。使用区间复位指令

16、ZRST(FNC40)应注意问题译码和编码指令1、译码指令DECO(P)(FNC41)功能说明计算源元件中n位二进制数值,使目标元件中与计算结果对应编号的位置位。注意:源元件可以是位元件,也可以是字元件,对于位源元件,n指定了进行数值计算的位元件个数(从低向高编号),n的取值范围为 n=18;对于字源元件,n指定了进行数值计算的位数(第0位开始)。目标元件可以是位元件(Y、M、S),也可以是字元件(K、H、T、C、V和Z)。对于位目标元件,其个数为2n,例如:n=8,则为256个。对于字目标元件,位数被限制为16,因此n的取值范围被限制为 n4。例:教材例4-13 用DECO指令实现步进电动机

17、的正反转和调速控制。被控对象:三相六拍步进电动机,故有A、B、C三相功放电路,PLC产生脉冲序列,作为步进电动机驱动电源的输入。脉冲正序列:A-AB-B-BC-C-CA,脉冲反序列:CA-C-BC-B-AB-A。步进电动机的速度取决于脉冲序列的频率,本实验要求为110步/秒。脉冲产生方法:用1ms积算定时器T246若T246设定值为K200K1000,可达到速度要求。速度的调整:每100ms使T246设定值加1或减1,实现减速或加速。步进工步的产生和脉冲分配:用DECOP指令实现工步计数器的值译码为对应位状态,根据脉冲正序列和脉冲反序列组合各步应驱动的输出。各工步输出驱动如下:工步号正转(A-

18、AB-B-BC-C-CA)反转(CA-C-BC-B-AB-A)M10Y0Y0、Y2M11Y0、Y1Y2M12Y1Y2、Y1M13Y1、Y2Y1M14Y2Y1、Y0M15Y2、Y0Y0由上表容易各输出驱动的梯级图,例如A相驱动的梯级图:2、编码指令ENCO(FNC42) 编码操作是译码操作的逆过程,但须注意,ENCO指令只是将源操作数中为1的最高位的位编号编码成二进制数写入目标元件。报警器置位(ANS FNC46)和复位(ANR FNC47)指令 FX2N PLC规定的信号报警器S900S999:固定掉电保持特性 ANS指令采用报警条件满足后延时置位报警器的方式。定时器限定为T0T199,在子程序调用中也能使用该指令。 ANR指令的使用:从最低编号的报警元件开始复位。七、时钟运算指令(FNC160FNC169)1、FX2N的特

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论