基于Visual Basic的虚拟消磁电源控制系统设计*
2010-08-11严孟奎刘大明
严孟奎 刘大明
(海军工程大学电气工程学院 武汉 430033)
1 引言
计算机模拟技术是以相似原理、信息技术、系统技术及其应用领域有关的专业技术为基础,以计算机为工具,利用系统模型对实际系统进行试验研究的一门综合技术[1]。仿真培训系统已经广泛应用于制造工业、电力工业、军事训练等各个行业。利用计算机仿真培训系统具有很高的效费比,一直受到各国的重视。
在舰船消磁工作中,消磁电源起着非常重要的作用。由于消磁电流比较大,在使用消磁电源装置时必须非常仔细。消磁电源装置操控人员在上岗前都应该进行严格的训练,熟练掌握消磁电源的各种操作,以避免造成装置的损坏。由于消磁电源的功率高,在训练中误操作很容易造成装置的损坏。为了减少损失和浪费,开发这套虚拟消磁电源控制系统具有重大意义。
2 总体结构设计
用一个振幅逐渐衰减到零的交变磁场作用在铁磁材料上,当没有其他恒定磁场作用时,则可以对其起到退磁作用。如果在交变衰减磁场作用于铁磁材料时,还有恒定磁场作用,则该铁磁材料在该恒定磁场作用的方向上得到很强的磁化,即无磁滞磁化[2]。综合消磁法就是利用退磁原理和无磁滞磁化原理对舰船消磁的[3]。
消磁电源分为消磁主电源和副电源两部分。消磁主电源向消磁工作线圈的供电。综合消磁时主电源向消磁工作线圈提供正负交替、逐渐衰减的间歇脉冲电流。通过主电源产生的电流产生振幅逐渐衰减的交变磁场,从而对舰船进行退磁。其典型输出电流波形如图1所示。电流衰减的方式一般有等幅衰减和等比衰减。消磁副电源系统用来为补偿消磁区地磁的补偿线圈供电[4],输出为直流电流。通过补偿线圈的电流,可以产生恒定的磁场来补偿消磁区的固有的恒定磁场。
图1 消磁主电源输出波形示意图
按照工作方式,主电源和副电源都有本地手动控制、本地程序控制和远方程序控制三种控制方式。本地手动控制为在电源控制台上通过调节旋钮和按钮手动地控制消磁电流大小和方向。本地程序控制是通过电源控制台上的触摸屏来设置各种控制参数,通过PLC来控制消磁电源的电流输出。远方程序控制则是在监控台的计算机上设置各种控制参数,然后通过网络传给电源控制器,进而控制电源的电流输出。
本模拟控制系统根据消磁电源工作方式以及训练需要设计了三个大模块:主电源控制模块、副电源控制模块和监控台模块。系统总体结构如图2所示。
图2 系统总体结构
主电源和副电源模块又分别分成本地手动控制和本地程序控制两个子模块。在监控台模块中实现主电源和副电源的远方程序控制功能。
各个模块之间以监控台为中心进行网络连接如图3所示。
图3 网络连接示意图
各模块之间采用以太网TCP协议进行通信。主电源和副电源控制系统在运行时,把各种运行参数和运行状态通过网络传递给监控台以便对操作人员的操作进行评估和指导。主副电源选择远方程序控制时,则由监控台向主副电源发送控制参数。
3 编程语言选择
本课题编程语言选择可视化编程语言Visual Basic 6.0(VB)。VB的可视化编程方便编写本课题的模拟窗口,比较生动、直观,开发速度快。利用VB可以开发出具有良好交互功能、良好的兼容性和扩展性的应用程序[5]。
4 系统设计
本系统所包含的三个大模块—主电源控制系统,副电源控制系统和监控台系统可以分别进行设计。
4.1 主电源控制系统
如图4所示,为主电源控制系统程序流程图。进入系统后,先选择控制方式,然后系统和监控台进行连接(此时,控制台程序应该已经运行),将控制方式告知监控台。若选择的是远方程序控制,则主电源控制系统等待监控台传来的参数指令。
图4 主电源控制系统程序流程图
主电源产生的是图1所示波形的电流。使用本地程序控制和远方程序控制时,为了实现波形方向和幅值的自动变化,使用一个定时器控件 Timer1。例如设置图1中电流的初始幅值为I0,每次衰减10%,间隔时间为t0,电流非零时持续时间为t1。初始时应设置Timer1.Interval=t1.另外设置一个变量tstate来表示电流输出的状态,tstate=1时幅值为0,tstate=2时幅值非零。初始化时设tstate=2。设drct来表示电流方向,初始值为-1。用I来表示电流输出,Im为电流输出幅值,初始化为I0。drct=1时,输出为I=Im*drct,为正;drct=-1时,I为负。则Timer1控件的 Time事件响应函数代码如下(代码中单引号“'”后面的表示注释):
Private Sub Timer1_Timer()
'上一个波形幅值非零,则输出零电流
If tstate=2 Then
I=0
tstate=1
'上一个波形幅值为零,则输出比上一个非零电流幅值减少10%,方向相反的电流
Else
Im=Im*0.1'等比衰减------------(*)
I=Im*drct
drct=drct*(-1)
tstate=2
End If End Sub
以上为等比衰减的情况。如果选择的是等幅衰减,幅值每次减少的同样大小。等幅衰减的代码和上面基本相同,只需把(*)处的代码换成等幅衰减的代码:
Im=Im-constDec
If Im<0 Then
Im=Im+constDec
End If
此处的constDec为自行设置的衰减值。此处的if语句是为了保证当幅值衰减到足够小的时候停止衰减。
4.2 副电源控制系统
副电源控制系统的工作流程和主电源控制系统一样,程序流程图同图4。由于副电源控制系统输出的电流为直流补偿电流,故设置好参数即可,不需要定时器控件。
4.3 监控台
监控台除了监控主电源和副电源控制系统的操作以及运行状态以外,还负责主电源和副电源控制系统的远方程序控制。其程序流程图如图5所示。
监控台应该在主电源和副电源控制系统启动前先启动,然后监听端口。等待主副电源控制系统的数据到来,判断其选择的控制方式。如果是选择的远方程序控制方式,则进行相应的参数设置并发送给主副电源控制系统,同时应记录下参数设置的操作。如果选择的不是远方程序控制,则继续监听主副电源控制系统的操作和运行状态。整个运行过程中的各种操作和运行状态都由监控台程序记录下来,以便对操作人员进行指导和考核。
图5 监控台程序流程图
图6为主电源控制系统主界面。
图6 主电源主界面
在这个界面上可以选择控制方式以及进行手动控制。
图7为主电源程控界面。
图7 主电源程控主界面
图8为副电源程控主界面。在主、副电源的程控界面上有各种设置按钮。通过这些按钮可进入到相应的设置界面进行各种参数的设置。
图8 副电源程控主界面
图9为副电源的主界面。图中的电动控制即手动控制。
图9 副电源主界面
5 结语
本系统是在 Windows环境下,使用 Visual Basic 6.0为平台编写,它形象直观,界面友好,操作方便。系统基本和真实情况相似,使用时如身临其境,效果较好,能大大提高培训效果,降低培训学习成本。为了更好地模拟出真实的操作环境,下一步可以用PLC设计一个和真实的电源控制系统一样的箱体。这样能更加形象地进行教学培训工作。
[1]吴重光.仿真技术[M].北京:化学工业出版社,2005:3
[2]肖昌汉.铁磁学[M].武汉:海军工程大学,2005
[3]张国友.舰船消磁系统原理与设备[M].武汉:海军工程大学,2004
[4]海军工程大学电磁环境与防护工程系.舰船消磁控制系统[M].武汉:海军工程大学,2007
[5]刘彬彬,高春艳,孙秀梅,等.Visual Basic从入门到精通[M].北京:清华大学出版社,2008