柳德志
(南京华得瑞科技有限责任公司,江苏 南京 210015)
某厂国外进口控制系统采用软硬件纯进口的方式,控制设备和控制应用软件均为国外原产。由于技术的保密和垄断,国外设备厂家不提供原有控制应用系统的安装盘,只提供随机镜像文件,当系统故障后,厂家只能将镜像文件直接恢复至新的工控机来恢复系统,而无法用一台新的工控机经过安装系统和控制应用软件等这种常规方式恢复系统,没有控制软件的原始安装文件,这种系统称为“黑盒”系统。
随着运行时间的增长,装载控制应用软件的工控机老化严重,老的工控机备件采购困难,新的工控机无法安装原有控制软件系统。国外厂家给出的方案是如果要升级控制应用系统软件需要将原有控制系统整体升级,将需要升级底层的硬件系统,涉及的费用很高,周期很长。
原控制系统为软件、工控机加硬件的结构,控制应用系统软件为专用软件安装与一台搭载Windows NT操作系统的工控机,控制应用系统软件采用专用协议与硬件进行通信,具体结构如图1。
图1 系统结构图
由于技术保密性的原因,目前国内还没有完全掌握此控制系统的技术,随着时间的推移,原工控机型号停产,新的工控机已经无法运行原厂家给出的镜像文件,主要是Windows NT系统无法在新的工控机上运行,但是底层的硬件系统仍然在正常生产供货,国外厂家给出的解决方案是把硬件系统和软件系统一起升级,但是没有备件的只是装载软件系统的工控机,一起升级造价太高,严重资源浪费。
通过测试发现原Windows NT系统的兼容性较强,对硬件要求很低,原控制软件的体量较小,只是因为近年计算机硬件更新换代太快,造成Windows NT系统不支持新的计算机硬件。原系统只是通过以太网与外界进行通信,硬件系统只依赖于以太网卡。
国外厂家给的镜像文件包含控制应用系统软件、软件的授权、网卡的驱动、专用通信软件等一系列已经配置好的文件。测试发现,将此镜像文件恢复到年代相同的工控机,只要将网卡驱动重新安装,软件就可以正常运行,也就是只要工控机的硬件能够运行Windows NT系统,镜像文件就能够使用。
可以将原有“黑盒”系统不做分析,将其作为一个整体来使用,不分析内部软件的构成,不需要内部软件的原始安装文件。
基于这一系列的技术测试,总结出两种升级方案。
虚拟机指通过软件模拟的出具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作[1]。
现有的虚拟机的虚拟化操作界面很友好,可以像操作实体机一样来操作虚拟机,虚拟机内部的操作系统与实体机可以一致,也可以不一致,在同一个实体机上可以创建和运行多台虚拟机。
因此,虚拟机成为解决硬件与软件不匹配类问题的一个比较好的方法,这种方案已经被国内众多厂家的使用。
虚拟机需要依存于一台实体机内,因此使用虚拟机首先需要安装一台实体机。在一台新的工控机内安装Windows操作系统,安装设备的驱动,使实体机能够正常的工作。
在实体机内安装虚拟机软件,用虚拟机软件创建一个Windows NT的虚拟机,用于Windows NT系统对硬件的开销比较小,分配10 GB硬盘,256 MB内存就足够了。
将国外厂家给的镜像文件用镜像软件恢复到虚拟机内,启动系统,安装虚拟机的增强工具,使系统可以使用虚拟接自带的虚拟硬件,包括网卡等,重新安装网卡驱动,设置IP地址,新的控制系统就能够正常运行。
处于对项目的严谨,综合比较了几款常用虚拟机软件的长时间运行状态。
表1 常用虚拟机软件运行状态对比表
表2 常用虚拟机软件运行问题汇总表
由于Windows NT系统较为古老,在虚拟机内将Windows NT用系统升级安装的方式升级到Windows 2000重新测试,测试结果如下。
表3 Windows NT升级到Windows 2000问题汇总表
综合以上测试结果选择Virtual Box虚拟机进行现场测试,经过现场长时间的运行,Virtual Box的虚拟机运行稳定,可以有效地在新的工控机上运行老控制应用系统,与宿主系统无缝结合,由于系统硬件更强,使系统运行更加顺畅。但是仍然存在宿主机内存增长的情况,需要几个月后重新将工控机关机重新启动一次,释放内存。
下面着重介绍另外一种方法,借助虚拟机进行操作系统的升级。
新的工控机能够安装新的操作系统是因为新的操作系统能够支持新的硬件,如果能将“黑盒”系统的操作系统升级到较新的操作系统,那么这个“黑盒”系统就可以在新的工控机上运行[2]。
在虚拟机方案中已经测试过将“黑盒”系统的Windows NT操作系统升级到Windows 2000操作系统应用软件仍然能够正常运行,这是因为在Windows操作系统的升级安装过程中会保留个人的文档、原有系统安装的软件以及注册表中的软件注册等内容。
由于老的工控机性能较差,在老工控机上可以运行Windows NT操作系统,但是升级操作系统运行困难;新的工控机性能较好,能够完成升级操作系统的工作又无法运行老的Windows NT镜像文件,因此陷入一个矛盾的境地。这种情况下,如果使用虚拟机的方式可以破解此困境。具体升级过程如图2所示。过程比较清晰,但是具体实施过程中会出现一些意料之外的情况,根据实施经验总结如下。
图2 操作过程示意图
从原老工控机中用软件产生镜像文件,由于原工控机较为古老,将硬盘拆到一台新的计算机上用镜像软件进行操作会方便得多。
在一台性能较好的工控机中正常安装Windows操作系统,安装驱动程序,安装虚拟机软件,并建立一个虚拟机。
通过前期的经验总结,由于各种虚拟机内虚拟的硬件各不相同,因此在系统升级的过程中也会出现不同的问题,Virtual Box的硬件兼容性比较好,后面的操作均在Virtual Box虚拟机内进行,VMware Workstation在升级操作中会出现升级后重新启动蓝屏的现象。
将镜像还原到用Virtual Box建立的虚拟机中,虚拟机的建立可以选择较大的硬盘和内存方便后面系统的升级。
将Windows 2000的ISO文件加载到虚拟机的光驱中,进入Windows NT系统后,运行光盘文件,选择升级到Windows 2000系统。
原Windows NT系统的镜像文件的硬盘格式是FAT32的,因此在升级到Windows 2000的过程中需要将硬件格式转换成NTFS。
在虚拟机中加载新的操作系统进行操作系统的升级安装,依次进行Wi ndows NT→Wi ndows 2000→Windows XP→Windows vista→Windows 7,
直到最后Windows 7操作系统升级完成。
在Windows XP升级到Windows vista系统过程中可能会提示更新失败,是因为硬盘不够大,需要用软件将硬件调整到30 GB就可以正常升级。
在所有升级过程中都会进行兼容性检查,一般出现的不兼容问题都是硬件驱动问题,可以不用理会继续升级。
在升级过程中也会出现移动鼠标蓝屏的现象,这个是因为虚拟机对硬件兼容性的问题,可以使用键盘完成升级安装。
因为所有的中间态操作系统都是过渡,因此每次升级系统均不需要安装驱动软件,也不需要安装虚拟机的增强工具。
将已经升级到Windows 7系统的虚拟机用镜像软件产生镜像文件,将镜像文件恢复到新的工控机中。
在新的工控机重新安装系统硬件的驱动程序,并调整显示分辨率,网卡IP等,使原有控制软件适应新的系统。
经测试新的控制软件能够正常运行,原有的设置均保持不变。经现场长时间运行,没有发现异常情况。
Windows操作系统的运行需要硬件设备的支撑,由于操作系统更新较快,删除了一些老旧的硬件设备的驱动程序,而且新的系统性能越来越好,但是对硬件资源的需求越来越高,所以出现了老的工控机上无法安装新操作系统的问题。
老的操作系统由于缺少新的硬件的驱动程序,因此也无法安装在新的工控机上。
由于虚拟机硬件调整方便,所以用它作为载体来运行不同的操作系统较为方便,最终是要在实体机上运行的,所以虚拟机只是一个外壳,这是一个“借尸还魂”的操作。充分利用了虚拟机调整方便和兼容性好的优点来实现项目的目标。
两种方式都能实现“黑盒”控制系统的升级,虚拟化的方式是一种常用手段,能够满足绝大部分应用的需求,但是存在运行过程中虚拟机软件占用系统内存和运行人员会意外关闭虚拟机软件的风险;从利用虚拟机升级到最新的系统,然后再镜像回工控机的方式能够真正地实现控制系统的升级,但是也有他的局限性,这种方式要求原应用软件对系统依赖较低,而且原系统试32位的,新系统只能升级到32位,对原应用软件的兼容性要求较高。
虚拟化的方式是常规方式,利用虚拟机升级的方式是一种参考,在原应用软件允许的基础上可以进行一些尝试,能够实现出比虚拟化更好的效果。
无论采用何种方式,均能节约资金,延长控制系统的寿命,并为很多系统的国产化争取了时间,在升级过程中会对原有控制系统更加了解,为一些进口设备的国产化奠定技术基础。■