ラダーロジックプログラムのソース管理のための現実的で便利なソリューションはありますか


17

プログラマブルロジックコントローラー(PLC)のラダーロジック(LL)プログラムのバージョン管理は、実質的に存在しないようです。LLは視覚言語であり、バイナリファイルに保存される傾向があるため、またはソースコード管理がプロセス制御エンジニアリングサークルで「キャッチ」されていないためか、または今夜のGoogle-Fuが弱い可能性があります。

そのようなシステムのバージョン管理のための現実的で便利なソリューションを知っていますか?

定義:

  • 現実的=プログラムへの変更はユーザーによって追跡され、復帰およびマージの対象となります
  • 有用=システムは視覚的なLLデザイナーと統合され、単一のPLCメーカーのLLに限定されず、とんでもない金額がかかりませんか?

注:SVNやMercurialなどを使用してバイナリファイルを追跡している人の話を聞いたことがありますが、diff / merge機能で読みやすい違いが表示されるとは思いません。

補遺:

最初は、Allen-Bradley PLCのみをサポートする必要がありました。現在、シーメンスとMicroLogix PLCもあります。実行可能なソリューションを探しています...


1
この質問はあなたに関係があるかもしれません:stackoverflow.com/questions/4216619/plc-version-control
blueberryfields

こんにちは、@ Stevenalowe、この件に関して何か進展はありましたか?
Montag451 14年

@EnmosProje:気づいていない、ごめんなさい!
スティーブンA.ロウ14年

回答:


13

残念ながら、答えは使用している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つのバージョンに対して差分を実行できることです。これは、今日の日付で毎日新しいファイルを保存することと相まって、ほとんどの自動化ショップでうまくいくようです。


自動保存を使用したことがありますか?wingtipllc.com/products/autosave-plc-version-control/...
blueberryfields

@blueberryfields:はい、私はそれをサポートするほとんどのソフトウェアで自動保存機能を使用しました、そして、はい、それは私の尻を数回保存しました。ただし、バージョン管理として使用することはお勧めできません。バージョン管理にはタイムスタンプだけでなく、作成者と変更の説明が必要です。親バージョンと2つのフォークの間で3方向のマージを実行することも可能です。
スコットホイットロック

BeckhoffのTwinCATプロジェクトは、テキストファイルとの間でエクスポートおよびインポートすることもできます。それがバージョン管理下にある方法です。STで書かれたプロジェクトで問題なく動作します。ただし、LLのようなグラフィカル言語では試していません。
stmax

@stmax-答えを編集して、最新の経験を提供しました。私が言ったように、それはうまく機能しましたが、それはできるだけうまくいきませんでした。
スコットホイットロック

テキストファイルにエクスポートしてSCCを使用することが、複数のPLCベンダーにとって唯一の実行可能なソリューションであると思われるため、これを「答え」として受け入れました。
スティーブンA.ロウ

4

可能であれば、B&R Automationをご覧ください。

完全開示...私はB&R Automationの販売パートナーで働いています。

最新のB&R Automationプロジェクトは、バージョン管理ソフトウェアと非常にうまく機能します。私は現在GIT(統合されていない)を使用していますが、ソフトウェアにはSVNとの統合が想定されています。すべてのHMIソースはXMLとして保存され、PLC言語ソース(ラダーを含む)はすべてバイナリではなくテキストベースで保存されます(主にXMLも同様)。手動でマージする必要がある場合は、XMLをある程度「フィグアウト」する必要がありますが、それほど難しくはありませんでした。そして、とにかく自動マージは通常それを不要にします。


3

私はこの質問を見ただけで、実際にはすべての場所のGE-IPからの解決策があります。チェックしてくださいProficy Change Management。この製品は、ファイルの観点の純粋なバージョン管理ではなく、PLC制御システムの観点からバージョン管理を行います-VCSの上にあるレイヤーとして動作します(恐ろしい部分は、もともとこのVCSはVisual SourceSafeでした)権利管理、レポート、チェックアウト/チェックインを処理します。

この製品はGE-IPからのものですが、さまざまなPLCおよびHMIシステムをすぐにサポートできるように設計されています。

完全な開示、私はPCMを販売およびインストールする会社の仕事に使用しました(ただし、それは7年前でした)。それで、それがどのようなものであったかを私に尋ねるなら、私はそれがすべてどこでうまくいかなかったかをあなたに話す可能性が高いです!


1

これは恐ろしいことに聞こえますが、ある場合には、ラダーロジックソフトウェアの「Print to PDF」機能(この場合はHornerのCScape)を使用してから、無料のグラフィカルPDF差分プログラム(例DiffPDF)を使用して変更を比較しましたソースコードは、独自のバイナリ形式でのみ利用可能でした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.