三菱可编程控制器原理与应用课件第五章.ppt_第1页
三菱可编程控制器原理与应用课件第五章.ppt_第2页
三菱可编程控制器原理与应用课件第五章.ppt_第3页
三菱可编程控制器原理与应用课件第五章.ppt_第4页
三菱可编程控制器原理与应用课件第五章.ppt_第5页
免费预览已结束,剩余50页可下载查看

下载本文档

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

文档简介

1、第五章 可编程控制器高级程序指令,2,主要指令,高级程序指令的基本知识 程序流程控制指令 比较指令与传送指令 算术运算指令与逻辑运算指令 循环移位指令 数据处理指令 高速处理指令 方便指令,3,外部设备I/O指令 外部设备SER指令 浮点数处理指令和字节交换指令 时钟处理指令 格雷码指令 触点比较指令,4,5.1 高级程序指令的基本知识,高级程序指令一般由名称和操作数构成 指令名称:指令编号和助记符组成,指明指令实现的功能。 每条高级程序指令都有一个编号,编号不同,功能也不同 编号形式:FNC n 机型不同,n的取值也不同 FX2N n=0246 FX0N n=067,指令 名称,操作数,源操

2、作数S,辅助操作数m,目的操作数D,辅助操作数n,5,每条高级指令都有一个助记符,以指令实现的功能的英文单词缩写形式表示。 操作数是指令执行时涉及到的或产生的数据 操作数的存在形式 存储在存储单元 数值的形式直接出现 操作数分类: 源操作数 目的操作数 辅助操作数,6,源操作数:指令执行时使用的数据。指令执行后,只要不被覆盖,源操作数不变。 目的操作数:指令执行时产生的数据 辅助操作数:对指令的源操作数或目的操作数做某种说明或限定的数,FNC 20 ADD,D10,D11,D12,X001,M100,FNC 45 MEAN,D10,D14Z0,K4,辅助操作数 做说明和限定,X001,M100

3、,7,把几个元素组合起来,构成高级程序指令的结构,FNC n AMS,S1,S2,m1,m2,D1,D2,n1,n2,指令编号,助记符,源操作数,目的操作数,辅助操作数,8,每条指令对操作数的类型、数目、存储形式都有严格的规定: 如果指令有操作数,在使用指令时,需要指明操作数的数据长度。指令操作数的数据长度有16位和32位两种。同一条指令对16位数据和对32位数据操作时,要使用不同的助记符,区别的方法是在16位数据的助记符前加上前缀“D”即为32位数据的助记符。 注意:C200C255是32位计数器,不能作为16位指令的操作数 大部分高级程序指令可看成特定功能的电器,该电器受由各种触点组成的电

4、路控制,当电路为ON时,电器工作即指令被执行,当为OFF时,电器不工作即指令不被执行。,9,有些指令有脉冲执行型和连续执行型。 脉冲执行型:仅在执行条件满足后的第一个扫描周期内执行,只执行一次; 连续执行型:执行条件满足过程中的每个扫描周期都要执行; 区别方法:在连续执行型指令的助记符后加上后缀“P” 高级程序指令都是对存储区进行操作,如利用BMOV指令对EEPROM进行写入操作时,要使用脉冲执行型指令。,FNC 20 ADDP,D10,D11Z0,D12,X001,M100,10,5.2 程序流程控制指令,跳转指令CJ 用来选择某段程序执行或不执行。,FNC 00 CJ,S1,S1,P0P1

5、27,P指令,条件满足后条件跳转,M100,X000,X001,M100,M100,FNC 00 CJ,P1,X002,FNC 20 ADD,D1,D2,D3,X003,Y000,X004,M101,X005,S20,X006,T60,X007,RST,T248,K100,X010,T248,K500,X011,RST,C10,C10,X012,M100,FNC 00 CJ,P2,P1,X013,PLS,M120,Y000,M120,X014,Y000,Y001,Y000,M130,X015,Y002,M130,P2,12,使用跳转指令时,要注意跳转指令对各软电器状态的影响。 跳转程序中有T1

