CF Miniの接点感知をアイコン化する方法

CF Miniの接点の状態に合わせてアイコンを、アクティブ~インアクティブにさせる方法を紹介します。

↓サンプルプログラムをダウンロードして下さい。
GW CF Mini RIOXCHA-v1.gui

GUIを解凍すると、下記のような画面になります。まず手持ちのLAN BridgeのIPアドレスに変えてGUIをiViwer4にロードして下さい。
>>GUIのダウンロードの方法はコチラ (別ウィンドウ)

解説

上のGUIをそのままロードしたら動きますが、このGUIを一から作る方法を解説します。現場で実践に移る前に練習しましょう。

1.System を作成します。

①System:名前は任意の半角英数
②Protocol:TCP Client (LAN BridgeとはTCP/IPで接続するから)
③Remote Port:10207 (LAN Bridgeとは10207番で接続するから)
④Endo Of Message:\xF5\xF5 (メッセージの最後を指定。お決まりごと)
⑤Quene When Offiline (必ず “False”にします)

2.System Commanderを開いて、IOの1番ポートをショートしてみて下さい。
下記のようなログになるはずです。ショートした時のログを右クリックでコピーして下さい。

3. GUI Designerに戻って、Feedbackをクリックします。
4. 下記の画面になります。2でコピーしたログを、Regexにコピーします。
(Feedback Nameは任意で構いません。ここでは”Dry FB1“にしました)

5.1を(\d)に変更します。
(プログラムの世界では「バックスラッシュ」と「円マーク」は同じです。)

(解説)この1は接点がショートした時の値です。
D:の次の数値が変数です。本解説では、1の時(つまりショート時)にアイコンをアクティブさせるのが目的です。ですからこの1を一旦(\d)という引数にするのです。

6.「Add Group」をクリックして、次のように入力します。

① Capture index:1にします。これは1番目の(\d)という意味です。
② Join :1にします。これはJoin No1のオブジェクトをアクティブにさせる。という意味です。

7. 上の4~6を繰り返して、FB2~FB4まで完成しましょう。

8.これでひとまず終了です。ただRIOXCHAはIOに変化が起きた時のコマンドです。つまりiViewer4が起動した時に既にショートしているとそれはアクティブにならないのです。
それを回避する方法が、RIOXSTAというコマンドです。(後述)
RIOXSTAを叩くコマンドがQIOXSTAです。
Requestというコマンドを作って、「\xF2\x20\xF3QIOXSTA\xF4MM\xF5\xF5」を入力してみましょう。そしてRequestボタンに今作ったQIOXSTAをドラッグして下さい。

9.再びiViewer4を読み込んでRequestボタンを押してみましょう。下記のようなログが表示さます。
先ほどと同様フィードバックのログを右クリックでコピーしましょう。

10. 「Feedback」を作成します。「Feeback」をクリックしたあと、任意のFeedback Nameを入力(ここではRIOXSTA)して、Regexに先ほどログからコピーしたテキストをペーストします。

11. この方法は、動画で説明します。
①「D:」の後の変数(0または1)を(\d)という引数に変更します。
② | (パイプ)の前に\を追加します。
③ 「Add Group」をクリックして、以下のようにセットします。
・1番目の(\d)が1になると、D1をアクティブに
・2番目の(\d)が1になると、D2をアクティブに
・3番目の(\d)が1になると、D3をアクティブに
・4番目の(\d)が1になると、D4をアクティブに

12. IOをショートしたまま、iViewer4を起動してみましょう。

13. Requestボタンを押すと、ボタンがアクティブになるはずです。

14.動作が確認できたら、最後にマクロを作成して、Requestをアサインします。

15. 最後にSystemのプロパティに、先ほど作ったstartupを追加して完成です。