残念ながら、答えは使用しているPLCベンダーによって異なります。それらのほとんどは、独自のファイル形式でコードを保存するため、通常のソース管理を使用することが難しくなります。
Allen-Bradleyを使用している場合、RockwellはFactoryTalk AssetCenterを提供します。私はそれを値付けしていませんが、おそらく高価です。ただし、ソース管理以上のことを行います。
Beckhoff TwinCAT PLCファイルで通常の(Mercurial)ソース管理を使用しました。それはうまくいくように思えますが、私は誰ともマージする必要がありませんでした。今年後半にリリースされるTwinCAT(3)の新しいバージョンは、Visual Studio 2010上に構築される予定であり、バージョン管理統合のためのすぐに使用できる優れた製品が提供されると思われます。成功を祈っている。
編集を開始
追加したいのは、新しいTwinCAT 3製品を使用し、Mercurial(TortoiseHgとVisual StudioのVisualHgアドイン)を使用していることです。それはかなりうまく機能しています。まずVisualHgは、TwinCAT 3が使用するVisual Studio 2010 IDEに非常に統合されていると感じます。ただし、TwinCAT 3プログラムのソースコードは通常、XMLファイルに保存されます。これは、私が使用した他のベンダーの独自のバイナリ形式よりも大幅に改善されていますが、それでもうまくマージされません。一部のファイルにはXMLに改行がありません(これについてはBeckhoffに書きました)。つまり、行単位のソース管理システムはあまり機能しません。また、XMLであるため、XMLファイル内のノードの順序は、変更を加えなくてもランダムに変わるようです。また、必要のないノードに対して新しいIDを生成することもあると思います。これにより、Hgが必要とする余分な変更が行われます。これにより、2人のプログラマがTwinCAT 3プログラムに同時に変更を加えてから、変更をマージすることが事実上不可能になります。TwinCAT 3開発者による不幸な監視であり、彼らは間違いなく自分の仕事でソース管理を定期的に使用しており、低レベルの自動化プログラマが同様に強力なツールにアクセスできるという利点を認識していませんでした。:( 彼らは間違いなく自分の仕事で定期的にソース管理を使用しており、同様に強力なツールにアクセスできる低自動化プログラマーにとっての利点を認識していませんでした。:( 彼らは間違いなく自分の仕事で定期的にソース管理を使用しており、同様に強力なツールにアクセスできる低自動化プログラマーにとっての利点を認識していませんでした。:(
編集を終了
編集開始#2
TwinCAT 3.1には、ソース管理に特に適したファイル形式、特に構造化テキスト言語ファイルが含まれるようになりました。実際、この製品はTeam Foundation Serverへの統合をサポートするように構築されていると思います。
編集終了#2
もう1つの方法は、ほとんどのPLCプログラムをテキストファイルにエクスポートできることです。たとえば、RSLogix 5000は、プロジェクトをL5Kファイルにエクスポートします。これは単なるテキストです。以前にこれらのファイルに対してスクリプトを実行したことがあります-解析はかなり簡単です。ソース管理とうまく機能します。もちろん、それは毎回エクスポートすることを意味します。
標準のバージョン管理を使用する場合は、GitやMercurialなどの分散VCSを強くお勧めします。PLCでは、半分の時間がオンサイトにあり、ホームサーバーに接続できないため、ローカルコミットを実行できるためです。本当のボーナスです。
もう1つ理解しなければならないことは、RSLogixなどの一部のPLCプログラミング環境にはすでに差分ツールが含まれているため、プロジェクトの2つのバージョンに対して差分を実行できることです。これは、今日の日付で毎日新しいファイルを保存することと相まって、ほとんどの自動化ショップでうまくいくようです。