6、92T199和高速计数器C235C255时,若这些定时器和计数器开始工作后程序跳转,则这些定时器和计数器继续计时和计数,达到设定值时其相应的触点动作不受程序跳转的影响。 积算型定时器和计数器的复位指令在跳转程序外,跳转过程中对它们的复位有效。 同一个软电器线圈可以出现在不会被同时执行的选择性程序段中。,13,多条跳转指令可以使用同一个指针P,FNC 00 CJ,P10,X010,X011,Y000,FNC 00 CJ,P10,X012,X013,Y002,X014,Y003,P10,14,X000为ON的时间 超过200ms时,会 产生看门狗定时器 出错。,选择性执行程序的结束标志(指针P)一

7、般应放在开始标志(CJ指令)后,但也可以放在前面。,X010,Y000,X011,Y001,P10,X012,Y002,FNC 00 CJ,P10,X000,X001,Y003,15,CJ指令的跳转目的地是END指令时,指针用P63,但END指令处不标记P63,否则会出错。,FNC 00 CJ,P63,X000,X001,Y000,END,P63,FNC 00 CJ,P63,X000,X001,Y000,END,不要标记出P63,16,主控指令与跳转指令经常会混合应用,处理情况如下: 主控指令控制区可称为主控区,跳转指令控制区称为跳转区; 当主控区内嵌于跳转区时,跳转区被执行后,则主控区才被执

8、行; 当跳转区内嵌于主控区时,主控区被执行后,则跳转区才被执行; 从主控区外跳到主控区内时,跳转优先,不论主控触点状态如何,都做ON处理; 当主控触点为ON,跳转条件也成立时,可以从主控区内跳到主控区外,主控结束指令MCR不影响跳转;,17,跳转指令可以从一个主控区跳到另一个主控区,条件是跳转指令所在主控区被执行切跳转条件成立时,跳转优先,跳转指令所在主控区 的MCR指令被忽略,跳入区的主控指令MC也被忽略; 每个跳转程序段都应该使用转移的P指针。,18,子程序指令 如果某段程序在整个程序中的不同位置多次出现,可以把这段程序作为子程序来处理。 如果有子程序存在时,主程序排在最前面,主程序的最后

9、一条语句用主程序结束指令FNC06(FEND); 子程序按顺序排在FNC06(FEND)指令后,每一段子程序用子程序返回指令SRET作为结束句,每段子程序必须有SRET语句; 调用子程序,使用子程序调用指令FNC01(CALL)或FNC01(CALLP)指令; 子程序可以嵌套,最多可有5层嵌套。,Y000,X000,X001,FNC 01 CALLP,P20,Y001,M100,Y002,M101,X002,FNC 01 CALLP,P20,Y003,M100,Y004,M101,FNC 06 FEND,M100,X003,M100,X004,P20,SET M101,X005,RST M10

10、1,X006,FNC 02 SRET,主 程 序,子 程 序,Y000,X000,X001,FNC 01 CALL,P20,Y001,M100,Y002,M101,FNC 06 FEND,P20,FNC 02 SRET,主 程 序,子 程 序,Y003,X002,P21,FNC 01 CALL,M100,X003,M100,X004,FNC 02 SRET,Y004,M100,M101,P21,子 程 序,20,子程序调用完,执行完SRET指令后,程序返回CALL指令处顺序向下执行,直到FEND指令处,结束一次扫描过程中的程序执行。 每段子程序使用的指针P是专用指针,不能再供其他子程序段或跳转

11、程序段使用。 子程序中可采用T192T199或T246T249作为定时器。,21,中断指令 计算机在预先安排好的工作过程中,暂停当前的工作,转去处理随机或周期性出现的事件,就是中断。 使计算机中断的随机或周期性事件称为中断事件或称为中断源。 计算机中处理中断事件的程序称为中断程序。 计算机中断当前程序的执行,转去执行中断程序称为中断响应:中断事件出现,计算机暂停执行当前程序,转去执行中断程序,中断程序执行完后,从当前程序的中断位置继续执行当前程序。,22,若同时出现多个中断事件,计算机只能按某种顺序逐个处理中断事件。 处理顺序:根据中断优先级别; 顺序中断:同时出现的几个中断按优先级别逐个顺序

