PLCopen
OPC UA IEC 611311-3(PLCopen)はPLCの情報モデルです。PLCopenは、PLCのプログラミング言語を標準化する規格であるIEC 61131ファミリの3番目のプログラミング言語をOPC UAにコンバートしたCSです。よって、IEC 611311-3及びOPC UA DIの基礎知識が必要になります。IEC 611311-3の解説はCS内でされています。CSはObjerctType、ReferenceType、DataType、Methodが含れますが、Eventは含まれません。EmpressはPLCopenの概要を学ぶための無料セミナーを開設します。興味のある方はEmpressにコンタクトして下さい。
PLCopenの概要
IEC 61131-3の仕様ではデータタイプが定義されています。一般的なデータ型はブール、整数、実数、バイト、ワード、日付、時間の日などですが、 派生データ型と呼ばれる独自のデータタイプを定義できます。これらを使用しアナログ入力チャネルをデータタイプとして定義することができます。CtrlVariableはCtrlConfiguration、CtrlResource、CtrlProgramにより入力と出力などのハードウェアアドレスに割り当てられます。CtrlVariableの適用範囲は宣言されている部分に制限されています。つまり、宣言名は競合することなく他の部分で再利用できます。 CtrlVariableがグローバル範囲を持つ必要がある場合は、VAR_GLOBALで宣言する必要があります。CtrlVariableは正しい設定をするために起動時とコールドリスタート時に初期値を割り当てます。
制御に関わる問題を解決するために必要なソフトウェア全体をCtrlConfigurationとして定義します。CtrlConfigurationはハードウェアの配置、つまり処理リソース、I / Oチャネルのメモリアドレス、システム機能など制御システムに固有の定義です。
CtrlConfigurationは1つ以上のCtrlResourceを定義できます。CtrlResourceはCtrlProgramを実行できます。
CtrlResource内で1つ以上のCtrlTaskを定義できます。CtrlTaskはCtrlProgramやCtrlFunctionBlockの実行を制御します。これらは定期的に実行することも、CtrlVariableの変更など、指定したトリガーが発生したときに実行することもできます。 CtrlProgramは定義したプログラミング言語で記述されたソフトウェアから構築されます。通常、CtrlProgramはCtrlFunctionとCtrlFunctionBlockで構成されます。CtrlFunctionとCtrlFunctionBlockはデータ構造とアルゴリズムを含む基本的なブロックです。
61131-3ではCtrlProgram、CtrlFunctionBlock、CtrlFunctionはCtrlProgramOrganizationUnits(POU)と呼ばれます。
IEC 61131-3では標準のCtrlFunctionとユーザー定義のCtrlFunctionの2つが定義されています。標準のCtrlFunctionは、たとえば、ADD(ition)、ABS(absolute)、SQRT、SINus、COSinusです。 ユーザー定義のCtrlFunction6は一度定義すると何度でも使用できます。