IO-Link master with EtherCAT interface DataLine 4 ports IP 65 / IP 66 / IP 67
49
>
9.2.9
IO-Link ports: Configuring device validation and data storage
59792
Substructure:
iolinkmaster/port[n]
(n = 1...4).
Available data points:
Name
Description
Access
../validation_datastorage_mode
Response of the IO-Link port when a new IO-Link device is connected
rw*
../validation_vendorid
IO-Link ID of the manufacturer that is to be validated
rw*
../validation_deviceid
IO-Link ID of the device that is to be validated
rw*
../datastorage
Structure for port data storage
rw
../datastorage/maxsize
Maximum size of the data storage content (in bytes)
r
../datastorage/chunksize
Size of a data segment (in bytes)
r
../datastorage/size
Size of the data storage content (in bytes)
r
r ... read only
rw ... read and write
* ... can only be changed if the EtherCAT PLC is not in RUNNING state
Applicable services:
Service
Description
../validation_useconnecteddevice
Validate the IO-Link device connected to the IO-Link port*
../datastorage/getblobdata
Reading the content of the data storage area
../datastorage/stream_set
Transfer an individual data segment*
../datastorage/start_stream_set
Start sequential transmission of several data segments*
* ... can only be changed if the EtherCAT PLC is not in the RUNNING state
>
Example: Clone the Data Storage of an IO-Link port
52344
Task:
Save the Data Storage of IO-Link port X02 of IO-Link master 1 and restore the data at IO-Link
master 2.
Solution:
The cloning process consists of 2 steps. In the first step, the Data Storage of the IO-Link
port of IO-Link master 1 is saved. In the second step, the saved data is restored at the Data Storage of
port IO-Link port of IO-Link master 2.
Save Data Storage:
1 Preparations
►
Read size of segments of Data Storage (h = number of bytes):
{"code":"request", "cid": -1,"adr":"/iolinkmaster/port[2]/datastorage/chunksize/getdata"}
Example: h = 256
►
Read total size of Data Storage area (g = number of bytes):
{"code": "request", "cid": -1, "adr": "/iolinkmaster/port[2]/datastorage/size/getdata"}
Example: g = 550
►
Calcuate the number of reading steps n: n = first integer value to which the following applies: g < n*h
Example: n= 3, because 550 < 3*256
2 Read Data Storage of IO-Link port
►
Read Data Storage segment by segment ("pos" is the byte offset, at which the reading process with length "length"
starts).
{"code": "request", "cid": -1, "adr": "/iolinkmaster/port[2]/datastorage/getblobdata", "data": {"pos": 0, "length": h}}
{"code": "request", "cid": -1, "adr": "/iolinkmaster/port[2]/datastorage/getblobdata", "data": {"pos": h, "length": h}}
{"code": "request", "cid": -1, "adr": "/iolinkmaster/port[2]/datastorage/getblobdata", "data": {"pos": 2*h, "length": h}}