みんなさん、Software controllerってきいたことがありますか?私のBlog見てくださった方々ならはTwinCAT3みたらもうなんとなくイメージできると思います。つまりパソコンベースのPLCコントローラーです。そのようなコントローラーを使って複雑なアプリケーションを高級言語で実装することができます。ちなみに、ODK=Open Development Kitのことです。
こちらはODKのコンセプトです。
OB1はみんなさんがよく知ってるSiemensのMain呼び出しです。そのMainの呼び出しされるプログラムはKOP,FUP,AWLのような外部ソースからImportも可能、みんなさんよくやってるGraph,SCLも可能、C++ならコード生成するも可能です。
OB1にとっては”呼び出し”するだけになります。
もちろん、Siemens社のODKからTemplate提供されております。
ODKではWindow アプリケーションとリアルタイムアプリケーションあります。WindowsのFunctionを使用することによって、様々従来Controllerがめんとくさいことを簡単に実装することができます。
- 直接にData Baseにアクセスすることが可能になる
- 効率的に大量のデータ交換、保存。JSON,XMLなど様々なFomart対応できる
- PCのハードウエアアクセス可能。カメラ・Scanner・Printerなど。
- PLC CodeはC/C++から生成可能。
- 作成したCodeは他の”Non PLC System”も使える
- C/C++はSCLより効率的
こちらはSystem Requirementsです。
ちょっと古い資料かもしれませんが(2014年)、私いまWin10,TIAV15.1を使っています。
Visual Studio は念の為に2013します。
Window アプリケーションとReal-Time アプリケーション一番大きな違いはFunctionの呼び出しに関するです。ODKのなかではWindow アプリケーションがCPUのCycle-Timeに”非同期”実行されています。なのに、Windows Functionを走るになるとこれはNon-Real-Timeになります。最大は32個のODK アプリケーションがLoadできます。このCall優先度は早もの勝ちで、そして実行中のFunctionは他のFunctionを実行することができません。
>1つ終わってから次やる
>リアルタイムアプリケーションと違う
こちらはReal-timeアプリケーションの場合です。ODKはCPU Cycle内に同時に実行しています。なのでFunctionの優先はOBなどのモジュールと同じになります。そしてFunctionの優先度設定により実行中のものを中断することも可能になります。
では次は開発環境などについて話しします。
WindowsアプリケーションならVisual Studioで、RealtimeアプリケーションはEclipseです。Siemens社のODKから開発用のTemplate提供しています。
Visual StudioとEclipseはそれぞれodk FileがありInterfaceやFunctionの定義などの仕事をしています。
Visual StudioとEclipseからSCL Fileを生成することができます。そのSCL FileはTIA Portal(Siemns社のエンジニアリングツール)にImport可能です。そのImportの動作によりFunction Blockなどが生成されます。
次はcpp Filesがあります。それはあなたのProject Filesです。それらのFileはあなたのプログラムコードが入っています。
Visual StudioからDLL Fileを生成し、Eclipseからso (Share Object)File生成します。
DLLとSO Fileを最後にあなたのシステムに転送する必要があります。
この例ではSiemens社のOpen Controllerです。
DLL FileはUSBにCopyし Program Folderに入れます。
SO Fileは直接CPUに転送します。(CPU Web Browser経由)
最後にプロジェクトをTIA経由でCPUにダウンロードすれば、OKです。
こちらはWindow アプリケーションとReal timeアプリケーション違いのまとめです。
はーい、お疲れ様です。
あと、こっちらはODKのインストール方法です: