| PLC Type | AdsDefinition | JSON Type |
|---|---|---|
| BOOL | BOOL | boolean |
| BYTE | BYTE | Number |
| USINT | USINT | Number |
| SINT | SINT | Number |
| WORD | WORD | Number |
| UINT | UINT | Number |
| INT | INT | Number |
| INT16 | INT | Number |
| DWORD | DWORD | Number |
| UDINT | UDINT | Number |
| DINT | DINT | Number |
| TIME | TIME | TIMESTAMP/Number |
| TOD | TOD | TIMESTAMP/Number |
| TIME_OF_DAY | TIME_OF_DAY | TIMESTAMP/Number |
| DATE | DATE | TIMESTAMP/Number |
| DT | DT | TIMESTAMP/Number |
| POINTER | DWORD | Number |
| REAL | REAL | Number |
| LREAL | LREAL | Number |
| String(Length) | String.Length | String |
| ENUM | INT | Number |
Structures are simple JSON-Objects, which can be nested.
e.g
PLC-Type:
TYPE ST_BUTTON
STRUCT
bPressed : BOOL;
sText : STRING(50);
END_STRUCT
END_TYPE
TYPE TEST :
STRUCT
x : INT;
stButton : ST_BUTTON;
END_STRUCT
END_TYPE
JSON:
{
"x": "INT",
"stButton": {
"bPressed" : "BOOL",
"sText" : "STRING.50"
}
}
SPS Arrays have a speciall syntax in the JSON representation.
e.g this defines the a Array of 10 elments of the structure above
TYPE ARRAY_TEST :
STRUCT
aTest : ARRAY [1..10] OF TEST;
END_STRUCT
END_TYPE
{
"aTest": [{
"x": "INT",
"stButton": {
"bPressed" : "BOOL",
"sText" : "STRING.50"
},
"_len": 10
}]
}