Virtual ADS service
sim-ads-service service simulates a generic ADS service. The service can be bound to any AMS address/port.
Features provided
A standard ADS context plus the majority of ADS API methods.
Deployment
Note
A Virtual ADS port must be deployed first.
eva svc create sim.ads1.plc1 /opt/eva4/sim/svc-tpl-sim-ads-service.yml
where the service configuration template is:
command: sim/sim-ads-service
bus:
path: var/bus.ipc
config:
ams_addr: 127.0.0.1.1.1:851
port_svc: sim.ads.port1
verbose: true
# auto cleanup client handles
auto_cleanup: true
#symbols:
#- name: MAIN.test1
# set size > 0 for arrays
#size: 5
# valid values: NULL, SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT
# REAL, LREAL, BIG, STRING, WSTRING, REAL80, BIT, MAX
#type: DINT
user: nobody
EAPI methods
The following methods can be called via the local bus (see EAPI commons):
handle.list
Description |
List allocated ADS handles |
Parameters |
none |
Returns |
ADS handle list |
Return payload example:
{
"127.0.0.1:54391": [
{
"id": 1,
"index_group": 16448,
"index_offset": 0,
"size": 4
}
]
}
state.get
Description |
Get current ADS device state |
Parameters |
none |
Returns |
ADS state |
Return payload example:
{
"state": "run"
}
state.set
Description |
Set ADS device state |
Parameters |
required |
Returns |
nothing |
Name |
Type |
Description |
Required |
state |
String |
ADS state |
yes |
var.get
Description |
Get symbol value |
Parameters |
required |
Returns |
Symbol value |
Name |
Type |
Description |
Required |
i |
String |
Symbol name |
yes |
var.list
Description |
List symbols |
Parameters |
required |
Returns |
Symbols and their values |
Name |
Type |
Description |
Required |
full |
bool |
Full output (name/value) |
no |
Return payload example:
[
{
"name": "MAIN.var1"
},
{
"name": "MAIN.var2"
},
{
"name": "MAIN.var3"
}
]
var.set
Description |
Set symbol value |
Parameters |
required |
Returns |
nothing |
Name |
Type |
Description |
Required |
i |
String |
Symbol name |
yes |
value |
Any |
value to set |
yes |