Shinko PCB1 ユーザーマニュアル

タイプ
ユーザーマニュアル
- 1 -
通信取扱説明書 PCB1(C5W, C5)
No. PCB1CJ4 2022.10
この通信取扱説明書(以下,本書)は,PCB1(以下,本器)の通信機能について説明したものです。
シリアル通信は,コンソール通信と同時に使用できません。
シリアル通信を行う場合,パソコンの USB ポートおよび本器のツールケーブル用コネクタからツールケーブル
(CMD-001)を外してください。
コンソール通信を行う場合,シリアル通信の配線を外す必要はありません。
ただし,マスター側より送信しないようにしてください。
1. システム構成
1.1 USB通信ケーブルCMC-001-1(別売り)を使用した場合のシステム構成
1.1-1
1.2 通信変換器 IF-400(別売り)を使用した場合のシステム構成
1.2-1
通信変換器
IF-400(別売り)
RS-232C RS-485
No. 0
No. 1
No. 30
PCB1
ホストコンピュータ
USB 通信ケーブル
CMC-001-1(
別売り
)
No. 0
No. 1
No. 30
PCB1
ホストコンピュータ
- 2 -
FG
FG
通信ケーブル
CMC-001-1(別売り)
ホストコンピュータ
USB
ポート
YA(-)
YB(+)
SG
YA(-)
YB(+)
SG
YA(-)
YB(+)
SG
シールド線
シールド線
YA(-)
YB(+)
COM
PCB1
2.
2.1 USB通信ケーブルCMC-001-1(別売り)を使用した場合の配線例
2.1-1
2.2 通信変換器IF-400(別売り)を使用した場合の配線例
2.2-1
シールド線について
シールド部に電流が流れないように,シールド線の片側のみFG接続してください。
シールド部の両側をFGに接続すると,シールド線と大地の間で閉回路ができ,シールド線に電流が流れて,
ノイズの影響を受けやすくなります
FGは,必ず接地処理を行ってください。
推奨ケーブル: オーナンバ株式会社 OTSC-VB 2PX0.5SQ または同等品(ツイストペアシールド線をご使用く
ださい)
RXD
TXD
DCD
DTR
DSR
RTS
CTS
2
3
5
1
4
6
7
8
GND
RI
9
CDM
FG
FG
FG
YA(-)
YB(+)
SG
YA(-)
YB(+)
SG
シールド線
4
3
1
6
ホストコンピュータ
Dサブ 9ピンコネクタ
YA(-)
YB(+)
SG
シールド線
シールド線
通信変換器
IF-400(
別売り
)
RS-232C RS-485
PCB1
- 3 -
終端抵抗(ターミネータ)について
通信変換器[IF-400(別売り)]は,終端抵抗を内蔵しています。
終端抵抗とは,ターミネータともいい,パソコンに周辺機器を数珠繋ぎにした時,配線の終端に取り付け
抵抗のことで,終端での信号の反射を防ぎ,信号の乱れを防ぎます。
本器は,プルアップ抵抗およびプルダウン抵抗を内蔵していますので,通信ライン上に終端抵抗は必要あ
ません。
- 4 -
3. 通信パラメータの設定
通信パラメータの設定は,エンジニアリング設定モード 1で行います。
エンジニアリン設定モード 1に移行するには,運転モードで, キーを押しながら, MODE キーを約 3
間押し続けます
各設定(選択)項目の設定(選択)は, キーまたは キーで行います。
各設定(選択)項目の登録 MODE キーで行います。
下の手順に従って,各通信パラメータを設定してください。
運転モード
MODE (3s)
エンジニアリン設定モード
1
設定値ロック選
MODE (
数回
)
通信プロトコル選択
キャラクタ
工場出荷初期値
設定(選択)項目名称,説明,設定範囲(選択項目)
通信プロトコル選択
・通信プロトコルの選択を行います
・選択項目
神港標準
設定値デジタル伝送
(
神港標準プロトコル
)
設定値デジタル受信器
(
神港標準プロトコル
)
MODBUS ASCII
モード
MODBUS RTU
モード
機器番号設定
本器を複数台接続して通信を行う場合,各計器に個別の機器番号を設定します。
・設定範囲
0
95
通信速度選択
・ホストコンピュータ側の通信速度に合わせて,通信速度を選択します。
・選択項目
9600 bps
19200 bps
38400 bps
ータビット/パリティ選択
・データビットおよびパリティの選択を行います。
・選択項目
8
ビット
/
無し
7
ビット
/
無し
8
ビット
/
偶数
7
ビット
/
偶数
8
ビット
/
奇数
7
ビット
/
奇数
- 5 -
キャラクタ
工場出荷初期値
設定(選択)項目名称,説明,設定範囲(選択項目)
ストップビット選択
・ストップビットの選択を行います
・選択項目
ストップビット
1
ストップビット
2
応答時間遅延設
・ホストからのコマンドを受信後,応答を返す遅延時間を設定します
・設定範囲
0
1000 ms
SVTC バイアス設定
弊社プログラムコントローラ[PCA1PCB1(通信プロトコル選択で設定値デジタル伝送
を選択)]と接続すると,ステッSVを受信できます。
8. 設定値デジタル伝送(P.49)参照してください。
・ステップSVSVTCバイアス値を加算した値をSVとします
必要に応じて設定してください。
・設定範囲
入力スパンの 20 %相当の換算値
直流電圧,直流電流入力の場合,スケーリング巾の 20 %(*)
通信プロトコル選択で,設定値デジタル受信器
(
神港標準プロトコル
)
を選択時,表示します
(*): 小数点位置は,小数点位置選択に依存します
MODE
運転モード
以上で設定終了です。
- 6 -
4. 通信手順
ホストコンピュータ(マスター)のコマンド送出で始まり,本器(スレーブ)からの応答で終わります。
・データを伴う応答
読み出しコマンドでは,そのコマンドに対応する設定値または動作状態など
のデータを応答として返します。
・肯定応答
書き込みコマンドでは,その処理終了後,応答として肯定応答を返します。
・否定応答
存在しないコマンドまたは設定範囲を超える値などの時は,応答として否定
応答を返します。
・無応答
以下の場合,応答を返しません。
・グローバルアドレス(神港標準プロトコル)またはブロードキャストアドレス
(MODBUS プロトコル)設定時
・通信エラー(フレーミングエラー,パリティエラー)
・チェックサムエラー(神港標準プロトコル)LRC の不一致(MODBUS ASCII
モード)CRC-16 の不一致(MODBUS RTU モード)
RS-485 の通信タイミング
マスター側について(プログラム作成上の注意)
マスターは,RS-485 規格の通信回線に送信する際受信側の同期を確実にするためコマンドの送出前に
1キャラクタ伝送時間以上のアイドル状態(マーク状態)を設けてください。
コマンド送出後,スレーブからの応答の受信に備えて 1キャラクタ伝送時間以内にトランスミッタを通信
ラインから切り離してください。
マスターからの送信とスレーブからの送信が衝突するのを避けるため,マスターが確実に応答を受信した
ことを確認し,次のコマンドを送信してください。
通信エラーにより,コマンドに対する応答を得られない場合,コマンドを送り直すリトライ処理を組み込
んでください。(2回以上のリトライを推奨)
スレーブ側について
スレーブは,RS-485 規格の通信回線に送信する際,受信側の同期を確実にするため,応答データの送出前
1 ms 伝送時間以上(*)のアイドル状態(マーク状態)を設けています
応答データ送出後,1キャラクタ伝送時間以内にトランスミッタを通信ラインから切り離します。
(*): 応答時間遅延設定( P. 5 ) で,01000 ms の設定ができます。
コマンド
データ
コマンド
肯定応答
コマンド
否定応答
コマンド
無応答
マスター
スレーブ
4-1
- 7 -
5. 神港標準プロトコル
5.1 伝送モード
神港標準プロトコルはASCIIコードを使用します。コマンド中の8ビットバイナリデータを上位下位4ビット
に分けた16進数(09AF)をそれぞれASCII文字として送信します。
データ構成 スタートビット : 1ビット
データビット : 7ビット(8ビット)選択可
パリティビット : 偶数(無し,奇数)選択可能
ストップビット : 1ビット(2ビッ)選択可能
エラー検出 : ックサム方式
5.2 コマンドの構成
コマンドは,すべて ASCII コードで構成します
コマンド下の数字は,キャラクタ数を表しています。
データ(設定値)は,10 進数16 進数に変換します。負の数は,2の補数で表します。
(1) 書き込みコマンド
ヘッダ
(02H)
機器番号 サブア
レス
(20H)
コマンド
種別
(50H)
データ
項目
データ チェック
サム
デリミタ
(03H)
1
1
1
1
4
4
2
1
(2) 読み出しコマンド
ヘッダ
(02H)
機器番号 サブア
レス
(20H)
コマンド
種別
(20H)
データ
項目
チェック
サム
デリミタ
(03H)
1
1
1
1
4
2
1
(3) データを伴う応答
ヘッダ
(06H)
機器番号 サブア
レス
(20H)
コマンド
種別
(20H)
データ
項目
データ チェック
サム
デリミタ
(03H)
1
1
1
1
4
4
2
1
(4) 肯定応答
ヘッダ
(06H)
機器番号 チェッ
サム
デリミタ
(03H)
1
1
2
1
(5) 否定応答
ヘッダ
(15H)
機器番号 エラー
コード
チェック
サム
リミタ
(03H)
1
1
1
2
1
ヘッダ : コマンド,応答の始めを表す制御コードで,ASCIIコードを使用します
書き込みコマンド,読み出しコマンドの場合,STX(02H)固定です。
データを伴う応答,肯定応答の場合ACK(06H)固定です。
否定応答の場合NAK(15H)固定です
機器番号 : マスターが各々のスレーブを識別すための番号です。
機器番号094とグローバルアドレ95で,機器番号095(00H5FH)20Hを加算した
ASCIIコード(20H7FH)を使用します。
95 (7FH)グローバルアドレスといい,接続されている全てのスレーブに同じコマンドを
送りたい時に使います。ただし,応答は返しません。
サブアドレス : 20H定です。
- 8 -
コマンド種別 : 書き込み,読み出しを識別するためのコードです。
データ読み出し時は20H,データ書き込み時は50Hを使用します
データ項目 : コマンドの対象となるデータ分類です。
4桁の16進数をASCIIード表します
7. 通信コマンド一覧(P. 2443)を参照してください。
データ : 書き込みコマンドにより,データ(設定値)の内容が異なります
4桁の16進数をASCIIコードで表します。
7. 通信コマンド一覧(P. 2443)を参照してください。
チェックサム : 通信誤り検出のための,2文字のデータです。
5.3 チェックサムの計算方法( P.9 ) を参照してください。
デリミタ : コマンドの終わりを表す制御コードで,ASCIIコードETX(03H)定です。
エラーコード : エラーの種類を表し,以下の数値をASCIIードで表します。
エラーコード
1(31H)
存在しないコマンドの場
2(32H)
未使用
3(33H)
設定値の範囲を超えた場
4(34H)
書き込みできない状態
(AT
実行中
)
の場合
5(35H)
キー操作による設定モード中の場合
- 9 -
5.3 チェックサムの計算方法
チェックサムは,コマンドまたはデータの受信誤りを検出するために用います。
マスター側にも,スレーブからの応答データのチェックサムを計算するプログラムを作成して,通信誤り
ないことを確認するようにしてください。
チェックサムは,機器番号からチェックサムの前の文字までASCIIコードを加算し,その合計値の2の補数
16進数で表現した下位2桁をASCIIコード化したものです。
1の補数は,2進数”0””1”を反転させた数です。
2の補数は,1補数に”1”を加えた数です。
[チェックサムの計算]
パターン番号1ステップ番号1ステップSV(2100H)600 (0258H)を書き込む場合の計算例を示します。
機器番号を0(20H)とします。
5.3-1
[16
進数
] [2
進数
]
20H 0010 0000
20H 0010 0000
50H 0101 0000
32H 0011 0010
31H 0011 0001
30H 0011 0000
30H 0011 0000
30H 0011 0000
32H 0011 0010
35H 0011 0101
38H 0011 1000
10 0010 0010
02H 20H 20H 50H 32H 31H 30H 30H 30H 32H 35H 38H 44H 45H 03H
STX P 2 1 0 0 0 2 5 8 D E ETX
チェックサムの計算範
[
上記を
ASCII
コードで表すと
]
チェックサム
[1
の補数
] 1101 1101
1
[
2の補数] 1101 1110
[
16 進数] D E
[ASCII
コード 44H 45H
- 10 -
5.4 コマンド例
コマンド下の数字は,キャラクタ数を表しています。
(1) 機器番号 1PV 読み出し
・マスター側からの読み出しコマンド
ヘッダ
(02H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(20H)
データ項目
[9000H]
(39H 30H 30H 30H)
チェック
サム
(44H 36H)
デリミタ
(03H)
1
1
1
1
4
2
1
・正常時のスレーブ側の応答[PV=500 (01F4H)の場合]
ヘッダ
(06H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(20H)
データ項目
[9000H]
(39H 30H 30H 30H)
データ
[01F4H]
(30H 31H 46H 34H)
チェック
サム
(46H 42H)
デリミタ
(03H)
1
1
1
1
4
4
2
1
(2) 機器番号 1パターン番号 1,ステップ番号 1,ステップ SV の書き込み
・マスター側からの書き込みコマンド[ステップ SV 500 (01F4H)を書き込む場合]
ヘッダ
(02H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(50H)
データ項目
[2100H]
(32H 31H 30H 30H)
データ
[01F4H]
(30H 31H 46H 34H)
チェック
サム
(44H 31H)
デリミタ
(03H)
1
1
1
1
4
4
2
1
・正常時のスレーブ側の応答
ヘッダ
(06H)
機器番号
(21H)
チェック
サム
(44H 46H)
デリミタ
(03H)
1
1
2
1
(3) 機器番号 1パターン番号 1,ステップ番号 1,ステップ SV の読み出し
・マスター側からの読み出しコマンド
ヘッダ
(02H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(20H)
データ項
[2100H]
(32H 31H 30H 30H)
チェック
サム
(44H 43H)
デリミタ
(03H)
1
1
1
1
4
2
1
・正常時のスレーブ側の応答[ステップ SV=500 (01F4H)の場合]
ヘッダ
(06H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(20H)
データ項目
[2100H]
(32H 31H 30H 30H)
データ
[01F4H]
(30H 31H 46H 34H)
チェック
サム
(30H 31H)
デリミタ
(03H)
1
1
1
1
4
4
2
1
- 11 -
6. MODBUS プロトコ
6.1 伝送モード
MODBUSプロトコルは,2の伝送モード(ASCIIモード,RTUモード)があり,構造は以下のとおりです。
6.1.1 ASCIIモード
コマンド中の8ビットバイナリデータを上位下位4ビットに分けた16進数(09AF)をそれぞれASCII
字として送信します。
データ構成 スタートビット : 1ビット
データビット : 7ビット(8ビット)選択可能
パリティビット : 偶数(無し,奇数)選択可能
ストップビット : 1ビット(2ビッ)選択可能
エラー検出 : LRC(水平冗長検査)方式
6.1.2 RTUモード
コマンド中の8ビットバイナリデータをそのまま送信します。
データ構成 スタートビット : 1ビット
データビット : 8ビット
パリティビット : 無し(偶数,奇数)選択可能
ストップビット : 1ビット(2ビッ)選択可能
エラー検出 : CRC-16(周期冗長検査)方式
6.2 データの通信間隔
6.2.1 ASCIIモード
文字間の通信間隔は制限無し
6.2.2 RTUモード
1.5 文字伝送時間以下(信速度が,9600 bps, 19200 bps の場合,1.5 文字伝送時間,38400 bps の場合,
750 s)1 つのメッセージを構成するデータの通信間隔は,最1.5 文字伝送時間以上長くならないよう連
続して送信するようにしてください
上記時間より長い場合,マスター側からの送信が終了したものと判断し,通信エラーとなり応答を返しま
せん。
6.3 メッセージの構成
6.3.1 ASCIIモード
ASCII モードのメッセージは,ヘッダ: [コロン(3AH)]で始まり,デリミCR[キャリッジリターン(0DH)]
+LF[ラインフィード(0AH)]で終わるように構成されています。
データ部は,最2×252 文字。
ヘッダ
(:)
スレーブ
アドレス
機能
コード
データ エラーチェック
LRC
デリミタ
(CR)
デリミタ
(LF)
6.3.2 RTUード
RTU ードのメッセージは3.5 文字伝送時間以上のアイドル後に始まり,3.5 文字伝送時間以上のアイド
ル経過で終わるように構成されています。(通信速度が,9600 bps, 19200 bps の場合,3.5文字伝送時間,
38400 bps の場合,1.75 ms)
データ部は,最252 バイト。
アイドル
3.5
文字
スレーブ
アドレス
機能
コード
データ エラーチェック
CRC-16
アイドル
3.5
文字
- 12 -
(1) スレーブアドレ
スレーブアドレスは,スレーブ側個々の機器番号で095(00H5FH)の範囲で設定します。
マスター側は,要求メッセージのスレーブアドレスによってスレーブ側を指定します。
スレーブ側は,応答メッセージに自身のスレーブアドレスをセットして,マスター側にどのスレーブが
応答しているかを知らせます。
0(00H)ブロードキャストアドレスといい,接続されている全てのスレーブを指定できます。 ただし,
スレーブ側は応答を返しません。
(2) 機能コード
機能コードは,スレーブ側に対する動作の種類を指示するコードです
機能コード
03(03H)
スレーブからの単一データまたは複数データ読み出し
(
データ数は最
100
)
(
*
)
06(06H)
スレーブへの単一データ書き込み
16(10H)
スレーブへの複数データ書き込み
(
データ数は最
100
)
(*): PCD-33A コマンドは,複数データ読み出しに対応しません。データ数は 1です。
機能コードは,スレーブ側がマスター側に応答メッセージを返す時,正常な応答(肯定応答)または何ら
かのエラー(否定応答)を示すのに用いられます
肯定応答では,元の機能コードをセットして返します。
否定応答では,元の機能コードの最上位ビットに 1をセットして返します。
例えば,機能コードを誤って 13Hをセットしてスレーブ側へ要求メッセージを送信した場合,存在しな
い機能コードなので最上位ビットに 1をセットし93Hとして返します。
否定応答,マスター側にどの種のエラーが発生したかを知らせるため応答メッセージのデータに
下記のような異常コードをセットして返します。
異常コード
1(01H)
Illegal function(
存在しない機能
)
2(02H)
Illegal data address(
存在しないデータアドレス
)
(
*
)
3(03H)
Illegal data value(
設定範囲外の値
)
)
17(11H) 神港標準プロトコルのエラーコード 4と同じです。
[
書き込みできない状態
(AT
実行中
)]
18(12H)
神港標準プロトコルのエラーコード
5
と同じです。
(
キー操作による設定モード中
)
(*): 存在しないデータアドレスに,複数データ読み出しを行うと,肯定応答で 0を返します。複数データ書き込みを行うと,肯定応答
を返し,データを破棄します。
(3) データ
データは,機能コードにより構成が異なります。
マスター側からの要求メッセージは,データ項目やデータ数,設定データで構成します。
スレーブ側からの応答メッセージは要求に対するバイト数やデータ否定応答時は異常コードなどで
構成します。
データの有効範囲は,-3276832767(8000H7FFFH)です。
7. 通信コマンド一覧(P. 2443)を参照してください。
- 13 -
(4) エラーチェック
ASCIIモード
ASCII モードのエラーチェックは,スレーブアドレスからデータの最後までの LRC (水平冗長検査)
を計算し,算出した 8ビットデータを ASCII 文字 2文字に変換してデータの後にセットします
[LRCの計算方]
RTUモードでメッセージを作成します。
スレーブアドレスからデータの最後までを加算し,Xに代入します。
Xの補数(ビット反転)をとり,Xに代入します
X1を足し,Xに代入します。
XLRCとして,データの後にセットします
メッセージをASCII文字に変換します。
RTUモード
RTU モードのエラーチェックは,スレーブアドレスからデータの最後までの CRC-16(周期冗長検査)
を計算し,算出した 16 ビットデータを下位上位の順にデータの後にセットします
[CRC-16の計算方法]
CRC-16方式は,送るべき情報を生成多項式で割り,の余りを情報の後ろに付加して送信します。
(生成多項式X16+X15+X2+1)
CRC-16のデータ(Xとする)を初期化(FFFFH)します。
一つ目のデータXの排他的論理和(XOR)を取り,Xに代入します
Xを右に1ビットシフトし,Xに代入します。
シフト結果でキャリーが出れば,の結果Xと固定値(A001H)XORを取り,Xに代入します。
キャリーが出なければへ進みます。
8回シフトするまで,を繰り返します。
次のデータとXXORを取り,Xに代入します。
を繰り返します。
最後のデータまを繰り返します。
XCRC-16として,メッセージに下位上位の順にデータの後にセットします
- 14 -
6.4 メッセージ例
6.4.1 ASCIIモード
コマンド下の数字は,キャラクタ数を表しています。
(1) スレーブアドレ1PV の読み出し
・マスター側からの要求メッセージ
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
データ項
[9000H]
(39H 30H 30H 30H)
データ数
[0001H]
(30H 30H 30H 31H)
エラーチェック
LRC
(36H 42H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
・正常時のスレーブ側の応答メッセージ[PV=500 (01F4H)の場合]
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
応答バイト数
[02H]
(30H 32H)
データ
[01F4H]
(30H 31H 46H 34H)
エラーチェック
LRC
(30H 35H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
2
4
2
2
(2) スレーブアドレ1,パターン番号 1,ステップ番号 1,ステップ SV の書き込み
・マスター側からの要求メッセージ[ステップ SV 500 (01F4H)を書き込みする場合]
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 36H)
データ項目
[2100H]
(32H 31H 30H 30H)
データ
[01F4H]
(30H 31H 46H 34H)
エラーチェック
LRC
(45H 33H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
・正常時のスレーブ側の応答メッセージ
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 36H)
データ項目
[2100H]
(32H 31H 30H 30H)
データ
[01F4H]
(30H 31H 46H 34H)
エラーチェック
LRC
(45H 33H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
・異常時のスレーブ側の応答メッセージ(設定範囲外の値を設定した場)
異常時の応答メッセージは,機能コードの最上位ビット1をセットし,86H(38H 36H)を返します。
エラーの内容として,異常コー03H(30H 33H 設定範囲外の値)返します。
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(38H 36H)
異常コード
[03H]
(30H 33H)
エラーチェック
LRC
(37H 36H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
2
2
2
(3) スレーブアドレ1,パターン番号 1,ステップ番号 1,ステッSV の読み出し
・マスター側からの要求メッセージ
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
データ項目
[2100H]
(32H 31H 30H 30H)
データ数
[0001H]
(30H 30H 30H 31H)
エラーチェック
LRC
(44H 41H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
・正常時のスレーブ側の応答メッセージ[ステップ SV=500 (01F4H)の場合]
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
応答バイト数
[02H]
(30H 32H)
データ
[01F4H]
(30H 31H 46H 34H)
エラーチェック
LRC
(30H 35H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
2
4
2
2
・異常時のスレーブ側の応答メッセージ(データ項目を間違えた場合)
異常時の応答メッセージは,機能コードの最上位ビットに 1をセットし,83H(38H 33H)を返します。
エラーの内容して,異常コード 02H(30H 32H 存在しないデータアドレス)を返します。
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(38H 33H)
異常コード
[02H]
(30H 32H)
エラーチェック
LRC
(37H 41H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
2
2
2
- 15 -
(4) プログラム・パターンデータの書き込みおよび読み出し
プログラム・パターン設定例
パターン番号 1
ステップ番号 1 2 3 4 5
ステップ SV( ) 500 500 1000 1000 0
ステップ時間 0:30 1:00 0:40 1:00 2:00
PID ブロック番号 1 1 2 2 1
1000
500
0
0:30
1:00
0:40
1:00
2:00
プログラム制御実行
6.4.1-1
上記プログラム・パターンを書き込む場合のメッセージのデータ部は,以下のようになります。
データ数 : 15(000FH)
バイト数 : 30(1EH)
データ : 下表のデータを 16 進数に変換した値
データ項目 データ データ
(16
進数に変換した値
)
2100H ステップ番号 1 ステップ SV 設定 500 01F4H
2101H ステップ番号 1 ステップ時間設定 30 (0:30) 001EH
2102H ステップ番号 1 PID ブロック番号選択 1 0001H
2103H ステップ番号 2 ステップ SV 設定 500 01F4H
2104H ステップ番号 2 ステップ時間設定 60 (1:00) 003CH
2105H ステップ番号 2 PID ブロック番号選択 1 0001H
2106H ステップ番号 3 ステップ SV 設定 1000 03E8H
2107H ステップ番号 3 ステップ時間設定 40 (0:40) 0028H
2108H ステップ番号 3 PID ブロック番号選択 2 0002H
2109H ステップ番号 4 ステップ SV 設定 1000 03E8H
210AH ステップ番号 4 ステップ時間設定 60 (1:00) 003CH
210BH ステップ番4 PID ブロック番号選択 2 0002H
210CH ステップ番号 5 ステップ SV 設定 0 0000H
210DH ステップ番号 5 ステップ時間設定 120 (2:00) 0078H
210EH ステップ番号 5 PID ブロック番号選択 1 0001H
- 16 -
・マスター側からの要求メッセージ(前ページのプログラム・パターンデータを書き込む場合)
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(31H 30H)
データ項目
[2100H]
(32H 31H 30H 30H)
データ数
[000FH]
(30H 30H 30H 46H)
バイト数
[1EH]
(31H 45H)
1
2
2
4
4
2
データ
[01F4001E000101F4003C000103E80028000203E8003C0002000000780001H]
(30H 31H 46H 34H 30H 30H 31H 45H 30H
・・・・
30H 30H 30H 37H 38H 30H 30H 30H 31H)
60
エラーチェック
LRC
(41H 34H)
デリミタ
CR+LF
(0DH 0AH)
2
2
・正常時のスレーブ側の応答メッセージ
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(31H 30H)
データ項目
[2100H]
(32H 31H 30H 30H)
データ
[000FH]
(30H 30H 30H 46H)
エラーチェッ
LRC
(42H 46H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
(5) スレーブアドレ1,プログラム・パターンデータの読み出(複数データ読み出し)
・マスター側からの要求メッセージ(前ページのプログラム・パターンデータを読み出す場合)
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
データ項目
[2100H]
(32H 31H 30H 30H)
データ数
[000FH]
(30H 30H 30H 46H)
エラーチェック
LRC
(43H 43H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
・正常時のスレーブ側の応答メッセージ
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
応答バイト数
[1EH]
(31H 45H)
1
2
2
2
データ
[01F4001E000101F4003C000103E80028000203E8003C0002000000780001H]
(30H 31H 46H 34H 30H 30H 31H 45H 30H ・・・・ 30H 30H 30H 37H 38H 30H 30H 30H 31H)
60
エラーチェック
LRC
(45H 31H)
デリミタ
CR+LF
(0DH 0AH)
2
2
- 17 -
6.4.2 RTU モード
コマンド下の数字は,キャラクタ数を表しています。
(1) スレーブアドレ1PV の読み出し
・マスター側からの要求メッセージ
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(03H)
データ項目
(9000H)
データ数
(0001H)
エラーチェック
CRC-16
(A90AH)
アイドル
3.5
文字
1
1
2
2
2
・正常時のスレーブ側の応答メッセージ[PV=500 (01F4H)の場合]
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(03H)
応答バイト数
(02H)
データ
(01F4H)
エラーチェック
CRC-16
(B853H)
アイドル
3.5
文字
1
1
1
2
2
(2) スレーブアドレ1,パターン番号 1,ステップ番号 1,ステップ SV の書き込み
・マスター側からの要求メッセージ[ステップ SV 500 (01F4H)書き込む場合]
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(06H)
データ項目
(2100H)
データ
(01F4H)
エラーチェック
CRC-16
(83E1H)
アイドル
3.5
文字
1
1
2
2
2
・正常時のスレーブ側の応答メッセージ
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(06H)
データ項目
(2100H)
データ
(01F4H)
エラーチェック
CRC-16
(83E1H)
アイドル
3.5
文字
1
1
2
2
2
・異常時のスレーブ側の応答メッセージ(設定範囲外の値を設定した場)
異常時の応答メッセージは,機能コードの最上位ビット1をセットし,86H を返します。
エラーの内容として,異常コー03H(設定範囲外の)を返します。
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(86H)
異常コード
(03H)
エラーチェック
CRC-16
(0261H)
アイドル
3.5
文字
1
1
1
2
(3) スレーブアドレ1,パターン番号 1,ステップ番号 1 ステップ SV の読み出し
・マスター側からの要求メッセージ
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(03H)
データ項目
(2100H)
データ数
(0001H)
エラーチェック
CRC-16
(8E36H)
アイドル
3.5
文字
1
1
2
2
2
・正常時のスレーブ側の応答メッセージ[ステップ SV=500 (01F4H)の場合]
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(03H)
応答バイト数
(02H)
データ
(01F4H)
エラーチェック
CRC-16
(B853H)
アイドル
3.5
文字
1
1
1
2
2
・異常時のスレーブ側の応答メッセージ(データ項目を間違えた場合)
異常時の応答メッセージは,機能コードの最上位ビット1をセットし,83H を返します。
エラーの内容として,異常コー02H(存在しないデータアドレス)を返します。
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(83H)
異常コード
(02H)
エラーチェック
CRC-16
(C0F1H)
アイドル
3.5
文字
1
1
1
2
- 18 -
(4) プログラム・パターンデータの書き込みおよび読み出し
プログラム・パターン設定例
パターン番号 1
ステップ番号 1 2 3 4 5
ステップ SV( ) 500 500 1000 1000 0
ステップ時間 0:30 1:00 0:40 1:00 2:00
PID ブロック番号 1 1 2 2 1
1000
500
0
0:30
1:00
0:40
1:00
2:00
プログラム制御実行
6.4.2-1
上記プログラム・パターンを書き込む場合のメッセージのデータ部は,以下のようになります
データ数 : 15(000FH)
バイト数 : 30(1EH)
データ : 下表のデータを 16 進数に変換した値
データ項目 データ データ
(16
進数に変換した値
)
2100H ステップ番号 1 ステップ SV 設定 500 01F4H
2101H ステップ番号 1 ステップ時間設定 30 (0:30) 001EH
2102H ステップ番号 1 PID ブロック番号選択 1 0001H
2103H ステップ番号 2 ステップ SV 設定 500 01F4H
2104H ステップ番号 2 ステップ時間設定 60 (1:00) 003CH
2105H ステップ番号 2 PID ブロック番号選択 1 0001H
2106H ステップ番号 3 ステップ SV 設定 1000 03E8H
2107H ステップ番号 3 ステップ時間設定 40 (0:40) 0028H
2108H ステッ番号 3 PID ブロック番号選択 2 0002H
2109H ステップ番号 4 ステップ SV 設定 1000 03E8H
210AH ステップ番号 4 ステップ時間設定 60 (1:00) 003CH
210BH ステップ番号 4 PID ブロック番号選択 2 0002H
210CH ステップ番号 5 ステップ SV 設定 0 0000H
210DH ステップ番号 5 ステップ時間設定 120 (2:00) 0078H
210EH ステップ番号 5 PID ブロック番号選択 1 0001H
- 19 -
・マスター側からの要求メッセージ(前ページのプログラム・パターンデータを書き込む場合)
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(10H)
データ項目
(2100H)
データ数
(000FH)
バイト数
(1EH)
1
1
2
2
1
データ
(01F4001E000101F4003C000103E80028000203E8003C0002000000780001H)
30
エラーチェック
CRC-16
(9A89H)
アイドル
3.5
文字
2
・正常時のスレーブ側の応答メッセージ
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(10H)
データ項目
(2100H)
データ
(000FH)
エラーチェック
CRC-16
(8A31H)
アイドル
3.5
文字
1
1
2
2
2
(5) スレーブアドレス 1,プログラム・パターンデータの読み出し(複数データ読み出し)
・マスター側からの要求メッセージ(前ページのプログラム・パターンデータを読み出す場合)
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(03H)
データ項目
(2100H)
データ数
(000FH)
エラーチェック
CRC-16
(0FF2H)
アイドル
3.5
文字
1
1
2
2
2
・正常時のスレーブ側の応答メッセージ
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(03H)
応答バイト数
(1EH)
1
1
1
データ
(01F4001E000101F4003C000103E80028000203E8003C0002000000780001H)
30
エラーチェック
CRC-16
(26E0H)
アイドル
3.5
文字
2
- 20 -
6.5 診断機能
MODBUSプロトコルには,以下の診断機能があります。
・要求メッセージの読み返し
・機器識別情報の読み出し
6.5.1 メッセージの構
ASCIIモード
ヘッダ
(:)
スレーブ
アドレス
機能
コード
データ エラーチェック
LRC
デリミタ
(CR)
デリミタ
(LF)
RTUモード
アイドル
3.5
文字
スレーブ
アドレス
機能
コード
データ エラーチェック
CRC-16
アイドル
3.5
文字
(1) スレーブアドレス
スレーブアドレスは,スレーブ側個々の機器番号で195(01H5FH)の範囲で設定します
マスター側は,要求メッセージのスレーブアドレスによってスレーブ側を指定します。
スレーブ側は,応答メッセージに自身のスレーブアドレスをセットして,マスター側にどのスレーブが
応答しているかを知らせます。
ブロードキャストアドレ[0(00H)]の場合,診断機能は働きません
(2) 機能コード
機能コードは,スレーブ側に対する動作の種類を指示するコードです
機能コード
サブ機能コード
08(08H)
00(0000H)
要求メッセージの読み返
43(2BH)
14(0EH)
機器識別情報の読み出し
機能コードは,スレーブ側がマスター側に応答メッセージを返す時,正常な応答(肯定応答)または何ら
かのエラー(否定応答)を示すのに用いられます。
肯定応答では,元の機能コードをセットして返します。
否定応答では,元の機能コードの最上位ビットに 1をセットして返します。
例えば,サブ機能コードを誤って 0FHをセットしてスレーブ側へ要求メッセージを送信した場合,存在し
ないサブ機能コードなので最上位ビットに 1セットし,ABHとして返します。
否定応答では,マスター側にどの種のエラーが発生したかを知らせるため,応答メッセージのデータに
下記のような異常コードをセットして返します。
異常コード
1(01H) Illegal function(存在しない機能)
サブ機能コードが間違っている。
2(02H) Illegal data address(存在しないデータアドレス)
機能コード
43
の場合,
Object ID
00, 01, 02
以外。
3(03H)
Illegal data value(設定範囲外の値)
機能コード 08 の場合,データが 1未満また100 を超えた。
機能コード
43
の場合,
Read Device ID code
01, 04
以外。
(3) データ
機能コードにより構成が異なります
機能コー08(08H)場合,マスター側からの要求メッセージは,サブ機能コード2バイト(0000H)および
データn×2バイトで構成します[n: データ数(最大100)]
スレーブ側からの応答メッセージは正常な場合,要求メッセージと同じです。
機能コード
1
バイト
08H
サブ機能コード
1
バイト
0000H
固定
データ
n
×
2
バイト
任意値
(
最大
100)
  • Page 1 1
  • Page 2 2
  • Page 3 3
  • Page 4 4
  • Page 5 5
  • Page 6 6
  • Page 7 7
  • Page 8 8
  • Page 9 9
  • Page 10 10
  • Page 11 11
  • Page 12 12
  • Page 13 13
  • Page 14 14
  • Page 15 15
  • Page 16 16
  • Page 17 17
  • Page 18 18
  • Page 19 19
  • Page 20 20
  • Page 21 21
  • Page 22 22
  • Page 23 23
  • Page 24 24
  • Page 25 25
  • Page 26 26
  • Page 27 27
  • Page 28 28
  • Page 29 29
  • Page 30 30
  • Page 31 31
  • Page 32 32
  • Page 33 33
  • Page 34 34
  • Page 35 35
  • Page 36 36
  • Page 37 37
  • Page 38 38
  • Page 39 39
  • Page 40 40
  • Page 41 41
  • Page 42 42
  • Page 43 43
  • Page 44 44
  • Page 45 45
  • Page 46 46
  • Page 47 47
  • Page 48 48
  • Page 49 49
  • Page 50 50
  • Page 51 51
  • Page 52 52

Shinko PCB1 ユーザーマニュアル

タイプ
ユーザーマニュアル