- 1、本文档共95页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PLC-2第一章第3节指令系统、第4节AD和DA、习题
第3节 FP1可编程控制器指令系统 分为基本指令和高级指令两大类。一、基本指令及其应用 基本指令包括基本顺序指令、基本功能指令、程序流程控制指令及步进指令。 1、基本顺序指令 1)存取指令(输入/输出指令) 2)逻辑运算指令 3)堆栈操作指令 共有三条指令,PSHS、RDS及POPS。 4)微分指令 上升沿微分DF, 下降沿微分DF/。 5)置位、复位与保持指令 ① 置位与复位指令: SET、 RST ② 保持指令 :KP 6)空操作、结束指令 空操作指令NOP,结束指令 END。 2、基本功能指令 1)定时器指令 TMR(时基为0.01S) TMX (时基为0.1S) TMY (时基为1S) 定时器的使用: 2)计数器指令 CT 计数器的使用 3、基本顺序及功能指令应用 1)瞬时接通,延时断开 2)延时接通,延时断开 3)振荡器 4)脉宽可调单脉冲 5)定时器 6)一般闪光报警系统 4、程序流程控制指令 1)跳转指令 JP、跳转标记指令LBL 2)循环指令 LOOP、循环标记指令 LBL 3)子程序指令 CALL、SUB、RET 4)中断指令 ICTL、INT、IRET FP1-C24的中断分为外部中断和定时中断。 外部中断:共8个中断源,X0~X7,对应的中断号为INT0~INT7。INT0的优先级最高,INT7的优先级最低。要求中断信号的持续时间大于0.2ms。 中断是否使用由系统寄存器No. 403的低8位指定,Bit0~Bit7对应INT0~INT7。对应位置1时,启用该中断。 定时中断:定时中断的入口地址为INT24 ICTL用于设置中断控制 指令为[ICTL,S1,S2] S1规定要设置的中断类型 S2为相应的操作数 如S1=H00时,为设置外部中断,则S2的低8位用于设置X0--X7中断源是否有效。(1有效) 如S1=H100时,为设置外部中断保持/清除,则S2的低8位用于设置X0--X7中断源是保持还是清除(1保持,0清除) 如S1=H02时,为设置定时中断,则S2为定时中断时间常数(时基为10ms)。 当定时中断时间常数为0时,则为停止定时中断。 INT和IRET为中断子程序入口和返回 入口为INT0 -- INT7,和INT24 返回均为IRET INT与IRET应成对使用。 中断子程序可调用子程序,但不能使用定时器。 5、步进控制指令 步进控制指令共有5条: SSTP:进入步进程序(程序起点) NSTP:脉冲方式执行步进过程 NSTL:扫描方式执行步进过程 CSTP:复位指定步进过程 STPE:步进结束 1)顺序控制 2)选择分支过程控制 梯形图程序 3)并行分支合并过程控制 梯形图程序 6、比较指令 例 程序的功能为:根据DT2中的数据范围,或(DT1,DT0)中的内容,来决定R0的输出状态。设DT2中数据用x表示,(DT1,DT0)中数据用y表示,则当16≤x≤32,或者y≥64时,R0导通,输出为ON;否则,R0断开,输出为OFF。 从该例可以看出,比较指令实际上相当于一个条件触点,根据条件是否满足,决定触点的通断。 二、高级指令 1、高级指令概述 1)高级指令分类 数据传送指令:16位、32位数据,以及位数据的传送、拷贝、交换等功能。 算术运算指令:二进制数和BCD码的加、减、乘、除等算术运算。 数据比较指令:16位或32位数据的比较。 逻辑运算指令:16位数据的与、或、异或和同或运算。 数据转换指令:16位或32位数据按指定的格式进行转换。 数据移位指令:16位数据进行左移、右移、循环移位和数据块移位等。 位操作指令:16位数据以位为单位,进行置位、复位、求反、测试以及位状态统计等操作。 特殊功能指令:包括时间单位的变换、I/O刷新、进位标志的置位和复位、串口通信及高速计数器指令等等。 2)高级指令的构成 高级指令由大写字母“F”、指令功能号、助记符和操作数组成,指令的格式如下。 2、数据传送指令 1)F0(MV)、F1(DMV) F2(MV/ )、F3 (DMV/) [F0 MV S, D ]:将一个16位的常数或寄存器中的数据传送到另一个寄存器中去,(S) → (D)。 [F1 DMV S, D ]:将一个32位的常数或寄存器区中的数据传送到另一个寄存器区中去, ,(S+1,S) → (D+1,D)。 [F2 MV/ S, D ]:将一个16位的常数或寄存器中的数据取反
文档评论(0)