我需要为PLC代码制定一种配置管理流程。
目前,该系统使用RSLogix 5000进行开发。构建产品是一个单体文件,可加载到PLC进行执行并在开发环境中直接进行编辑。对于多个开发人员来说,这已经成为了一个问题。他们互相干扰彼此的更改。
类比而言,这就像在进行Java开发时,唯一的编辑和保存源代码的方法是将*.jar文件加载到IDE中,进行更改,然后将其保存回jar文件。这远非理想。
我如何协调多个开发人员在PLC上工作所做的更改?
我需要为PLC代码制定一种配置管理流程。
目前,该系统使用RSLogix 5000进行开发。构建产品是一个单体文件,可加载到PLC进行执行并在开发环境中直接进行编辑。对于多个开发人员来说,这已经成为了一个问题。他们互相干扰彼此的更改。
类比而言,这就像在进行Java开发时,唯一的编辑和保存源代码的方法是将*.jar文件加载到IDE中,进行更改,然后将其保存回jar文件。这远非理想。
我如何协调多个开发人员在PLC上工作所做的更改?
针对类似PLC的专业版本控制系统,您需要像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中有什么被更改但未纳入版本控制服务器的情况."
发布版本控制相当简单。需要的是软件安装,然后进行硬件配置。Perysyn表示:“你需要一个服务器和几周的工程时间,就可以开始了。”然而,他的公司采用了一种“装盒子”的方法,即先安装软件,然后由用户填充内容进行自定义。为了避免修订历史记录中的不连续性,必须存储旧版本的程序。
“然而,我们更进一步。使用我们的MDT AutoSave,我们实际上会去调查设备。根据指定的过夜或频率,软件会读取 PLC 中的程序,然后将该信息与上次已知的程序进行比较。版本控制软件将复制新程序并存储,然后将其与上一个程序进行比较。
一个简单的方法是对.l5k文件进行文本差异比较,这样你就可以轻松地看到开发人员是否在他们的范围之外搞乱了文件的某个部分。
我刚刚在Stack Exchange上看到了这个问题:有没有关于梯形图程序的源代码控制的现实/有用解决方案。与其只提供一个链接,我会在这里复制我的答案:
实际上有一个通用的解决方案——来自GE-IP(通用电气工业产品)。请查看Proficy Change Management。该产品从PLC控制系统的角度进行版本控制,而不是从纯文件版本控制的角度进行控制,它作为一个放置在VCS之上的层工作(最初的VCS是Visual SourceSafe),并处理权限管理、报告和检入检出。
虽然该产品来自GE-IP,但它旨在支持各种PLC和HMI系统。
完整披露,我曾经为一家销售和安装PCM的公司工作过(但那是7年前的事情)。所以如果你问我当时情况如何,我很可能会告诉你它们哪里做得不对!