Niestety odpowiedź zależy od dostawcy PLC, którego używasz. Większość z nich przechowuje kod w zastrzeżonych formatach plików, więc utrudnia korzystanie ze zwykłej kontroli źródła.
Rockwell oferuje FactoryTalk AssetCenter, jeśli korzystasz z Allen-Bradley. Nie wyceniłem go, ale prawdopodobnie jest drogi. Ale to coś więcej niż kontrola źródła.
Używałem regularnej kontroli źródła (Mercurial) z plikami PLC Beckhoff TwinCAT. To wydaje się działać dobrze, ale nigdy nie musiałem się z nikim łączyć. Ich nowa wersja TwinCAT (3), która pojawi się pod koniec tego roku, ma zostać zbudowana na Visual Studio 2010 i zakładam, że będzie miała znacznie lepsze gotowe produkty do integracji z kontrolą wersji. Skrzyżowane palce.
Rozpocznij edycję
Chciałem tylko dodać, że korzystałem teraz z nowego produktu TwinCAT 3 i używam Mercurial (TortoiseHg i dodatek VisualHg dla Visual Studio). Działa całkiem dobrze. Przede wszystkim VisualHg sprawia, że czuje się bardzo zintegrowany z IDE Visual Studio 2010, którego używa TwinCAT 3. Jednak kod źródłowy programów TwinCAT 3 jest zwykle przechowywany w plikach XML. Jest to znaczna poprawa w stosunku do zastrzeżonych formatów binarnych innych dostawców, których użyłem, ale nadal nie łączy się dobrze. Niektóre pliki nie mają żadnych podziałów wiersza w pliku XML (napisałem o tym Beckhoffowi), co oznacza, że system kontroli źródła linia po linii nie robi wiele. Ponadto, ponieważ jest to XML, kolejność węzłów w pliku XML wydaje się zmieniać losowo, nawet jeśli nie wprowadzasz żadnych zmian. Również, Myślę, że czasami generuje nowe identyfikatory dla niektórych węzłów, gdy nie musi, co powoduje zbędne zmiany, które Hg odbiera. To skutecznie uniemożliwia dokonywanie zmian w programie TwinCAT 3 przez 2 programistów jednocześnie, a następnie scalanie zmian. Jest to niefortunne niedopatrzenie ze strony programistów TwinCAT 3, którzy niewątpliwie regularnie używają kontroli źródła w swojej pracy i nie dostrzegli dla nas, dla programistów o małej automatyzacji, korzyści z dostępu do podobnie potężnych narzędzi. :( którzy bez wątpienia używają kontroli źródła regularnie we własnej pracy, i nie dostrzegli dla nas programistów małej automatyzacji korzyści z dostępu do podobnie potężnych narzędzi. :( którzy bez wątpienia używają kontroli źródła regularnie we własnej pracy, i nie dostrzegli dla nas programistów małej automatyzacji korzyści z dostępu do podobnie potężnych narzędzi. :(
Zakończ edycję
Rozpocznij edycję # 2
Chciałbym zwrócić uwagę, że TwinCAT 3.1 ma teraz formaty plików, które lepiej nadają się do kontroli źródła, szczególnie strukturalne pliki tekstowe. W rzeczywistości produkt jest teraz zbudowany, aby wspierać integrację z Team Foundation Server.
Zakończ edycję # 2
Inną alternatywą jest to, że większość programów PLC można eksportować do plików tekstowych. Na przykład RSLogix 5000 eksportuje swoje projekty do pliku L5K, który jest tylko tekstem. Wcześniej uruchamiałem skrypty przeciwko tym plikom - są one dość łatwe do przeanalizowania. Działałyby dobrze z kontrolą źródła. Oczywiście oznacza to eksport za każdym razem, co jest do kitu.
Jeśli zdecydujesz się na jakąkolwiek standardową kontrolę wersji, wysoce sugeruję rozproszony VCS, taki jak Git lub Mercurial, ponieważ w przypadku sterowników PLC połowę czasu jesteś na miejscu i nie możesz połączyć się z serwerem domowym, więc możliwość wykonywania lokalnych zatwierdzeń to prawdziwy bonus.
Inną rzeczą, którą musisz zdać sobie sprawę, jest to, że niektóre środowiska programistyczne PLC, takie jak RSLogix, zawierają już narzędzie do różnicowania, dzięki czemu możesz uruchamiać różnice względem dwóch wersji swoich projektów. W połączeniu z codziennym zapisywaniem nowego pliku z dzisiejszą datą wydaje się, że większość sklepów z automatyką radzi sobie z tym.