为机床工具企业提供深度市场分析                     

用户名:   密码:         免费注册  |   点击 进入企业管理  |   申请VIP  |   退出登录  |  

English  |   German  |   Japanese  |   添加收藏  |  
热烈庆祝中华人民共和国成立63周年

车床 铣床 钻床 数控系统 加工中心 锻压机床 刨插拉床 特种加工机床 齿轮加工
磨床 镗床 刀具 功能部件 配件附件 检验测量 机床电器 螺纹加工机床 电火花

北一数控
搜索

热门关键字: 数控车床 | 数控系统 | 滚齿机 | 数控铣床 | 铣刀 | 主轴 | 立式加工中心 | 数控磨床

      用户频道:    应用案例 |  汽车 |  模具 |  船舶 |  电工电力 |  工程机械 |  航空航天 |  仪器仪表 |  通用机械 |  轨道交通
您现在的位置:数控机床市场网>资讯中心>技术前沿
西门子802D系统通用PLC程序在数控车床上的应用
2012-09-25 16:26:48.0  来源:  作者:沈阳车床研究所 温振平

      同一类型的数控机床的主要功能基本相同,但根据规格的变化和应用的不同情况,机床的配置和动作也不尽相同。而机床的动作主要是由PLC程序控制的,由于PLC地址分配的不同和编制者的不同,PLC程序往往差别较大,相同功能部件的动作往往也不相同,这就给机床的调试和故障的诊断造成了一定困难。

 

      由于同一类型的数控机床主要功能相同,仅仅是辅助部件变化,因此,编制通用的PLC程序是可能的,并且可以解决上述的问题。本文阐述了编制通用PLC程序的一般思路以及在西门子802D系列数控车床上的实际应用。

 

      1.编制通用PLC程序的一般思路

 

      1.1 通用PLC程序的应用目标

 

      编制通用PLC程序,主要应实现以下目标;

 

      1. 程序应尽量包含本类机床可能具有的功能

      2. 机床I/O地址分配的变化,PLC程序仅需作少量改动。

      3. PLC程序具有较强的可读性和可维护性。

      4. 提供完善的报警信息,从而方便机床故障的诊断和排除。

      5. 程序具有较强的可扩展性,便于增加程序功能。

      6. 程序应尽量保证机床的安全性。

 

      1.2  编制通用PLC程序的原则

 

      编制通用PLC程序,笔者认为应遵循以下原则

 

      1. 根据数控系统类型和相应PLC的功能情况,确定程序的结构。

 

      不同的数控系统,其PLC控制器指令系统和资源情况都是不同的,因此,程序的结构应根据具体情况作合理规划。 

 

      2. 做好机床功能的统计和功能的分类。

 

      机床功能的统计是保证PLC程序通用性的基础,而功能的分类是为了程序模块的划分,做好这两项工作是程序成功应用的保证。

 

      3. 程序作模块化设计。

 

      根据功能的分类将程序划分成不同的模块,同类的功能放在一个模块内,各个模块编程风格保持一直。这样就使程序结构清晰,可读性好。另外,应尽量不使用SET和RESET指令。

 

      4. 做好PLC资源(如定时器、计数器、中间继电器等)的分配。

 

      PLC资源的使用应分两部分,保留资源和可使用资源。保留资源用于程序通用部分,并预留一部分供程序的修正和完善使用;可使用资源用于其他人扩展功能时使用,这样可以避免其他人修改PLC程序时产生不必要的错误。同一类型的数控系统配置的PLC控制器有多种型号,PLC资源配置也不同,程序应尽量迁就低端系统,从而提高程序的适应性。 

 

      5. 编制完善的报警信息。

 

      根据机床各类传感器的配置和可能的操作,编制完善的报警信息和操作提示信息,方便机床的操作和故障的诊断,使一些非专业人员也能排除一些机床故障。

 

      6. 通过参数选择机床功能。

 

      通常数控系统都提供了PLC参数,用于系统和PLC程序交换数据。在将通用PLC程序应用到具体机床上时,需要根据机床实际配置进行功能的选择,这一点可以通过PLC参数的设置来实现。合理地对PLC参数进行规划、分类,将有利于机床的调试。

 

      2.SINUMERIK 802D系统数控车床通用PLC程序的编制及应用

 

      2.1程序的总体规划

 

      802D系统提供了一个PLC子程序库,基本提供了数控机床的大部分功能。但是实际应用起来还有很多不足,需要根据机床情况做很多改动,不能满足机床应用的要求。因此,在对西门子提供的子程序库消化吸收的基础上,基于下列原则,重新编制了数控车床通用PLC程序。

 

      ① 尽量不用局部变量,取消SET和RESET指令。

 

      大量使用SET和RESET指令,使程序的可读性非常差,同时也使输出结果在时序上难以把握,因此,本程序原则上尽量不使用这两个指令。

 

      局部变量可以实现程序的封装,同时由于其状态仅受所在子程序的影响,因此可以提高程序的可读性,具有一定的优点。但是802D系统可以在线诊断PLC程序,局部变量的状态在线诊断时无法显示,同时由于局部变量使用临时内存,其状态在时序上也难以把握,使用时不可避免地要使用SET和RESET指令,所以本程序原则上也尽量不使用局部变量。

 

      ② 实际I/O信号在一个子程序里进行交换,其他子程序均采用中间地址编程。

 

      由于各种车床I/O地址分配不统一,为减少由此带来的程序的变化,所有功能子程序均采用中间地址编程。I/O信号和中间地址的交换在固定的一个子程序里进行交换,提高程序的通用性。

 

      ③ 所有子程序可通过参数选择是否在主程序里调用。

