こちらは新しい記事のシリーズで、UNITRONICS社のUniStream®シリーズとUniLogicを利用し様々な検証を行います。第4話ではLocalIOの使用、配線などを説明します。
- UNITRONICS社のUS5-C10-TA30
さ、FAを楽しもう!

Reference Link
Implementation 配線
US5-C10-TA30のデジタル入力(ソース)の配線例は以下です。

US5-C10-TA30のデジタル出力の配線例は以下です。

US5-C10-TA30のアナログ入力の配線例は以下です。

US5-C10-TA30には2つのアナログ入力があり、アナログ入力0は電流入力ならI0Iに配線し、電圧入力ならI0Vに配線してください。アナログ入力1ならI1IとI1Vにしてください。

こちらの動画からUS5-C10-TA30の端子台を確認できる動画です。
https://youtube.com/shorts/G6wtvOWlN-k
Implementation IO Tags設定
次はUniLogicからデバイス本体にあるIOにアクセスしTagsを紹介します。UniLogicにあるIO Tabを開きます。

UniLogicではDefault上にIO Typeの変数がすでに宣言され、そのIO データタイプをクリックしてください。

UniLogicではすでにIOの状態を取得できる変数様々用意されています。

例えば下記のIO- StatusではデバイスのローカルIOが短絡してるかなどの状態をチェックできます。

Implementation Io 設定
次はUniLogic上でUS5/7-x10-TA30のローカルIOの設定を行います。Project→Hardware Configuration→Uni-I/O & Uni-COMをクリックします。

Properties Windowではアナログ入出力や温度入力の設定を変更できます。

例えば下記にあるアナログ入力0の入力タイプを変更する場合は、…ボタンをクリックしてください。

アナログ入力の設定画面が表示されます。

こちらはアナログ入力入力を電圧もしくは電流タイプ・範囲などを設定できます。

Done!それでアナログ入力0は4-20mAになります。

アナログ出力にも同じ操作で設定変更可能です。

こちらはアナログ出力の設定画面になります。

アナログ出力は-10から10vでから-2047から2047に変換するように設定しました。

Done!

Implementation 画面コメント
UniLogic上で画面設計するには、各画面に個別コメントをつけれます。

下図の矢印が示しているところからコメントを付けましょう。


Implementation Region
次は各ラダーFunctionに”Region名”を付けます。ラダープログラムを開き、左上にある”Region”に実際プログラムの内容によってエリアを分け、より可読性高いプログラムを構築できます。

また、ラダープログラム内で新しいRegionを追加することも可能で、ラダーの空き部分に右クリック→Mark as new Regionをクリックします。

Done!これで新しいRegionがち

プログラムの用途によってRegionを分ければ、プログラムの可読性もアップできます。

各Regionにも個別のコメントを入力できます。

Done!下図のようにRegion1はBasic Ladderで、Region2はAnalog Inputになっています。

Implementation 線形化プログラム
次はアナログ入力のデータをスケーリングします。Math→Linearize関数を追加します。

次はIO TabからAnalog Inputs 変数を選択します。

Alias Name欄に変数名を入力します。

今回の記事ではアナログ入力変数名をiAnalogChannelに命名します。

Done!

それにより、プログラムはアナログ入力変数を使用することができます。

例えばChannel0のアナログ入力を使用したいなら、iAnalogChannel →Analog Inputs_0にします。

Linearize(線形化)ファンクションブロック
線形化は値を変換するための機能です。たとえばアナログ入力値を摂氏温度の値に変換することができます。
動作例
X1=0、Y1=0、X2=1023、Y2=1000の場合、出力値はグラフのように線形化されます。
- アナログ入力5.0Vはデジタル値500に変換されます。
- アナログ入力10.0Vはデジタル値1000に変換されます。
パラメータ一覧
記号 | パラメータ名 | 説明 |
|---|---|---|
A | Input Value | 線形化対象の入力値。単一レジスタ・配列・構造体を指定可能。 |
B | X1 Value | 線形化における第1の既知入力値 |
C | Y1 Value | X1入力値に対応する出力値 |
D | X2 Value | 線形化における第2の既知入力値 |
E | Y2 Value | X2入力値に対応する出力値 |
F | Resulting Value | 線形化計算式を適用した後の出力値 |
次はプログラムからパラメータA/B/C/D/Eに適切な変数と紐付ければOKです。
結果
下図のようにアナログ入力Channel0とChannel1にもスケーリングされました。

整数→実数変換
Linearize関数の出力は整数なので、INT to Real関数を使用し結果を実数タイプの変数に変換します。

Done!

結果
下図のように、Int to Real関数のおかけでrFinalValue2が6.894000になりました。

Implementation-画面確認
最初にLocal デジタル入力を確認する画面を作ります。

次はGraphs/Meters→Cyclic Live Trendを追加し変数をトレースからみます。

Cyclic Live Trend部品が追加されました。

Trendに表示する変数を設定するには、Attributes→Live HMI Trend Curvesをクリックします。

こちらはCurveの追加画面になります。

Add Curveをクリックし、Linked TagにPLC RuntimeのTagと紐付け、各Curveの色をColor欄で変更しましょう。

Done!

こちらの動画から動作確認できます。