用户中心

资讯 > 应用案例

设备试车:程序员对照表

作者:Nishant Unnikrishnan2013.06.28阅读 2794

        在开始一个设备项目之前,做好规格参数收集和项目计划的重要性已经无需再强调了。一旦项目开始,控制工程师一般都会承受来自于项目经理对于按时完成项目的压力,哪怕状况其实是控制工程师正在等待机械和电子工程师团队完成他们的部分。随着时间节点的逼近控制工程网版权所有,负责为设备编程的控制工程师会面临时间的压力。由于商务原因,很多情况下,最终的程序编写需要在设备抵达用户之后再进行,测试并不完全。
        在争取项目时间的赛跑中,在程序编写完成之后编程人员也许会偷懒跳过“收尾”工作。下文是8项必要的收尾工作,它们可以使项目易于维护、故障排查和后续扩展。
        编程
        1.将控制算法(来源于基础设计文档)绘制成项目图:项目设计的第一步就是形成基础设计文档。设计文档能够将用户的需求翻译成行动计划,包括设备运转所需要的算法。编程人员使用基础设计文档中的控制算法图来为运动控制和设备运转所需的其他逻辑编写代码。为了完成一个控制算法CONTROL ENGINEERING China版权所有,可能需要多张控制图或者程序组织单元(POU)。在这种情况下,一旦代码编写完毕,这张将算法的特定部分与POU连接在一起的图表必须能够理解项目的代码流。这种映射关系使用户能够更好地理解程序的结构和设备控制的先后顺序。这张图表帮助具有多任务能力的设备控制器理解任务先后顺序。
        在初始编程人员递交编程结果之后,对于即将接受设备代码的人员来说,这种文档是一个较好的起点。项目本身可能并不具备这种文档,那么就必须要为了这个目的形成独立的文档。图1是一个简单的例子,显示了算法是如何转化成能够描述POU的彩色流程图。


图1 将控制算法绘制成控制图或者项目中的程序组织单元(POU)。图片来源:Yaskawa America公司。

        2.备案每一个POU的输入和输出:将流入每一个图的输入和流出每一个图的输出备案,有助于用户理解项目中的数据流。这种文档有助于帮助理解整个流程以及应用中的故障排查。通过这种方式,项目就能够模块化,可以针对每一个POU或者图独立地检查功能性。例如,图2详细描述了一部分项目的数据流动。如果要排查H10.03的相关故障,就可以查看H10.03的输入和输出是否正确。只有H10.03的输入符合预期时,用户才需要对H10.03的代码进行故障排查。如果H10.03的输入与预期不符CONTROL ENGINEERING China版权所有,用户就先不用对H10.03的代码尽心深入核查。


图2 图表显示了POU的关键输入和输出以及它们在项目中的流向。

        3.在代码的关键节点处定义变量(状态变量/参数)能够帮助完成故障排查:便于实施故障排查的良好的代码一定是模块化并且具有透明性的。为了模块化和透明,编程人员必须努力将复杂的流程分解成较小的流程,便于密切监控变量的精度。这也为后续的维护铺平了道路。这种编程方式会影响编程人员的耗时,但是却能够在项目试行和故障排查过程中节省很多时间。


图3 图表显示了POU的关键输入和输出以及它们在项目中的流向。

        图4为分解成代码模块的结构文本(ST)代码的屏幕截屏。如果代码没有分解成模块,没有引入额外的变量,总代码数量虽然能够减少,但是程序将会很复杂而且不便于管理。


