我需要为PLC代码提出一个CM过程.
目前,该系统是使用RSLogix 5000开发的.构建产品是一个单片文件,可以加载到PLC上进行执行,并直接在开发环境中进行编辑.对于多个开发人员来说,这已成为一个问题.他们正在踩着彼此的变化.
作为类比,就像在进行Java开发时,编辑和保存源代码的唯一方法是将*.jar文件加载到IDE中,进行更改,然后将其保存回jar文件.这不太理想.
如何协调使用PLC的多个开发人员之间的更改?
我使用Unity Pro,因此这可能不适用于其他品牌.
Unity可以导出一个"归档"文件,该文件是XML,它完整地描述了PLC程序和IO设置.在调试更改后,我创建了一个导出并将其签入我当地的Git仓库.这给我带来了一个带注释的变化历史,但没有视觉比较.我总是可以使用UnityDiff进行比较.
查看http://www.mdtsoft.com/也
如果我们谈论的是一个大的二进制文件,那么VCS(集中式或分散式)并不是最好的工具.
批处理将复制并标记当前PCL状态的外部参考(例如共享磁盘)更好.
请参阅" 跟踪软件历史 "
为了避免修订历史记录中的不连续性,必须存储旧版本的程序.
"但我们更进一步.使用我们的MDT AutoSave,我们实际上会去询问设备.过夜或以指定的频率,软件读取PLC中的程序,然后将该信息与最后已知的程序进行比较.版本控制软件将复制新程序并存储它,然后将其与最后一个进行比较.启动版本控制非常简单.必需的是软件安装,然后是硬件配置."你需要一台服务器和几周的工程设计,你很高兴,"Perysyn说.然而,他的公司使用"收缩包装方法",涉及安装软件,然后填写空白的用户进行定制.
话虽这么说,当您从多个开发人员进行多项更改时,您需要一个集成环境,可以在将其推送到实际服务器之前完成第一次交付并进行验证.
另见这篇文章.
特别是关于RSLogix5000,我看到开发人员使用模拟PLC并在线进行更改.一旦开发出最终产品,然后将所有注释(因为它们不包含在PLC中)放在一起,然后进行调试.存在无法在线完成的更改问题,例如AOI.有一些工具可以阻止两个人同时在线编辑相同的逻辑并获取部分的所有权.备份可以上传的形式完成,但没有任何方法可以跟踪更改.
这是一个麻烦的问题,当你想要一个你可以上网的.ACD维护一个系统时仍然很麻烦,因为除非你以某种方式使用RSLogix比较工具进行差异你只看到不可读的机器代码,如"+ |Éû³'¬ÙÆW×æ™μ,> U,"
我看到的最常见的修订控件(遗憾的是)只是保存最新的文件,然后复制并将当前日期添加到文件名,就像所描述的推荐的control.com帖子一样.
您需要专门的版本控制系统,如VersionDog.
来自制造商:
"SIMATIC S5,SIMATIC S7,SIMATIC PCS 7,WinCC,WinCC flexible,InTouch,CoDeSys,TwinCAT,Phoenix PC WORX,RSLogix,Schneider Modsoft,Schneider Concept,Schneider Unity,SINUMERIK 840D,Bosch IndraWorks等智能比较的特别支持此外,版本狗还完全支持ABB和Kuka的机器人程序以及Microsoft Word,Microsoft Excel和Adobe PDF等办公相关数据格式.
更新:这是显示梯形图版本比较的屏幕截图.我想这就是大多数PLC人员感兴趣的事情.如果PLC离线和在线应用程序版本匹配,我们也会使用它来安排电子邮件报告,因为警报说PLC中的某些内容已被更改但未放入版本控制服务器.