Shinko BC 2 ユーザーマニュアル

タイプ
ユーザーマニュアル
- 1 -
通信取扱説明書 BCD2, BCR2, BCS2(C5W, C5)
No. BCx2CJ7 2022.10
この通信取扱説明書(以下,本書)は,BCD2, BCR2, BCS2(以下,本器)の通信機能について説明したものです。
シリアル通信は,コンソール通信と同時に使用できません。
シリアル通信を行う場合,パソコンの USB ポートおよび本器のコンソール用コネクタからツールケーブル
(CMD-001)を外してください。
コンソール通信を行う場合,シリアル通信の配線を外す必要はありません
ただし,マスター側より送信しないようにしてください
1. システム構成
1.1 USB通信ケーブルCMC-001-1(別売り)を使用した場合のシステム構成
1.1-1
1.2 通信変換器 IF-400(別売り)を使用した場合のシステム構成
1.2-1
USB 通信ケーブル
CMC-001-1(
別売り
)
No. 0
No. 1
No. 30
BCS2
ホストコンピュータ
通信変換器 IF-400(別売り)
RS-232C RS-485
No. 0
No. 1
No. 30
BCS2
ホストコンピュータ
- 2 -
2.
2.1 USB通信ケーブルCMC-001-1(別売り)を使用した場合の配線例
2.1-1
2.2 通信変換器IF-400(別売り)を使用した場合の配線例
2.2-1
シールド線について
シールド部に電流が流れないように,シールド線の片側のみFGに接続してください。
シールド部の両側をFG接続すると,シールド線と大地の間で閉回路ができ,シールド線に電流が流れて,
ノイズの影響を受けやすくなります。
FGは,必ず接地処理を行ってください。
推奨ケーブル: オーナンバ株式会社 OTSC-VB 2PX0.5SQ または同等品(ツイストペアシールド線をご使用く
ださい)
YA(-)
YB(+)
SG
YA(-)
YB(+)
SG
シールド線
3
1
ホストコンピュータ
Dサブ 9ピンコネクタ
YA(-)
YB(+)
SG
シールド線
シールド線
通信変換器
IF-400(
別売り
)
RS-232C RS-485
BCS2
BCR2, BCD2
YA(-)
YB(+)
SG
YA(-)
YB(+)
SG
YA(-)
YB(+)
SG
FG
FG
USB
通信ケーブル
CMC-001-1(別売り)
ホストコンピュータ
USB
ポート
YA(-)
YB(+)
SG
YA(-)
YB(+)
SG
YA(-)
YB(+)
SG
シールド線
シールド線
YA(-)
YB(+)
COM
BCS2
BCR2, BCD2
YA(-)
YB(+)
SG
YA(-)
YB(+)
SG
YA(-)
YB(+)
SG
- 3 -
終端抵抗(ターミネータ)について
通信変換器[IF-400(別売り)]は,終端抵抗を内蔵しています。
終端抵抗とは,ターミネータともいい,パソコンに周辺機器を数珠繋ぎにした時,配線の終端に取り付け
抵抗のことで,終端での信号の反射を防ぎ,信号の乱れを防ぎます。
本器は,プルアップ抵抗およびプルダウン抵抗を内蔵していますので,通信ライン上に終端抵抗は必要あ
ません。
- 4 -
3. 通信パラメータの設定
通信パラメータの設定は,エンジニアリングモード 1で行います。
エンジニアリングモード 1に移行するには,運転モードで, キーを押しながら, キーを約 3間押し続け
ます。
各設定(選択)項目の設定(選択)は, キーまたは キーで行います。
各設定(選択)項目の登録はキーで行います。
下の手順に従って,各通信パラメータを設定してください。
運転モード
PV/SV
表示
+(3s)
エンジニアリングモード
1
設定値ロック選
(
数回
)
通信プロトコル選択
キャラクタ
工場出荷初期値
設定(選択)項目名称,説明,設定範囲(選択項目)
通信プロトコル選択
・通信プロトコルの選択を行います。
・選択項目
神港標準
MODBUS ASCII
MODBUS RTU
神港標準
(JC
コマンド割付
)
MODBUS ASCII(JC
コマンド割付
)
MODBUS RTU(JC
コマンド割付
)
機器番号設定
本器を複数台接続して通信を行う場合,各計器に個別の機器番号を設定します。
・設定範囲
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.46)参照してください。
・ステップSVSVTCバイアス値を加算した値をSVとします。
必要に応じて設定してください。
・設定範囲
入力スパンの 20 %相当の換算値
直流電圧,直流電流入力の場合,スケーリング巾の 20 %(*)
通信プロトコル選択で,神港標準を選択していない場合,この項目は表示しません。
(*): 小数点位置は,小数点位置選択に依存します
(
数回
)
運転モード
PV/SV
表示
以上で設定終了です。
- 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
・複数データ書き込み
ヘッダ
(02H)
機器番号 サブア
レス
(20H)
コマンド
種別
(54H)
データ
項目
データ チェック
サム
デリミタ
(03H)
1
1
1
1
4
4
×
n
2
1
n: データ数
(2) 読み出しコマンド
・単一データ読み出し
ヘッダ
(02H)
機器番号 サブア
レス
(20H)
コマンド
種別
(20H)
データ
項目
チェック
サム
デリミタ
(03H)
1
1
1
1
4
2
1
複数データ読み出し
ヘッダ
(02H)
機器番号 サブア
レス
(20H)
コマンド
種別
(24H)
データ
項目
読み出し
データ数
n
チェック
サム
デリミタ
(03H)
1
1
1
1
4
4
2
1
(3) データを伴う応答
・単一データ読み出しの応答
ヘッダ
(06H)
機器番号 サブア
レス
(20H)
コマンド
種別
(20H)
データ
項目
データ チェック
サム
デリミタ
(03H)
1
1
1
1
4
4
2
1
複数データ読み出しの応
ヘッダ
(06H)
機器番号 サブア
レス
(20H)
コマンド
種別
(24H)
データ
項目
データ チェック
サム
デリミタ
(03H)
1
1
1
1
4
4
×
n
2
1
n: データ数
(4) 肯定応答
ヘッダ
(06H)
機器番号 チェッ
サム
デリミタ
(03H)
1
1
2
1
- 8 -
(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固定です。
コマンド種別 : 書き込み,読み出しを識別するためのコードです。
コマンド種別
20H
単一データ読み出し
単一データの読み出しを行います。
24H 複数データ読み出し 連続する複数のデータに対して読み出しを行
います。
(
データ数
最大
100
)
50H
単一データ書き込み
単一データの書き込みを行います。
54H 複数データ書き込み 連続する複数のデータに対して書き込みを
います。
(
データ数
最大
100
)
複数データ読み出し,複数データ書き込みの注意点
複数データ読み出し,複数データ書き込みを行う場合,スレーブが応答データの送出まで
に時間が掛かるため,マスターはコマンド送出後下記のタイムアウト時間を目安に無応
答の判定を行ってください。
タイムアウト時間の計算方法
6 ms×データ数+応答時間遅延設定値(*)
(*): 応答時間遅延設定( P. 5 ) を参照してください。
データ項目 : コマンドの対象となるデータ分類です。
4桁の16進数をASCIIード表します
7. 通信コマンド一覧(P. 2640)を参照してください。
データ : 書き込みコマンドにより,データ(設定)の内容が異なります。
4桁の16進数をASCIIコードで表します。
7. 通信コマンド一覧(P. 2640)を参照してください。
チェックサム : 通信誤り検出のための,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”を加えた数です。
[チェックサムの計算例]
SV1(0001H)600 (0258H)を書き込む場合の計算例を示します。
機器番号を0(20H)とします。
5.3-1
STX ETXP 0 0 0 1 0 2 5 8
02H 20H 20H 50H 30H 30H 30H 31H 30H 32H 35H 38H 03H
[上記をASCIIコードで表すと]
チェックサム
チェックサムの計算範囲
E
45H 30H
0
20H
20H
50H
30H
30H
30H
31H
30H
32H
35H
38H
0010 0000
0010 0000
0101 0000
0011 0000
0011 0000
0011 0000
0011 0001
0011 0000
0011 0010
0011 0101
0011 1000
10 0010 0000
[16進数][2進数]
1101 1111
1
1110 0000
E 0
45H 30H
[1の補数]
[2の補数]
[16進数]
[ASCIIコード]
- 10 -
5.4 コマンド例
コマンド下の数字は,キャラクタ数を表しています。
(1) 機器番号 1PV(0100H)の読み出し
・マスター側からの読み出しコマンド
ヘッダ
(02H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(20H)
データ項目
[0100H]
(30H 31H 30H 30H)
チェック
サム
(44H 45H)
デリミタ
(03H)
1
1
1
1
4
2
1
・正常時のスレーブ側の応答[PV=600 (0258H)の場合]
ヘッダ
(06H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(20H)
データ項目
[0100H]
(30H 31H 30H 30H)
データ
[0258H]
(30H 32H 35H 38H)
チェック
サム
(30H 46H)
デリミタ
(03H)
1
1
1
1
4
4
2
1
(2) 機器番号 1SV1(0001H)の書き込み
・マスター側からの書き込みコマンド[SV1600 (0258H)を書き込む場合]
ヘッダ
(02H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(50H)
データ項目
[0001H]
(30H 30H 30H 31H)
データ
[0258H]
(30H 32H 35H 38H)
チェック
サム
(44H 46H)
デリミタ
(03H)
1
1
1
1
4
4
2
1
・正常時のスレーブ側の応答
ヘッダ
(06H)
機器番号
(21H)
チェック
サム
(44H 46H)
デリミタ
(03H)
1
1
2
1
(3) 機器番号 1SV1(0001H)の読み出し
・マスター側からの読み出しコマンド
ヘッダ
(02H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(20H)
データ項目
[0001H]
(30H 30H 30H 31H)
チェック
サム
(44H 45H)
デリミタ
(03H)
1
1
1
1
4
2
1
・正常時のスレーブ側の応答[SV1=600 (0258H)の場合]
ヘッダ
(06H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(20H)
データ項目
[0001H]
(30H 30H 30H 31H)
データ
[0258H]
(30H 32H 35H 38H)
チェック
サム
(30H 46H)
デリミタ
(03H)
1
1
1
1
4
4
2
1
- 11 -
ログラム制御実行
1:00
2:00
200
0
0:30
1:00
2:00
300
(4) 機器番号 1,プログラム・パターンデータの書き込み(複数データ書き込)
プログラム・パターン設定例
ステップ
1
2
3
4
5
SV( )
200
200
300
300
0
1:00
2:00
0:30
1:00
2:00
ウエイト
( )
10
0
10
0
0
5.4-1
上記プログラム・パターンを書き込む場合のコマンドのデータ部は,以下のようになります。
データ : 下表のデータを 16 進数に変換した値
データ項目
データ
データ
(16
進数に変換した値
)
1000H
ステップ
1 SV
設定
200
00C8H
1001H
ステップ
1
時間設定
60
(1:00)
003CH
1002H
ステップ
1
ウエイト設定
10
000AH
1003H
ステップ
2 SV
設定
200
00C8H
1004H
ステップ
2
間設定
120
(2:00)
0078H
1005H
ステップ
2
ウエイト設定
0
0000H
1006H
ステップ
3 SV
設定
300
012CH
1007H
ステップ
3
時間設定
30
(0:30)
001EH
1008H
ステップ
3
ウエイト設定
10
000AH
1009H
ステップ
4 SV
設定
300
012CH
100AH
ステップ
4
時間設定
60
(1:00)
003CH
100BH
ステップ
4
ウエイト設定
0
0000H
100CH
ステップ
5 SV
設定
0
0000H
100DH
ステップ
5
時間設定
120
(2:00)
0078H
100EH
ステップ
5
ウエイト設定
0
0000H
・マスター側からの書き込みコマンド(上記プログラム・パターンデータを書き込む場合)
ヘッダ
(02H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(54H)
データ項目
[1000H]
(31H 30H 30H 30H)
1
1
1
1
4
データ
[00C8003C000A00C800780000012C001E000A012C003C0000000000780000H]
(30H 30H 43H 38H 30H30H 33H 43H ・・・・・・30H 30H 37H 38H 30H 30H 30H 30H)
60(4
×
15)
チェック
サム
(38H 36H)
デリミタ
(03H)
2
1
- 12 -
・正常時のスレーブ側の応答
ヘッダ
(06H)
機器番号
(21H)
チェック
サム
(44H 46H)
デリミタ
(03H)
1
1
2
1
(5) 機器番号 1,プログラム・パターンデータの読み出し(複数データ読み出)
・マスター側からの読み出しコマンド[記プログラム・パターンデータを読み出す場合,データ数 15
(000FH)]
ヘッダ
(02H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(24H)
データ項目
[1000H]
(31H 30H 30H 30H)
読み出しデータ数
15[000FH]
(30H 30H 30H 46H)
チェック
サム
(30H 34H)
デリミタ
(03H)
1
1
1
1
4
4
2
1
・正常時のスレーブ側の応答
ヘッダ
(06H)
機器番号
(21H)
サブ
アドレス
(20H)
コマンド
種別
(24H)
データ項目
[1000H]
(31H 30H 30H 30H)
1
1
1
1
4
データ
[00C8003C000A00C800780000012C001E000A012C003C0000000000780000H]
(30H 30H 43H 38H 30H30H 33H 43H
・・・・・・
30H 30H 37H 38H 30H 30H 30H 30H)
60(4
×
15)
チェック
サム
(42H 36H)
デリミタ
(03H)
2
1
応答のデータ部は,以下のようになります
データ項目
データ
データ
(16
進数に変換した値
)
1000H
ステップ
1 SV
設定
200
00C8H
1001H
ステップ
1
時間設定
60
(1:00)
003CH
1002H
ステップ
1
ウエイト設定
10
000AH
1003H
ステップ
2 SV
設定
200
00C8H
1004H
ステップ
2
時間設定
120
(2:00)
0078H
1005H
ステップ
2
ウエイト設定
0
0000H
1006H
ステップ
3 SV
設定
300
012CH
1007H
ステップ
3
時間設定
30
(0:30)
001EH
1008H
ステップ
3
ウエイト設定
10
000AH
1009H
ステップ
4 SV
設定
300
012CH
100AH
ステップ
4
時間設定
60
(1:00)
003CH
100BH
ステップ
4
ウエイト設定
0
0000H
100CH
ステップ
5 SV
設定
0
0000H
100DH
ステップ
5
時間設定
120
(2:00)
0078H
100EH
ステップ
5
ウエイト設定
0
0000H
- 13 -
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
文字
- 14 -
(1) スレーブアドレス
スレーブアドレスは,スレーブ側個々の機器番号で095(00H5FH)の範囲で設定します
マスター側は,要求メッセージのスレーブアドレスによってスレーブ側を指定します。
スレーブ側は,応答メッセージに自身のスレーブアドレスをセットして,マスター側にどのスレーブが
応答しているかを知らせます。
0(00H)ブロードキャストアドレスといい,接続されている全てのスレーブを指定できます。 ただし,
スレーブ側は応答を返しません
(2) 機能コード
機能コードは,スレーブ側に対する動作の種類を指示するコードです。
機能コード
サブ機能コード
データ
アクセス
03(03H) スレーブからの単一データまたは
複数データ読み出し
04(04H)
スレーブからの状態読み出し
06(06H)
スレーブへの単データ書き込み
16(10H)
スレーブへの複数データ書き込み
08(08H)
00
要求メッセージの読み返し
43(2BH)
14
機器情報の読み出し
機能コードは,スレーブ側がマスター側に応答メッセージを返す時,正常な応答(肯定応答)または何ら
かのエラー(否定応答)を示すのに用いられます。
肯定応答では,元の機能コードをセットして返します。
否定応答では,元の機能コードの最上位ビットに 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
と同じです。
(
キー操作による設定モード中
)
(3) データ
データは,機能コードにより構成が異なります。
マスター側からの要求メッセージは,データ項目やデータ数,設定データで構成します。
スレーブ側からの応答メッセージは,要求に対するバイト数やデータ,否定応答時は異常コードなどで
構成します。
データの有効範囲は,-3276832767(8000H7FFFH)です。
7. 通信コマンド一覧(P.2640)参照してください。
(4) エラーチェック
ASCIIモード
ASCII モードのエラーチェックは,スレーブアドレスからデータの最後までの LRC (水平冗長検査)
を計算し,算出した 8ビットデータを ASCII 文字 2文字に変換してデータの後にセットします。
[LRCの計算方法]
RTUモードでメッセージを作成します。
スレーブアドレスからデータの最後までを加算し,Xに代入します。
- 15 -
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として,メッセージに下位上位の順にデータの後にセットします
- 16 -
6.4 メッセージ例
6.4.1 ASCIIード
コマンド下の数字は,キャラクタ数を表しています。
(1) スレーブアドレ1PV(0100H)の読み出し
・マスター側からの要求メッセージ
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コー
(30H 33H)
データ項目
[0100H]
(30H 31H 30H 30H)
データ数
[0001H]
(30H 30H 30H 31H)
エラーチェック
LRC
(46H 41H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
・正常時のスレーブ側の応答メッセージ[PV=600 (0258H)の場合]
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
応答バイト数
[02H]
(30H 32H)
データ
[0258H]
(30H 32H 35H 38H)
エラーチェック
LRC
(41H 30H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
2
4
2
2
(2) スレーブアドレ1SV1(0001H)書き込み
・マスター側からの要求メッセージ[SV1600 (0258H)に書き込みする場合]
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 36H)
データ項目
[0001H]
(30H 30H 30H 31H)
データ
[0258H]
(30H 32H 35H 38H)
エラーチェック
LRC
(39H 45H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
・正常時のスレーブ側の応答メセージ
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 36H)
データ項目
[0001H]
(30H 30H 30H 31H)
データ
[0258H]
(30H 32H 35H 38H)
エラーチェック
LRC
(39H 45H)
デリミタ
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) スレーブアドレ1SV1(0001H)読み出し
・マスター側からの要求メッセージ
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
データ項目
[0001H]
(30H 30H 30H 31H)
データ数
[0001H]
(30H 30H 30H 31H)
エラーチェック
LRC
(46H 41H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
・正常時のスレーブ側の応答メッセージ[SV1=600 (0258H)の場合]
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
応答バイト数
[02H]
(30H 32H)
データ
[0258H]
(30H 32H 35H 38H)
エラーチェック
LRC
(41H 30H)
デリミタ
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
- 17 -
プログラム制御実行
1:00
2:00
200
0
0:30
1:00
2:00
300
(4) スレーブアドレ1,プログラム・パターンデータの書き込み(複数データ書き込み)
プログラム・パターン設定例
ステップ
1
2
3
4
5
SV( )
200
200
300
300
0
1:00
2:00
0:30
1:00
2:00
ウエイト
( )
10
0
10
0
0
6.4.1-1
上記プログラム・パターンを書き込む場合のメッセージのデータ部は,以下のようになります。
データ数 : 15(000FH)
バイト数 : 30(1EH)
データ : 下表のデータを 16 進数に変換した値
データ項目
データ
データ
(16
数に変換した値
)
1000H
ステップ
1 SV
設定
200
00C8H
1001H
ステップ
1
時間設定
60
(1:00)
003CH
1002H
ステップ
1
ウエイト設定
10
000AH
1003H
ステップ
2 SV
設定
200
00C8H
1004H
ステップ
2
時間設定
120
(2:00)
0078H
1005H
ステップ
2
ウエイト設定
0
0000H
1006H
ステップ
3 SV
設定
300
012CH
1007H
ステップ
3
時間設定
30
(0:30)
001EH
1008H
ステップ
3
ウエイト設定
10
000AH
1009H
ステップ
4 SV
設定
300
012CH
100AH
ステップ
4
時間設定
60
(1:00)
003CH
100BH
ステップ
4
ウエイト設定
0
0000H
100CH
ステップ
5 SV
設定
0
0000H
100DH
ステップ
5
時間設定
120
(2:00)
0078H
100EH
ステップ
5
ウエイト設定
0
0000H
・マスター側からの要求メッセージ(上記プログラム・パターンデータを書き込む場合)
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(31H 30H)
データ項目
[1000H]
(31H 30H 30H 30H)
1
2
2
4
データ
[000F1E00C8003C000A00C800780000012C001E000A012C003C0000000000780000H]
(30H 30H 30H 46H 31H 45H 30H 30H
・・・・・・
30H 30H 37H 38H 30H 30H 30H 30H)
66
エラーチェック
LRC
(32H 45H)
デリミタ
CR+LF
(0DH 0AH)
2
2
- 18 -
・正常時のスレーブ側の応答メッセージ
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(31H 30H)
データ項目
[1000H]
(31H 30H 30H 30H)
データ
[000FH]
(30H 30H 30H 46H)
エラーチェック
LRC
(44H 30H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
(5) スレーブアドレ1,プログラム・パターンデータの読み出し(複数データ読み出し)
・マスター側からの要求メッセージ(上記プログラム・パターンデータを読み出す場合)
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
データ項目
[1000H]
(31H 30H 30H 30H)
データ数
[000FH]
(30H 30H 30H 46H)
エラーチェック
LRC
(44H 44H)
デリミタ
CR+LF
(0DH 0AH)
1
2
2
4
4
2
2
・正常時のスレーブ側の応答メッセージ
ヘッダ
(3AH)
スレーブ
アドレス
(30H 31H)
機能コード
(30H 33H)
応答バイト数
[1EH]
(31H 45H)
1
2
2
2
データ
[00C8003C000A00C800780000012C001E000A012C003C0000000000780000H]
(30H 30H 43H 38H 30H 30H 33H 43H
・・・・・・
30H 30H 37H 38H 30H 30H 30H 30H)
60
エラーチェック
LRC
(35H 41H)
デリミタ
CR+LF
(0DH 0AH)
2
2
応答メッセージのデータ部は,以下のようになります。
データ項目
データ
データ
(16
進数に変換した値
)
1000H
ステップ
1 SV
設定
200
00C8H
1001H
ステップ
1
時間設定
60
(1:00)
003CH
1002H
ステップ
1
ウエイト設定
10
000AH
1003H
ステップ
2 SV
設定
200
00C8H
1004H
ステップ
2
時間設定
120
(2:00)
0078H
1005H
ステップ
2
ウエイト設定
0
0000H
1006H
ステップ
3 SV
設定
300
012CH
1007H
ステップ
3
時間設定
30
(0:30)
001EH
1008H
ステップ
3
ウエイト設定
10
000AH
1009H
ステップ
4 SV
設定
300
012CH
100AH
ステップ
4
時間設定
60
(1:00)
003CH
100BH
ステップ
4
ウエイト設定
0
0000H
100CH
ステップ
5 SV
設定
0
0000H
100DH
ステップ
5
時間設
120
(2:00)
0078H
100EH
ステップ
5
ウエイト設定
0
0000H
- 19 -
6.4.2 RTU モード
コマンド下の数字は,キャラクタ数を表しています。
(1) スレーブアドレス 1PV(0100H)の読み出し
・マスター側からの要求メッセージ
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(03H)
データ項目
(0100H)
データ数
(0001H)
エラーチェック
CRC-16
(85F6H)
アイドル
3.5
文字
1
1
2
2
2
・正常時のスレーブ側の応答メッセージ[PV=600 (0258H)の場合]
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(03H)
応答バイト数
(02H)
データ
(0258H)
エラーチェック
CRC-16
(B8DEH)
アイドル
3.5
文字
1
1
1
2
2
(2) スレーブアドレ1SV1(0001H)書き込み
・マスター側からの要求メッセージ[SV1600 (0258H)書き込む場合]
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(06H)
データ項目
(0001H)
データ
(0258H)
エラーチェック
CRC-16
(D890H)
アイドル
3.5
文字
1
1
2
2
2
・正常時のスレーブ側の応答メッセージ
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(06H)
データ項目
(0001H)
データ
(0258H)
エラーチェック
CRC-16
(D890H)
アイドル
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) スレーブアドレ1SV1(0001H)読み出し
・マスター側からの要求メッセージ
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(03H)
データ項目
(0001H)
データ数
(0001H)
エラーチェック
CRC-16
(D5CAH)
アイドル
3.5
文字
1
1
2
2
2
・正常時のスレーブ側の応答メッセージ[SV1=600 (0258H)の場合]
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(03H)
応答バイト数
(02H)
データ
(0258H)
エラーチェック
CRC-16
(B8DEH)
アイドル
3.5
文字
1
1
1
2
2
・異常時のスレーブ側の応答メッセージ(データ項目を間違えた場合)
異常時の応答メッセージは,機能コードの最上位ビットに 1セットし,83H を返します。
エラーの内容として,異常コード 02H(存在しないデータアドレ)を返します。
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(83H)
異常コード
(02H)
エラーチェック
CRC-16
(C0F1H)
アイドル
3.5
文字
1
1
1
2
- 20 -
プログラム制御実行
1:00
2:00
200
0
0:30
1:00
2:00
300
(4) スレーブアドレ1,プログラム・パターンデータの書き込(複数データ書き込み)
プログラム・パターン設定例
ステップ
1
2
3
4
5
SV( )
200
200
300
300
0
1:00
2:00
0:30
1:00
2:00
ウエイト
( )
10
0
10
0
0
6.4.2-1
上記プログラム・パターンを書き込む場合のメッセージのデータ部は,以下のようになります。
データ数 : 15(000FH)
バイト数 : 30(1EH)
データ : 下表のデータを 16 進数に変換した値
データ項目
データ
データ
(16
進数に変換した値
)
1000H
ステップ
1 SV
設定
200
00C8H
1001H
ステップ
1
時間設定
60
(1:00)
003CH
1002H
ステップ
1
エイト設定
10
000AH
1003H
ステップ
2 SV
設定
200
00C8H
1004H
ステップ
2
時間設定
120
(2:00)
0078H
1005H
ステップ
2
ウエイト設定
0
0000H
1006H
ステップ
3 SV
設定
300
012CH
1007H
ステップ
3
時間設定
30
(0:30)
001EH
1008H
テップ
3
ウエイト設定
10
000AH
1009H
ステップ
4 SV
設定
300
012CH
100AH
ステップ
4
時間設定
60
(1:00)
003CH
100BH
ステップ
4
ウエイト設定
0
0000H
100CH
ステップ
5 SV
設定
0
0000H
100DH
ステップ
5
時間設定
120
(2:00)
0078H
100EH
ステップ
5
ウエイト設定
0
0000H
・マスター側からの要求メッセージ(上記プログラム・パターンデータを書き込む場合)
アイドル
3.5
文字
スレーブ
アドレス
(01H)
機能コード
(10H)
データ項目
(1000H)
1
1
2
データ
(000F1E00C8003C000A00C800780000012C001E000A012C003C0000000000780000H)
33
エラーチェック
CRC-16
(13EEH)
アイドル
3.5
文字
2
  • 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

Shinko BC 2 ユーザーマニュアル

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