前回ではインストール方法・少しのエラーが出たらどうするどうかを簡単なことも書いていますが、今回はTwinCAT3を少し深く勉強しすると出てくる話をしましょう。
TwinCAT3はMotion Control、PLC プログラム、Vision、HMI、Meusrementなど様々なTaskを実装できるのSoftware Controllerです。そのTwinCAT3では全てのConfiguration・プログラミング・コンパイル・Publishing・パージョンコントロールなどVisual Studioで完結します。そしてTwinCATのRuntimeはWindowsベースやBeckhoff Free BSD-Devices(TC/BSD)ですが、プログラミングをするときはVisual Studioのようなツールが使えることによってITのエンジニアにも簡単のPLCプログラミングできます。
PLCのソフトウエアをVisual Studio上コンパイルできるようになるには、Codesysのコンパイラを採用しています。CodesysはドイツのIEC61131-3 PLC Softwareメーカーで採用するのはBeckhoffだけなくほかのメーカーも使用されています(RaspberryのRuntimeも提供されています)。結果にいうと、CodesysのコンパイラをVisual Studioの中にIntegrateしてるってイメージですね。
TwinCATには2つの大きな部分に分かれています。
XAE(Extended Automation Engineering)
TwinCATプロジェクトを開発するためのソフトウエアです。
- Visual Studio・TC XAEShellどちらを使って開発
- ライブラリ(TwinCATから提供されるのライブラリ使用可能)
- IEC 61131-3 コンパイラ
注意するのはそのXAEはWindows上しか走れません。
XAR(Extended Automation Runtime)
- TwinCAT Real-time kernelで、PLC ソフトウエアなどのTaskを実行します。
- リアルタイムNetwork DriverでEtherCAT・ProfinetなどのFieldBus実装
そしてXAEとXARの間は”ADS”というプロトコルで通信します。そのADSをInterfaceだと思ってください。例えばXAEはXARからプロジェクトUploadしたり、変数を読み書きしたり…
XAEがプロジェクト作成終わり、コンパイラ成功したらEXE Filesが出てきます。そしてそのEXEがXARを転送します。つまり、XARからで直接XAEのプロジェクトを走ることができ、別のPLC を買う必要がありません。
それはTwinCATのKeywordです。BeckhoffのPCのようにお金を出してプログラミングIDEを買う必要もない。そしてテスト環境でも7日無料になります。7日後はまたCAPTCHAのコードを再入力すればOKです。
では、私達TwinAXEShellで開発すればよいのか?それどもVisual Studioのほうがよいのか?
- もしPLCプログラミングだけならTwinXAEShellで充分でしょう。
- もしほかの高級言語(C,C#,C++)などのプログラム実行したいなら、Visual Studioのほうがよいでしょう。
最後、XARは3つのModeがあります。
- CONFIG
- システムに変更があったらそのModeに変わります。例えばPLC Programming、Upgrdate TwinCAT、Functions 追加。そのときはPLCの実行に影響出てくるかもしれません。
- RUN
- プロジェクトのTasks・プログラム実行
- STOP/EXCEPTION
- これは見たくないModeですね。
- Runtimeになにかエラーがあって止まる状態です。
- Null Pointer…など
はーい、お疲れ様です。