05-12-2016 01:05 AM
こんにちわ。
タッチパネルとLABVIEWをModbus経由で接続します。
その際にシェア変数を登録しますが配列で登録して読み書きすることは可能でしょうか?
添付ファイルのようにModbusに設定したシェア変数を実行しようとすると
エラーメッセージが発生
読み込まれた値は、シェア変数ノードのデータタイプに変換できるデータタイプではありませんでした。
エラーコード1950678965が発生します。
1つ1つ登録すればいけるようですが
画面が煩雑になるのでできれば避けたいです。
よい方法があればお知恵をいただけると助かります。
よろしくお願いいたします。
05-17-2016 07:03 PM
Modbus上でブールの配列データ・タイプを使うためには"ブール値の配列”にそうとうするデータ項目を選択する必要があります。
変数作成手順は以下になります。
ライブラリ 選択 >> "バインドされた変数を作成…" >> A000001L1–A065535L1 選択 >> "範囲を追加>>"選択 >> "項目数"の欄に配列の要素数を記入
変数の最後にある数字が配列の要素数になりますので最後の変数だけをVIに配置して使ってください。
例えばブールの要素が3個ある配列であればA1L000001, A1L000002, A1L000003が作成されると思いますが、
A1L000001は配列の要素が1個, A1L000002は配列の要素が2個, A1L000003は配列の要素が3個になります。
詳細な内容については、以下URLがありますので、一度確認してみてはいかがでしょうか。
http://zone.ni.com/reference/ja-XX/help/370622M-0112/lvmve/dsc_modbus_using/