APP下载

铣床控制电路仿真软件的设计

2018-02-25李永成

电子技术与软件工程 2018年12期

李永成

摘要 实训课程是高职院校的必修课程,机床控制电路的检修是其中重要的内容,该内容一般是采用理论讲授与硬件设备仿真相结合的方法进行教学。本文针对如何降低教学成本、快速提高实践技能的问题,提出了采用软件仿真与硬件仿真相结合的方法,以一个铣床控制电路仿真软件的开发过程为例子,介绍了仿真软件开发的过程。根据机床控制电路的特点,不考虑数值运算,所有的输出响应均居于逻辑关系。结果表明,对于一些特定场合,利用该方法进行软件开发可以降低开发难度。

【关键词】机床控制电路 软件仿真 逻辑判断

高职院校机电一体化专业普遍开设维修电工课程,机床控制电路的故障检测与维修是课程的内容之一。作为实训课,其中硬件仿真设备是必不可少的,基于实训场地的限制及教学成本的控制,不可能大量购置仿真设备,一个可行的方法就是开发仿真软件,配合少量的硬件仿真设备进行教学,这样对教学至少有两个方面的好处,首先是理论方面,使用仿真软件可以快速提高学生的理论水平,发挥理论对实践的指导作用,另一方面是借助于电脑,可以达到人手一套设备的效果,提高了学习效率,实现快速掌握操作技能的目的,同时教学成本也将大幅降低。

1 机床控制电路仿真设计方案

方案一:使用专业的仿真软件按照机床控制电路原理图进行电路绘制与仿真,导出仿真数据文件,在自行开发的软件中建立图形界面,按数据文件进行输出响应。

方案二:建立元件库,装载电路所需的元件,调整布局,按照机床电路原理图进行连线,建立自己的算法实现输入输出的控制。

方案三:仅针对一个典型的电气控制电路进行程序设计,设计固定的图形界面,建立自己的逻辑算法实现仿真。

比较三个方案可知,方案一需要专业的仿真软件,目前市场上的仿真软件理论分析很强大,但缺乏进行机床电路这样比较复杂的系统仿真软件,并且大多数没有数据导出功能或与外部程序进行数据交换的接口,因此设计难度较大。方案二及方案三需要建立自己的算法,对于机床控制电路而言,可以使用基于逻辑判断的方法编程,算法并不太复杂,但方案二需要自己搭建电路,需要对接线进行逻辑关系判断,实现起来仍然有较大的难度。作为一个典型的特定电路,则无需搭建电路,这样在编程过程中就会简单得多,因此本设计采用方案三。

2 图形界面设计

本设计软件仿真分两大部分:

2.1 原理图仿真界面

界面以位图的形式呈现一幅铣床电路原理图。为了编程的方便,原理图的位置可以改变,但不进行缩放,否则会带来较大的画面失真,并且各节点位置相对坐标变动给编程带来困难。在原理图界面下仿真可以提高学生对电路原理的理解水平。

2.2 仿3D图像仿真界面

这里的仿3D图像是指元件的符号以实物图形为基础,接近实际的元件外形的图像,仿3D图像是二维平面图像,为了得到较真实的效果,可以使用3Dmax软件绘制元件的三维模型,并进行图形渲染,根据视角原理,抓取不同角度的图片,在图片编辑软件下绘制完整的实物图像供软件编程时使用。因为有些元件的引脚在二维投影上可能会出现重叠现象,如交流接触器的线圈、主触头、辅助触头等在平面投影上会出现引脚重叠的情况,因此要进行必要的角度变换处理。在仿3D界面中,仅在相应位置上显示各元件的图形,不必画出连线。铣床控制电路的仿D实物界面如图1所示。

仿3D仿真功能可以使学生在一个近似实物的场景下操作。

3 软件设计

3.1 系统功能设计

3.1.1 原理图界面仿真功能

在原理图仿真界面中,显示一幅电气原理图,原理图的位置可以通过鼠标进行平移操作,在仿真运行开始后,通过对原理图的元件进行操作,如鼠标点击开关、按钮等元件的符号,实现元件状态的改变,通过逻辑判断,使电机作出与之对应的动作,以动画的形式模拟正转、反转、停止等狀态。图2是交流接触器主触头动作前后的变化图及电机运行图。

3.1.2 仿3D图像界面仿真功能

仿3D图像界面功能与原理图界面仿真功能类似,只是显示的图形不同,另外需要一个操作面板。开关、按钮等操作在面板上进行。

