我需要想出一个 PLC 代码的 CM 过程。
目前,该系统是使用 RSLogix 5000 开发的。构建产品是一个单片文件,可以加载到 PLC 上执行,并直接在开发环境中编辑。对于多个开发人员来说,这已经成为一个问题。他们在互相踩踏变化。
作为一个类比,就好像在进行 Java 开发时,编辑和保存源代码的唯一方法是将 *.jar 文件加载到 IDE 中,进行更改,然后将其保存回 jar 文件。
如何协调与 PLC 的多个开发人员之间的变化?
我使用 Unity Pro,所以这可能不适用于其他品牌。
Unity 可以导出一个“archive”文件,该文件是 XML,它完整地描述了 PLC 程序和 IO 设置。调试更改后,我创建一个导出并将其签入我的本地 Git repo。这让我获得了注释的更改历史记录,但没有视觉比较。我总是可以使用 UnityDiff 进行比较。
您需要为 PLC 提供专门的版本控制系统,如VersionDog。
来自制造商:
“Smart Compares 对 SIMATIC S5,SIMATIC S7,SIMATIC PCS 7,WinCC,WinCC flexible,InTouch,CoDeSys,TwinCAT,Pnix PC WORX,RSLogix,Schneider Modsoft,Schneider Concept,Schneider Unity,Microsoft SINUMERIK 840D,Bosch IndraWorks 等提供了
更新:这是一个显示ladder version compare的屏幕截图。我想这是大多数 PLC 人员感兴趣的。如果 PLC 脱机和联机应用程序版本匹配,我们还使用它来安排电子邮件报告,作为 PLC 中已更改但未放入版本控务器的警报。
如果我们谈论的是一个大的二进制文件,那么 VCS(集中式或分散式)并不是执行此任务的最佳工具。
外部引用(例如共享磁盘),其中批处理将复制并标记当前的 PCL 状态。
请参阅“Tracking Software History”
为了避免修订历史记录中的不连续性,必须存储旧版本的程序。
“不过,我们更进一步。使用我们的MDT AutoSave,我们实际上出去询问设备。过夜或以指定的任何频率,软件读取 PLC 中的程序,然后将该信息与最后一个已知程序进行比较。版本控制软件将复制新程序 [并将其进行比较]
启动版本控制相当简单。所需的是软件安装,然后是硬件配置。Perysyn 说:“您将需要一台服务器和几周的工程设计,这很好。”但是,他的公司使用“收缩包装方法”,该方法涉及安装软件,然后由用户填补空白进行自定义。
话虽如此,当您有来自多个开发人员的多个更改时,您需要一个集成环境,在将其推送到实际服务器之前,可以完成并验证第一次交付。
另请参见this post。
特别是关于 RSLogix5000,我已经看到开发人员使用模拟的 PLC 并在线进行更改。一旦开发完成,最终产品将与所有注释放在一起(因为它们不包含在 PLC 中),然后进行调试。存在无法在线进行更改的问题,例如 AOI。有一些工具可以阻止两个人一次在线编辑相同的逻辑并获得部分的所有权。备份不能以上传的形式进行,但是
这是一个混乱的问题,当您要维护一个可以在线使用的.ACD 的系统时,仍然比较混乱,因为除非您以某种方式使用 RSLogix 比较工具进行比较,否则您只会看到不可读的机器代码,例如“
我见过的最常见的版本控制(可悲的是)只是保存最新的文件,然后复制并将当前日期添加到文件名中,就像推荐的 control.com 帖子所描述的那样。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(50条)