12、处理; 中断嵌套:若计算机已在处理中断,但新中断到来时立即优先处理新中断。 如果已经有一个中断事件在处理的同时又出现一个新的中断事件,计算机只能处理完一个中断事件后,才能处理另一个中断。但是如果新中断事件的优先级别更高,则将暂停原中断处理而进行新的中断处理(中断嵌套)。,23,FX2N系列PLC有三类中断源: 输入中断:外部随机事件引起的,输入中断信号通过输入端子进入机内,X000X005六个端子可以接收输入中断信号。 上升沿中断:I001、I101、I201、I301、I401、I501 下降沿中断: I000、I100、I200、I300、I400、I500 定时器中断:由内部定时器产生的

13、周期性事件引起的 最多可有3个定时器中断:I6、 I7、 I8 计数器中断:高速计数器的当前值和设定值相等时引起的 最多有6个计数器中断: I010、I020、I030、I040、I050、I060,24,中断事件处理原则:多个中断依次发生,先来先处理;多个中断同时发生,中断编号越小,优先级别越高,FX2N系列允许中断嵌套。 中断事件是否有效,由特殊辅助继电器控制。为OFF,中断事件有效,为ON,中断事件无效。 指令结构:以中断事件号作为开始标记,以中断返回指令IRET作为结束标记。 中断程序放在主程序结束指令FEND之后,主程序中,允许中断的程序段以允许中断指令EI作为开始标志,以禁止中断指

14、令DI作为结束标志。 若程序开始处设置一条EI指令,而整个程序中没有DI指令或者DI指令时整个程序的最后一条指令,则中断可能发生在程序的任何地方,称为全程中断。,25,Y000,X010,Y001,X011,FNC 04 EI,M100,X012,Y002,M100,Y003,FNC 05 DI,Y004,X013,Y005,X014,FNC 06 FEND,M101,M100,Y006,X015,FNC 03 IRET,M102,M101,Y007,M102,FNC 03 IRET,END,禁 止 中 断 区,允 许 中 断 区,禁 止 中 断 区,中 断 程 序 ,中 断 程 序 ,I00

15、0,I100,FNC 04 EI,M100,X016,X017,M100,M100,M8055,X010,Y000,X011,Y001,X012,SET Y002,X013,RST Y002,FNC 05 DI,FNC 06 FEND,X014,Y004,X015,Y005,FNC 03 IRET,允 许 中 断,中 断 程 序,全 程 中 断,I500,27,一般情况下,一次中断请求执行一次中断程序,中断程序的执行不受扫描周期的影响。 注意: 输入中断和计数器中断使用的输入端子号不能相同 使用输入中断时,对同一输入,不能同时使用上升沿中断和下降沿中断。 采用X000X005的输入信号,中断通

16、常的顺控程序优先执行中断例行程序。 PLC可以处理二级中断,即中断程序中可以嵌套一级中断,也就是说最多可以有两重中断。,28,主程序结束指令和监视定时器指令 主程序结束指令(FEND) 标志一段主程序的结束,与执行END指令一样,执行FEND指令之后,PLC开始输出刷新,开始下个扫描周期。 注意: FEND不能出现在子程序和中断程序中 在只有一个FEND指令程序中,子程序和中断程序要放在FEND指令之后 在有多个FEND 指令程序中,中断程序和子程序要放在最后一个FEND指令之后。,29,监视定时器指令(WDT) 强行刷新监视定时器 监视定时器默认的定时时间设定值:200ms 当扫描周期不超过

