在PMC上,除基本逻辑运算外,还经常需要进行定时、计数、比较、算术运算、程序转移等处理,实现这些功能的PMC编程指令称为功能指令。功能指令不能通过简单的逻辑“与”、“或”、“非”运算实现,因此,不能简单地用梯形图的常开/常闭触点串并联、输出线圈等形式表示,它需要采用特殊的编程形式。
1.编程格式
在梯形图上,功能指令一般以“功能框”的形式进行编程,功能框的形式在不同PMC上有所不同,FANUC系统PMC功能指令的编程形式如图3-6所示。
图3-6 功能指令的编程形式
FANUC系统的PMC功能指令一般由控制条件、指令代码、参数、状态输出4部分组成,其作用和含义分别如下。
1)控制条件。控制条件是功能指令的输入和执行条件,它因功能而异。控制条件以助记符表示,例如,ACT为指令执行的启动输入;RST为指令复位输入等。不同功能指令对控制条件有规定的要求,在编程时不可省略,也不能改变位置(输入次序);复位输入RST具有最高优先级,当RST为“1”时,即使ACT为“1”,指令也不能启动和执行。
2)指令代码。指令代码在程序中以英文助记符的形式表示,例如,TMR代表定时指令、CTRC代表回转计数指令等,FS-0iD常用功能指令可参见后述的功能指令一览表。
从某种意义上说,功能指令是PMC生产厂家预先设计、参数化编程的PMC子程序,执行功能指令,相当于调用了某一子程序,因此,在FANUC数控系统上,功能指令还可以用SUB号进行表示。SUB号与功能指令代码一一对应,例如,固定计数器的指令代码为CTR B,对应的SUB号为SUB 56等。
3)参数。参数是功能指令执行需要的操作数。参数的数量、意义因指令而异,多字节、多字操作的功能指令需要定义多个参数,而程序结束指令END、空操作指令NOP等则不需要参数。
4)状态输出。状态输出是功能指令的执行结果,其内容与指令的功能有关,例如,定时指令的输出相对于延时接通的线圈等。状态输出为二进制位,故可用线圈的形式编程,线圈地址可由编程者定义,但以使用内部继电器R的情况居多。状态输出与功能指令有关,如数据传送、程序结束等指令不能(不需要)生成二进制状态信息,也就无状态输出。
算术运算、数据比较等指令的结果无法通过二进制位存储,为此,PMC设计有专门用来存储算术运算、数据比较等结果的特殊内部继电器R9000~R9005,有关R9000~R9005的说明可参见前述。
2.数据存储格式
逻辑运算指令处理的是二进制位信号,其操作数、执行结果均可利用存储器的二进制位指定和保存;功能指令有时需要进行字节、字、双字操作,其操作数、执行结果的存储同样需要使用字节、字、双字存储器。(www.xing528.com)
PMC数据存储器一般以存储器的起始字节形式指定,数据在PMC存储器上的存储格式,在不同PMC上可能有所不同。FANUC系统PMC数据存储器的起始字节所存储的是数据的最低字节,它原则上应为偶数地址。例如,当程序中指令了D200时,对于字节操作指令,它代表D200的8位二进制信号D200.0~D200.7;对于字操作指令,则代表D200和D201上存储的16位二进制信号D200.0~D200.7和D201.0~D201.7;对于双字操作指令,则代表D200~D203上所存储的4字节数据等。不同类型的数据存储格式如下。
1)十进制数。十进制数以BCD正整数的形式存储,其格式如图3-7所示,存储器的起始字节为十位和个位;高字节为千位和百位,依次类推。
图3-7 十进制数的存储格式
2)二进制数。二进制数可以带符号和使用浮点小数,数据的存储格式如图3-8所示,存储器的起始字节为数据低8位(27~20);高字节为高8位(215~28),依次类推;最高位为符号位。
图3-8 二进制数的存储格式
3.常用功能指令
PMC可以使用的功能指令数量与PMC的功能有关,常用的功能指令有定时、计数、数据比较、译码、转换、传送、逻辑运算扩展、数学运算、程序控制和数据交换等,其指令代码和功能如表3-8所示。
表3-8 PMC常用的功能指令表
(续)
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。