1. TOP
  2. OMRON
  3. 上位アプリケーション
  4. CIPメッセージ通信 UCMM
  5. リクエストパス

変数名を指定するときのリクエストパスの書き方

リクエストパスは複数のセグメントを繋げて書きます

Request Path
Length
Segment1 Segment2Segment3 ...
TypeFormatData TypeFormatData TypeFormatData
76543210 76543210 76543210

セグメントの種類

Type説明
765
000Port Segment
001Logcal Segment
010Network Segment
011Symbolic Segment
100Data Segment
101Data Type
110Data Type
111Reserved
セグメントのFormatはTypeによって異なります

ここではData Segment(変数へのアクセス)とLogical Segment(CIPオブジェクトへのアクセス)を使って変数へアクセスします

Data Segmentのフォーマット

Formatの種類は以下の種類のうち"ANSI Extended Symbol Segment"を使います
TypeSub TypeHEX表記説明
76543210
100000000x80Simple Data Segment
100010x91ANSI Extended Symbol Segment

Data Logical Segmentのフォーマット

Formatの種類は以下の種類のうち"ANSI Extended Symbol Segment"を使います
TypeLogical
Type
Logical
Format
HEX表記説明
76543210
001000000x20Class ID
001000x24Instance ID
010000x28Member ID
011000x2CConnection Point
100000x30Attribute ID

Logical Formatの内容 (後に続くデータのビット数)

Formatの種類は以下の種類のうち"ANSI Extended Symbol Segment"を使います
Logical Format説明
10
008bit logical address
0116bit logical address
1032bit logical address

変数の指定の仕方

単純な変数の指定

対象の変数名testInt

Data Segmentを使って変数名のバイト数と名称を指定します

Request Path
Length(word)
Segment
TypeSub TypeData
Data SegmentANSI Extended Symbol SegmentVariable LengthVariable Name(pad)
100100 01
0x050x910x07"testInt"0x00

構造体のメンバの指定

対象の変数名testStruct.int16

Data Segmentを使ってSegment1に構造体とSegment2にメンバをそれぞれバイト数と名称を指定します

Request
Path
Length
(word)
Segment1Segment2
TypeSub TypeData TypeSub TypeData
Data SegmentANSI Extended Symbol SegmentVariable Length Variable NameData SegmentANSI Extended Symbol SegmentVariable Length Variable Name(pad)
10010 001 10010 001
0x0a0x910x0a"testStruct"0x910x05"int16"0x00

または

Request
Path
Length
(word)
Segment1
TypeSub TypeData
Data SegmentANSI Extended Symbol SegmentVariable LengthVariable Name
1001 0001
0x090x910x10"testStruct.int16"

配列の要素の指定

対象の変数名aryInt[1]
Request
Path
Length
(word)
Segment1Segment2
TypeSub TypeDataType Logical TypeLogical FormatData
Data SegmentANSI Extended Symbol SegmentVariable LengthVariable Name Logical SegmentMember ID8bit addressIndex
100100 010 010100 0
0x0a0x910x06"aryInt"0x280x01

または

Request
Path
Length
(word)
Segment1
TypeSub TypeData
Data SegmentANSI Extended Symbol Segment Variable LengthVariable Name
10010 001pad
0x060x910x09"aryInt[1]"0x00

この記事へのコメント