2009年2月16日月曜日

Wago PLC System 750

ctypes(その2)の記事(code)の準備。近いうちに ctypes を使ったもう少しややこしい .dll の使い方の例を書きます。その .dll は、 MBT.dll という Wago の PLC のインターフェース用の .dll です。その前に ワゴ の PLC がどういうものなのか説明します。Wago PLC および、その開発環境CodeSys(通信用の MBT.dllも)は、残念ですがフリーではありません。

ネットワークの先に、I/O 機器を接続して、Python からそのデータを読み書き出来ると便利です。方法はいろいろありますが、その I/O 機器をマイコン+ネットワーク等と始めるとシステムが出来るのが何ヶ月先になるか分かりません。また市場で安く、信頼性のあるものを買って済ませることができれば、ありがたいです。Wago のリモート I/O でそういった使い方ができました。産業用の Modbus というプロトコルを MBT.dll 経由で TCP/IP に乗せて使います。

問題は、ハードは比較的安いのですが、開発環境が高価です、残念です。ターゲット側の開発にも、それなりのスキル(ST言語等)が必要です。が、ネットワーク I/O システム全体を(マイコン+TCP/IP 等で)発注して、アセンブリ言語ベースのマイコン ネットワークシステム をフルスクラッチするよりは、ある程度の標準化(分割発注も)ができるので、資産の使い捨てにならないのが救いです。何より、これで監視・制御ソフトは Python で自分で作れます。

ネット I/O の親(CPU)は、カプラと呼ばれます、ネット無しでも制御プログラムや多少面倒な変換ぐらい組み込めます。それどころか本来、CPU単品で1mSec 毎の制御をすべて自前でこなせるぐらいの能力があります。このカプラに必要に応じて、I/O のモジュールを、レゴ ブロックの感覚で拡張します。

Wago 750 シリーズ のカプラ(CPU)は、ARMナンチャラ、OSは、リアルタイム組み込み Linux、これだけで何が出来るか大体想像できると思います。Web server、Mail、FTP、TCP/IPやりたい放題です。旧来のお客様のために、TCP/IP、UDP に加え Modbus I/F もあります、というか、こちらがメインです。

そこで、前出のMBT.dll Modbus over TCP/IP (.dll)の登場です。Modbus プロトコル を TCP/IP に乗せて、PCとやりとりします。Python にそういうモジュールがあればいいのですが、あるのかもしれませんが私にとって手軽ではないので、PC と Wago PLC 間の通信に、MBT.DLL を使います。


システム構築に必要な物
  1. 産業用、DC24V電源
  2. PLC: Wago system 750-841 等 Ethernet カプラ(親)
  3. I/O module:Wago system 750- シリーズ AI、AO、DI、DO 等 
  4. ネットワーク用 ケーブル、スイッチ等
  5. WindowsPC (+Python + NIC)
  6. PLC 開発用ソフトウェア:WAGO-IO-PRO32、WAGO-IO-PRO CAA等(Codesys)(有償)
  7. MBT.DLL (有償)
分かりやすく?するために昔の VxWorks system との雑な対応表を書きます、と

PC:PC:PC
Development Env:Tornado:CodeSys
DevLang:c:ST or ladder
BSP:BSP(I do not know):sometarget.exe(forgot!) and MBT.dll
Target Master:MVME-xxx:Wago system750-xxx
Target Bus:VMEBackPlane:(Include with Wago system)
Target I/O:VME I/O Boards: Wago I/O modules
Target OS:VxWorks:some embedded Linux 



0 件のコメント: