PLC版本控制

Dav*_*ave 20 version-control plc

我需要为PLC代码提出一个CM过程.

目前,该系统是使用RSLogix 5000开发的.构建产品是一个单片文件,可以加载到PLC上进行执行,并直接在开发环境中进行编辑.对于多个开发人员来说,这已成为一个问题.他们正在踩着彼此的变化.

作为类比,就像在进行Java开发时,编辑和保存源代码的唯一方法是将*.jar文件加载到IDE中,进行更改,然后将其保存回jar文件.这不太理想.

如何协调使用PLC的多个开发人员之间的更改?

小智 7

我使用Unity Pro,因此这可能不适用于其他品牌.

Unity可以导出一个"归档"文件,该文件是XML,它完整地描述了PLC程序和IO设置.在调试更改后,我创建了一个导出并将其签入我当地的Git仓库.这给我带来了一个带注释的变化历史,但没有视觉比较.我总是可以使用UnityDiff进行比较.

查看http://www.mdtsoft.com/


Von*_*onC 6

如果我们谈论的是一个大的二进制文件,那么VCS(集中式或分散式)并不是最好的工具.
批处理将复制并标记当前PCL状态的外部参考(例如共享磁盘)更好.
请参阅" 跟踪软件历史 "

为了避免修订历史记录中的不连续性,必须存储旧版本的程序.
"但我们更进一步.使用我们的MDT AutoSave,我们实际上会去询问设备.过夜或以指定的频率,软件读取PLC中的程序,然后将该信息与最后已知的程序进行比较.版本控制软件将复制新程序并存储它,然后将其与最后一个进行比较.

启动版本控制非常简单.必需的是软件安装,然后是硬件配置."你需要一台服务器和几周的工程设计,你很高兴,"Perysyn说.然而,他的公司使用"收缩包装方法",涉及安装软件,然后填写空白的用户进行定制.

话虽这么说,当您从多个开发人员进行多项更改时,您需要一个集成环境,可以在将其推送到实际服务器之前完成第一次交付并进行验证.

另见这篇文章.

  • 谢谢.你已经证实了我的恐惧:) (3认同)

小智 5

特别是关于RSLogix5000,我看到开发人员使用模拟PLC并在线进行更改.一旦开发出最终产品,然后将所有注释(因为它们不包含在PLC中)放在一起,然后进行调试.存在无法在线完成的更改问题,例如AOI.有一些工具可以阻止两个人同时在线编辑相同的逻辑并获取部分的所有权.备份可以上传的形式完成,但没有任何方法可以跟踪更改.

这是一个麻烦的问题,当你想要一个你可以上网的.ACD维护一个系统时仍然很麻烦,因为除非你以某种方式使用RSLogix比较工具进行差异你只看到不可读的机器代码,如"+ |Éû³'¬ÙÆW׿™μ,> U,"

我看到的最常见的修订控件(遗憾的是)只是保存最新的文件,然后复制并将当前日期添加到文件名,就像所描述的推荐的control.com帖子一样.


小智 5

RSLogix5000始终禁止多个用户同时打开和编辑同一个.ACD。但是,如果多个用户具有相同的 .ACD 文件,打开它们,并且全部连接到同一目标控制器,则他们每个人都可以同时在控制器上进行编辑,但前提是他们正在处理不同的例程。如果其他程序员要查看其他程序员的例程,他们的编辑会自动出现。

请注意,像这样的在线工作通常是在 PLC 运行的情况下完成的,甚至有时是在目标系统(某种机器)运行的情况下完成的。这种安排的目的是为了更快地完成工作,或者在某些情况下是因为系统庞大。没有人像这样开发,因为它实际上是一种调试工具,对于重大更改来说不切实际。

如果一个程序员完成了,而另一个程序员没有完成,则另一个程序员未完成的工作将在保存时保存到第一个程序员的.ACD 中。谁最后存钱,谁就分得大家的工作。

就像其他人在这个线程中提到的那样,使用文件日期是相当合理的。一些公司使用通常显示在连接的 HMI 上的版本控制变量。其他公司使用单独的文档来记录谁以及什么内容发生了变化。有时版本注释被放置在主例程中的冗长的梯级注释中。

我的公司使用单独的更改日志,并维护注明日期的存档副本。多个程序员仅在最极端的情况下使用。总是指定某人来维护离线文件的完整性,通常是工作时间最长的人或项目经理。

值得注意的是,在 RSLogix5000 v21 之前,梯级注释不会从一个用户传递到另一个用户,因为以前的版本不在控制器上存储注释。

综上所述,您可能正在尝试管理离线开发。我还没有看到任何复杂的方法。通常程序员单独编写所需的例程,然后项目经理将它们组装成一个项目。我见过的最干净的方法是项目经理创建一个具有全局功能的架构,并将日常工作分配给其他人,给他们一份 .ACD 的副本以供使用。他们返回带有更改的 .ACD,项目经理将其例程复制并粘贴到“主”项目中。


avr*_*vra 5

您需要专门的版本控制系统,如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中的某些内容已被更改但未放入版本控制服务器.