MPC2000 Reference Manual [JAPANESE] [ENGLISH]
【コマンド】   【通信】
【使い方】
X_RTU

X_RTU   slave_address 6 REG_ADD~Wrd WRITE_DATA~Wrd
X_RTU 10 5 "WW" RTU(REG_AD)
【書   式】 【機   能】
X_RTU adrs func DATA_LIST
X_RTU adrs func Strings Araay

MODBUS RTU数字列の送出
【解   説】
adrs 宛先
func 機能コード
データリストは~Wrd 指定すれば2byte 指定が無ければ4byte長
CRC16は自動計算されます。
CRCの設定はMODBUSコマンド参照してください。

送出データが多い場合は以下のように配列を用います。
X_RTU adrs cmd "WWBBLL" d(5)
この場合は、配列d(5)〜d(10)のデータをそれぞれd(5),d(6) word型、d(7),d(8) byte型、 d(9),d(10)をlong型で送出します。

なお、X_RTU は予約変数MOD_DLYのアイドル時間後(msec)に送信を開始します(2019/3/12版以後)
これは、R_RTUが完了していても、相手先のアイドルタイムが終了していないためです
MOD_DLYの初期値は、5に設定されています
相手の送信後のアイドルタイムに合わせて調整してください




MODBUS   2 2 "38400b8pes1NONE"
MOD_DLY=4
TIME 1000
'===============
' 2byte write
'===============
*QUERY_WRITE_REG
_VAR REG_ADD WRITE_DATA
'PRINT "== WRITE ==" HEX$(REG_ADD) HEX$(WRITE_DATA)
DO
X_RTU slave_address 6 REG_ADD~Wrd WRITE_DATA~Wrd
CRC_OK=R_RTU(6)
IF CRC_OK==1 THEN : BREAK : END_IF
LOOP
RETURN
'===============
' 4byte read
'===============
*QUERY_READ_REG_L
_VAR REG_ADD
'PRINT "== READ ==" HEX$(REG_ADD)
DO
X_RTU slave_address 3 REG_ADD~Wrd 2~Wrd
CRC_OK=R_RTU(7)
IF CRC_OK==1 THEN : BREAK : END_IF
LOOP
RETURN
'===============
  [LASTMODIFY]2019-03-13 14:31:35 [CREATEDATE]2015-12-22 11:44:40
MPC2000 Reference Manual -R5.11-   (C)2007 ACCEL Corp. all right reserved.