所有子程序都在主程序里通过PLC参数进行条件调用,这样,在实际应用时,通过参数的设置即可实现功能的增减。

 

      ④ 规定了统一的M代码和PLC报警文本。

 

      统一M代码和报警文本,有利于机床的操作和故障诊断。详见表1和表2。

 

      表1:PLC报警列表

 

报警号

PLC变量

报警内容

700000

16000000#0

刀架未锁紧

700001

16000000#1

导轨润滑液位过低

700002

16000000#2

导轨润滑压力过高

700003

16000000#3

台尾连接功能未设置

700004

16000000#4

台尾顶尖过行程

700005

16000000#5

中心架连接功能未设置

700006

16000000#6

  

700007

16000000#7

  

700008

16000001#0

  

700009

16000001#1

  

700010

16000001#2

  

700011

16000001#3

  

700012

16000001#4

 

700013

16000001#5

  

700014

16000001#6

中心架润滑液位过低

700015

16000001#7

中心架润滑压力过高

700016

16000002#0

  

700017

16000002#1

  

700018

16000002#2

  

700019

16000002#3

  

700020

16000002#4

  

700021

16000002#5

  

700022

16000002#6

  

700023

16000002#7

  

700024

16000003#0

刀架转位超时

700025

16000003#1

伺服刀架报警

700026

16000003#2

冷却液位过低

700027

16000003#3

液压电机断路器断开

700028

16000003#4

床头润滑电机断路器断开

700029

16000003#5

主电机风扇断路器断开

700030

16000003#6

驱动器未就绪

700031

16000003#7

伺服过热

700032

16000004#0

卡盘卡紧压力不足

700033

16000004#1

台尾顶紧压力不足

700034

16000004#2

中心架锁紧压力不足

700035

16000004#3

卡盘卡紧未到位

700036

16000004#4

  

700037

16000004#5

  

700038

16000004#6

  

700039

16000004#7

Z F变速箱换档错误

700040

16000005#0

 

700041

16000005#1

卡盘内外卡方式切换,重新上电后生效

700042

16000005#2

卡盘未卡紧试图转主轴

700043

16000005#3

台尾顶尖未伸出,套筒禁止锁紧

700044

16000005#4

请移动Z轴进行中心架连接

700045

16000005#5

驱动器优化时刹车被释放

700046

16000005#6

注意,机床处于设定方式,请注意安全(防护门钥匙开关)

700047

16000005#7

注意,机床处于调试状态,请注意安全MD14512[31]=7FH

700048

16000006#0

在JOG方式测量生效

700049

16000006#1

请移动Z轴进行台尾连接

700050

16000006#2

注意,机床处于设定方式,请注意安全MD14512[31]=3FH

700051

16000006#3

PLC参数设置错误,有冲突(MD14512)

700052

16000006#4

PLC报警响应参数未正确设置(MD14516)

700053

16000006#5

  

700054

16000006#6

 

700055

16000006#7

 

700056

16000007#0

选择刀号不能为0

700057

16000007#1

选择刀号与当前刀位一致

700058

16000007#2

选择刀号超过刀架最大刀位

700059

16000007#3

刀架过热

700060

16000007#4

铣削主轴未定位,换刀指令无效

700061

16000007#5

西门子MINI手持盒没有连接

700062

16000007#6

伺服刀架还没有返零,选刀命令无效

700063

16000007#7

PLC程序版本号:Ver 01.00

  

      表2:M代码列表

 

M代码

功能

注释

M00

程序无条件停止

M01

程序有条件停止

M02

程序结束

M03

主轴正转

M04

主轴反转

M05

主轴停止

M06

刀具交换

M07

M08

第1冷却液开

M09

第1冷却液关

M10

卡盘张开

M11

卡盘关闭

M12

第2冷却液开

M13

第2冷却液关

M14

水枪冷却阀打开

M15

水枪冷却阀关闭

M16

刀架冷却阀打开

M17

刀架冷却阀关闭

M18

