Lamentablemente, la respuesta dependerá del proveedor de PLC que esté utilizando. La mayoría de ellos almacenan su código en formatos de archivo patentados, por lo que es difícil usar un control de fuente regular.
Rockwell ofrece FactoryTalk AssetCenter si está utilizando Allen-Bradley. No lo he tasado, pero es probable que sea caro. Sin embargo, hace más que controlar la fuente.
He usado un control de fuente regular (Mercurial) con archivos PLC Beckhoff TwinCAT. Eso parece funcionar bien, pero nunca tuve que fusionarme con nadie. Se supone que su nueva versión de TwinCAT (3) que saldrá a finales de este año se basa en Visual Studio 2010, y supongo que tendrá mejores ofertas listas para usar para la integración del control de versiones. Dedos cruzados.
Comience a editar
Solo quería agregar que ahora he usado el nuevo producto TwinCAT 3, y estoy usando Mercurial (TortoiseHg y el complemento VisualHg para Visual Studio). Funciona bastante bien. En primer lugar, VisualHg lo hace sentir muy integrado en el IDE de Visual Studio 2010 que utiliza TwinCAT 3. Sin embargo, el código fuente de los programas TwinCAT 3 generalmente se almacena en archivos XML. Esta es una gran mejora con respecto a los formatos binarios patentados de otros proveedores que he usado, pero aún no se fusiona bien. Algunos de los archivos no tienen saltos de línea en el XML (he escrito a Beckhoff sobre esto), lo que significa que un sistema de control de fuente línea por línea no hace mucho. Además, dado que es XML, el orden de los nodos en el archivo XML parece cambiar aleatoriamente, incluso cuando no realiza ningún cambio. También, Creo que a veces genera nuevas ID para algunos nodos cuando no es necesario, lo que genera cambios superfluos que Hg detecta. Esto hace que sea imposible hacer cambios a un programa TwinCAT 3 por 2 programadores al mismo tiempo, y luego fusionar los cambios. Es una desafortunada supervisión por parte de los desarrolladores de TwinCAT 3, quienes indudablemente usan el control de fuente regularmente en su propio trabajo, y no vieron la ventaja para nosotros, los programadores de baja automatización, de tener acceso a herramientas igualmente poderosas. :( quienes indudablemente usan el control de fuente regularmente en su propio trabajo, y no vieron la ventaja para nosotros, los programadores de baja automatización, de tener acceso a herramientas igualmente poderosas. :( quienes indudablemente usan el control de fuente regularmente en su propio trabajo, y no vieron la ventaja para nosotros, los programadores de baja automatización, de tener acceso a herramientas igualmente poderosas. :(
Fin de edición
Comience a editar # 2
Me gustaría señalar que TwinCAT 3.1 ahora tiene formatos de archivo que se adaptan mejor al control de fuente, particularmente los archivos de lenguaje de texto estructurado. De hecho, el producto ahora está diseñado para admitir la integración con Team Foundation Server, creo.
Fin Editar # 2
La otra alternativa es que la mayoría de los programas de PLC se pueden exportar a archivos de texto. RSLogix 5000, por ejemplo, exporta sus proyectos a un archivo L5K, que es solo texto. He ejecutado scripts contra esos archivos antes, son bastante fáciles de analizar. Funcionarían bien con el control de fuente. Por supuesto, eso significa exportar todo el tiempo, lo que apesta.
Si va con cualquier control de versión estándar, le recomiendo un VCS distribuido, como Git o Mercurial, porque con los PLC, la mitad del tiempo está en el sitio y no puede conectarse a su servidor doméstico, por lo que la capacidad de realizar compromisos locales Es una verdadera bonificación.
La otra cosa que debe tener en cuenta es que algunos entornos de programación de PLC, como RSLogix, ya incluyen una herramienta diff, por lo que puede ejecutar diffs en dos versiones de sus proyectos. Esto, combinado con guardar un nuevo archivo con la fecha de hoy todos los días, es con lo que la mayoría de las tiendas de automatización parecen pasar.