plc 第五章 编程元嫉宁及指令第3节.ppt

plc 第五章 编程元嫉宁及指令第3节

第五节 功能指令 ;5.1 功能指令的基本知识;操作码与操作数 操作码(指令助记符):表示指令的功能 操作数:指明参与操作的对象 源操作数S:执行指令后数据不变的操作数,两个或 两个以上时为S1、S2。 目标操作数D:执行指令后数据被刷新的操作数,两 个或两个以上时为D1、D2。如果可使用变址功能,用[S·]和[D·]表示。 其它操作数m、n:补充注释的常数,用K(十进制) 和H(十六进制)表示,作为源和目标操作数的补充说明,两个或两个以上时为m1、m2、n1、n2。;数据长度 16位:参与运算的数据默认为16位二进制数据 32位:32位数据时在操作码前面加D(Double);执行方式 连续执行方式:每个扫描周期都重复执行一次,操作数的内容每个扫描周期都变化。 脉冲执行方式:只在信号OFF→ON时执行一次,在指令后加P(Pulse)。;三、常用特殊辅助继电器;四、数据格式 在FX系列PLC内部,数据是以二进制(BIN)补码的形式存储,所有的四则运算都使用二进制数。 二进制补码的最高位为符号位,正数符号位为0,负数符号位为1。 为更精确地进行运算,可采用浮点数运算。在FX系列PLC中提供了二进制浮点运算和十进制浮点运算 。;5.2 程序流向控制功能指令;一、条件跳转指令 FNC00 CJ;说明 CJ指令跳过部分程序,可以缩短程序的扫描周期。 一个指针只能出现一次。 如果积算型定时器和计数器的RST指令在跳转程序之内,即使跳转程序生效,RST指令仍然有效。 该指令可以连续和脉冲执行方式。 被跳过去的程序中各元件的状态为 Y、M、S保持跳转前状态不变。 定时器T和计数器C如果被CJ指令跳过,跳转期间它们的当前值将被保存。如果在跳转开始时定时器和计数器正在工作,在跳转期间它们将停止定时和计数。 T192~T199和高速计数器C235~C255如果在驱动后跳转,则继续工作,输出触点也会动作。;如图, X000为ON时,程序跳到指针P8处。 X000为OFF时,不执行跳转,程序按原顺序执行。 如果用M8000的常开触点驱动CJ指令,相当于无条 件跳转指令,因为运行时特殊辅助寄存器M8000总 是ON。;二、子程序指令;梯形图 ;三、中断指令;说明 在执行某个中断子程序时,禁止???它中断请求。 用于中断的指针用来指明某一中断源的中断程序的入口。 中断程序允许嵌套,嵌套级别为2级。 中断指针共有15个:输入中断6个,定时器中断3个,计数器中断6个。 中断程序用T192~T199和T246~T249作定时器。 中断的优先级别 多个中断信号不同时产生时,按先后顺序中断。 多个中断信号同时产生时,按指针大小中断。;输入中断用来接收特定的输入地址号的输入信号,输入中断指针I□0△。最高位□与X000~X005的元件号相对应,单元的输入号为0~5(从X000~X005输入)。最低位△为0时表示下降沿中断,反之为上升沿中断。 定时器中断指针为I6□□~I8□□,低两位是以ms为单位定时时间(1~99ms)。M8056~M5058为ON时,将分别禁止定时中断0~2。 计数器中断指针为I0□0(□=1~6)。计数器中断与HSCS(高速计数器比较置位)指令配合使用,根据高速计数器的计数当前值与计数设定值的关系来确定是否执行相应的中断服务程序。;无操作数 梯形图;说明 与END指令的功能一样,执行到该指令时程序返回到0步。 中断服务子程序和子程序应该写在FEND之后,并且用IRET和SRET返回。 如果多次使用FEND指令,在最后的FEND和END之间编写子程序或中断子程序;无操作数 警戒定时器是一个专用定时器,其设定值存放在特殊的数据寄存器D8000中,并以ms为计时单位。 当PLC一上电,则对警戒定时器进行初始化,将K100(设定值为100ms)装入D8000中,每个扫描周期结束时,马上刷新警戒定时器的当前值,使PLC能正常运行。 当扫描周期大于100ms时,即超过了警戒定时器的设定值,警戒定时器的逻辑线圈被接通,CPU立即停止执行用户程序,同时切断全部输出,并且报警显示。;如果正常的扫描周期超过警戒时钟的设定值,可以在适当程序步中加入WDT指令,适时刷新警戒时钟,使程序能顺利执行。 也可以通过MOV指令修改警戒定时器的设定值(D8000的值)。 可以计算出程序扫描周期的最大值作为警戒时钟的设定值。 WDT指令可用在FOR-NEXT之间。;循环开始 FNC08 FOR 操作数 [S]: K,H、KnX、KnY、KnM、KnS、T、C、D、V,Z 循环结束 FNC09 NEXT 无操作数 说明 n为循环次数,其范围为1~32767有效。如果指定为-32768~0,则作n=1处理。 循环指令最多可以

文档评论(0)

1亿VIP精品文档

相关文档