冲屑冷却阀打开

M19

冲屑冷却阀关闭

M20

吸油雾器启动

M21

吸油雾器断开

M22

铣削刀具接通

M23

铣削刀具断开

M30

程序停止并返回开头

M31

 

M32

台尾尾芯前进

M33

台尾尾芯后退

M34

卡盘高压

M35

卡盘低压

M40

主轴自动变档

参见SIEMENS说明书

M41

主轴1档

M42

主轴2档

M43

主轴3档

主轴空档

M57

自动门(左)打开

M58

自动门(左)关闭

M59

自动门(右)打开

M60

自动门(右)关闭

M70

转换为铣削方式

M代码

功能

注释

M75

排屑器(正转)启动

M76

排屑器停止

M77

中心架闭合

M78

中心架打开

M79

中心架吹气开

M80

中心架吹气关

M81

中心架体松开

M82

中心架体锁紧

M83

启动中心架润滑一次

M84

中心架体与Z轴连接

M85

中心架体与Z轴断开

M86

 

M87

 

M88

尾座松开

M89

尾座锁紧

M90

尾芯(套筒)松开

M91

尾芯(套筒)锁紧

M92

 

M93

 

M94

尾座与Z轴连接

M95

尾座与Z轴断开

M96

 

M97

 

M98

调用子程序

M99

子程序返回

 

      2.2  程序的结构

 

      根据对机床功能的统计和分类以及802D系统的特点,整个程序采用模块化设计,主要分为以下几类。

 

      ①.主程序:通过条件调用,用于组织各个子程序。

      ②.用户和PLC初始化程序,用于设定PLC程序的运行条件,定义程序的版本号。

      ③.PLC_SET程序,处理一些常用信号,如主轴的旋转条件,读入禁止信号的处理等。

      ④.I/O信号交换程序,处理实际信号和中间信号的交换。由于802D系统PLC程序中不能有不存在的I/O信号,故每一块I/O板用一个子程序处理,以便适应不同的I/O配置。

      ⑤.与系统相关的功能程序,包括电源模块上电时序处理、面板和NCK信号处理,轴控制程序、手轮控制、主轴倍率等。

      ⑥.各个机床部件的程序,包括冷却、润滑、排屑、卡盘、台尾、中心架、主轴变档、刀架等。

      ⑦.其他程序。

 

      PLC程序的模块结构如下表:

 

      表3:PLC子程序表

 

程序号

程序名称

程序功能

OB1

MAIN

PLC主程序

SBR0

PLC_SET

PLC程序一些常用信号的设置和检查

SBR1

IO_CH_BASIC

基本I/O地址交换程序(第1块PP72/48)

SBR2

IO_CH_EXTEND

扩展I/O地址交换程序(第2块PP72/48)

SBR18

CHECK

参数合法化检查

SBR19

USR_INI

用户初始化程序

SBR20

PLC_INI

PLC初始化程序

SBR21

EMG_STOP

急停/上电时序处理

SBR22

SPD_OVR

主轴倍率程序

SBR23

HANDWHL

手持盒程序

SBR24

AXIS_CTL

轴使能控制程序

SBR25

MEAS_JOG

手动刀具测量程序

SBR26

MCP_NCK

面板信号TO_NCK程序

SBR27

LIMIT_HW

机床轴硬限位/回零开关程序

SBR28

C_AXIS

C轴相关控制程序

SBR30

ALARM_LAMP

三色报警灯控制程序

SBR31

COOLING

冷却泵/冷却阀程序

SBR32

LUBRICAT

导轨润滑程序

SBR33

PAI

排屑器控制程序

SBR34

CHUCK

液压卡盘程序

SBR35

CHUCK_H_L

特殊高低压控制液压卡盘(油缸无移动切换高低压)

SBR36

TAIL

台尾控制程序

SBR37

CENTER

中心架控制程序

SBR38

DOOR

防护门安全开关/自动门控制程序

SBR39

SPD_GEAR_ZF

ZF减速箱换档控制

SBR40

SPD_GEAR_HY

液压换档程序(适用于CKS6180)

SBR41

T_DUP_ELEC

DUPLOMATIC卧式电动刀架/烟台电动刀架

SBR42

T_DUP_SEVRO

DUPLOMATIC伺服刀架程序

SBR43

T_DUP_DL

DUPLOMATIC卧式电动动力刀架

SBR44

T_HY_SMTCL

沈阳机床液压刀架

SBR45

T_HY_AK22

烟台环球AK22系列液压刀架

SBR46

T_HY_LSJD

台湾六鑫液压刀架(绝对值式)

SBR47

T_HY_LSJS

台湾六鑫液压刀架(计数器式)

SBR48

T_BLFD_V_ELEC

巴拉法第立式6工位电动刀架

SBR49

T_BLFD_IT_ELEC