图l的仿3D图形界面中的操作面板是处于背面状态,还需设计一个与背面元件位置一致的正面图形界面,控制系统的各种状态由正面的指示灯反映。对于非指令元件,如交流接触器的线圈吸合状态,可以用如图3的方式表示,两图分别表示了线圈释放和吸合两种状态。

3.1.3 故障设置功能

一般的硬件仿真设备的故障设置方法是使用串接开关模拟连线的通断。本设计也采取类似的方法,故障设置点与硬件仿真设备一致,增加故障随机设置功能。图4是显示了部分故障分布点。

3.2 系统功能的具体实现方案

3.2.1 图形显示

无论是原理图仿真还是仿3D图像仿真,界面均为位图。位图以资源的形式装入内存中,使用LodgBitmap函数装入位图ID,显示时使用CDC的BitBlt函数,在窗口显示,BitBlt函数的形式为:

CDC:BitBlt(int x,int y,int nWidth,intnHeight,CDC*pSrcDC,int xSrc,int ySrc,DWORDdwROP);

x和y是位图目的地坐标。nWidth和wHeight是位图的宽和高度。pSrcDC是设备上下文的指针。xSre和ySre是位图上需要复制的部分的坐标,更改这两个参数可以显示部分位图。

对于动作元件,在仿真时其状态改变后,使用另一幅状态的位图在原位置进行覆盖。

3.2.2 电机运行状态的显示

电机的运行状态以风叶旋转动画来表示。在电机符号所在位置上动态画出风叶形状,启动定时器,在定时器函数中通过改变旋转角度的方法实现。

电机运行过程分为启动、平稳运行、制动三个过程,启动阶段电机旋转速度是逐渐加快的,达到额定转速后,进入平稳运行状态,在停止阶段转速是一个减速过程,为了简化这个过程的仿真,电机的旋转速度变化以文字提示的形式出现。

3.2.3 设备运行状态判断

设备运行状态是基于逻辑关系。对于按钮、开关等元件,判断方法是鼠标左键是否在元件位置上按下,如果按下了,则用新的动作图形覆盖。

对于交流接触器触点动作,要分为无故障和有故障两种情况进行判断。无故障按正常操作关系进行吸合和释放动作,有故障时按故障设置表(见表1)结合原理图进行动作判断。

电机的运行状态也是按表1的关系进行判断。

为了降低编程难度,本设计每次只设置一个故障。表l仅列出了前八个故障,第一列为故障开关编号。

以Kl故障为例说明仿真设备运行状态判断的步骤:

(1)选择“仿真”菜单切换到仿真状态。

(2)判断总开关、启动按钮是否被按下。

(3)判断主轴正反转开关的位置。

(4)判断Kl是否设置为断开状态。

(5)根据Kl状态主轴电机作出正转、反转、停止的响应。若点击变速冲动按钮,Kl无故障时,电机的风叶按照“转.停.转,停”的方式运行,否则电机停转。运行状态判断流程如图5所示。

4 软件功能测试

分别在无故障状态和有故障状态下进行性能测试。

(1)无故障状态性能测试:按照铣床的操作步骤,测试电机的运行状态,结果符合设计要求。

(2)故障状态下的性能测试:分别进行故障手动设置和随机设置。手动故障设置是在故障分布图上用鼠标左键双击图上的故障设置点,在弹出的对话框中设置为开路故障,随机故障设置是通过菜单进行故障点的随机设置。仿真结果符合表l的故障现象描述。

5 结束语

教学仿真软件在教學中的作用有别于传统的课件,前者是互动式的,后者是被动式的,但软件的编写难度也较大,本文提供了一个制作仿真软件的快捷方法与思路。如图5所示。

本设计表明,使用逻辑关系对非数值运算的仿真软件进行开发,可以使编程过程变得简单,至于其它要进行复杂的数值运算的软件设计,本方法就不适用。

参考文献

[1]冉秋.3DMAX三维虚拟基础下景观设计技术的分析[J].数字技术与应用,2017( 01):153-157.

[2]袁观娜,李秋,张琰.基于OpenGL与3Dmax的虚拟现实动作仿真系统的研究[J].科技资讯,2016 (04):1-2.

[3]赵刘飞,赵敏华.vc中DIB位图程序设计的研究[J].工业控制计算机,2014 (03): 41-42,45.

[4]肖峰.vc++下的BMP格式图像和PNG格式图像的转换[J].赤峰学院学报:自然科学版,2016 (03):17-18.