谈好的运动控制软件的主要特征

    软件的好坏其实是事后才能证明的,有可能唯一的一条标准就是软件的使用人数(或者销售的套数)。我这里只是就事前如何做一个好的运动控制软件从技术角度进行探讨。

一.什么是运动控制软件/span>

运动控制软件:针对工艺特性,对加工过程及执行装置进行轨迹或者及逻辑控制的软件系统(自我描述,并不严谨)。其主要功能为交互功能(与人或上一级系统),将生产所用的生数据经算法处理或者中间转换进而转变成熟数据下位可直接使用的软件系统。运动控制软件其典型特征是带有运动控制规划算法,如坐标转换,轨迹计算,工艺算法计算等,在技术实现上其具有高实时性和高度的稳定性。

二.好的运动控制软件的主要特征:

1.符合工艺需求

    满足客户需求是所有软件行业的最根本性的目标,这个运动控制软件也不例外,但是这里我着重强调的是工艺需求,其除了人的需求以外,工艺需求的理解是运动控制软件的一大难点所在,因为工艺需求对于软件和软件之间是不可复制的,你可以花几年时间把一个行业做深做透,但是换一个行业就未必了,因为换一个行业好多东西都要重头来过,其中工艺就是你必须要谨慎而又慎重面对的一块,而工艺这一块最需要花心思的一定是工艺算法。我向来抱着一个观点就是,运动控制这一行没有所谓的高手,软件高手或许有,算法高手或许有,但是运动控制软件高手是不可能有的,什么是高手,你知道80%,而不知道另外的%10,你就不是高手,而运动控制软件有可能面对成百上千个行业,这里可不是量的问题,其各个行业的工艺本质也是不一样的,虽然都是控制。或许有些人终其职业开发生涯也不会开发超过十个行业,我个人到目前为止也只有三个行业(四年,其中一个是半成品,一个刚开发)。之所以会这样,就是因为要想将运动控制软件的工艺需求分析好,不是一朝一夕的事,有可能也不是一个团队的事,有可能和行业成熟度,行业本身发展状况及辅助配套系统清况等等相关。有些好的行业,如机械手,CNC等我认为在这些行业上需要花费十年,二十年甚至更多时间都是可能的,因为有些行业你了解的同时其也在不断的发展着,新的需求也会被提出来。说了这么多,我最根本的意思是认清工艺需求是最重要的,需要刻苦的钻研及持之以恒的心态。

2.符合行业操作习惯

    UI这个话题很深,因为我认为凡是带有人的主观因素去评判一个东西的时候,就很难达成一个统一的意见。从公司老总,到公司的项目经理,产品经理,再到美工,程序员,再至对方的对应人员,如客户老总,经理,操作工等。我发现一个怪现象就是,当一个软件HMI被开发出来的时候,抱怨最多的是两类人,程序员和操作工,其它都是提出问题的。就此我想说的是,软件是给操作工用的,但是其掌握的话语权是最差的。而软件是程序员开发的,其工作也是最被动的。因为有可能客户一个非常临时的想法,都意味着程序员可能有一大堆的代码要去写,虽然这样的功能有可能并不需要,或者并不适合操作工。这里就我的一些经验,做出一些总结:
    1)软件是给操作工用的,要时刻铭记。有的行业的操作工初中可能都没毕业(绝对和文化歧视没有关系,我说的是现状)。无论哪个行业的运动控制软件,越简单越好,       功能越少越好,能满足的核心需求越多越好。
    2)符合行业操作习惯,在UI上永远不要标新立异,越靠近行业比较成熟的被大量使用的软件越好,你也可以说这是抄袭,只要操作工愿意用,会用,我不反对你这么说。当然    如果你的软件正被抄袭着,说明你们公司比较牛,在没有达到这样的标准以前,我们还是谦虚一点的比较好,会学习是我们这一行的传统美德。
    3)这一行的软件都没有菜单,这是我目前认为是我发现的唯一的行业UI标准。

3.精度和速度

    精度决定了产品质量,速度决定了生产效率。而这两样意味着利润,利润是驱动一切东西的前提,没有这个前提是不行的。

4.高标准的稳定性及实时性

    软件连跑十天没问题,跑一个月怎么样件重起之后是否能迅速投入生产。出现故障之后是否能快速并容易的恢复。在这一点上嵌入式系统具有不可比拟的优势。所以我认为这一行未来主流的控制器会是嵌入式操作系统,其主流系统展现出来的稳定性非常令人满意,故障率很低,但是就技术而言,我们需要把它先弄明白,给你一把刀,你得先把它耍起来才行。

5.具有一个好的框架

    框架在某些程度上决定了一个软件产品的生命周期,一个不可维护,扩展性极差的框架也同样的不适用于运动控制软件行业,需求总是会不断的提出,甚至是我们绝对不会想到的需求,所以框架必须具有一定的包容性。

6.针对特定机械去做

    以前我们这个行业流行的是组态软件,嵌入式系统发展起来以后流行的是专业化软件。只有针对具体的机械去做软件,效果才能最好。那些就某台机械永远都不会使用的功能,不要出现在操作工的眼前。同时针对机械对软件进行优化,可以人机更完美的结合在一起,当然也更容易做好做成熟。

7.经过非常严格的测试

    运动控制软件对BUG几乎是零容忍的,但这是不可能的。我们同事在台湾调试设备的时候,曾见过一家控制设备供应商的机器,在没有人看守的情况下,自己动了起来,运动控制设备都是机械,是机械就可以伤人,所以干这行要有责任感。另外就是一个软件即使它有最好的工艺解决方案,最好的框架,最好的工艺算法,最好的系统配套,没有一个严格的测试,前边都是0,因为bug无处不在,很多时候我们针对bug,并不是解决它,而是把它屏蔽掉,让它无法出现,但是前提是我们必须发现它。只有经过严格测试的软件才是好软件,这和技术及信心都没有关系,更不涉及到我们那非常难以割舍的自尊心,有bug不丢人,有bug不测才叫丢人。

8.好的行业需要好的运动控制软件,更需要好的合作团队

    一个刚刚发展的行业和一个成熟的行业,前者更容易做出优秀的软件,因为我们可以和它一起成长。而这样的前提是需要一个好的平台,即我们所在的公司,能不能接到或者挖掘出这样的行业。我个人的体会是平时的技术积累固然重要,但有些时候机会要我们自己好好把握,要学会坚持,相信自己更要相信和你一起配合的人,一个人通吃天下是一个非常美好的故事–仅是故事而已。所以我最后说的一点就是,团结你身边所能团结的人,大家一起把软件做好,才是正途,这是更高一个层次的技术问题,即职业化素养。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览34016 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2010年11月10日
下一篇 2010年11月10日

相关推荐