宋华振 贝加莱工业自动化(上海)有限公司
控制器的软件开发一直是一个被忽略的重点,而事实上,软件的重要性对于OEM设备开发而言更为重要。因为,对于通用的PLC或其它控制器而言,其具有可适应于各个行业的特性,毕竟专业开发的控制器存在批量小且稳定性和可靠性较弱的问题,而广泛被使用的PLC则可以实现针对不同应用的硬件组合。但是,什么是区分不同行业应用的核心呢?显然,是软件。每个行业都有其独特的工艺、操作习惯等方面的需求,这些需求必然是依靠软件的作用而进行划分的。
OEM的机器设计涉及太多的行业,印刷、纺织、塑料、包装、工程机械、风电等,每个行业都有其独特的工艺需求,而这些变化对于自动化系统而言核心差别在于软件。
机器本身是一个复杂系统,随着技术的发展,设备互联、运动控制与机器人、视觉等越来越多地集成到系统中,从而提升系统的功能设计和加工效率等,这些使得机器控制变得更加复杂。在同一台机器上不仅包含了传统的逻辑也包括了回路调节、液压、安全技术、运动控制、CNC和机器人、视觉系统、冗余系统等,因此,现代机器控制有更为复杂的设计需求。
对于OEM机械企业而言,如何开发可靠而强大的电气控制系统是其面临的巨大挑战。
(1)如何能够快速的构建系统,降低开发难度?
对于机器设备的开发而言,其最大的难点在于变化,如何能够提升开发效率,使得新的机型和应用被快速实现?现在,机器的功能和性能需求随着客户的需求有了越来越多的变化。
(2)在人员变动时,如何确保知识产权的延续和把握自主的知识?
确保代码的安全是对于拥有核心软件算法公司最为关注的问题,如何实现多人不同的开发和代码的安全等级分配尤为关键,这个可能会涉及到企业内部的技术机密和重要的知识产权。
(3)如何提高代码的稳定与可靠?
事实上,软件与硬件一样,同样存在着稳定性与可靠性问题。在很多时候,来自软件的不稳定问题可能比硬件更多,这是由于架构设计的不严谨,以及开发人员的经验在全局考虑时的疏忽所导致,这会造成代码的不安全。而经过标准化设计和反复测试过的软件,多年的应用证明它的代码是可靠而稳定的。
(4)反复修改带来的效率低下
在很多OEM的机器开发中,由于架构设计的不合理,使用了不严谨的结构,以及功能接口设计考虑欠缺,造成需要反复地根据新的应用去调整,同时又因为缺乏自整定的算法设计而使得很多参数的调整必须人工进行。
(5)仿真与建模
对于那些复杂的算法和需要大量测试的应用而言,如果能够基于建模的话,那么就会带给开发者诸多便利和节省大量成本。
(6)反复地学习不同软件,复杂的接口设计
对于那些采用不同系统的应用而言,开发者必须为不同的硬件和软件架构学习不同的开发软件,而且这中间会损耗一些功能和性能,因为这未必是最匹配的系统。
关于软件对于OEM的意义可以概括为以下几点:
(1) 软件封装客户Know-how
传统意义上,客户的专利技术都是通过机械设计来实现,但是这种方法比较容易被抄袭。随着电子电气及信息技术的发展,软件成为了一种更好的封装Know-how的容器,工艺参数、算法、特殊的功能设计均可以被封装为功能块或以固件形式固化在嵌入式的控制器上,这使得无法实现拷贝,因为软件是无形存在的。
(2)软件使得同一硬件平台最大化发挥其功能
我们可以看到,不同的机器可能使用了同一套相同配置的控制器,但是,其可以实现不同的应用,或者只是局部的小的变化。软件的功能设计可以让同一硬件平台发挥最大的可能性,在不增加额外硬件投资的情况下,OEM厂商可以赋予机器更多的功能设计和更为个性化的设计。例如:简单的操作画面设计、按照客户要求定制的颜色、图标,或者视觉化的机器三维嵌入,这些让操作者可以更为直观地看到机器的运行。
(3)软件塑造差异化竞争力
差异化正是在软件的功能与个性化设计上实现的,而硬件却可能完全相同,或者仅仅增加一个模块,例如:增加一个称重模块,就可以实现挤出机的计量控制,增加一个色标传感器输入模块,就可以实现套色的控制,而这些对客户极具竞争力的解决方案在硬件上却只是通过额外的很少的投资(千元甚至数百元的投资),以获得巨大的市场收益,因为,软件赋予了机器更高的价值。
如果要为客户提供解决方案,那么,集成的开发平台是必须的,因为解决方案是一个涵盖了产品的配置、项目管理、仿真与测试、编程、测试、系统维护的需求,因此,与传统的开发工具概念不同,它是一个从全局面向整体方案的概念,以自动化企业所提供的完整硬件支撑平台为基础,并以提供其内在的流程与系统架构内的无缝连接为目的,从而在整体上实现方案的集成。
4.2.1 项目配置与管理
集成开发平台提供更为直观的系统硬件配置和连接,以及自动的检查,从而让使用者在轻松而简单的情况下来实现系统的平台组建,这更多是管理项目的功能而并非是开发。但是,这可以有效地提升客户多种机器的应用管理,并应该具备以下的功能。
配置管理;
版本管理——可以按照标准的项目管理来实现版本管理;
协同工作;
代码的安全设置。
另外,也可以接受来自其它应用的集成与导入。
例如:Automation Studio就支持对EPLAN图纸的导入,可以实现对电气连接图的导入和生成;
4.2.2 仿真与测试
对于机器开发而言,基于建模(Modeling Based)是非常流行于德国、奥地利等欧美高端机器系统应用中的,针对物理和每个组件均可实现建模,并且支持HIL(Hardware In the Loop)的硬件在环测试,以及自动代码生成功能,使得开发过程变得更为简化和快速,能够有效地降低开发周期和成本。
自2008年开始,贝加莱首个推出MATLAB/Simulink的集成,包括Rockwell AB和Bachmann等也都在其开发系统中实现了MATLAB的集成。MATLAB/Simulink是广为使用的仿真软件,它是一个基于建模的设计,通过建模,可以快速地设计控制器的调节功能,并对模型进行优化,通过自动代码生成功能,可以自动生成高效的应用代码,并直接运行于PLC之上,这带来了以下好处:
(1)节省开发周期
如果能够快速地给系统建模,则开发过程可以在MATLAB/Simulink的可视化环境中被建模,并且每个物理对象都可以被视为建模对象,从而提升系统的性能。
(2)降低测试成本
由于MATLAB/Simulink的反复测试可以对控制器实现最优化设计,使得测试过程被快速完成从而降低成本,对于原来需要大量测试和原材料浪费的系统,可以通过较少的测试即可完成可靠的系统设计。
(3)效率更高的开发
4.2.3 编程
编程作为核心常被传统的开发工具所强调,对于OEM机械设计而言,编程则必须利用发挥各种语言的最大特点去实现,传统的IEC61131-3已经是默认的编程工具。
(1)高级语言的算法设计能力
对于那些复杂的算法设计而言,高级语言更为合适,例如C Basic对于行业的算法设计而言是比较有效的。而对于Java可用于网络的编程,C++和C#由于可以实现对类和对象的很好操作及软件功能块的封装方面的能力,因此,更为胜任机器行业的模块化软件设计需求。
(2)面向对象的编程胜任模块化软件设计
面向对象(OOP)编程是目前广泛应用于IT业界的开发技术,它能够直观且模块化地开发应用,这给开发带来了非常大的便利,尤其是针对系列化机器的应用开发。
(3)PLCopen软件功能块
针对应用,PLCopen提供了大量针对机器行业所需的色标、张力、CNC等操作的功能块,集成开发平台也必须面对未来这一变化,提供更为面向行业而非仅仅面对开发本身的功能设计,这包括了PLCopen的Motion、Logic、Hydraulic、XML等应用,另外,一些集成开发平台如B&R Automation Studio,Rockwell AB的Logix也支持OMAC PackML的包装机械行业功能块开发。
新一代的PLCopen则将CNC和机器人集成到整个控制中,构成GMC的应用架构,而这一点上,在B&R的Automation Studio中将CNC和机器人的库,包括机器人的正逆变换均进行了集成,解释器、轴控制,并且可以与点到点的定位控制集成于一个系统中,使得机器的设计更为全局而非面对单个组件。
4.2.4 系统测试与诊断
对于OEM的应用而言,系统开发过程中除了包含机器的软件与硬件调试的方便外,还要能够提供一些功能有助于机器本身对机械系统的分析,从而为机器的改善也提供技术支持。
(1)编程测试
通过诸如变量观测器、交叉引用、示波器功能可以对机器的电气系统进行测试分析,从而改善工艺。
(2)轴的测试
可以对每个伺服轴在无需编程情况下测试其动作,或者通过轴的电流、电压、位置等数据反馈来发现机械系统所存在的问题,同时有利于机械的改进分析。
(3)系统诊断管理器
可以对控制系统本身的硬件到I/O级的端口进行诊断,便于进行I/O的分析和显示故障,并且通过网络对IP路由进行分析,通过日志对运行过程中的问题进行记录等,这些都是为了让系统更为便捷地调试与运行。
4.2.5 生产与维护
当OEM客户的设备运行到了终端客户现场后,将会面临着诸多服务问题,比如,程序的下载、硬件故障、系统运行故障,而集成开发平台也提供诸如这些服务的能力,通常而言,基于RTOS和PLC或带实时扩展的PC技术可以轻松胜任这些功能,这包含了两个方面的问题。
(1)为管理系统生产数据
开发平台应该能够支持OPC Server的功能和访问接口,为ERP提供数据的支撑。另外,也可以为开放架构下的ActiveX控件提供数据的访问接口。
(2)基于远程访问的技术
这些包括VNC Server、Web Server、FTP Server、邮件服务等。
对于OEM而言,大量的售后服务其实可以通过远程的测试解决,无需到达现场,这降低了服务量。通过FTP Server为远程的机器下载优化和升级的程序代码,通过邮件或GSM网络返回重要的报警数据,这些不仅针对OEM厂商,对于最终用户也同样重要。大的管理中心可以通过IE浏览器访问远程的PLC或DCS分布式控制站,通过手机获取报警信息以及用邮件获取后续的分析数据,程序的优化升级均可通过远程的方式来实现。
集成开发平台具有重要的现实意义,尤其是对于OEM,罗列如下。
集成开发平台是面向全局的机器设计而非局部,如果考虑到全局,则会将逻辑、运动、网络、安全、机器人和CNC视为一个整体,其内在的逻辑与模型则更为全局考虑。与传统分立的产品概念不同,它是一种真正意义上的解决方案平台支撑,因为,所谓解决方案,就必须是完整、全面而非局部的考虑。
对于OEM而言,通过集成开发平台,能够重复使用原有的软件开发投资,可以缩短开发周期,并且,集成开发平台的功能和开放性使得企业最大限度地使用开放的软件资源,模块化和标准化的软件使得OEM可以实现技术的持续创新。
(1)培训成本降低。显然,一个平台,同一风格,可以使工程师不在多个平台间切换,一个软件可实现面向所有对象的功能。
(2)通过代码重用降低成本。对于OEM而言,滤波、通信、工艺算法,甚至显示画面等均可封装,可以被不同的机器重复使用,显然,无需额外反复的开发。
(3)标准化的软件降低了成本。不仅是代码的稳定性,同时还降低开发时间,这为OEM降低了大量的成本。
由上述可知,集成开发平台对于OEM有非常重要的意义,发展集成开发平台是未来的必然趋势。