图4  确保代码的模块化。

        程序开发过程中,在关键位置增加一些功能,对运动应用中的运动参数进行监控,长远看来这样做是有帮助的。在项目试行的调试阶段,这样做能够节省不必要的时间浪费。在电子凸轮系统和电子传动装置之类的包含同步运动的应用中,这一点是十分重要的。上面提到的运动功能引入了多个内部参数,理解这些参数的意义将会有助于项目的故障排查。
        4.在代码中设计零件更换策略:在使用期间,设备的各种零部件势必要进行更换,当运动控制器控制的零部件更换了之后,运动控制器必须能够使用新的零部件实现与使用已经磨损或者损坏的老零件一样的功能特性。这要求在项目中保留工作零部件的参数备份,编程人员必须要能够遇见到这种情况并编写具有这种能力的代码。大多数运动控制器都能够保留参数并作参数比对。如果需要,保留的参数可以发送给设备中更换的新组件。如果在设备试运行之前能够在代码中增加这种能力是十分有好处的,不要等到组件发生故障之后再考虑更换策略。
        项目收尾试车备案
        1.将参数文件作为项目的一部分保存(在设备末次试车之后):设备试车之前的最后一个步骤是参数优化和为了优化性能而进行的运动部件调整,此项工作包括在作为控制系统一部分的各种组件上棉鞋参数CONTROL ENGINEERING China版权所有,参数编写完成之后,编程人员应该将这些参数保存,作为项目的一部分。


图5  在应用代码中监控运动参数。

        2.浏览项目准入权限:很多时候,OEM厂商使用自定义算法来进行运动控制。如果OEM厂商希望限制最终用户对于某些算法的使用,那么这些代码需要使用密码来保护。大多数编程软件产品都有这种读/写保护选项。那些不对外公开浏览和编辑的代码应该使用密码保护。


图6  在应用代码中做设备组件更换设计。

        3.项目交接时审查交付完整性:当用户收到项目时,编程人员应该做好安排,确保所有必要的文件都完成交接。OEM厂商和用户需要确认如果需要复制另一台设备,那么代码和项目是否可以重用。编程人员应该理解软件是如何允许用户创建工程视图的,各种核对项目如下:
        a.如果编程人员希望允许用户以后能够从控制器将项目自行上载至用户PCCONTROL ENGINEERING China版权所有,那么就需要将源文件保存在控制器上。这也是以一种备份手段,这样一来,用户就能够获得当前正运行在设备上的项目。
        b.在交付之前锁定项目。如果用户不希望对项目做任何编辑,仅仅将项目用于监控目的,那么编程人员应该将项目锁定。项目锁定有助于项目版本控制。用户无法对锁定的项目进行任何修改。另一个版本控制的好方法就是将日期作为项目名称的一部分。


图7 将最终配置和参数保存至项目文件夹。

        c.确定所有固件和用户库文件都完成编译,并且包含在主项目中。如果项目是在附加用户/固件库文件的帮助下建立的,而库文件并非软件标准安装内容的一部分,那么编程人员应该再做一步,将这些库文件包含在主项目中。编程人员还应该检查库文件和路径以确定其与主项目正确连接。
        d.如果OEM厂商允许用户复制设备,那么应该给出详细的步骤。
        4.备案性能分析(图谱和数量):通过备案运动参数的变化图谱以及所处理的零件数量来备案设备的性能在项目试行阶段是十分必要的。这可以作为故障排查、其他设备调试、改进分析和其他内容的模板。试运行性能备案文件应该交付用户浏览和认可。


图8 使用知识产权对代码进行保护

        通常当用户抱怨设备并未按照指标运行时,就需要取出设备试运行备案文件进行对比和确认。这可以帮助解释随着时间产生的性能差异。对于运动应用,必须在设备控制器层面和驱动器层面进行性能分析。控制器端分析能够帮助对设备整体性能进行评价,驱动器分析能够帮助对发生问题的特定轴进行详细的评价。例如调谐和滤波之类的各种性能因子可以通过这种性能图谱得到。


图9  生产循环的控制器分析图。


图10  运动循环的驱动器分析图。

        编程人员如果不仔细进行这一步骤,就好比一辆新车从流水线上落地,而汽车制造商并未在新车上配备备用轮胎和用户手册一样。
版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688