FX系列PLC的功能指令一解读

上传人:小** 文档编号:50495842 上传时间:2022-01-20 格式:DOC 页数:17 大小:563.50KB
返回 下载 相关 举报
FX系列PLC的功能指令一解读_第1页
第1页 / 共17页
FX系列PLC的功能指令一解读_第2页
第2页 / 共17页
FX系列PLC的功能指令一解读_第3页
第3页 / 共17页
点击查看更多>>
资源描述
第二节 FX系列PLC的功能指令(一)一、功能指令的表示格式1、功能指令表示格式的基本要素:助记符 操作数例:2、助记符每一功能指令都对应一个助记符在编程书写时根据执行方式、 处理数据的位数增加后缀(P)MOVP上升沿有效)或前缀(D)3、操作数:?源操作数、目标操作数、其他操作数?操作数可取的数据类型 可使用X、Y、M S等位元件 可将位元件组合,以 KnX KnY KnM KnS等形式表示 K1M0(K1是M0M3, K2M0 (K2是M0-M7),K3X0( K3是X0-X7 X10-X13),作为数值数据进行处理 使用字元件:D, T,V,Z或C的当前值寄存器。双字元件D1D0女口“DMOD0D2双 字 MOV D01U D2注意:作为32位指令的操作数时的使用方法。另:C200-C255的1点可处理32位数据,不能指定为16位指令的操作数。4、如何查阅资料、程序流向控制类指令1、条件跳转指令?格式:助记符:CJ (P);操作数:指针标号P0P127?功能:实现当执行条件满足时,程序跳转到指令所指定的指针标号开始执行,反之,若条件不满足,则按顺序执行程序。跳转指令常用于初始化或手动/自动切换控制。?应用注意:与MC/MC指令不同,执行CJ指令后,被跳转部分程序将不被扫描,这意 味着,跳转前的输出状态(执行结果)将被保留,例如j;JJ3#2、子程序调用与子程序返回指令(FNC01 FNC02?调用(FNC01:助记符CALL (P);操作数指针标号P0P127 ( P63除外)?返回(FNC02:助记符SRET;无操作数?含义:?注意事项: 标号应写在FEND后 CJ指令中用过的标号不能重复再用, 但不同的CALL指令可调用同一标号的子程序 在子程序中可再CALL子程序,形成子程序嵌套,总数可有 5级嵌套。 在子程序和中断子程序中使用的定时器范围规定为T192T199和T246T249。3、与中断有关的指令(FNC03 FNC04 FNC05?中断返回IRET (FNC03 ,无操作数?中断允许El ( FNC04 ,无操作数?中断禁止DI ( FNC05 ,无操作数?说明:允许中断范围 禁止中断继电器 M805CM8059 M8050-M8058禁止中断,M8059禁止所有中断 中断优先权问题 00-10 中断嵌套问题允许1次X10_I/ifII.込!IIMO十TCMl -IFEWDDIEI许断圉允中范斷务序中服程4、主程序结束指令(FNC06?助记符FEND无操作数警戒时钟刷新等处理,完成后返回第 0步P肋j xorIfFNC何 卜M主过趕程序FNC Q0CJP 20主过糧程序卜主过程程产P2i主过程程序-MC 01CALLr上主过糧程序子过程程序061100?说明:这条指令表示主程序结束。执行到此指令时机器进行输出刷新、输入刷新、 CALL或 CALLP旨令的标号应写在FEND旨令之后,且一定要用SRET指令作结束。同 样,中断子程序也要写在FEN龙后,并用IRET指令结束。 若有多个FEND旨令,则子程序必须在最后一个 FEND旨令与END旨令之间。5、监视定时器指令?助记符WDT无操作数?说明:解决程序过长的一种手段。即,如果扫描周期(从第 0步到END或FEND指 令)超过200ms PLC将停止运行。可以用WDT旨令插到适当的程序步中刷新监视定时器, 使得顺序程序能继续运行直到 END6、循环指令?循环起点FOR(FNC08)操作数n?循环结束NEXT(FNC09)无操作数?说明:程序运行时,位于FOR-NEX间的程序反复执行n次后,再执行后续程序。注意, FORK NEXT必须成对使用。 循环次数n的范围:可用常数指定,也可用字元件的内容指定 可循环嵌套5层。 可利用CJ指令跳出循环。练习题:按如下要求编写程序 按下按钮X0,把下面7个数:2、6、5、4、7、4、3按顺序传送到D0D6 7 个数据寄存器中。 完成以后,按X1按钮,求出上述7个数的最大值,当X1按钮松开时,用丫0 丫3 4个输出点显示最大数的值。按下X2按钮,执行复位操作。三、传送与比较类指令 比较类1、比较指令 CMP( FNC10两个数值进行比较,用三个位元件的状态表示比较结果例:XOOO証S2-D-CMPK100C10M0比较结果送到M0- M2MO K1OOC1OM1 K1OO=C1OM2 K1OO” ,“” ,“” ,“W” ,等6种;逻辑运算可采用 LD (FNC224-FNC23O、AND( FNC23各 FNC238、OR( FNC24O- FNC246。例:前面练习题求最大值的一个方法用D10存放最大值,比较前使(D0-( D10,在FOR/NEX中执行下面比较程序:传送类传送操作的基本意义在于把源数据传送到指定的目标,可能在传送过程中伴随着其他某些操作,例如?先完成源数据内部的某些处理,例如逐位取反后再传送(CML FNC14 );?把一块连续区域的数据成批地传送到另一块连续区域(BMOV FNC15 )?把一个数据传送到一块连续区域(FMOV FNC16 )?使数据在指定的目标元件之间交换(XCH FNC17 )?进行源数据的数码变换然后传送到目标元件(BCD FNC18和BIN FNC19 )1、传送指令 MOV(FNC12 (DMOV DO D2 DOD1 组合放至U D2D3vnnftP-D-IIMOVK100D10例:教材例4-4?指令的功能是把源数据传送到指定的目标。?注意:目标操作数可以是所有字元件,或除输入元件外的位元件组合。采用位元件组合作为操作数应注意的问题执行二进制传送,即自动把源操作数转换为二进制数,然后再传送。2、块传送BMO(FNC15教材116页? BMO实现把一块连续区域的数据成批地传送到另一块连续区域的功能。?程序执行时,数据逐个传送,系统自动解决源数据区域与目标区域有重叠引起的问题。3、数据变换指令:实现数据的BCD码与BIN码之间的变换,其中,BCD旨令(FNC18将 源中的二进制数变换为BCD码并传送到目标元件中。BIN指令(FNC19将源元件中的BCD 数据变换为二进制数并传送到目标元件中。例BCD码 369369每位转成2进制0011 0110 100100+29+28+26+25+23+2=873(BIN 码 2 进制转为 10 进制)十进制数的BCD码表示使用16位的BCD旨令应注意的源元件的数应在 K09999范围,否则出错使用BIN指令应注意的源元件的数据必须是 BCD码,否则出错BCD旨令和BIN指令的实际应用:BCD数字开关 用BCD码作输入的数码管电路4、SMO指令实现源元件的BCD数据按分配传送,实现数据组合。这条指令同样要求源元 件的数据必须是能转换为BCD码的。应用例子:某过程控制系统需要2个由外部设定的时间参数,它们都不超过十位数,若用4位拨码开关作为PLC的输入设定,试设计程序,使输入数据能指定2个定时器T0和T1 的设定值。四、算术运算与逻辑运算类指令算术运算指令1、算术运算指令实现2个带符号整数进行四则运算(+, - ,X,十),结果送到目标元件 的操作。加法ADD (FNC20和减法SUB( FNC21指令 由于系统进行运算时,数据长度的被限制,“ +”,“-”运算可能出现向高位进位或位的情况,需要用标志位(M802AM8022标识。M8020零标志、M8021借位标志、M8022 进位标志。 源和目标可以用相同的元件号。 但须注意, 此时若采用连续执行方式, 结果会在每个 扫描周期都会改变。乘法 MULf令(FNC22 (DMUDOD2D10,把 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实现8X0100 11pK2M0 KOX01027K2X000K2M0K2MIDK2M1OK2M1OK2YOOOMION17YOOOY007PNAND H003FJ XORP K2h1OovestBST-1J-方法2:用交替输出指令 ALTP( FNC66交替输出指令ALTP( FNC66属于方便类指令,是 FX系列PLC用于专门用于实现由一个按钮控制负 载的启动和停止,如下图所示,当 X0由OFF到ON 时,丫0的状态改变一次。注意,若用连续的ALT指令则每个扫描周期丫0均改变一次。ALT指令也常用于信号分频上。用于本例的程序仅需6条ALTP指令XQOOY0ALT (P)YOHO LJ |_|_五、循环与移位指令循环与移位指令可分为三种:循环移位和带进位的循环移位指令, 实现目标元件内部各位数据的回转,主要用于对 采用循环码编码的数据进行处理的场合。位移位和字移位指令。位移位指令实现目标位元件的状态成组地向右 (或向左)移动, 字移位指令则是位移位指令功能的推广。按先进先出(FIFO)原则进行控制的数据移位写入和读出指令位移位指令:以位右移指令为例j SFTRPKOOOM 0KI 6K 4M恆右移 M 3M 0 溢出 M 71 4 一 M 31 M 111 8 _ JUM12 M 11 M X003 XOOO M 15II12|幅話州斗和6|H1|厂可M?特例:n2=1的位移指令。L9L5L4二L310天塔之光控制实验:塔顶上放置 9盏灯,要求系统启动后,各灯按一定规律发亮、熄灭,时间间隔为 1秒。FIFO移位写入和读出指令1、FIFO移位写入指令 SFWRFNC3811#2、FIFO移位读出指令SFRD( FNC39(F)j SFRDP0 1D 20K 10#D 13D 9tD BID 1 0 55 5 D t1 D 2 U2 0 10幼*16制例:按产品入库顺序,要求按先入先出原则输出要取出的产品的编号。设产品按 编号(小于等于4位),允许最大库存量是99件。产品编号由X000X017输入并送到D256,将D257作指针,D258D356的99个数据寄存器用来存储产品的编号。4位16Y000 根据出库的要求,将最先入库的产品的编号送到 D357,要取出的产品的编号以 进制数形F人式输出到Y017./.六、数据处理指令与FNC10-FNC39勺基本功能指令相比,FNC40-FNC49指令能进行更复杂的处理或作 为满足特殊用途的指令使用。使用区间复位指令ZRST(FNC40应注意问题译码和编码指令1、译码指令 DEC0(P)(FNC41)功能说明计算源元件中n位二进制数值,使目标元件中与计算结果对应编号的位置位。DECO(F)XOOO M 10 K 3注意: 源元件可以是位元件,也可以是字元件,对于位源元件, n指定了进行数值计算的位 元件个数(从低向高编号),n的取值范围为n=18;对于字源元件,n指定了进行数 值计算的位数(第0位开始)。 目标元件可以是位元件(丫、M S),也可以是字元件(K、H、T、C V和Z)。对于位 目标元件,其个数为2n,例如:n=8,则为256个。对于字目标元件,位数被限制为 16, 因此n的取值范围被限制为n 4。例:教材例4-13用DECO旨令实现步进电动机的正反转和调速控制。总开关手动自动开关单步按昭一旷 反转按钮一缶 减速按钮一也一加带按钮X000YOOOXQ01Y0D1002XQ03COMX0Q4XQ05COM5+127匚卜适相功放电路 rp c相功放电路A相功放电略被控对象:三相六拍步进电动机,故有 A、B、C三相功放电路,PLC产生脉冲序列,作 为步进电动机驱动电源的输入。脉冲正序列:A-AB-B-BC-C-CA,脉冲反序列CA-C-BC-B-AB-A步进电动机的速度取决于脉冲序列的频率,本实验要求为110步/秒脉冲产生方法:用1ms积算定时器T246p-| | OY K500 DE1248T | ST T246X000| |CT 24610XOOOT248SOOrns若T246设定值为K200K1000,可达到速度要求速度的调整:每100ms使 T246设定值加1或减1,实现减速或加速。-I |CMPP DOMS012T I PF DOMl 20K1000INCPK200-pECPM110DOunoDO步进工步的产生和脉冲分配:用DECO指令实现工步计数器的值译码为对应位状态, 据脉冲正序列和脉冲反序列组合各步应驱动的输出。X001詔一FX001II-71I I-X000XQ02T246DECOP DIMIO K3INCPD1STD1各工步输出驱动如下:丄步号正转(A-AB-B-BC-C-CA反转(CA-C-BC-B-AB-AM10Y0Y0 Y2M11Y0 Y1Y2M12Y1Y2、Y1M13Y1、Y2Y1M14Y2Y1、Y0M15Y2、Y0Y0由上表容易各输出驱动的梯级图,例如 A相驱动的梯级图:75M14xoos T IM10T卜2、编码指令ENCQ FNC42编码操作是译码操作的逆过程,但须注意,ENCC指令只是将源操作数中为1的最高位的位编号编码成二进制数写入目标元件。报警器置位(ANS FNC46和复位(ANR FNC47指令 FX2N PLC规定的信号报警器S90旷S999固定掉电保持特性 ANS指令采用报警条件满足后延时置位报警器的方式。定时器限定为T0T199,在子程序调用中也能使用该指令。 ANR指令的使用:从最低编号的报警元件开始复位。七、时钟运算指令(FNC16FNC1691、FX2N的特殊辅助寄存器 D801A D8019 存放实时数据,存放顺序按秒、分、时、日、月、年、星期的顺序。 掉电保持和读/写特性2、时钟数据读取指令 TRD(FNC166和写入指令TWR( FNC167注意:读取和写入的顺序是年、月、日、时、分、秒、星期使用TWR旨令时,须预先设定由源元件号起始的7个字元件,并注意数据范围和格式如果要把年设定2000年以后,应M8002T用MOVS令把K2000传送到D801&3、时钟数据比较指令 TCMP( FNC160TCMP指令仅比较时、分、秒3个数据,注意三个源数据的设定范围例1:16xooopCMF DGO15 D9014D8013 DOiDOMO17#例2:教材例4-14 PLC在隧道射流风机上的应用#
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!