На жаль, відповідь залежатиме від постачальника PLC, який ви використовуєте. Більшість із них зберігає свій код у фірмових форматах файлів, тому ускладнює використання регулярного контролю джерела.
Роквелл пропонує FactoryTalk AssetCenter якщо ви використовуєте Аллена-Бредлі. Я його не цінував, але це, мабуть, дорого. Хоча це і більше, ніж контроль над джерелами.
Я використовував регулярний (Mercurial) вихідний контроль з файлами PLC Beckhoff TwinCAT. Це, здається, працює добре, але мені ніколи ні з ким не довелося зливатися. Їх нова версія TwinCAT (3), яка вийде пізніше цього року, повинна бути побудована на Visual Studio 2010, і я припускаю, що буде набагато краще пропозицій щодо інтеграції в управління версіями. Схрещені пальці.
Почніть редагування
Я просто хотів додати, що зараз я використовував новий продукт TwinCAT 3, і я використовую Mercurial (TortoiseHg та надбудова VisualHg для Visual Studio). Це працює досить добре. Перш за все, VisualHg відчуває себе дуже інтегрованим у IDE Visual Studio 2010, який TwinCAT 3 використовує. Однак вихідний код програм TwinCAT 3, як правило, зберігається у файлах XML. Це неабияке вдосконалення порівняно з власними бінарними форматами інших постачальників, які я використовував, але він все ще не зливається добре. Деякі з файлів не мають жодних розривів рядків у XML (про це я вже писав Бекхоффу), що означає, що система керування джерелом по лінії не робить багато. Крім того, оскільки це XML, впорядкованість вузлів у файлі XML, здається, змінюється випадковим чином, навіть коли ви не вносите жодних змін. Також, Я думаю, що іноді генерує нові ідентифікатори для деяких вузлів, коли цього не потрібно, що спричиняє зайві зміни, які сприймає Hg. Це фактично унеможливлює внесення змін до програми TwinCAT 3 двома програмістами одночасно, а потім об'єднує зміни. Це невдалий нагляд з боку розробників TwinCAT 3, які, безперечно, регулярно використовують управління джерелами у власній роботі, і не бачили переваги для нас, програмістів з автоматизованої автоматизації, мати доступ до аналогічно потужних інструментів. :( які, безсумнівно, регулярно використовують управління джерелами у своїй роботі, і не бачили переваги для нас, що мали програмісти автоматизації, мати доступ до аналогічно потужних інструментів. :( які, безсумнівно, регулярно використовують управління джерелами у своїй роботі, і не бачили переваги для нас, що мали програмісти автоматизації, мати доступ до аналогічно потужних інструментів. :(
Завершити редагування
Почніть редагування №2
Я хотів би зазначити, що TwinCAT 3.1 тепер має формати файлів, які краще підходять для управління джерелами, особливо структуровані файли текстової мови. Насправді продукт зараз створений для підтримки інтеграції до Team Foundation Server, я вважаю.
Кінець редагування №2
Інша альтернатива полягає в тому, що більшість програм PLC можна експортувати в текстові файли. Наприклад, RSLogix 5000 експортує свої проекти у файл L5K, який є лише текстом. Я раніше запускав сценарії проти цих файлів - їх досить легко розібрати. Вони б добре працювали з контролем джерел. Звичайно, це означає експортувати кожен раз, який смокче.
Якщо ви користуєтесь будь-яким стандартним контролем версій, я настійно пропоную розподілений VCS, наприклад, Git або Mercurial, тому що з PLC вдвічі більше часу ви перебуваєте на місці і не можете підключитися до домашнього сервера, тому можливість робити локальні послуги є справжнім бонусом.
Інша річ, яку ви повинні усвідомити, - це те, що деякі програми програмування PLC, такі як RSLogix, вже містять інструмент "diff", тож ви можете запускати розрізнення щодо двох версій своїх проектів. Це, в поєднанні зі збереженням нового файлу з сьогоднішньою датою щодня, - це, здається, з чим більшість магазинів автоматизації.