• 検索結果がありません。

シリアル通信ポート (RS-232C) 伝送仕様

ドキュメント内 6E8C3850.book (ページ 98-128)

第 7 章 アプリケーションインタフェース

A.4 シリアル通信ポート (RS-232C) 伝送仕様

表A-4 機能仕様

項  目 仕  様

プロトコル TCP/UDP/IPPCMPIRCP(注)

伝送方式 ポイント・ツー・ポイント伝送

マルチキャスト伝送

ブロードキャスト伝送

階層間通信機能(将来)

監視機能(RAS ハードウェア/ソフトウェア システム構成 マルチホスト

 最大ホストモジュール:4

マルチポート

 最大Ethernetモジュール:4 ENモジュール

使用ポート

PCMP ポート番号  10000 伝送路診断 ポート番号  48000

表A-5 シリアル伝送仕様

項  目 仕  様

データ伝送速度 最大56kbps

同期方式 調歩同期

伝送ケーブル 9ピン-9ピンD-subコネクタ付きクロスケーブル ケーブル長 最大15m

通信方式 全二重

通信設定 パリティビット:なし

キャラクタ長:8ビット

ストップビット:1ビット

6E8C3850

85

付録 B  外形寸法

EN6モジュール,EB6モジュールの外形寸法を示します。

図B-1 外形寸法図

[mm]

6E8C3850

87

付録 C  関連製品

(注 1) B系モジュール用盤内ケーブルの最大長は3mです。

    (製品の標準添付ケーブル長は、70mmです。)

(注 2) +12VDC電源ケーブル長は、0.5m(標準)です。

(注 3) AUIケーブル手配時は、長さを指定してください。

表C-1 関連製品

製品名 形 式 定 格 手配コード 備考

3D-2V

(10BASE2ケーブル)

ZCA123A***1 BNCコネクタ 4Y8B0271P001 A10BASE2盤内用 ZCA133A***1-B BNCコネクタ 4Y8B0271P002 B10BASE2盤内用 5D-2W

(10BASE2ケーブル)

ZCA125A***1 BNCコネクタ 4Y8B0272P001 A10BASE2盤外用 ZCA135A***1-B BNCコネクタ 4Y8B0272P002 B10BASE2盤外用 ツイストペア

ケーブルB系モジュール用   盤内ケーブル)

GCM-04-GY モジュラジャック 5P8C1347P015 EN621EB621 EN641EB641