巴拉法第电动刀架(意大利原厂刀架)

SBR50

T_SAUTER_ELEC

SAUTER卧式电动刀架

SBR51

T_SAUTER_DL

SAUTER卧式电动动力刀架

SBR52

T_AK27_LK

AK27烟台5/6工位电动刀架(有锁紧线圈)

SBR53

T_AK27_UL

AK27烟台5/6工位电动刀架(无锁紧线圈)

SBR63

TOOL_DIR

刀架换刀旋转方向判别子程序

 

      2.3  PLC资源的分配

本程序适用于802D和802Dsl系统,其中定时器、计数器和M地址802Dsl系统要比802D多,为了提高程序的通用性,地址的分配以802D系统为准,详细的分配参见下表。当在通用PLC程序的基础上增加功能时,应使用可用地址,以免因地址重复造成故障。

 

      表4:PLC资源分配表

 

PLC地址号

功能分配

备注

VB10000000VB10000008

MCP(I地址)PLC(V地址)

保留地址

MB99,MB100,MB248-MB250

MCP(I地址)PLC(M地址)

保留地址

VB11000000VB11000007

PLC(V地址)MCP(Q地址)

保留地址

T0-T27,T30,T31

保留地址

M201.0M220.7

MACHINE(I地址)PLC(M地址)

保留地址

M91.0M98.7

MACHINE(I地址)PLC(M地址)

保留地址

M221.0M247.7

PLC(M地址)MACHINE(Q地址)

保留地址

MB0MB90

PLC(M地址)MACHINE(Q地址)

保留地址

 

 

  

VB14000000VB140000059

常用功能

保留地址

VB14000101VB140000124

格雷码定义

保留地址

VB14000125-127

保留地址

M251.0-M255.7

 

保留地址

 

 

  

MB101-MB200

 

可用地址

VB14000060-VB14000100

 

可用地址

T28,T29

 

可用地址

 

      2.4  安全功能的设计

 

      根据机床实际应用情况,考虑到各种因素,在PLC中编制尽量完善的安全互锁机制,是通用PLC程序的一个重要目标。

 

      在程序编制时,笔者参照了CE标准中的部分要求,将机床工作状态分为加工和设定两个工作状态。在加工状态时,机床严格执行各项安全互锁,如防护门未关闭禁止旋转主轴禁止启动加工程序等。在设定状态时,系统首先发出报警信息,提示用户注意安全,在设定状态下,防护门未关闭主轴可以在限制速度下旋转,加工程序以单程序段方式执行,进给轴快速无效且进给倍率限制等。考虑到国内用户的操作习惯,有些限制也可以用参数取消。但是,必要的安全互锁是始终保留的。

 

      2.5  程序的应用

 

      由于802D的PLC程序长度有限,通用PLC程序的内容放在一个程序里无法通过编译,因此,将分成两个文件,主程序文件802D_MAIN.PTP和库文件802D_LIB.PTP,主程序保留完整的程序框架,但是把各种刀架程序模块的内容清空,刀架程序放到库文件存放。具体机床的PLC应用需要用基本程序的两个文件进行合成,方法为:在主程序中,将机床不需要的功能的子程序内容清空,保留程序名,然后库文件中需要的功能复制到主程序中的相应子程序中即可。机床调试时根据机床配置须将相关PLC参数正确设置。

 

      注意I/O交换模块一定要和机床实际情况一致,调用不存在的I/O地址会导致PLC死机。

 

      因为应用情况的变化和程序自身错误的不断修正,通用PLC程序在一定时期内可能处在不断完善的过程中。笔者在通用PLC程序内部设置了一个版本号,通过一定的操作即可以报警的形式诊断出来。在程序基本编制完成后,给程序设定了一个基本版本号,每当程序作一次修正,版本号做一个改变,同时作程序修正纪录,这样,通过程序的版本号,可以得到PLC程序的准确信息,方便了故障的诊断和错误的修正。

 

      小结

 

      通用PLC程序的使用,提高了机床调试的效率,方便了故障的诊断。同时也提升了机床的质量。当然,由于通用PLC程序由于过于庞大,不可避免的存在一些错误,完善程序也需要在足够数量的机床上应用以后才能完成。瑕不掩瑜,编制通用PLC程序不失为提高机床生产效率的一个好的方法。

    投稿箱:
        如果您有机床行业、企业相关新闻稿件发表,或进行资讯合作,欢迎联系本网编辑部, 邮箱:skjcsc@vip.sina.com
更多相关信息
  • target=_blank>数控磨床工作台爬行现象浅析
  • target=_blank>全自动外圆磨床改造数控程序设计技巧
  • target=_blank>凸轮轴磨床电气与磨削工艺
  • target=_blank>设计零件的数控加工工艺规程的方法和步骤
  • target=_blank>进口卧式加工中心数控系统的改造方法