在西门子Step7软件中实现局部线性控制的方法
2012-10-23陈国强方绪寿
陈国强 方绪寿
(汉川机床集团有限公司,陕西汉中 723003)
大中型数控机床的逻辑控制中,有很多需要数控系统根据机床某个数值(A)的变化输出另一个对应的数值(B)去控制某些元件或更改某些数据而去完成某些功能的控制要求。在实际生产中,B值我们可以通过若干个检测点检测出来。可是,如果通过PLC控制程序制作成阶梯型的控制,若检测点很多,会导致PLC程序量增加。若检测点不够多,又会有临界点输出值的突变,导致控制不稳定而影响机床的性能和精度。因此,如果能够根据若干个实际检测点检测出来的B值,通过数控系统实现由于A值的局部线性变化而局部线性地更改B值的控制方法就很关键了。
1 线性控制在机床中的应用
在大中型数控机床中,这种数控系统根据A值的变化而输出不同的B值的控制模式应用非常广泛。例如:在落地镗铣中,根据方箱(Z轴)的位置变化输出不同的电压控制液压伺服调节阀以避免由于Z轴的伸出而导致的下垂变形;根据Z轴的伸出位置变化输出不同的主轴电动机扭矩限制值以避免主轴箱由于大扭矩切削而损坏;根据温度的变化输出不同的温度补偿值来避免由于温度变化影响机床的加工精度等等。
本文以动梁式龙门机床根据滑枕的左右移动来输出不同的控制电压值来控制左右平衡油缸提供的平衡压力为例来阐述该控制方法。
在数控机床中,通过在控制中对液压伺服调节阀的调整使液压系统提供不同的压力,可以很简便地应对机械由于机床某些运动部件的位置变化导致的机械变形或负载的改变。从而提高机床的相关精度,降低相关伺服电动机的负载量,提高数控机床的控制性能和品质。
在图1所示的动梁式龙门机床结构框架图中,当滑枕在横梁中间部位时,横梁部分沿着W方向上下移动时,机床横梁平衡,W轴左右两端伺服电动机拖动的负载基本一致,横梁可运动平稳。可是,当滑枕部分沿Y轴方向左右移动时,会带来机床横梁部分重心的偏移,左右两端的平衡油缸受到的重力就会有很大的变化,W轴左右两端的伺服电动机拖动时负载就会不一致。这时,就需要在数控系统中根据滑枕在横梁上的不同位置(Y坐标)输出不同的控制电压(QV1,QV2)来控制左右伺服调节阀,使左右两端平衡油缸提供不同的压力,保证W轴左右两端伺服电动机拖动的负载基本一致,使横梁运动平稳。
2 局部线性控制模型
在实际控制中,我们可以通过Y轴在不同位置点时,调整左右伺服调节阀的控制电压使W轴左右伺服电动机的负载电流基本平衡,得出如图2所示的左右调节阀电压控制的阶梯波形。
如果按图2所示的液压伺服调节阀电压波形编制PLC控制程序,逻辑控制虽然很简单,但是会造成局部范围内液压平衡性不均匀,负载在临界点的跳动大,控制不平稳,压力自动调整控制不理想。
理论上,重心的偏移导致液压平衡压力的变化应该基本是线性的,但是实际上根据检测点检测出来的控制电压值绘制的波形图,我们只能称为局部线性特性。在生产现场的实际检测中,这种情况广泛存在。
如果按图3所示的液压伺服调节阀电压波形编制PLC控制程序,液压平衡的波动就是局部线性的,避免了临界点的突变,控制更平稳,实现理想的压力自动调整控制。
3 Step7中局部线性控制的实现方法
在Step7软件中,为了得到图3所示的液压伺服调节阀的局部线性控制电压。在PLC控制程序中按以下方法可以实现根据滑枕Y轴位置的变化输出不同控制电压的局部线性控制。
首先,需要设置两个DB块,DB100用于存储滑枕Y轴的间距点(图4),DB101用于存储左调节阀对应的输出电压值(图5)。
其次,新建立一个功能块FB100,基本框架内容及注释如下:
然后,在主程序块OB1中调用FB100即可实现根据滑枕Y轴坐标的改变输出相应变化的控制电压。如图6所示。
必须注意的是该功能模块使用时,创建DB100、DB101数据块时要求大于或等于0且从小到大创建。其中MD100为Y轴坐标数据,MD120为右伺服调节阀输出的控制电压数据。在程序中做相关处理即可满足要求,实现控制功能。
若需要输出左伺服调节阀的控制电压,则只需要再创建一个DB103数据块即可。DB103中的数据值进行一些简单的处理即可满足创建要求。用此功能块也可输出左伺服调节阀的控制电压。在这里就不再叙述。
最后,在程序中对输出数据进行相关的判断,处理好保护、报警等内容就可以了。
4 结语
通过现场的调试及论证,该局部线形控制功能在数控机床的很多控制领域都可以得到应用。它可以大大简化PLC的编程,灵活性好,通用性强。
[1] Step7 V5.1 编程手册[Z].