ここから本文です

仕事で、PLCをPCのモニターに表示したいのですが、mxcomponetとjavascriptで...

sor********さん

2019/5/1622:18:08

仕事で、PLCをPCのモニターに表示したいのですが、mxcomponetとjavascriptで開発できますか?

デバイスを読み込むところでエラーが出てしまいます。
エラーコードは、0x01802001 で
内容は、デバイスエラー メソッドに指定したデバイス文字列が,不正なデ バイス文字列である。
です。
D30は、PLCで使用しているデバイスです。
わかる方教えてください。

var lRet =0;
var lVal = new Array(5);

var DEVICE_NAME = "D30";
var DEVICE_SIZE = 1;

function ReadDevice(DEVICE_NAME,DEVICE_SIZE){
lRet = ActCtrl.ReadDeviceBlock(DEVICE_NAME,DEVICE_SIZE,lVal);
if (lRet != 0 ){
alert("シーケンサー接続エラー:" + lRet.toString(16) + "(Hex)" );
WindowClose();
}
}

閲覧数:
58
回答数:
2
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

toy********さん

2019/5/2009:15:43

lon***さんのおっしゃるとおり、

>昔の伝文フォーマットだったら、たしか +「先頭デバイス番号 "30"」+「デバイ>スコード "D"」+「デバイス点数 "1"」と分けた筈なんだけど

MCプロトコルのフォーマットはそうなんですが、MXComponentでは "D30" のように設定しますのでそこは問題ないと思います。

VBSもJavaScriptも使えないのですが、
VBSなどでは"D30"がASCIIで0x44, 0x33, 0x30になるのに対してJavaScriptでは"D30"がUnicodeで0x0044, 0x0033, 0x0030になっているのではないでしょうか?
前述の通りJavaScriptには詳しくないのですが、内蔵機能にちょうど良いのがないらしいので文字コード変換ライブラリを導入しないといけないようです。
ちらっと検索してみました↓
http://xyzplus.hatenablog.com/entry/2016/12/10/005709

中途半端な回答でごめんなさい。

質問した人からのコメント

2019/5/23 12:35:24

色々試してみます。

ベストアンサー以外の回答

1〜1件/1件中

lon********さん

2019/5/1909:04:05

Q: ・・・指定したデバイス文字列が,不正なデ バイス文字列
■文字コードの違いかなぁ?

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる