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