日本語 English

Request path

What Is a Request Path?

In CIP message communication, a Request Path is used to specify the target you want to read or write.

A request path is made by concatenating multiple segments and can specify PLC variables, structure members, array elements, CIP objects and more.

For example, whether specifying the variable testInt, the structure member testStruct.int16 or the array element aryInt[1], it is ultimately converted into a byte sequence as a request path and sent.

Basic Structure of a Request Path

A Request Path is information that expresses "which object" and "which member" to access.

Each segment consists of Type, Format and Data, and multiple segments are concatenated depending on the target.

Writing a request path to specify a variable name

A request path is written by concatenating multiple segments

Request Path
Length
Segment1 Segment2Segment3 ...
TypeFormatData TypeFormatData TypeFormatData
76543210 76543210 76543210
Segment types
TypeDescription
765
000Port Segment
001Logical Segment
010Network Segment
011Symbolic Segment
100Data Segment
101Data Type
110Data Type
111Reserved
The segment Format differs depending on the Type

What Is a Data Segment?

A Data Segment specifies a PLC variable name. The NJ/NX series generally uses the "ANSI Extended Symbol Segment (0x91)".

By specifying the length of the variable name and the name itself, you can access global variables and structure members in the PLC.

Here, variables are accessed using a Data Segment (access to variables) and a Logical Segment (access to CIP objects)

Of the following Format types, "ANSI Extended Symbol Segment" is used
Data Segment format
TypeSub TypeHex notationDescription
76543210
100000000x80Simple Data Segment
100010x91ANSI Extended Symbol Segment

What Is a Logical Segment?

A Logical Segment specifies a CIP object. CIP objects are accessed by specifying the Class ID, Instance ID, Attribute ID and so on.

Used to access standard CIP objects such as the Identity object and the TCP/IP Interface object.

Of the following Format types, "ANSI Extended Symbol Segment" is used
Data Logical Segment format
TypeLogical
Type
Logical
Format
Hex notationDescription
76543210
001000000x20Class ID
001000x24Instance ID
010000x28Member ID
011000x2CConnection Point
100000x30Attribute ID
Of the following Format types, "ANSI Extended Symbol Segment" is used
Logical Format meanings (number of bits of the following data)
Logical FormatDescription
10
008bit logical address
0116bit logical address
1032bit logical address

How to Specify Variables

Specifying a simple variable

Target variable nametestInt

For a simple variable, the variable name can be specified as-is using the ANSI Extended Symbol Segment.

Use a Data Segment to specify the number of bytes and the name of the variable
Request Path
Length(word)
Segment
TypeSub TypeData
Data SegmentANSI Extended Symbol SegmentVariable LengthVariable Name(pad)
100100 01
0x050x910x07"testInt"0x00

Specifying a structure member

Target variable nametestStruct.int16

A structure member can be specified either by splitting it into segments or as a single string in dot notation.

Use Data Segments to specify the number of bytes and the name of the structure in Segment1 and of the member in 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
or
Request
Path
Length
(word)
Segment1
TypeSub TypeData
Data SegmentANSI Extended Symbol SegmentVariable LengthVariable Name
1001 0001
0x090x910x10"testStruct.int16"

Specifying an array element

Target variable namearyInt[1]

An array element can be specified either with a Member ID segment or as a string that includes the subscript.

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
or
Request
Path
Length
(word)
Segment1
TypeSub TypeData
Data SegmentANSI Extended Symbol Segment Variable LengthVariable Name
10010 001pad
0x060x910x09"aryInt[1]"0x00

Comments