
PLC第二章第3节 指令系统.ppt
78页l基本指令包括基本顺序指令、基本功能指 令、程序流程控制指令及步进指令l1、基本顺序指令l1)存取指令(输入/输出指令) X0① ST:ST X0说明:以常开点开始一个程序行 常开点可以是各种节点第3节 FP1可编程控制器指令系统分为基本指令和高级指令两大类一、基本指令及其应用② ST/:③ OT:Y0ST/ X0OT Y0X0说明:以常闭点开始一个程序行常闭点可以是各种节点 说明:将运算结果输出输出点可以是Y、R类型节点l2)逻辑运算指令① AN:X0X1ST X0 AN X1说明:常开点逻辑“与”运算常开点可以各种节点② AN/:ST X0 AN/ X1说明:常闭点逻辑“与”运算常闭点可以是各种节点X0X1③OR:X0X1ST X0 OR X1说明:常开点逻辑“或”运算常开点可以各种节点④OR/:ST X0 OR/ X1说明:常闭点逻辑“或”运算常闭点可以各种节点X0X1⑤ANS:X0X1X3X2⑥ORS:X0X1X3X2ST X0 OR X1 ST X2 OR X3 ANSST X0 AN X2 ST X1 AN X3 ORS说明:程序行逻辑“与”运算 。
说明:程序行逻辑“或”运算l3)堆栈操作指令l 共有三条指令,PSHS、RDS及POPS ST X0 PSHS AN X1 OT Y0 RDS AN X2 OT Y1 POPS AN/ X3 OT Y2 X0X1X2X3Y0Y1Y2说明:PSHS为压栈指令;RDS为读栈指令;POPS为出栈指令l4)微分指令 l 上升沿微分DF, 下降沿微分DF/ST X0 DF OT Y0X0X1(DF )(DF/)Y0Y1说明:DF在触发信号上升沿输出一个宽度 为一个扫描周期的脉冲;DF/在触发信号下 降沿输出一个宽度一个扫描周期的脉冲;ST X1 DF/ OT Y1X0Y0X1Y1l5)置位、复位与保持指令l ① 置位与复位指令: SET、 RSTST X0 SET Y0 ST X1 RST R0说明: SET指令用于将某位置1, RST 指令用于将某位置0可以用SET和 RST 指令操作的元件应是输出元件,即Y 和RX0X1Y0R0② 保持指令 :KPST X0 ST X1 KP R0X0X1KP R0等效梯形图:X0X1 R0 R0说明: 该指令为RS触发器。
可以用 KP指令操作的元件同SET及RST l6)空操作、结束指令l 空操作指令NOP,结束指令 ENDST X0 NOP AN X1 OT Y0: EDX0X11 Y0ED说明:NOP只占内存,不执行任何操作ED为主程序结束指令,其后面可 以编写子程序l2、基本功能指令l1)定时器指令 TMR(时基为0.01S)TMX (时基为0.1S)TMY (时基为1S)TX K100X0ST X0 TMX 0K10 动作过程:控制点闭合后,定时器开始定时, 定时时间到,则定时器的 触点状态翻转无论何时,只要 控制点断开,则定时器复位l定时器的使用:TX K100X0T0 Y0l2)计数器指令 CT ST X0 ST X1 CT 100K10 动作过程: 输入端每输入一个脉冲,计数器 计数值减1(脉冲上升沿),当计 数值减为0时,计数器的触点状 态翻转无论何时,只要复位端 闭合,则计数器复位X0 CT K10100X1CPRCP端为计数输入端,R端为复位端l计数器的使用C100 Y0X0 CT K10100X1CPRl3、基本顺序及功能指令应用l1)瞬时接通,延时断开X0T0Y0Y0TX K30 0Y0X0ST X0 OR Y0 AN/ T0 OT Y0 ST Y0 AN/ X0 TMX 0K30 EDX0Y0 3sl2)延时接通,延时断开 X0T1Y1Y1TX K60 1Y1X0TX K30 0T0X0Y1 6s3sl3)振荡器T0Y1TX K30 0X0T1TX K10 1X0Y1 1s3s3s 1sl4)脉宽可调单脉冲R1T0X0R1TX K30 0R1R1T0 Y0X0Y03s3sl5)定时器X0T1T0TY K5 0TY K60 1T2X1CT K14 101C101 Y0T1X1CT K10 100T2C100TY K3600 2X0为启动控 制,X1为复 位。
l6)一般闪光报警系统R1 Y1X0T0R0TX K5 0X0T1TX K5 1X0R1Y0R0X2X0R1R1X1闪烁程序报警灯控制警铃控制警铃停止信号X0为报警信号 X1为确认按钮 X2为试灯按钮l4、程序流程控制指令l1)跳转指令 JP、跳转标记指令LBL:ST XOJP 7:LBL 7:( JP 7 )~~( LBL 7 )X0~~~~说明:X0为ON时,跳转至LBL n 并执行下 面程序;否则顺序执行n=0~63)l2)循环指令 LOOP、循环标记指令 LBL[ LOOP n DT0 ]~~( LBL n )X0LBL n:ST X0LOOP nDT0 : 说明:条件成立时,循环次数(DT寄存器)减1,若 结果不为0,则跳转至LOOP n所指编号相同的LBL 处,重复执行,直至结果为0l3)子程序指令 CALL、SUB、RET( CALL n )~~( ED )X0( SUB n)~~( RET )ST X0CALL n:EDSUB n:RET l4)中断指令 ICTL、INT、IRETl FP1-C24的中断分为外部中断和定时 中断。
l外部中断:共8个中断源,X0~X7,对 应的中断号为INT0~INT7INT0的优先 级最高,INT7的优先级最低要求中断 信号的持续时间大于0.2msl中断是否使用由系统寄存器No. 403的低8 位指定,Bit0~Bit7对应INT0~INT7对 应位置1时,启用该中断l定时中断:定时中断的入口地址为INT24lICTL用于设置中断控制l 指令为[ICTL,S1,S2]l S1规定要设置的中断类型l S2为相应的操作数l如S1=H00时,为设置外部中断,则S2的低8位 用于设置X0--X7中断源是否有效1有效)l如S1=H100时,为设置外部中断保持/清除,则 S2的低8位用于设置X0--X7中断源是保持还是 清除(1保持,0清除)l如S1=H02时,为设置定时中断,则S2为定时中 断时间常数(时基为10ms)l 当定时中断时间常数为0时,则为停止定时中 断lINT和IRET为中断子程序入口和返回l 入口为INT0 -- INT7,和INT24l 返回均为IRETl INT与IRET应成对使用l中断子程序可调用子程序,但不能使用定时器 l5、步进控制指令l 步进控制指令共有5条:l SSTP:进入步进程序l NSTP:脉冲方式执行步进过程l NSTL:扫描方式执行步进过程l CSTP:复位指定步进过程l STPE:步进结束l1)顺序控制过程10过程11过程12A段B段C段ENDX0X1X2X4Y0 = ONY1 = ONY2 = ON(SSTP 10)(NSTP 10)X0[ Y0]R9010(NSTP 11)X1(SSTP 11) [ Y1]R9010(NSTP 12)X2(SSTP 12) [ Y2]R9010(CSTP 12)X4(STPE)l2)选择分支过程控制 过程10过程11过程12A段B段C段ENDX0X1X3X5Y0 = ONY1 = ONY2 = ON过程20X2X4Y3 = ON过程序列为:过程10 — 过程11或12 — 过程20l梯形图程序(NSTP 10)(SSTP 10)[ Y0]X0R9010(NSTP 11)X1(SSTP 11)[ Y1]R9010(NSTP 20)X3(SSTP 12)[ Y2]R9010(CSTP 20)X5(STPE)(NSTP 12)X2(NSTP 20)X4(SSTP 20)[ Y3]R9010l3)并行分支合并过程控制 过程0过程10过程20A段C段E段X6X1X5Y0 = ONY1 = ONY2 = ON过程30X2Y5 = ON过程11过程21B段D段X3Y3 = ONY4 = ONX03S后 Y5=ONl过程序列: 过程0 — 过程10、11、20、21 — 过程30 l梯形图程序(SSTP 0 )(NSTP 0 )X6[ Y0]R9010(NSTP 10)X0(SSTP 10)[ Y1]R9010(NSTP 20)(NSTP 11)X1(SSTP 20)[ Y2]R9010(NSTP 21)X2(SSTP 11)[ Y3]R9010[ R0]l这里并行程序执行序列为:过程10 —20 — 11 — 21(NSTP 0 )X5(STPE)(SSTP 30)[ R2]R9010(CSTP 11)(NSTP 30)X3 R0(SSTP 21)[ Y4]R9010TX K30 0R9010[R1]T0[ Y5]R1R2R1l6、比较指令S1S2比较数据2(寄存器或常数) 比较数据1(寄存器或常数) 比较运算符( =、>、=、D=、D>、D =、D)助记符(ST、AN、OR)l例指令数据 ST>= DT2 K16 AN= DT0 K64 OTR0指令表梯形图R0>= DT2, K16= DT0, K64程序的功能为:根据DT2中的数据范围, 或(DT1,DT0)中的内容,来决定R0的输 出状态。
设DT2中数据用x表示,(DT1, DT0)中数据用y表示,则当16≤x≤32,或 者y≥64时,R0导通,输出为ON;否则, R0断开,输出为OFF从该例可以看出,比较指令实际上相 当于一个条件触点,根据条件是否满足, 决定触点的通断l1、高级指令概述l1)高级指令分类Ø数据传送指令:16位、32位数据,以及位 数据的传送、拷贝、交换等功能Ø算术运算指令:二进制数和BCD码的加、 减、乘、除等算术运算Ø数据比较指令:16位或32位数据的比较Ø逻辑运算指令:16位数据的与、或、异或 和同或运算二、高级指令Ø数据转换指令:16位或32位数据按指定 的格式进行转换Ø数据移位指令:16位数据进行左移、右 移、循环移位和数据块移位等Ø位操作指令:16位数据以位为单位,进 行置位、复位、求反、测试以及位状态 统计等操作Ø特殊功能指令:包括时间单位的变换、 I/O刷新、进位标志的置位和复位、串口 通信及高速计数器指令等等l2)高级指令的构成l 高级指令由大写字母“F”、指令功能 号、助记符和操作数组成,指令的格式 如下S , DF n 目的操作数 源操作数 助记符 功能号(n=1~165 )操作数可以是一个、二个或者三个,取决于 所用的指令,可以是单字、双字数据,若为位操 作指令,还可以。