17、200ms,每次执行到END或FEND指令时,监视定时器自动刷新,自动进入下一个扫描周期;当大于200ms时,监视定时器不再被复位,CPU自动停机,出错。 当扫描周期超过200ms时,可以把程序分段,中间插入WDT指令来避免。,30,常见WDT使用的情况: 跳转程序的结束标志Pn在相应的CJ指令之前 在循环程序(FOR-NEXT)中 系统中使用模拟量、定位、通信等特殊模块 监视定时器定时时间的设定值改写电路,最大定时时间为32767ms,一般情况下使用默认值。,FNC 12 MOV,K500,D8000,M8002,FNC 07 WDT,设定值对应的数据存储器,31,循环指令 在一个扫描周期内

18、,若一段程序要多次重复执行,这段程序就构成循环程序。 以FOR指令作为开始标志,指定循环次数,最多为32767次,若循环次数指定为-327670,则当成1处理。 用NEXT指令作为结束标志 循环可以嵌套,不能超过5层 循环程序中不能有END指令或FEND指令 可以使用跳转语句从循环体内跳到循环体外,32,FNC 12 MOV,K0,D0,FNC 08 FOR,K255,FNC 08 FOR,D0,FNC 24 INC,FNC 09 NEXT,M8002,M8002,单重循环,FNC 12 MOV,K500,D0,M8002,FNC 08 FOR,K25,FNC 08 FOR,FNC 08 FO

19、R,D1,FNC 08 FOR,D1=20,D0,FNC 25 DEC,M8002,FNC 09 NEXT,FNC 09 NEXT,多重循环,33,5.7 高速处理指令,执行REF指令,立即刷新X000开始8个点、Y000开始16点的内容,不受扫描周期的限制,立即刷新指令REF,34,高速比较置位指令HSCS,C240的计数信号由X005输入,参见P36,表2-9,35,36,高速比较复位指令HSCR,37,脉冲密度指令SPD(测速),D10,n,38,脉冲输出指令PLSY,S1指定脉冲频率,2-20000HZ,D指令可达1-100000HZ S2脉冲数量,S2为0时连续输出。目的操作数限Y0

20、00、Y001 输出模块必须晶体管输出,39,负载较小(电阻值较大)而需要高速应答时,并联附加电阻使晶体管电流达到100mA,40,PWM指令,S2指定脉冲周期 T0=1ms32767ms S1指定脉冲宽度 t=1ms32767ms, 但必须tT0,41,5.8 方便指令,状态初始化指令 查找数据、斜坡信号 示教定时器指令 特殊定时器指令 交替输出指令 数据排序指令,42,示教定时器指令与特殊定时器指令 示教定时器指令TTMR,FNC 64 TTMR,D ,n,D ,:D,n,: 0K2 0H2,用来检测按钮接通的时间,目的操作数D指定D和D+1 两个寄存器,D+1记录按钮的实际接通时间tr,

21、根据n 的值,tr乘以1(n=0)或10(n=1)或100(n=2)后 存入目的操作数D。利用TTMR指令,通过按钮可以调 整定时器的设定时间。,43,FNC 64 TTMR,D200,K0,X000,X000,PLF,M100,FNC 12 MOV,D200,D300Z0,M100,FNC 19 BIN,K1X010,Z0,M8000,X001,T20,D300,X002,T21,D301,X003,T22,D302,X004,T23,D303,X005,T24,D304,X006,T25,D305,X007,T26,D306,X015,T27,D307,X016,T28,D308,X017

22、,T29,D309,44,交替输出型指令ALT,FNC 66 ALT,D ,D ,:Y、M、S,交替输出型指令ALT:当控制ALT指令的电路由OFF 变为ON时,操作数D 指定的软元件改变状态。利用 ALT指令,很容易实现多级分频、单按钮启停等电路。,FNC 66 ALTP,M100,X000,FNC 66 ALTP,M101,M100,X000,M100,M101,X000每次OFF到ON变化,输出反向,45,5.14 触点比较指令,连接母线触点比较指令 串联触点比较指令 并联触点比较指令 该类指令由连接类型符和比较类型符构成。连接类型符主要有:LD、AND、OR 比较类型符主要有:、 、 、,46,连接母线触点比较指令,FNC 224 LD =,S1,S2,S

温馨提示

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

评论

0/150

提交评论