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

Parameters

Name

Type

Description

Required

state

String

ADS state

yes

var.get

Description

Get symbol value

Parameters

required

Returns

Symbol value

Parameters

Name

Type

Description

Required

i

String

Symbol name

yes

var.list

Description

List symbols

Parameters

required

Returns

Symbols and their values

Parameters

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

Parameters

Name

Type

Description

Required

i

String

Symbol name

yes

value

Any

value to set

yes