(注1 +12VDC電源ケーブル

(注2

CE6R5 2Pコネクタ 4Y8C0328G001 EN611,EN621,EB621

10BASE5トランシーバ 電源供給用)

T型アダプタ BNC-TA(JPJ)-AU1 BNCコネクタ 5P8C1316P004 モジュールのコネクタに 取付

終端抵抗 TBP65-AU1 50Ω 5P8C1316P003 10BASE2

中継コネクタユニット UCNE1 コネクタ変換 3Y8B1619 10BASE2 盤内-盤外中継 室内-制御室中継 接地用コネクタ

   ユニット

UCNE2 コネクタ変換、

接地

3Y8B1641 10BASE2ケーブル接地用

AUIケーブル AUI15 -M 細径

モールドタイプ

5P4P0032P*** SWCC製(注3 RS-232Cケーブル GCJ6□□*CS

(Type-G) (注4

9ピンD-sub 5X8C0003    G*****

*****はケーブル長

(単位:mm カテゴリ5ツイストペア

(ストレートタイプ)ケーブル

ZCA101A***1 RJ-45コネクタ 色:グレー

カテゴリ5ツイストペア

(クロスタイプ)ケーブル

ZCA121A***1 RJ-45コネクタ 色:紫

C

また、細径のものを使用してください。ケーブルコネクタクランプができない可能 性があります。使用可能なAUIケーブルの最大長は、15mです。

(注 4) RS-232Cケーブル手配時は、長さを指定してください。

AU115-□M

長さ:単位m(例:5=5m)

GCJ6□□*CS

長さ:単位m(例:03=3m)

6E8C3850

89

付録 D   10 進- 16 進 変換表

表D-1 10進―16進変換表

10進数 16進数 10進数 16進数 10進数 16進数 10進数 16進数

0 0 32 20 64 40 96 60

1 1 33 21 65 41 97 61

2 2 34 22 66 42 98 62

3 3 35 23 67 43 99 63

4 4 36 24 68 44 100 64

5 5 37 25 69 45 101 65

6 6 38 26 70 46 102 66

7 7 39 27 71 47 103 67

8 8 40 28 72 48 104 68

9 9 41 29 73 49 105 69

10 A 42 2A 74 4A 106 6A

11 B 43 2B 75 4B 107 6B

12 C 44 2C 76 4C 108 6C

13 D 45 2D 77 4D 109 6D

14 E 46 2E 78 4E 110 6E

15 F 47 2F 79 4F 111 6F

16 10 48 30 80 50 112 70

17 11 49 31 81 51 113 71

18 12 50 32 82 52 114 72

19 13 51 33 83 53 115 73

20 14 52 34 84 54 116 74

21 15 53 35 85 55 117 75

22 16 54 36 86 56 118 76

23 17 55 37 87 57 119 77

24 18 56 38 88 58 120 78

25 19 57 39 89 59 121 79

26 1A 58 3A 90 5A 122 7A

27 1B 59 3B 91 5B 123 7B

28 1C 60 3C 92 5C 124 7C

29 1D 61 3D 93 5D 125 7D

30 1E 62 3E 94 5E 126 7E

31 1F 63 3F 95 5F 127 7F

6E8C3850

91

付録 E   サンプル プログラム

参考のため簡単なメッセージ伝送プログラム例を以下に示します。

これらは、通信FBのUSEND_TおよびURCV_Tにて実現します。

通信FBの詳細説明につきましては、SおよびLコントローラの命令語説明書 (6E8C3787)を参照願います

<UDP 伝送の例>

参考プログラムは、STN1のS3からSTN1のEthernetのUDPポート20014を使用して、

STN2のS3へSTN2のEthernetのUDPポート20013に対して送信し、STN2ではUDP ポート20013からデータ受信を行うものです。

STN1 STN2

0 S 2

1 2 3

Ethernet

4 0

S 2

1 2 3 4

Ethernet

172.16.64.7 172.16.64.4

(スロット番号)

E

変数定義(UDP送信)

VAR

OPEN_ENABLED: BOOL; OPEN_COMPLETE: BOOL; OPEN_ERROR: BOOL;

OPEN_REQ: BOOL;

TX_ENABLED: BOOL; TX_COMPLETE: BOOL;

TX_ERROR: BOOL;

TX_REQ: BOOL;

TX_DT_CNT: UNIT;

OPEN_STATUS1: INT; USEND_T_1: USEND_T; USEND_T_2: USEND_T; SEND_STATUS: INT; CLOSE_ENABLED: BOOL;

US_DUMMY1: WORD;

US_DUMMY2: UINT;

US_SIZE: UNIT;

US_DATA:ARRAY[0..511] OF WORD;

U_O: typeUDP_OPEN;

U_S: typeUDP_SEND_BC;

U_C: typeUDP_CLOSE;

END_VAR

6E8C3850

93

E

プログラム(UDP送信)

MOVE_UINT U_O.Slot ST

LD 3 16#0031 MOVE_WORD U_O.Cmd ST

LD 20014 MOVE_UINT U_O.SPort ST

LD

U_S.Slot 3 ST

LD MOVE_UINT 16#0032 MOVE_WORD U_S.Cmd ST

LD 16#AC10_4004 MOVE_DWORD U_S.DIP ST

LD

MOVE_UINT U_S.DPort ST 20013

LD 512 MOVE_UINT US_SIZE ST

LD MOVE_INT

OPEN_STATUS1

LD U_S.Socket

ST OPEN_STATUS1 MOVE_INT

LD U_S.Socket

ST /*UDP OPEN REQUEST */

/* UDP SEND REQUEST */

OPEN_

COMPLETE OPEN_ERROR OPEN_REQ

OPEN_REQ USEND_T

S

OPEN_COMPLETE REQ

USEND_T_1

DONE

CMD OPEN_ERROR

U_O LD

US_DUMMY1 P LD

US_DUMMY2

LD N

ERROR

STATUSOPEN_STATUS1 ST

N OPEN_

COMPLETE TX_ERROR

TX_REQ USEND_T REQ

USEND_T_2

DONE

CMD

TX_ERROR U_S

LD

US_DATA[0] P LD

US_SIZE LD

ERROR

STATUS

SEND_STATUS ST TX_COMPLETE

TX_COMPLETE CLOSE_

COMPLETE TX_REQ

E

変数定義(UDP受信)

VAR

OPEN_ENABLED: BOOL; OPEN_COMPLETE: BOOL; OPEN_ERROR: BOOL;

OPEN_REQ: BOOL;

RX_ENABLED: BOOL; RX_COMPLETE: BOOL;

RX_ERROR: BOOL;

RX_REQ: BOOL;

RX_DATA_CNT: UNIT;

RX_COUNT: INT;

CLOSE_ENABLED: BOOL; CLOSE_COMPLETE: BOOL; CLOSE_ERROR: BOOL; CLOSE_REQ: BOOL; RCV_STATUS: INT; CLOSE_STATUS: INT;

UR_DUMMY1: WORD;

UR_DUMMY2: UINT;

UR_SIZE: UNIT;

UR_DATA:ARRAY[0..512] OF WORD;

URCV_T_1: WORD;

USEND_T_1: USEND_T; OPEN_STATUS1: INT;

U_O: typeUDP_OPEN;

U_R: typeUDP_RCV_BC;

U_C: typeUDP_CLOSE;

T_SK_CMD: typeTCP_SEND; T_SOCKET: URCV_T;

T_SK_REQ: BOOL;

T_SK_COMP: BOOL;

T_SK_ERR: BOOL;

T_SK: INT;

T_SK_SOCKET: INT;

T_SK_DT: WORD;

RX_TRG: BOOL;

END_VAR

6E8C3850

95

E

プログラム(UDP受信)

MOVE_UINT U_O.Slot ST

LD 4 16#0031 MOVE_WORD U_O.Cmd ST

LD 20013 MOVE_UINT U_O.SPort ST

LD /* UDP OPEN REQUEST */

OPEN_

COMPLETE OPEN_ERROR OPEN_REQ

OPEN_REQ USEND_T

S

OPEN_COMPLETE REQ

USEND_T_1

DONE

CMD OPEN_ERROR

U_O LD

US_DUMMY1 P LD

US_DUMMY2

LD N

ERROR

STATUSOPEN_STATUS1 ST

OPEN_

COMPLETE OPEN_ERROR

MOVE_UINT T_SK_CMD.Slot ST 4

LD 16#0016 MOVE_WORD T_SK_CMD.Cmd ST

LD OPEN_STATUS1 MOVE_UINT T_SK_CMD.Socket ST LD

N OPEN_

COMPLETE T_SK_COMP T_SK_REQ URCV_T

REQ T_SOCKET

DONE

CMD

T_SK_ERR T_SK_CMD

LD

T_SK P LD

LD 0

ERROR

STATUS

T_SK_SOCKET ST

T_SK_ERR T_SK_REQ T_SK_COMP

UINT_TO_WORD

LD 4 WORD_TO_INT INT_TO_DINT MUL_DINT

524288

LD T_SK_SOCKET

LD INT_TO_DINT

ADD_DINT ST XI

%MW13.130944[XI]

LD T_SK_DT ST

RX_TRG EQ_WORD

16#0400 LD AND_WORD

16#0400 LD T_SK_DT

LD

E

クローズ要求(CLOSE_REQをONにしたときにクローズする場合)(UDPの場 合)

OPEN_

COMPLETE RX_COMPLETE RX_REQ

RX_REQ URCV_T REQ

URCVD_T_1

DONE

CMD

RX_ERROR U_R

LD

UR_DATA[0] P LD

UR_SIZE LD N

ERROR

STATUS

RCV_STATUS ST

RX_ ERROR

RX_COMPLETE CLOSE_

ENABLED RX_TRG

U_R.Slot ST 4

LD MOVE_UINT 16#0033 MOVE_WORD U_R.Cmd ST

LD 16#0000_0000 MOVE_DWORD U_R.DIP ST

LD

MOVE_UINT U_R.DPort ST 20014

LD 16#0000 MOVE_UINT U_R.TimeUp ST

LD MOVE_INT

OPEN_STATUS1

LD U_R.Socket

ST /* UDP RECEIVE REQUEST */

MOVE_UINT UR_SIZE ST 513

LD

CLOSE_REQ USEND_T REQ

USEND_T_3

DONE

CMD

CLOSE_ERROR U_C LD

DUMMY P LD

DUMMY LD N

ERROR

STATUS

CLOSE_STATUS1 ST

CLOSE_COMPLETE U_C.Slot

3 ST

LD MOVE_UINT 16#0034 MOVE_WORD U_C.Cmd ST

LD MOVE_INT U_C.Socket

OPEN_STATUS1 ST LD

6E8C3850

97

E

<TCP 伝送の例>

参考プログラムは、STN1のS3からSTN1のEthernetのTCPポート30004を使用して、

STN2のS3へSTN2のEthernetのTCPポート30003に対して送信し、STN2では、TCP ポート30003からデータ受信を行うものです。

変数定義(TCP送信)

VAR

OPEN_ENABLED: BOOL; OPEN_COMPLETE: BOOL; OPEN_ERROR: BOOL; OPEN_REQ: BOOL; TX_ENABLED: BOOL; TX_COMPLETE: BOOL; TX_ERROR: BOOL;

TX_REQ: BOOL;

TX_DT_CNT: UNIT; OPEN_STATUS1: INT; USEND_T_1: USEND_T; USEND_T_2: USEND_T; SEND_STATUS: INT; CLOSE_ENABLED: BOOL;

TS_DATA:ARRAY[0..511] OF WORD;

T_O: typeTCP_OPEN;

T_S: typeTCP_SEND;

T_C: typeTCP_CLOSE;

END_VAR

STN1 STN2

0 S 2

1 2 3

Ethernet

4 0

S 2

1 2 3 4

Ethernet

172.16.64.7 172.16.64.4

(スロット番号)

E

プログラム(TCP送信)

T_S.Slot ST 3

LD MOVE_UINT 16#0037 MOVE_WORD T_S.Cmd ST LD

MOVE_INT OPEN_STATUS1

LD T_S.Socket

ST OPEN_STATUS1 MOVE_INT

LD T_C.Socket

ST /* TCP SEND REQUEST */

N OPEN_

COMPLETE TX_ERROR

TX_REQ USEND_T REQ

USEND_T_2

DONE

CMD

TX_ERROR T_S

LD

TS_DATA[0] P LD

16#200 LD

ERROR

STATUS

SEND_STATUS ST TX_COMPLETE

TX_COMPLETE CLOSE_

COMPLETE TX_REQ MOVE_UINT

LD 3 16#0035 MOVE_WORD T_O.Cmd ST

LD 1 MOVE_UINT T_O.Kind ST

T_O.Slot LD ST

MOVE_UINT T_O.TimeUp ST 0

LD

MOVE_DWORD T_O.DIP ST 16#AC10_4004

LD 30003 MOVE_UINT T_O.DPort ST

LD MOVE_UINT T_O.Sport

ST 30004

LD /* TCP OPEN REQUEST(ACTIVE) */

OPEN_

COMPLETE OPEN_ERROR OPEN_REQ

OPEN_REQ USEND_T

S

OPEN_COMPLETE REQ

USEND_T_1

DONE

CMD OPEN_ERROR

P

N

ERROR

STATUSOPEN_STATUS1 ST T_O

LD

%MW3.348 LD

16#0 LD

OPEN_ENABLED

R

6E8C3850

99

E

変数定義(TCP受信)

VAR

OPEN_ENABLED: BOOL; OPEN_COMPLETE: BOOL; OPEN_ERROR: BOOL;

OPEN_REQ: BOOL;

RX_ENABLED: BOOL; RX_COMPLETE: BOOL;

RX_ERROR: BOOL;

RX_REQ: BOOL;

RX_DATA_CNT: UNIT;

RX_COUNT: INT;

CLOSE_ENABLED: BOOL; CLOSE_COMPLETE: BOOL; CLOSE_ERROR: BOOL; CLOSE_REQ: BOOL; RCV_STATUS: INT; CLOSE_STATUS: INT;

TR_DATA:ARRAY[0..512] OF WORD;

T_O: typeTCP_OPEN;

T_R: typeTCP_RCV;

T_C: typeTCP_CLOSE;

URCV_T_1: URCV_T; USEND_T_1: USEND_T; OPEN_STATUS1: INT;

T_SK_CMD: typeTCP_SEND; T_SOCKET: URCV_T;

T_SK_REQ: BOOL;

T_SK_COMP: BOOL;

T_SK_ERR: BOOL;

T_SK: INT;

T_SK_SOCKET: INT;

T_SK_DT: WORD;

RX_TRG: BOOL;

END_VAR

E

プログラム(TCP受信)

/* TCP OPEN REQUEST(PASSIVE) */

OPEN_

COMPLETE OPEN_ERROR

MOVE_UINT T_SK_CMD.Slot ST 4

LD 16#0016 MOVE_WORD T_SK_CMD.Cmd ST

LD OPEN_STATUS1 MOVE_UINT T_SK_CMD.Socket ST LD

N OPEN_

COMPLETE T_SK_COMP T_SK_REQ URCV_T

REQ T_SOCKET

DONE

CMD

T_SK_ERR T_SK_CMD

LD

T_SK P LD

0 LD

ERROR

STATUS

T_SK_SOCKET ST

T_SK_ERR T_SK_REQ T_SK_COMP

UINT_TO_WORD 4

LD WORD_TO_INT INT_TO_DINT MUL_DINT

524288

LD T_SK_SOCKET

LD INT_TO_DINT

ADD_DINT ST XI

%MW13.130944[XI]

LD T_SK_DT ST

RX_TRG EQ_WORD

16#0400 LD AND_WORD

16#0400 LD T_SK_DT

LD

MOVE_UINT T_O.Slot ST

LD 4 16#0035 MOVE_WORD T_O.Cmd ST

LD 2 MOVE_UINT T_O.Kind ST

LD

MOVE_DWORD T_O.DIP ST 16#AC10_4007

LD MOVE_UINT T_O.DPort

ST 30004

LD

MOVE_UINT T_O.TimeUp ST 0

LD

MOVE_UINT T_O.SPort ST 30003

LD

OPEN_

COMPLETE OPEN_ERROR OPEN_REQ

OPEN_REQ USEND_T

S

OPEN_COMPLETE REQ

USEND_T_1

DONE

CMD OPEN_ERROR

P

N

ERROR

STATUSOPEN_STATUS1 ST T_O

LD

%MW3.348 LD

%MW3.347 LD

OPEN_ENABLED

R

6E8C3850

101

E

クローズ要求(CLOSE_REQをONにしたときにクローズする場合)(TCPの場 合)

OPEN_

COMPLETE RX_COMPLETE RX_REQ

RX_REQ URCV_T REQ

URCV_T_1

DONE

CMD

RX_ERROR T_R

LD

TR_DATA[0] P LD

16#201 LD N

ERROR

STATUS

RCV_STATUS ST

TX_ ERROR

RX_COMPLETE CLOSE_

ENABLED RX_TRG

T_R.Slot ST 4

LD MOVE_UINT 16#0038 MOVE_WORD T_S.Cmd ST LD

MOVE_INT OPEN_STATUS1

LD T_R.Socket

ST /* TCP RECEIVE REQUEST */

MOVE_INT OPEN_STATUS1

LD T_C.Socket

ST

CLOSE_REQ USEND_T REQ

USEND_T_3

DONE

CMD

CLOSE_ERROR T_C LD

DUMMY P LD

DUMMY LD N

ERROR

STATUS

CLOSE_STATUS1 ST

CLOSE_COMPLETE T_C.Slot

3 ST

LD MOVE_UINT 16#0039 MOVE_WORD T_C.Cmd ST

LD MOVE_INT T_C.Socket

OPEN_STATUS1 ST LD

6E8C3850

103

付録 F   リターンコード 一覧

EN関連のリターンコードを以下に示します。

このリターンコードは通信FBにて出力されます。通信FBの詳細説明につきまして は、SおよびLコントローラの命令語説明書(6E8C3787)を参照願います。

USND_T/URCV_T命令 エラーコード一覧

リターン値 内容

-5000 通信命令要求数オーバー

-5001 コマンド種別異常

-5002 受信タイムアウト

-5003 ソケット使用中または未オープン

-5004 スロット・ソケット番号範囲外

-5005 ソケット未オープン

-5006 ポート番号重複

-5007 相手先ビジーまたは接続断

-5099 その他のエラー

-1001 該当ソケットビジー

-1002 該当ソケットが未生成

-1005 Pingタイムアウト(PINGタスク判断)

-1006 Pingビジー(PINGタスク判断)

-1010 ソケットタイプ異常

-1011 受信用メモリブロックの不足

-2001 通信要求数オーバー

-2002 要求バッファ数オーバー

-2005 該当ソケット未開設

-2006 使用ポート数オーバー

-2007 応答タイムアウト

-2008 バッファリソース確保に失敗

-2009 ENボードリセット中

-2201 割込み受け付け待ちタイムアウト

-2202 確認/指示応答待ちタイムアウト

F

通信手順 リターン値 内容

ACCEPT

ENOBUFS -15 リソース不足

EBADF -16 有効なソケット識別子ではない

EWOULDBLOCK -18 ソケットが非同期入出力モードに設定されており、かつ接

続を待つのものが存在しない

EOPNOTSUPP -56 指定されたソケットがSOCK_STREAM型ではない

EPROTO -71 プロトコルエラー

EN_BIND

EBADF -16 有効なソケット識別子ではない

EFAULT -17 引数(addrまたはaddrlen)がユーザのアドレス空間の有

効な領域にない

EAFNOSUPPORT -58 指定のアドレスファミリーは現在未サポート

EADDRINUSE -59 与えられたアドレスが既に用いられている

EADDRNOTAVAIL -60 与えられたアドレスは、本システムでは利用不可

CLOSE

EBADF -16 有効なソケット識別子ではない

CONNECT

EHOSTUNREACH -11 接続相手先IPアドレス不正

ETIMEDOUT -12 タイムアウト。一定時間待ったが接続が完了しない

EBADF -16 有効なソケット識別子ではない

EINVAL -22 既にbindされている

EDESTADDRREQ -50 引数(name,namelen)が不正

EAFNOSUPPORT -58 指定のアドレスファミリーは現在未サポート

EADDRNOTAVAIL -60 与えられたアドレスは、本システム上では利用できない

EISCONN -67 そのソケットは既に接続されている

LISTEN

EBADF -16 有効なソケット識別子ではない

EINVAL -22 パラメータ不正

EOPNOTSUPP -56 ソケットがlistenをサポートしている型ではない

RECV

RECVFROM

ETIMEDOUT -12 タイムアウト

ECONNABORTED -14 ローカルシステム上でコネクションが切断された

EBADF -16 有効なソケット識別子ではない

EFAULT -17 引数(バッファポインタ)ポインタ不正

EWOULDBLOCK -18 受信すべきデータがない

EPIPE -32 コネクションは切断されている

EOPNOTSUPP -56 指定された操作は、そのソケットではサポートされていな

ドキュメント内 6E8C3850.book (ページ 98-128)