CEMとは?
TIA V17からCEM(Cause-Effect-Matrix)という新しいプログラム言語が追加されました。
その言語はもっと視覚的Processの条件や動作を構成することができます。
CEM言語では “cause”と “effect”の2つメイン言葉があります。
Causeは要素で、つまり条件、状態だと思ってください。
Effectsはどんな動作をするのイメージです。
CEM言語実用例
- Enable/Interlock
- 例えばプラントではそのようなMotor、Valveの出力Interlockがたくさんあり、メーカーからそういうInterlock表が大体出てきます。そのときCEM言語がそのままInterlock表のようにかけるじゃないかな?と思います。
- 信号グループ化管理
- 多数のSensorはそのCEM言語を使えば簡単で早くグループすることができます。CEM言語ではS(SET)、R(RESET)とN(TriggerするときだけON)の三種類出力方法があります。
FBからには言語のところでCEMという言語が選べるようになります。
Interface説明
では、その前にCEM言語の基本Interfaceを説明しますね。
1,2,3,4はプログラマーが定義するすべてのCauseです。
5はCause条件成立する条件です。
6はCase条件成立するとこ実行する動作です。
7,8はEffects実行するには左から右、上から下のように実行します。
そして、3つの動作があります。
Nは条件成立するときだけONにします。
Sは条件成立するときはTrueにセットします。
Rは条件成立するときはFalseにセットします。
Nのところに数字が出てくる場合もあります。例えば下図の2Nです。その意味Cause1-4の中にはどれか2つが成立すると該当するEffectがTrueになります。
SとRも同じ原理です。
次はそのCEM Block Interfaceについて説明します。
1.Cause名
2.Cause番号
3.Operand
4.そのCauseBlockのInputPin
5,6.Blockの操作(AND,ORなど)
7.Time Delay
8.出力
9.該当するBlockの出力状態
Example
これはら3つのExampleからCEMのプログラム作り方を説明します。
Add BlockでFunction Block選び、LanguageをCEM選択します。
Example1
最初出てきた画面はこのようですね。
ExampleはまずCase1が成立してるときだけ、Effect1出力するのプログラムです。
Case1とEffect1にM0.0とM100.0に振り分けて、”=”の動作を設定します。
つまり”Assign”です。
次はAdd newのところをクリックします。
ここでSelect actionをN選び、Select action groupは—を選択肢、OK。
Nは成立するだけ出力するのイメージです。
これでOKです。
ダウンロードしたら、もし条件が成立してないならNの丸は青い色になります。
M0.0がONすると、Nの丸が緑になり、Effect1がOnになり>最終はM100.0がONになります。
Example2
次は、2つのCaseが同時にONしてるとき、Effectが出力するのプログラムを作ります。
先の丸Nをクリックし、Select action groupをNew action groupに選びます。
Configure action group “2”を入れます。
その”2”は2つのCaseが同時ONしたら成立になります。
3なら、3つのCaseだけです。
丸は2Nになりましたね。ですが、オレンジ色になっています。
コンパイルすたら、E-Effect1 For the action group ‘2N’ at least 1 element(s) are still missingだと言われています。つまり条件設定は2つですが、いまは一つしか繋がっていませんよ~と。
もう1つのCauseを追加し、Select action groupを2 out of 2を選びます。
いま丸の色が白になりました。これでOK。
プログラムをDownloadし、Onlineしてみますと、
2Nの丸は半分緑になり、半分青いになりました。つまり1以上のCauseが成立してるの状態になります。
結果はこうになりますね。
Example3
最後はTime-DelayをCauseに入れて、そしてEffectをSetとResetで作って終わりたいと思います。以下はTime-Delayの入れ方になります。
右のBasic instructions>Cause Instruction>Timer operationで見つかります。
新しいEffectを追加します。
SetとResetも入れます。
Downloadして試します。
結果はこうになりますね!