- 11 -
(1) スレーブアドレス
スレーブアドレスは,スレーブ側個々の機器番号で0~95(00H~5FH)の範囲で設定します。
マスター側は,要求メッセージのスレーブアドレスによってスレーブ側を指定します。
スレーブ側は,応答メッセージに自身のスレーブアドレスをセットして,マスター側にどのスレーブが
応答しているかを知らせます。
0(00H)をブロードキャストアドレスといい,接続されている全てのスレーブを指定できます。 ただし,
スレーブ側は応答を返しません。
(2) 機能コード
機能コードは,スレーブ側に対する動作の種類を指示するコードです。
機能コード
内
容
スレーブからの単一データまたは複数データ読み出し
データ数は最大
点
スレーブへの単一データ書き込み
スレーブへの複数データ書き込み
データ数は最大
点
機能コードは,スレーブ側がマスター側に応答メッセージを返す時,正常な応答(肯定応答)または何ら
かのエラー(否定応答)を示すのに用いられます。
肯定応答では,元の機能コードをセットして返します。
否定応答では,元の機能コードの最上位ビットに 1をセットして返します。
例えば,機能コードを誤って 13Hをセットしてスレーブ側へ要求メッセージを送信した場合,存在しな
い機能コードなので最上位ビットに 1をセットし,93Hとして返します。
否定応答では,マスター側にどの種のエラーが発生したかを知らせるため,応答メッセージのデータに
下記のような異常コードをセットして返します。
異常コード
内
容
存在しない機能
存在しないデータアドレス
設定範囲外の値
17(11H) 神港標準プロトコルのエラーコード 4と同じです。
書き込みできない状態
実行中
神港標準プロトコルのエラーコード
と同じです。
キー操作による設定モード中
(3) データ
データは,機能コードにより構成が異なります。
マスター側からの要求メッセージは,データ項目やデータ数,設定データで構成します。
スレーブ側からの応答メッセージは,要求に対するバイト数やデータ,否定応答時は異常コードなどで
構成します。
データの有効範囲は,-32768~32767(8000H~7FFFH)です。
7. 通信コマンド一覧( P. 21~38)を参照してください。
(4) エラーチェック
ASCIIモード
ASCII モードのエラーチェックは,スレーブアドレスからデータの最後までの LRC (水平冗長検査)
を計算し,算出した 8ビットデータを ASCII 文字 2文字に変換してデータの後にセットします。
[LRCの計算方法]
① RTUモードでメッセージを作成します。
② スレーブアドレスからデータの最後までを加算し,Xに代入します。
③ Xの補数(ビット反転)をとり,Xに代入します。
④ Xに1を足し,Xに代入します。
⑤ XをLRCとして,データの後にセットします。
⑥ メッセージをASCII文字に変換します。