1、第一页开始讲 PMC数控系统除了对机床各坐标轴的位置进行连续控制(即插补运算)外,还需要对机床主轴正反转与起停,工件的夹紧与松开,刀具更换,工位工作台交换,液压与气动控制,切削液开关,润滑等辅助工作进行顺序控制,顺序控制由可编程控制器完成,由于发那科 PLC 和机床系统做成一体,为内装型,称为 PMC .发那科 PMC 分为:PMC-L/M PMC SA1/SA2/SA3 SB7 等几个版本,要注意你的机床上所用的版本,在 PMC 的 PMCDGN 中显示PMC 程序特点:PMC 也称顺序程序,其扫描从上向下,从左向右,例如:(有图)按下 SW,则线圈 A 吸合,A 吸合后,其常闭触点打开,故
2、线圈 B 不吸合,不得电,因 PMC 自上向下顺序动作。PMC 程序结构:发那科程序结构分一级程序(用 END1 结束)和二级程序(用 END2 作为结束标志) 。一级程序在每个 8MS 扫描周期都先执行,然后 8MS 当中PMC 扫描剩余时间再扫描二级程序。如果二级程序在一个 8MS 中不能扫描完成,它会被分割成 N 段来执行。在每个 8MS 执行中执行完一级程序扫描后再顺序执行剩余的二级程序。因此一级程序为实时响应,对输入信号立即处理,所以一些急停,超22程,抱闸,机床进给保持(暂停)等放在一级程序中,以便快速处理,因此减小一级程序的长度,可使整个程序处理速度加快。 (有图)由图可见一级程
3、序短,占用的扫描时间少,故可用较多时间多执行二级程序,则整个程序执行时间会缩短。PMC 信号分析X 为机床到 PMC 的输入信号,地址有固定和设定两种,对应面板按扭以及各种开关等。第一页Y 为 PMC 给机床的输出信号,地址同样有固定和设定两种,通常输出控制小继电器,再去控制大接触器,控制电机或各种电磁阀。F 为 CNC 到 PMC 的信号,主要包括各种功能代码 M ST 的信息, (即 M 辅助功能,S 转速和 T 选刀功能)手动/自动方式及各种使能信息,每种含义都是固定的,是发那科公司都定义好的,我们只能使用,不使赋值,不能当线圈用,只能是触点,如当读到编写加工程序中 M 代码时 S500
4、 M03,CNC 会发出 F7.0 为 1 信号,M 功能选通信号,我们只能使用 F7.0的状态,不能用梯图使 F7.0 为 1 或 0 是错误。 (有图)图示为刹车线圈电路图G 为 PLC 到 CNC 侧的信号,主要包括 M S T 功能的应答信号和各坐标轴对应的机床参考点等G 代码地址是固定的,是发那科公司定义好的,但是与 F 信号不同的是可以在梯图中当线圈使用,当然更可以当触点用,如(有图)22主轴急停G 信号以以当线圈时,即我们可以在梯图中使其置 1 导通或置 0 截止(失电)作为初学者一定要搞清加工程序中 G 代表插补指令,F 代表进给速度,而在梯形图中,G F 分加别代表 PLC
5、和 CNC 之间控制信号,请大家记牢。若遇到 F 信号触点不闭合,只能考虑条件不满足导致 CNC 没有应答信号,不要试图强制导通它。信号的一些常见问题:1.正负逻辑问题。正逻辑,高电平有效,低电平无效。负逻辑,高电平无效,低电平有效。在发那科系统中,负逻辑信号前面带有*,如急停信号*ESP,*ESP 为符号(SYMBOL)前面有*表示低电平有效,其地址(ADDRESS)为 G8.4,当G8.4 为 0 时,急停命令有效,机床处于急停状态。换言之,要使机床处于正常状态,必须使 G8.4 为 1,其对应线圈应吸合。一个信号有两种表达方式,符号(SYMBOL)和地址(ADDRESS)符号有助于理解信
6、号意义,通常是用英文简写信号含义。如 G8.4 是地址 *ESP 是符号2.常开点和常闭点第一页X 输入信号一般有如下两种情况,24V 电源通过常开或常闭开关输入PLC(有图)发那科中用-表示常开点, (有图)表示常闭点。用高亮度或粉红色表不信号接通,用暗色或灰色表示信号关断。如何理解常开和常闭何时导通,何时关断,记住一句话有高电平输入 PLC 时,对应常开点闭合,常闭点断开。对于上图,不按下 ST1 X0.0 常开点为 0 (没有高电平进入 PLC) 常闭点为 1按下 ST1 时 X0.0 常开点为 1(有高电平输入 PLC) 常闭为点 0 同样对于 ST2,不按下 ST2 时, X0.1
7、常开点为 1 (有高电平输入 PLC) 常闭点为 0按下 ST2 时, X0.1 常开点为 022(没有高电平进入 PLC) 常闭点为 1 输出 Y 信号,当某个输出信号接通时,输出一个触点闭合信号。 (有图)如图,梯形图中 Y10.0 闭合,高亮度或粉红色,其提供一个触点信号,Y10.0 触点闭合,外部 KA 吸合。如果 Y10.0 在梯形图中吸合,却不提供一个闭合触点,说明 PLC 有问题。3.输入/输出电源问题发那科系统输入/输出型号信号电源一般为直流 24V,第一页I/O LINK 模块有单独的电源供电,电源接口部分常称为 CPD1,I/O LINK 出故障首先要注意电源提供好了没有,
8、内部保险是否烧毁内部 I/O 模块 X 输入信号电源由外部提供,一般通过 I/O 板上的保险提供给标有(24V)的针脚,所有 X 信号从此引脚得电。内部 I/O 模块 Y 输出信号电源一般由 DOCOM 脚提供,需要将外部24V 电源提供给 DOCOM 脚,再由 DOCOM 分配给各个触点,然后输出给继电器或电磁阀。PMC 地址分配字符 符号种类 种类 OI-B/OIBMATE BPMC-SA1 PMC-SB7X 机床给 PMC 的输入信号(MTPMC)X0-X127 X0-X127X200-X327X1000-X1127Y PMC 输出给机床的信号(PMCMT)Y0-127 Y0-Y127Y
9、200-Y327Y1000-Y1127F NC 给 PMC 的输入信号F0-F255 F0-F767F1000-F176722(NCPMC) F2000-F2767F3000-F3767G PMC 输出给 NC的信号(PMCNC)G0-G255 G0-G767G1000-G1767G2000-G2767G3000-G3767R 内部继电器 R0-R999R9000-9099R0-R7999R9000-R9499E 外部继电器 - E0-E7999A 信息显示请求信号信息显示状态信号A0-A24-A0-A249A9000-A9249 C 计数器 C0-C79 C0-C399C500-C5199K
10、 保持继电器 K0-K19 K0-K99K900-K919T 可变定时器 T0-T79 T0-T499T9000-T9499D 数据表 D0-D1859 D0-D9999L 标志号 - L1-L9999第一页P 子程序号 - P0-P2000其中机床侧的输入地址 X 中,有一些专用信号直接被 CNC 所读取,因为不经过 PMC 的处理,我们称之为高速处理信号。例:急停 X8.4,原点减速信号 X9,测量信号 X4。在内部地址中,中间继电器 R9000-R1000 之间的地址被系统所占用不要用于普通控制地址。R9000.0 数据比较位,输入值等于比较值R9000.1 数据比较位,输入值小于比较值
11、R9091.0/1 常 0/1 信号R9091.5 0.2 秒周期信号R9091.6 1 秒周期信号R9015.0 RUNSTOP 有图R9015.1 R9015.0 有图R9091.2 R9091.2 有图R9015.0 在 PMC 运行后,产生一个脉冲信号,作为 PMC 运行信号R9015.1 在 PMC 停止前,输出一个下降沿逻辑,作为检测 PMC 停止信号,在 PMC 停止后产生一个急停信号,R9091.2 与 PMC 运行同步信号内部地址中,T0-T8 作为 48MS 精度定时器,T9-T499 作为 8MS 精度级,定时器在 PMC 画面上设定和使用。内部地址中,C0-C399 作
12、迷为计数器在 PMC 画面是设定和使用。22内部地址中,K0-K99 可作为普通的保持型继电器在 PMC 画面上设定各使用,K900-K919 为系统占用区(有确定的地址含义) ,通常并上或串上一个 K 接点,可以添加或删除某种功能。内部地址中,A0-A249 作为信息,请求寄存器使用,用它产生外部的报警信息文本。内部地址中,D0-D9999 作为数据寄存器,可以在 PMC 进行数据交换。内部地址中,P0-P2000 为子程序号,在 PMC 可以通过 CALL(有条件调用),CALLU(无条件调用)子程序,子程序完成一些特定的 功能。内部地址中,L1-L9999 作为标志号,PMC 顺序程序用
13、,标志号进行分块,系统通过 PMC 的标号跳转指令 JMPB 或 JMP 跳到所指定标号的程序进行控制。PMC 基本控制电路1.自锁回路(有图)A 按下后,C 吸合A 松开后,由 C 的触点实现自锁第一页B 为停止,B 断开后,回路断开2.互锁回路(有图)在 C 回路中串入 D 的常闭点,在 D 回路中,串入 C 的常闭点,两个回路实现互锁,C 和 D 不会同时吸合。3.逻辑 O 回路(有图)由于 R0.0 断电器回路永远不会常开和常闭同时吸合,故 R0.0 永远不会吸合,R0.0 一直为 0 。FANUC 16 18 Oi 中专用继电器 R9091.04.逻辑 1 回路(有图)22上电时 R
14、0.0 由其常闭点得电而吸合,通过其常开触点实现自锁,所以 R0.1 一直为 1FANUC 16 18 Oi 中有专用继电器 R9091.15.上升沿触发脉冲信号电路(有图)接下 X2.0 时,R2.0 吸合,下一步,R2.1 吸合,循环下去,再执行到 R2.0 回路时,因 R2.1 为 1,故 R2.0 断开,R2.0 为一个与 X2.0 同步吸合的脉冲信号。6.下降沿触发脉冲电路(有图)第一页分析:按下 X0.1 时,R0.1 吸合,R0.2 断开。松开 X0.1 时,由于 R0.1 还保持吸合,故 R0.2 吸合下一步,R0.1 断开,循环下去,在执行到 R0.2 时,由于 R0.1 断
15、开,所以 R0.2 失电所以 R0.2 是在 X0.1 松开后,下降沿时产生一个脉冲信号,7.R S 触发电路(有图)分析:按下 X0.1,后松开,R0.2 产生一个脉冲信号。Y0.1 通过 R0.2(常开点)和 Y0.1(常闭点)吸合一下循环执行后,通过 R0.2(常闭点)和 Y0.1(常开点)自锁。再按一下 X0.1,R0.2 产生一个脉冲信号,将 R0.2(常闭点) Y0.1(常开点) 自锁回路切断,Y0.1 松开。22动作结果 按一下 X0.1 Y0.1 吸合再一下 X0.1 Y0.1 断电7.异或电路(有图)C=A_B+AB_ 此为逻辑电路中异或回路。A B 相同电平时 C 为 0,
16、不吸合A B 不相同时, C 为 1,吸合PMC 的功能指令数控机床的 PLC 指令必须要满足特殊要求,由于数控机床动作复杂,仅靠基本指令很难实现,功能指令即是实现一些特定功能的指令,其实都是一些子程序,应用功能指令就是调用相应的子程序。一 程序结束指令|-END1-| 第一级 PMC 程序区结束指令,第一级程序为快速执行程序区,每 8MS 执行一次,主要处理系统急停,超程,进给暂停等紧急动作第一页|-END2-| 第二级程序用来编写普通顺序程序,系统会根据第二级程序的长短分成若干段,每 8MS 顺序执行一段,为主程序区。|-END-| PMC 结束指令,在 END 和 END2 之间是子程序
17、。二.定时器指令定时器用来定时,用于程序中需要与时间建立逻辑关系的场合,都是通电延时继电器。分为可变定时器(TMR)和固定定时器(TMRB)通电延时可以理解为对信号的一种确认,某个信号动作之后,相应的继电器并不立刻动作,而是延迟一定时间,信号仍旧保持,输出继电器才吸合。如卡盘作夹紧动作,夹紧到位开关闭合后,相应继电器并不马上吸合,使主轴旋转,而是延迟一定时间,假设为 1 秒后,夹紧到位开关仍旧吸合,说明夹紧牢靠,输出继电器才吸合,主轴开始旋转,确保安全,1.可变定时器(TMR)22TMR 指令的定时时间可通过 PMC 参数中 TIMER 中可修改工作原理:当 ACT=1,吸合后,延迟设定时间后
18、,定时继电器吸合当 ACT=0,定时继电器断电,定时器号 1-8 号最小单位为 48MS9 号以后最小单位为 8MS定时继电器:作为可变定时器的输出,定时继电器地址由机床厂家设计者决定,一般采用中间继电器 R 图示PMC PRM(TIMER)#001NO ADDRESS DATA001 T000 0002 T002 0003 T003 0NO 代表定时器号DATA 设定时间,单位为 MS,以十进制直接设定。2.固定定时器(TMRB)第一页在梯形图中设定时间,与梯形图一起存入 FROM 中,不能在梯形图 PMC参数中改写。一般用于固定机床时间的控制,不需要用户改写(换刀时间, 润滑时间)例:(有
19、图)X0.1 闭合,延时 5 秒钟,后 50.0 得电,其触点闭合,A0.0 报警。(有图)22X0.2 过载信号,通常是常闭。正常时,梯图中 X0.2 常开点闭合,常闭点断开,R50.0 不得电。过载后,X0.2 断开,X0.2 常开点为 0。X0.2 常闭点为 1,R50.0 延时 5 秒后得电, ,常开点吸合,A0.0 报警。三.计数器指令计数器完成计数指令,可以是加计数,可以是减计数第一页CN0=0 从 0 开始计数 0,1, NCN0=1 从 1 开始计数 1,2,NUPDOWN=0,加计数UPDOWN=1,减计数RST 清除计数值ACT 由 0 变 1 时上开沿计数计数器号:其内部
20、在 PMC 中 PMCPRMCOUNTER预置值占两个字节,当前计数值占两个字节PRESET:预置值CURRENT:当前值计数器输出(W1):当计数器为加计数器时,计数到预置值时,W1=1,当计数器为减计数器时,计数到初始值时W1=1举例:刀库旋转时,数刀套程序,X3.5 数刀开关,每转一个刀位,X3.522点亮一次。R0.0 为 0,从 0 开始计数,此出错,应从 1 开始。R56.0 为 0 时正转,加计数为 1 时反转,减计数。R50.0 为计数脉冲,计数器中值计数C1 中记忆的是刀库当前刀座号。所谓当前刀套即是刀库中 处于等待换刀位置的刀套号。注:有的刀库有一正一反两个数刀开关,此时应
21、将另一开关取其常闭点,例如 X4.5,两个计数器计数作比较,相等,证明数刀正确,否则错误。有的刀库用数刀计数器和数刀套计数器相比较,刀库旋转电机转一圈,刀套转一个刀位,两者相比较,相同正常,不同报警。第一页共同的目的:防止数刀开关出故障,记错刀套号,互相参照一下。注意:在刀库上还有原点开关,回一次原点,则将计数器赋值一次。X0.2 原点开关,R51.0 为原点脉冲原点脉冲将计数器 C1 赋值为 1,重新计数。四.译码指令数控机床执行加工程序中的 M S T 功能时,当系统读到这些代码时,CNC 装置以 BCD 或二进制代码形式输出 M S T 代码的 F 信号给 PMC,这些信号需要 PMC
22、经过译码才能从 BCD 或二进制状态转换成具有特定含义的一位逻辑状态。 (M 辅助功能,S 主轴转速功,T 刀具选择功能)即完成数位转换,将一个数通过译码后成为某些位变为 1。BCD 译码为 DEC,二进制译码 DECB 两种关于码制问题在此讲一下,应该说是许多人面临的问题,大多数人不是很清楚。二进制码只有两个数码 0 和 1,每一位具有特定的权二进制整数的权是 2 的乘方,22二进制小数的权是 2 的负次方,同样 8 进制的 16 进制,其权分别为 8 和 16 的乘方BCD 码,全称 BINARY-CODED-DECIMAL二进制编码的十进制码,总体上说是十进制,但每一位用二进制来表示,是
23、用四位二进制码来表示。其中常用 8421-BCD 码使用了 0000-1001 这十种状态,其余 1010-1111 为禁用码。举例:表示数 13纯二进制为(00001101)BCD 码 (00010011)此说明一下,1 个字节即 8 个单个位。每一个 0 或 1,称一个位(BIT),8 位称为一个字节(BYTE)两个字节(16 位) ,称为一个字(WORD),32 位称双字(DOUBLE WORD)。在看发那科信号PMC 地址一览表时一般看到 1 2 4 8 下标时,多是 BCD 码形式的信号。如 S1 S2 S4 S8 二进制码在梯图中常用 0001 代表一个字节(0-255)0002
24、代表二个字节(0-655350004 代表四个字节(数更大)BCD 码在梯图中常用 BYTE=0 两位 BCD 码(0-99)第一页BYTE=1 四位 BCD 码(0-9999)M S T 功能的输出CNC 在执行加工程序时,遇到其中 M S T 功能时,以 F的形式输出,送给 PMC 执行,M 代码:O 系统中, F151,其内容 M 功能的 BCD 码(M28 M24 M22 M21 M18 M12 M14 M11)16 18 Oi 系统 F10-F13,其内容为二进制 M 代码(M00M31)加工编写的程序如遇到 M13 F151 译出: 00010011 F10 译出: 0000110
25、1 注意两者是不同的S 代码:O 系统中 F152,其内容为 S 功能的 BCD 码,(S28 S24 S22 S21 S18 S14 S12 S11)16 18 Oi 系统 F22-F25,内容为二进制 S 代码,(S00S31)T 代码:O 系统中, F153,其内容为 T 功能的 BCD 码(T28 T24 T22 T21 T18 T14 T12 T11)16 18 Oi 系统 F26-F29,其中 T 功能的二进制码(T00F31)22下面还要讲 MST 选通信号,或称读信号即 CNC 遇到加工程序的 M S T 指令时,会输出相应的指令信息,经过延时时间,通常为 16MS,可以通过系
26、统设定,还会输出一个选通信号或称之为读信号。M 选通(读 M 代码)信号 MFO 系统 F150.016 18 Oi 系统 F7.0S 选通(读 S 代码)信号 SFO 系统 F150.216 18 Oi 系统 F7.2T 选通(读 T 代码)信号 TFO 系统 F150.316 18 Oi 系统 F7.3最后一个概念对 M 的译码,其目的是变成一个个中间继电器线圈的吸合,去控制外部的一些动作,如液压开启,卡盘夹紧松开,门开关等。上述铺垫完成后,讲一下 DEC 和 DECB 指令1.DEC 指令(译 BCD 码)DEC 指令的功能是当两位 BCD 码与给定值一致时,输出为“1” ,不一致时输出
27、为 0,DEC 指令主要用于机床的 M 码和 T 码的译码,一条DEC 指令译码只能译一个 M 代码第一页格式包括以下几个部分:控制条件 ACT=0 不执行译码指令ACT=1 执行译码指令译码信号地址: 指定包含两位 BCD 码的信号地址(F151 F152 F153 O 系统)译码方式: 包括:译码数值 译码位数译码数值即要译码的两位 BCD 代码(F151 F152 F153 中的)译码位数: 01 只译低 4 位10 只译高 4 位11 高低位均译译码输出:指定地址的译码数与要求的译码值相等时为 1,否则为 0。(有图)22执行程序 M20 时,通过译码,使 R50.0 得电,R50.0
28、 触点吸合,Y10.1 吸合,通过 Y10.1 提供一个触点去控制刀套上升或下降,或者液压油泵开关,可自已定义。除一些约定俗成的 M00,M01,M03,M04,M05,M08,M09,M19 之外, 不同厂家,其它 M 代码各不相同,都是自已可编写的。2.DECB(译二进制码)DECB 指令的功能是,可对 1,2 或 4 个字节的二进制代码数据译码。所指定的 8 位连续数据之一与代码数据相同时,对应的输出数据位为1,DECB 主要用于 M T 代码的译码,一条 DECB 可译 8 个连续的 M T 代码。格式有如下项:译码格式指定: 0001 1 个字节的二进制代码0002 2 个字节的二进
29、制代码第一页0004 4 个字节的二进制代译码信号地址:给定一个存储代码数据的地址(F10)译码指定数:给定要译码的 8 个连续数字的第一位(从何处开始译)译码结果输出:给定一个要输出译码结果的地址(放在哪里)一个字节共 8 位,可译 M0-M255 范围,已经足够。二个字节共 16 位,可译 M0-M32767|-DECB 0001F7.0 F100003R300从 M03 开始一直可译到 M10,(M03 M04 M05 M06 M07 M08 M09 M10)共 8 位,加工程序中,遇到某个 M 指令,相应 R300 的某个位会接通为 1,控制外部电路,完成相应功能。SB7 中有新指令,
30、可执行多字节译码,不再拘限于一个字节。指令格式中, NN XNN 多个字节译码的字节数00-01 单字节译码译 8 位02-99 多字节译码字节数X 译码数据长度|-DECB 994-|F103R0 22991 译 F10992 译 F10,F11994 译 F10-F13本例可译 M3-M795(3+998=795)起始数:M3-M795输出继电器:R0.0-R98.7M3-M795 M 代码即为加工程序中的 M 指令。第四天上午:五.比较指令比较指令用于比较:输入值和比较值的大小,主要用于数控机床编程的 T 代码和实际刀号的比较,同样分 BCD 指令和二进制比较指令。1.COMP(BCD
31、比较)COMP 指令的输入值和比较值为 2 位或 4 位 BCD 代码,指令格式有如下项:第一页指定数据大小:BYT=0 处理数据(输入值和比较值 )为 BCD 码BYT=1 处理数据为 4 位 BCD 码控制条件:ACT=0 不执行比较指令ACT=1 执行比较指令输入数据格式:0:用常数指定输入基准数据1:用地址指定输入基准数据。基准数据(输入值):输入的数据(常数或常数存放地址)比较数据地址:(比较值)指定存放比较数据的地址比较结果输出:输入值比较值,W1=0(前面) (后面)输入值比较值,W1=1在这讲解一下常数和地址的概念常数代表一个具体数值,如 1,2,3,4 等等地址是一个寄存器,
32、里边有存储内容。地址如果存放一个常数,称为直接寻址, (A)地址中如果存放一个地址,称为间接寻址(A) )2.COMPB(二进制数之间比较)COMPB 指令功能是比较 1 个,2 个或 4 个字节长的二进制数据之间比较大小,比较结果存放在运算结果寄存器(R9000)中22控制条件:ACT=0,不执行比较指令。ACT=1,执行比较指令输入数据格式 0 0 格式指定 指定数据长度0 常数 1 一个字节1 地址 2 二个字节4 四个字节基准数据(输入数据):输入的数据(常数或常数存放地址)比较数据地址(比较值):指定存放比较数据的地址比较寄存器 R9000:基准数据(输入值)=比较数据 R9000.0=1基准数据(输入值)比较数据(比较值)时R9000.1=1六.常数定义指令:给某个地址赋一个值,同样分 BCD 和二进制常数1.NUME 指令(BCD):NUME 指令是 2 位或 4 位 BCD 代码常数定义