2. 開発編(プログラミング)# この章では、TwinCATを用いた様々なプログラミング技法についてご紹介します。 目次 2.1. ST言語によるPLCプログラミング ST言語の基礎 変数の型 ユーザ定義型 ARRAY POINTER ENUMERATION STRUCTURE REFERENCE Subrange 代入文 値の代入 参照の代入 SETとRESET 制御構文 評価式 繰り返し構文 FOR文 WHILE文 REPEAT文 状態制御文 IF文 CASE文 ファンクションとファンクションブロック メモリ操作 ST言語プログラムを使った実例 照光式押し釦スイッチの点滅制御プログラム(基本) ボタンランプが増えた場合 配列を使ってみる 繰り返し構文を使う ファンクションブロック化 モデル定義 プログラム実装 さらなる課題 カプセル化 カプセル化 ファンクションブロック IEC-611131-3の第2版でカプセル化を実現する方法 参照型変数 2.2. PLCオブジェクト指向プログラミング IEC 61131-3 第3版の機能について インターフェースの活用 TwinCAT PLCプログラムにおけるポリモーフィズム(多態性) インターフェースの実体はポインタ 単一責務の法則 インターフェースの有無チェック __QUERYINTERFACEを使うための準備 __QUERYINTERFACEの使い方 ケーススタディ 並行ジョブ実行フレームワーク 2.3. PLCプログラム例 配列オブジェクトの参照渡しと処理 可変長配列を使って受け渡す ファンクションやファンクションブロックの作り方と取り扱い方 ポインタを用いて受け渡す ポインタ インターフェースとインターフェースポインタ 並行ジョブ実行フレームワーク ジョブフレームワーク 静的ジョブコンテナ 動的ジョブコンテナ(キュージョブコンテナ) ジョブフレームワークライブラリ使用方法 インストール 要求分析 Futureファンクションブロックの実装 ジョブの生成と実行 ジョブコンテナによる実行 処理中断とリセット イベントハンドラの適用 技術資料 システム オブジェクト構成 FB_Executor状態マシン ファンクションブロック InterfaceFuture InterfaceContainer FB_Executor InterfaceJobEventReporter データ型 E_FutureExecutionState