表1规格 | PMC-SA1 | PMC-SA3 |
---|
编程语言 | Ladder | Ladder |
---|
程序级数 | 2 | 2 |
---|
一级程序执行周期 | 8ms | 8ms |
---|
基本指令处理时间 | 5µs | 0.15µs |
---|
程序容量 | 5000步 | 12000步 |
---|
基本指令数 | 12种 | 14种 |
---|
功能指令数 | 49种 | 66种 |
---|
内部继电器(R) | 1100字节 | 1118字节 |
---|
信息显示请求位(A) | 25字节 | 25字节 |
---|
可变定时器(T) | 80字节 | 80字节 |
---|
计数器(C) | 80字节 | 80字节 |
---|
保持继电器(K) | 20字节 | 20字节 |
---|
数据表(D) | 1860字节 | 1860字节 |
---|
子程序 | - | 512个 |
---|
标号 | - | 9999条 |
---|
I/O控制点数 | I/O link | (I) | 最大1024 | 最大1024 |
---|
(O) | 最大1024 | 最大1024 |
---|
I/O卡 | (I) | 96 | 96 |
---|
(O) | 72 | 72 |
---|
程序存储介质 | Flash ROM | Flash ROM |
---|
1 概述
在FANUC公司新近推出的0i-MA/TA数控系统中,根据不同的硬件配置,内装PMC的型号分别为SA1或SA3,两种规格PMC的性能详见表1。 本文仅就PMC-SA1/SA3与PMC-L/M中区别较为明显的部分作出介绍。 2 辅助功能代码的译码处理
在0i以及16/18系统中,M、S、T辅助功能代码在系统内部是以二进制数来表示的,而不是0系统中所使用的BCD代码。因此,在0i以及16/18系统的PMC程序中普遍使用DECB功能指令对辅助功能代码进行译码。下面举例简要说明(如表2所示)。 表2F010 | | M07 | M06 | M05 | M04 | M03 | M02 | M01 | M00 |
---|
F011 | | M15 | M14 | M13 | M12 | M11 | M10 | M09 | M08 |
---|
F012 | | M23 | M22 | M21 | M20 | M19 | M18 | M17 | M16 |
---|
F013 | | M31 | M30 | M29 | M28 | M27 | M26 | M25 | M24 |
在加工程序执行到辅助功能指令如M03(主轴正转)后,系统将03代码置放在M代码存储地址F10至F13中。需要强调指出的是,此时系统自动将十进制数03转换为二进制数表达,即F10字节的第零位“M00”和第一位“M01”为“1”,而不能错误地理解为F10的第三位“M03”为“1”,其含义为2的立方。在大部分数控机床中,辅助功能指令(M/T代码)的数据位数一般不超过两位,一字节二进制数(十进制数0到225)即可涵盖,因此译码时仅需对相应代码存储地址的首字节译码,在此例中仅需对F10字节译码。此外,与0系统中所使用的内装PMC-L/M的译码指令DEC不同,DECB指令一次即可译出连续的八个M代码(二进制数),而DEC指令一次仅能译出一个M代码(BCD数)。 3 PMC指令
与SA1相比,在SA3中增加了位置(S)及复位(R)这两条基本指令和上升沿检测、下降沿检测、子程序、标号及标号跳转等功能指令。 使用子程序功能指令可进行模块化编程,即可将刀库、转台等外部设备的控制程序综合在一个子程序中,在主程序中有条件或无条件地调用相应的子程序。子程序功能的合理使用使PLC程序的编制和理解都较为清晰和容易。 标号跳转功能指令有两种,分别为JMPB和JMPC,其中JMPB指令用于同级程序内的跳转,JMPC指令用于子程序和主程序之间的跳转。 4 PMC程序调试功能
在PMC-SA1/SA3中,都支持TRACE(追踪)、DIVIDING DISPLAY(分割显示)等功能,这些功能主要用于PLC程序的调试过程。 使用TRACE功能,可直观地看到信号的动态变化过程,即使是在PMC程序动态显示画面中无法识别的状态变化也可清晰显示。TRACE功能可对一字节(可设定屏蔽位屏蔽无须检测的信号位)或两字节信号(连续或不连续均可)的状态变化采样。采样数据最大可达256组,采样间隔为8ms。在调试PMC程序时,通过比较两组相关信号的实际变化过程,即可判断相关PMC程序编制是否正确。 窗口分割显示功能可将PMC程序中的相关部分(由调试者根据实际调试内容指定)集中显示在同一画面上,以便检测和比较相关信号的状态变化。最多可同时显示六组。 5 地址分配
不同于0系统中R地址区域和D地址区域需由用户划分,在0i及16/18系统中R地址区域和D地址区域已由系统内部划分,其地址范围分别为R0~R999(用户使用区域)和D0~D1859。同时可变定时器与计数器也与0系统中需占用R地址区域或D地址区域不同,而是各自均有固定的地址区域。其中T地址区域的范围为T0~T79,由于每个可变定时器需占用2个字节,因而可变定时器的数目为40个。 C地址区域的范围为C0~C79,由于每个可变计数器需占用4个字节,因而可变计数的数目为20个。K地址区域的范围为K0~K19,其中K16~K19区域由系统使用,因而可由用户分配和使用的范围为K0~K15。 D地址区域范围为D0~D1859,用户可在数据表控制画面设定实际使用的数据数量,每个数据表的地址范围及数据属性(二进制数,十进制数或十六进制数),进而在相应的数据表画面设定数据表中的数据。 I/O link联接示意图 |
如右图所示,0i及16/18系统支持FANUCI/Olink功能,即可通过I/O link联接将I/O点数扩展到1024/1024个输入点/输出点。较为常用的支持I/Olink联接功能的外部设备包括FANUC标准机床操作面板,通过I/O link联接的b伺服放大器及FANUC各种标准数字量/模拟量I/O模块等。 由于各种支持FANUC I/O link联接的外部设备在实际联接中的顺序是随意的,因此在编制PMC程序之前需设定每个设备所占用的输入和输出地址范围。具体的设定方法取决于此设备在整个I/O link联接中的位置、其在本组内的前后位置及该设备的种类和它所占用的I/O点数。 6 信息编制和显示
在PMC-SA1/SA3中,报警和操作提示文本的编制和显示,与PMC-L/M有较为明显的区别。在PMC-L/M中,使用DISP功能指令在PMC程序中编制报警和操作提示文本,文本中的文字由对应的数字代码表示,一条DISP功能指令可处理16条信息显示,信息显示请求位由用户在R地址中指定。在PMC-SA1/SA3中,使用DISPB功能指令处理报警和操作提示文本的显示,报警和操作提示文本在信息编制画面编制,文本中的文字无须由代码表示,一条DISPB功能指令最多可处理多达200条信息显示,信息显示请求位由用户在A地址中指定。 7 PMC程序的存储
由于在0i系统中所用的PMC程序存储介质为Flash ROM,而非0系统所用的EPROM,因此通过简单的按键操作即可完成PMC程序的存储,固化后的程序仍可随时修改和保存,无须使用专用的写入器和擦除器。