AL1307
9.2.10.1 Beispiel: Datenspeicher eines IO-Link Ports klonen
Aufgabe: Der Datenspeicher des Ports 2 von IO-Link Master 1 soll nach IO-Link Master 2 geklont
werden.
Lösung: Das Klonen besteht aus 2 Schritten. Im ersten Schritt wird der Datenspeicher des Ports von
IO-Link Master 1 gelesen. Im zweiten Schritt werden die gelesenen Daten in den Datenspeicher des
Ports von IO-Link Master 2 gespeichert.
Datenspeicher lesen
u Segmentgröße des Data Storage lesen (h = Anzahl der Bytes)
{
"code":"request",
"cid": -1,
"adr":"/iolinkmaster/port[2]/datastorage/chunksize/getdata"
}
Beispiel: h = 256
u Gesamtgröße des Data Storage lesen (g = Anzahl der Bytes)
{
"code":"request",
"cid":-1,
"adr": "/iolinkmaster/port[2]/datastorage/size/getdata"
}
Beispiel: g = 550
u Anzahl der Leseschritte n berechnen: n = erster ganzzahliger Wert, für den gilt: g < n*h
Beispiel: n= 3, da 550 < 3*256
u Segmentweise den Data Storage lesen ("pos" gibt den Byte-Offset an, an dem mit der Länge
"length" der Lesevorgang startet).
{
"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}
}
...
{
"code":"request",
"cid":-1,
"adr":"/iolinkmaster/port[2]/datastorage/getblobdata",
"data":{"pos":n*h,"length":h}
}
44
IO-Link Master mit PROFINET-Schnittstelle