では最後に、このTwinCAT3の“ラスボス”であるプログラミング方法を紹介しましょう。
「アナログ入力のスレーブに接続されている光センサーに懐中電灯を向けると、デジタル出力のスレーブに接続されているLEDが点滅するようにする」
を「C/C++言語」で作ります。
まず、TwinCAT3の左側にあるツリーの「C++」(C++設定)を右クリックして「Add New Item...」 (新しいアイテムの追加)を選択してください。
「TwinCAT Driver Project」 (TwinCATドライバプロジェクト)を選択し、プロジェクト名を入力後、「OK」をクリックしてください。
画面下のプロジェクト名は、CppProjとしておいてください。
「TwinCAT Module Class with Cyclic I/O」(サイクリックIO付きTwinCATモジュールクラス)を選択し、「OK」をクリックしてください。
で、画面下のAddボタンを押してください。
自動生成されたソースコード(MyFirstModule1.cpp)を開きます。
で、ソースファイルの169行にある、周期的に勝手に呼び出される関数CycleUpdate()の内容を、以下のように変更します。
if (m_Inputs.Value < 1000){ m_Outputs.Value = 0; } else{ m_Outputs.Value = 1; }
これは、m_Outputs.Valueの値が1000を超えたら、m_Outputs.Valueの値を変更するというプログラムです(もちろん、この"1000"という値は、私の使っているセンサーの値です。環境に応じていろいろ変更させる必要があります)。
しかし、この時点で、m_Inputs.Valueやら、m_Outputs.Valueやらが、どこにも定義されていません。
Copyright © ITmedia, Inc. All Rights Reserved.