ユーザIDを使って、レシピ編集をしてみよう
以前、GT Designer3を使って、数値入力を高速化しよう を紹介させてもらい、数値入力オブジェクトに ユーザID を設定しました。
画面一杯の 数値入力オブジェクト に設定を入れて行く作業は、意識を失わせる程の威力 があったかと思います(笑)
(もう少し連続コピーが高性能になれば良いですね)
せっかく頑張って入力したのですから、最大限に使い倒してみませんか
どうも!ずぶ です。今回は GOTタッチパネルでの、レシピ編集を高速化しよう
※GX simulator2を使用しています
シーケンサでシミュレータの使い方
システム情報を設定しよう
そのままだと、ユーザID は入力順序の指標でしかありません。
シーケンサに取り込む為には、タッチパネルの システム情報 を設定してあげる必要があります。
まずは、GOTの設定 > 環境設定 > システム情報 を開きます。
デフォルトでは何も設定されていないので、ここにシーケンサのDMを設定して、必要な情報を取れるように設定します。
『項目選択/並び替え設定』をクリックすると、サブウィンドウが立ち上がるので、
今回のお目当て『現在カーソル表示ユーザID』を使用項目に送り込みます。
書込みデバイスの箇所に『現在カーソ表示ユーザID』が反映されました。
対応デバイスにも、D10002 が割り当てられていますね。
これで、現在カーソル のある 数値入力オブジェクトの ユーザID が、シーケンサの D10002 に入ってくるように設定できました。
ユーザの入力行動をキャッチできるのは、結構なアドバンテージじゃないですか?
それをトリガーに、画面ジャンプさせたり、警告表示をしたり、今回のテーマ以外にも色々な事ができそうですね。
選択行を割り出してみよう
数値入力オブジェクトを並べてみました。
分かりやすいように、設定した ユーザID を表示させています。
表示されている数値は、設置した DM の番号では無いことを意識して下さい
当然の如く、6 が表示されている箇所にカーソルを移動すると、D10002 に 6 が入ってきます。
カーソルがある行を割り出すプログラム
行を割り出すには、起点が悪いので成形します。
(ユーザIDは1からしか設定できない為)
具体的には、ユーザIDから1を引いて、列数で割ります。
こんな感じ
これで、現在カーソルのある行数 が割り出せるようになりましたね。
15 の箇所にカーソルを持ってくると、3 が返ってきます
編集ボタンを作ってみよう
選択されている行数が分かれば、もうこちらの物ですね。
それでは、編集時にあると便利な、コピー&ペースト 行挿入 & 削除 を作ってみましょう。
操作スイッチはこんな感じでどうですか
上に対応する DM の割り付けはこうです
数字の飛び方がオカシイのは気にしないで下さい
同じ 数値入力オブジェクト でも、ユーザIDとDMの番号は別物 なので、
切り方が違っても、何も関係ないです。
後々迷わない為に、きちんとデータマップにユーザIDも反映させておくと良いですね
合わせてよみたい レシピとデータマップの作り方
編集を行う為のプログラム
共通コード以下、動作毎にスイッチで分けています。
ポイント は BMOV用のDM個数の割り出し 位で、カーソル行数を使いまわすだけで、簡単に編集操作ができるようになりました。
例えば、200STEPとかの編集などで、画面の都合上20STEPしか表示させられない時などは、現在表示用のカウンターを別に設けて、行数カウンターに追加するだけで、全体編集も可能となります
移動先IDは自由に割り振れるので、レシピ操作に組み込む場合は、追加に備えて次の行はユーザID10飛びとかでも良いかもしれませんね、
最近のコメント