これから初めてのプロジェクトを作り・説明をしたいと思います。
まずTask BardでTwinCAT XAEをクリックします。
そうすると以下のようが起動画面が出てきます。
新規作成なので、New TwinCAT Project..をクリックします。
TwinCAT Projects>TwinCAT XAE Projectを選び、プロジェクト名選択しOK。
プログラム作成する前にままずIDEの色を変えたいです。
Tools>Options。
General>Color theme>Dark。
まぁ…好みは人よって違いますが、目のために、ね。
そして今回使わないものを隠します。右クリック>Hide xxxx。
あ、その前にまずいま見える項目を説明しますね。
- SYSTEM:TwinCAT のすべてのConfigurationもここで設定します。Real-Time設定・タスクなど。あとライセンス管理様々なシステム的なものです。
- PLC:今回の主役です。PLCプログラムを作成する場所。
- IO:FieldBusを経由して周りのSensorなどのInput、MotorなどのOutputを書き読みの設定の場所。TwinCAT といえばEtherCATですが、Profinetなども可能です。
ではPLCはを追加します。PLCのところに右クリック>Add New item。
もちろん、あなたが管理上でPLCをTaskに分けることも可能です。たとえこのPLCは基本のプログラム用、もうひとつVision用…など。
Standard PLC Project選び>名前入力>Add。
それでPLCが追加されました。またいくつの項目が追加されましたので簡単に説明します。
- VISU:可視化のHMIを作成できます。(Web ベース)デバックのときは良いツールだと思います。
- POUs:Programming Organization Unitです。あなたのFunction,Function Blockなどすべてのプログラムもこの中に入っています。
- GVLs:Global Variable Listsです。Global変数を定義する場所です。
- DUTs:Data Units Typesです。構造体のData Typeなどを定義するところです。
- References:ライブラリです。
まずTwinCAT のConfigやります。
SYSTEM>Real-Time。
ここでCoreの管理やる場所です。
Coreのことついて前のPOSTに説明しましたので、ここでは説明しません。
Task Managerで自分のHostはなんCoreあるか確認できます。
PerformanceのTabにあります。
いまはDefaultなので、Read From Tagertクリックします。
Coreが増えました。1をIsolated Coreにし、Set as Targetで転送。
Settings以外にも他のTabがあります。
Onlineは現在のCPUのReal-Time使用量などMonitorできます。
次はPrioritiesです。もしプログラムは複数のTaskがあればここで設定できます。
どのTaskが優先順位高いのか、どのTaskが割り込むのか、など。
基本はAutoでOK、です。
そして気ついてたかもしれませんが、PLCの中にあるPlcTaskは実にTask>PlcTaskのことを示しています。
PC上でTwinCAT をIsolated coreで走るのは色々なメリットがあります。いまのPCの高性能をそのままIndustrial Automationで応用できること、です。簡単にいうと、Core数が多いPCを使うことによってWorkloadが減ります。つまりもっと様々なTaskを完了できる。
そして”Real-Time systemがPCベース”走るのは、もやはこのPLC使ってるからそんなことできない…って言えなくなります。
よし、いよいよプログラムを作成始まります。
POUs>MAIN
今回ADSLOSIR()という関数を使いたいと思います。
その前にADSはBeckhoff Middleware Protocolです。つまりこのProtocolを使ってReal-Timeのもの(ここではTwinCAT Runtime)とNon-Real Time(ここではVisual Studio)とデータやり取りできます。
次はこのLINKを教えます。枕の下においてください。ドキュメントです。Searchをクリックします。
今回使う命令を入れ、検索。
ありましたね、1つ目。
この関数はどんな機能あるのか、どんなパラメータ必要か書いています。まぁ、簡単にいうとVisual StudioのOutputにメッセージをPrintします。
1つだけ知りたいパラメータがありますので、このmsgCtrlMaskです。どんなときOUTPUT WindowsからメッセージをPRINTするを制御するものです。
よし、じゃ、エラーあるときとかにしましょう。
それでOK。IFのプログラムにはbの判定があり、OUTPUTを一回だけPrintするようにするためです。
直接Downloadしてもよいですし、今回Build Solutionを実行し、プログラムコンパイルだけにします。
よかった、エラーなし!
次はDownloadします。TwiCAT>Activate Configuration。
AutoStart PLC Boot Project(s)のCheckBoxを外します。そのCheckBoxを入れるとパソコン起動するたびに自動的にTwinCATのアプリケーションを起動するようにします。Debugが終わる前に自動起動はやめましょう。どんなエラーがあるかわかりませんから。
緑ボタンでLogin(Online)します。
緑のボタンでRuntimeをRunにします。
結果が出ましたね!
はーい、お疲れ様です。