ADAM 6000 - 6200 - MQTT User Manual - V1.0
ADAM 6000 - 6200 - MQTT User Manual - V1.0
1
History Record:
2
Table of Contents
1. Function Introduction ................................................................................................................................. 6
1.1 Function list.......................................................................................................................................... 6
1.2 Function support .................................................................................................................................. 8
2. Service Setting ......................................................................................................................................... 10
2.1 ADAM MQTT Enable ....................................................................................................................... 10
2.2 EdgeSync 360/ EdgeHub MQTT Enable ........................................................................................... 10
2.3 Azure Enable ...................................................................................................................................... 11
2.4 MQTT diagnosis ................................................................................................................................ 12
2.4.1 MQTT heart counter .................................................................................................................... 13
2.4.2 MQTT diagnostic event ............................................................................................................... 14
3 . ADAM MQTT ....................................................................................................................................... 16
3.1 Host IP ................................................................................................................................................ 16
3.2 TLS Enable......................................................................................................................................... 17
3.3 User Name & Password ..................................................................................................................... 18
3.4 Heartbeat ............................................................................................................................................ 19
3.5 Retain Message .................................................................................................................................. 20
3.6 Deadband............................................................................................................................................ 20
3.7 Interval ............................................................................................................................................... 21
3.8 WDT................................................................................................................................................... 22
3.9 Apply .................................................................................................................................................. 24
3.10 Basic Settings ................................................................................................................................... 24
3.11 Pub/Sub Topic .................................................................................................................................. 25
3.11.1 Will Topic .................................................................................................................................. 25
3.11.2 Profile Topic .............................................................................................................................. 25
3.11.3 Channel Type Topic .................................................................................................................. 27
3.11.4 Control Topic ............................................................................................................................. 27
3.11.5 All Data Topic ........................................................................................................................... 28
3.11.6 Channel Config Topic................................................................................................................ 30
3.11.7 Channel Value Topic ................................................................................................................. 61
3.11.8 Network Setting Topic ............................................................................................................... 88
3.11.9 Access Control Topic ................................................................................................................ 90
3.11.10 User-defined Modbus address Topic ....................................................................................... 93
3.11.11 OTA for Firmware/Configuration File .................................................................................. 101
3
3.11.12 Pub/Sub Topic Rules ............................................................................................................. 108
3.11.13 Range command format ......................................................................................................... 109
3.11.14 ACK Error Table ................................................................................................................... 110
3.12 Advanced Settings .......................................................................................................................... 111
3.12.1 Publish Will Topic and Message ............................................................................................. 112
3.12.2 Publish All Data Topic and Message ....................................................................................... 114
3.12.3 Publish AI Type Topic and Message ....................................................................................... 116
3.12.4 Publish AO Type Topic and Message ..................................................................................... 118
3.12.5 Subscribe DO Control Topic and Message.............................................................................. 119
3.12.6 Subscribe AI Type Topic and Message ................................................................................... 121
3.12.7 Subscribe AO Control Topic and Message.............................................................................. 122
3.12.8 Subscribe AO Type Topic and Message.................................................................................. 123
3.13 Group configuration ....................................................................................................................... 125
4. EdgeSync 360/ EdgeHub ....................................................................................................................... 126
4.1 What is EdgeSync 360/EdgeHub ..................................................................................................... 126
4.2 EdgeSync 360/ Edgehub creates ADAM module ............................................................................ 127
5. Azure ...................................................................................................................................................... 129
5.1 Azure Connected .............................................................................................................................. 129
5.1.1 Setup Azure cloud ...................................................................................................................... 129
5.1.2 Setup device explore and connect Azure ................................................................................... 131
5.1.3 Setup ADAM module and connect Azure (Utility) ................................................................... 132
5.1.4 Device Explore Operation ......................................................................................................... 134
5.2 IoT Connection String ...................................................................................................................... 135
5.3 TLS ................................................................................................................................................... 136
5.4 Heartbeat & Deadband & Interval ................................................................................................... 136
5.5 Retain Message ................................................................................................................................ 136
5.6 Basic Settings ................................................................................................................................... 136
5.7 Pub/Sub Topic .................................................................................................................................. 137
5.7.1 Will Topic .................................................................................................................................. 137
5.7.2 Channel Type Topic................................................................................................................... 137
5.7.3 Control Topic ............................................................................................................................. 137
5.7.4 All Data Topic ........................................................................................................................... 138
5.7.5 Pub/Sub Topic Rules ................................................................................................................. 139
5.8 Advanced Settings ............................................................................................................................ 140
4
5.8.1 Publish Will Topic and Message ............................................................................................... 141
5.8.2 Publish All Data Topic and Message......................................................................................... 142
5.8.3 Publish AI Type Topic and Message ......................................................................................... 145
5.8.4 Publish AO Type Topic and Message ....................................................................................... 147
5.8.5 Subscribe DO Control Topic and Message................................................................................ 148
5.8.6 Subscribe AI Type Topic and Message ..................................................................................... 150
5.8.7 Subscribe AO Control Topic and Message................................................................................ 151
5.8.8 Subscribe AO Type Topic and Message.................................................................................... 153
5
1. Function Introduction
Our utility provides secure cloud functions to help you achieving effectively remote device
management and deployment. We’ll provide guidelines from this manual to setup your cloud IO devices.
1
9
2
3
4
5 7
6 8
10 11
2. Host IP
You can set up the broker URL or IP address. ADAM modules connect to the broker via the standard
MQTT protocol.
6
ADAM modules support TLS encryption during data transmissions. We can choose to use TLS
certificate and verify certificate date.
5. Heartbeat
The broker will regularly check the connection with the ADAM at the heartbeat interval (keep-alive)
setting. The minimum interval setting is 5 s
6. Retain Message
When the retain function is enabled. The broker will store the last message of the topic. If a new
subscription for the topic is made, the message will be sent to the client. The client can get the last
message and does not need to wait until the next message is updated.
7. Deadband
Deadband is set to determine the minimum interval between publishing two MQTT messages. This is
intended to prevent MQTT messages from being published excessively due to noise
8. Interval
Set the interval for automatically publishing all data topics.(Interval must be more than Deadband)
9. Apply
Set Utility MQTT settings (excluding Advanced Settings) to the ADAM module. After pressing Apply,
the connection will be automatically disconnected to set the mqtt Settings, and then reconnect.
7
Figure 2. Basic Setting
8
ADAM MQTT
Host IP
TLS v6.01B21 v6.01B18 v6.01B22
User name
Password
Heartbeat
Retain Message
Deadband v6.11B37 v6.11B16 v6.01B22 v6.01B18 v6.01B22
Interval v6.11B37 v6.11B16 v6.01B22 v6.01B18 v6.01B22
WDT v6.13B07 X X X X
Basic Settings v6.01B24 v6.01B19 v6.01B23
Advanced Settings v6.01B24 v6.01B19 v6.01B23
Basic Topic
All data Topic
CH config Topic v6.11B30 v6.11B14 v6.01B20 v6.01B18 v6.01B22
CH value Topic v6.11B30 v6.11B14 v6.01B20 v6.01B18 v6.01B22
Network Setting Topic v6.13B08 v6.13B00 v6.03B00 v6.03B00 v6.03B00
Access Control Topic v6.13B08 v6.13B00 v6.03B00 v6.03B00 v6.03B00
User-defined Modbus v6.13B08 v6.13B00 v6.03B00 v6.03B00 v6.03B00
address Topic
OTA v6.13B09 v6.13B00 v6.03B00 v6.03B00 v6.03B00
EdgeSync 360/ EdgeHub
Heartbeat X X X X X
Retain Message X X X X X
New Deadband v6.11B37 v6.11B16 v6.01B22 v6.01B18 v6.01B22
New Interval v6.11B37 v6.11B16 v6.01B22 v6.01B18 v6.01B22
Basic Settings X X X X X
Advanced Settings X X X X X
Basic Topic v6.11B14 v6.01B20 v6.01B18 v6.01B22
All data Topic v6.11B14 v6.01B20 v6.01B18 v6.01B22
CH config Topic v6.11B14 v6.01B20 v6.01B18 v6.01B22
CH value Topic v6.11B14 v6.01B20 v6.01B18 v6.01B22
OTA v6.13B09 v6.13B00 v6.03B00 v6.03B00 v6.03B00
9
2. Service Setting
As below chart, * is a command that has been written in the ADAM-6000/6200 product user manual
and is open to users.
➢ When ADAM MQTT or Azure or SNMP Trap has been enabled, set EdgeSync 360/ EdgeHub
enable/disable will return Error。
➢ When ADAM MQTT is connected to the broker, set disable will actively publish will topic (status:
disconnect)。
ASCII command:
Command Description Remarks
%aaSETMQTTENxx* aa: always 01 Return: >01
xx: 01 (enable), Error: ?01
00 (disable)
%aaGETMQTTEN* aa: always 01 Return: !01 (enable),
!00 (disable)
Error: ?01
➢ When ADAM MQTT or Azure or SNMP Trap has been enabled, set EdgeSync 360/ EdgeHub
enable/disable will return Error。
➢ When EdgeSync 360/ EdgeHub is connected to the broker, set disable will actively publish the will
topic (status: disconnect)。
ASCII command:
Command Description Remarks
%aaSETWMPENxx aa: always 01 Return: >01
xx: 01 (enable), Error: ?01
10
00 (disable)
%aaGETWPMPEN aa: always 01 Return: !01 (enable),
!00 (disable)
Error: ?01
ASCII command:
Command Description Remarks
%aaSETAHENxx aa: always 01 Return: >01
xx: 01 (enable), Error: ?01
00 (disable)
%aaGETAHEN aa: always 01 Return: !01 (enable),
!00 (disable)
Error: ?01
11
2.4 MQTT diagnosis
It’s used to diagnose the MQTT connection status and receive related information during Pub/Sub.
➢ Support MQTT diagnosis starting from the following version:
ADAM ADAM- ADAM- ADAM- ADAM-
DIO 6017/6217 6018+ 6024 6224
V6.11 B41 V6.11 B20 V6.01B26 V6.01B19 V6.01B23
➢ Utility start to support diagnosis function from B18 version。(Utility → Cloud → Diagnosis)
➢ Enter Diagnosis page, then Utility start Polling command。
12
2.4.1 MQTT heart counter
This function is to confirm the current connection status and continuous running heart counter.
As below is the process of connecting and reconnecting Module and broker:
ASCII command:
Command Description Remarks
%aaGETMQTTHC Gonnection error alaet Return: !HeartCounter
MQTT heart counter Error: ?01
aa: always 01
➢ MQTT heart counter is an unsigned long variable. Bits 30 and 31 show the current connection status, and
13
the remaining bits are used to record the heart counter to know the module operation status.
➢ Heart counter will react and increase with below conditions :
1. When starting to connect for the first time
2. When trying to connect again
3. When publishing any publish information
4. When receiving any subscribe information
5. Pending requests happens according to heartbeat settings
➢ The Heart counter will return to zero when Disconnecting.
According to MQTT connection status, MQTT diagnostic event includes MQTT error/alarm
information。
ASCII command:
Command Description Remarks
%aaGETMQTTDE Get MQTT diagnostic Return: !0MQTT information
event or !1xxxx (error alarm)
aa: always 01 Error: ?01
➢ Connection error alarm is an unsigned long variable. The 31st bit is used to determine whether the
connection is abnormal, and the 0th to 7th bits correspond to possible error causes。
Bit 0 The Broker's hostname or Port setting is incorrect. module cannot
find broker
Bit 1 TLS status setting error. For example, the broker does not enable
TLS but the Utility enables TLS, or conversely, the broker does
enable TLS but the Utility disables TLS.
Bit 2 The protocol version of Mqtt is wrong. Currently, Mqtt is usually
version 3.1.1. This alarm may only appear if the broker's protocol
version is upgraded in the future.
Bit 3 Broker server cannot be used. This alarm may occur when the host
IP can be transferred but the server cannot be connected. (For
example, when the EdgeSync 360/ EdgeHub server fails to connect
abnormally)
14
Bit 4 Username or password is incorrect. When the broker is set up with
mosquitto and an account is set, this alarm will appear if the Utility's
account is set incorrectly.
Bit 5 User is not authorized. Ex. This alarm will appear if the account
password is incorrect when connecting to EdgeSync360/ EdgeHub,
or if the Connection String is connected to Azure.
Bit 6 The Broker disconnected after being connected. This alarm will
appear when the Broker is abnormal after there has been a correct
connection.
Bit 7 When Cipher Suites for TLS cannot be paired. This alarm occurs
when the Cipher Suites supported by the Broker do not match the
Cipher Suites supported by the module.。
This alarm occurs when the CA certificate fails to verify the Server
Bit 8
certificate
This alarm occurs when there is a problem with the validity date of the
Bit 9
Server certificate or the SNTP time of the module is wrong.
This alarm occurs when there is a problem with the expiration date of the
Bit 10
Server certificate or the SNTP time of the module is wrong.
(Bit 2 ~ Bit 5 alarm definition is based on MQTT v3.1.1 error definition)
15
3. Time (RTC time or systick)
4. Topic name
Ex:
"Method":"Publish",“HostIP":"172.16.12.223","Time":"1196779","Topic":"Advantech/00D0C9FEAC
13/data"
or
"Method":"Subscribe","HostIP":"172.16.12.33",
"Time":"2000-01-01T01:26:21Z","Topic":"Advantech/00D0C9FE6050/ctl/do1"
3 . ADAM MQTT
* command has been written in the ADAM-6000/6200 product user manual and is open to users.
3.1 Host IP
You can set the broker Domain name/IP Address and port which will be connected. ADAM modules
will connect to the broker via standard MQTT.
➢ You don’t need to add Port when setting the host IP.
➢ Port uses 1883 by default, and 8883 is used by default when TLS is enabled.
➢ From following version (from below table), the maximum length of the host IP is modified to 199
characters (original maximum length is 50 characters), and the storage location of the flash is adjusted.
When the old version is upgraded to these versions, the host IP will be inherited, but when the new
version is downgraded to the old version, the IP address will be changed to the default value (0.0.0.0)
ADAM ADAM- ADAM- ADAM- ADAM-
DIO 6017/6217 6018+ 6024 6224
V6.11 B04 V6.11 B04 V6.01B24 V6.01B19 V6.01B23
ASCII command:
Command Description Remarks
%aaSETMQTTADxx…x* Set IP address of the Return: >01
or broker Error: ?01
16
%aaSETMQTTADxx…x:aaaa* aa: always 01
xx…x: IP
address/domain
(1~127 character)
aaaa: port address
port range:0~65535
Error: ?01
ADAM modules support TLS encryption during data transmissions. To enable TLS encryption, simply
check the checkbox labelled “Enable” and click “Apply” to implement the setting. (Requires HOST Port to
support TLS)
➢ When the broker is connected, changing the enable status will actively publish the will topic (status:
disconnect) and reconnect.。
➢ Current ADAM module support TLS v1.2。
As below are supported Cipher Suites:
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
ASCII command:
Command Description Remarks
%aaSETMQTTTLSxx aa: always 01 Return: >01
xx: 01 (enable), Error: ?01
17
00 (disable)
%aaGETMQTTTLS aa: always 01 Return: !01 (enable),
!00 (disable)
Error: ?01
➢ Added ASCII command for reading Cipher Suites start from following versions.
ADAM ADAM- ADAM- ADAM- ADAM-
DIO 6017/6217 6018+ 6024 6224
V6.13 B00 V6.13 B00 V6.03 B00 V6.03 B00 V6.03 B00
Ex:
!06003D0035009C003C002F000A
For some applications that require authorization control, the broker will constrain the subscriber's
authority to the data. For ADAM-6000/6200 modules, the username/password can be set using
18
Adam/Apax .NET utility. Then the MQTT message from ADAM-6000/6200 modules will come with the
username and password to access the broke
➢ If set null module will disable the username and password function.
➢ Utility changed to display user name and password in plain text in B16, and the old version is displayed
with *。
➢ When connected to the broker, using SET will actively publish the will topic (status: disconnect) and
reconnect.
➢ Starting from following version, the maximum length of user name and password will be modified to 199
characters (the original maximum length was 50 characters), and the storage location of flash will be
adjusted. When the old version is upgraded to this version, the user name and password will be
inherited, but when the new version is downgraded to the old version, user name and password changed
to default (user name: Advantech, password:00000000)
ADAM ADAM- ADAM- ADAM- ADAM-
DIO 6017/6217 6018+ 6024 6224
V6.11 B04 V6.11 B04 V6.01B24 V6.01B19 V6.01B23
ASCII command:
Command Description Remarks
%aaSETMQTTUNxx…x* aa: always 01 Return: >01
xx…x: user name Error: ?01
(0~199 character)
%aaGETMQTTUN* aa: always 01 Return: !UserName
Error: ?01
%aaSETMQTTPWxx…x* aa: always 01 Return: >01
xx…x: password Error: ?01
(0~199 character)
%aaGETMQTTPW* aa: always 01 Return: !Password
Error: ?01
3.4 Heartbeat
The broker will regularly check the connection with the ADAM at the heartbeat interval (keep-alive)
setting. Default: 5 second
19
ASCII command:
Command Description Remarks
%aaSETMQTTHBxxxx* aa: always 01 Return: >01
xxxx: heartbeat interval in Error: ?01
second (0005~FFFF)
When the retain function is enabled. The broker will store the last message of the topic. If a new
subscription for the topic is made, the message will be sent to the client. The client can get the last message
and does not need to wait until the next message is updated.
➢ EdgeSync 360/ EdgeHub and Azure don’t use this setting,fixed as disable。
ASCII command:
Command Description Remarks
%aaSETMQTTPRxx* aa: always 01 Return: >01
xx: 01 (enable), Error: ?01
00 (disable)
%aaGETMQTTPR* aa: always 01 Return: !01 (enable),
!00 (disable)
Error: ?01
3.6 Deadband
Deadband is set to determine the minimum interval between two publishing MQTT messages. It
prevents MQTT messages from being excessively published due to noise interferences。
Since the new version let Deadband range be set to 32 bits, there is a new ASCII command to facilitate
identification and used by Utility and customers. At the same time, because the old ASCII command is
20
already opened to customers, it is retained to facilitate customers to continue to use it.
After Utility B16, the new GET ASCII query modules will be used first. If the new ASCII does not
respond, the old GET ASCII query modules will be used.
➢ Default: 50 ms
➢ All MQTT modes of all modules will support the setting value of this command.
➢ Due to the limitation of the default value of flash table in FW, the maximum value only reaches 0xfffffffe.
➢ During setting, it will check whether the new deadband is greater than the current interval. If it is less than
the current interval, an Error will be returned.
ASCII command:
Command Description Remarks
%aaSETMQTTDBxxxxxxxx aa: always 01 Return: >01
xxxxxxxx: publishing Error: ?01
deadband in milliseconds
(0x00000032~0xfffffffe)
%aaGETMQTTDB aa: always 01 Return: !xxxxxxxx
(deadband in hex format)
Error: ?01
3.7 Interval
Set the interval for automatically publishing all data topic (Advantech/{mac}/data). Since deadband is
the minimum sampling interval, interval must be larger than deadband.
Since the new version opens and sets the Interval range to 32 bits, there is new ASCII command to
facilitate identification and use by Utility and customers. At the same time, because the old ASCII command
is already open to customers, it is retained to facilitate customers to continue to use it.
After Utility B16, the new GET ASCII query modules will be used first. If the new ASCII does not
respond, the old GET ASCII query modules will be used.。
➢ Default: 5000 ms
➢ All MQTT mods in all modules will support the setting value of this command.
➢ When setting, check whether the new interval is greater than the current deadband. Error will happens if
interval is less than deadband.
21
ASCII command:
Command Description Remarks
%aaSETMQTTPIxxxxxxxx aa: always 01 Return: >01
xxxxxxxx: publishing Error: ?01
Interval in milliseconds
(0x00000032~0xffffffff)
%aaGETMQTTPI aa: always 01 Return: !xxxxxxxx
(Interval in hex format)
Error: ?01
3.8 WDT
The complete mechanism of MQTT triggering WDT/FSV functions has been added in the following
versions.。
ADAM ADAM- ADAM- ADAM- ADAM-
DIO 6017/6217 6018+ 6024 6224
V6.13 B07 X X X X
22
Host idle time.
So it needs Heartbeat time ≦ Host Idle time
3. Connection & Publish to device
FSV is triggered when the Broker is disconnected or the device fails to receive a valid Publish packet
within the Host idle time.。
The valid Publish packet is as follows
Set Do Status : Advantech/{mac}/ctl/don {"v":true} or {"v":false}
ASCII command:
Command Description Remarks
%aaSETMQTTWDTxx Set the level of MQTT trigger Return: >01
WDT/FSV Error: ?01
aa: always 01
xx:
00 -> disable,
01 -> Connection & Broker
ping,
02 -> Connection & Publish to
device
%aaGETMQTTWDT Get the level of MQTT trigger Return: !xx
WDT/FSV Error: ?01
aa: always 01
xx:
00 -> disable,
01 -> Connection &
Broker ping,
02 -> Connection &
Publish to device
23
3.9 Apply
After modifying various settings of MQTT in Utility, you must press Apply to finalize the setting values
to the module.
Basic Settings can setup topic Pub/Sub QoS and enable/disable Publish channel topic。
➢ Basic Settings can only be used in ADAM MQTT mode. In other mode, Pub/Sub QoS are fixed as 0, and
Channel Publish topic fixed enabled。
➢ The topic list displayed in the Utility interface is written directly in the Utility's code. Therefore, when
there’re more topics requirements, User need to contact Advantech to modify the displayed topics.
➢ Disable Channel Publish topic can impact All data topic payload。
➢ ADAM-6018+ newly supports enable/disable Channel Publish topic since v6.01B24。
➢ ADAM-6024、ADAM-6224 currently don’t support enable/disable Channel Publish topic。
ASCII command:
Command Description Remarks
%aaSETMQTTPQxx* Set publishing Qos Return: >01
aa: always 01 Error: ?01
xx: publishing Qos (00~02)
%aaGETMQTTPQ* Get publishing Qos Return: !xx (publishing
aa: always 01 Qos in hex format)
Error: ?01
%aaSETMQTTSQxx* Set subscribing Qos Return: >01
aa: always 01 Error: ?01
xx: subscribing Qos (00~02)
%aaGETMQTTSQ* Get subscribing Qos Return: !xx (subscribing
aa: always 01 Qos in hex format)
Error: ?01
%aaSETMQTTDICHxxxx Set enable publish channel Return: >01
or topic flags Error: ?01
%aaSETMQTTDOCHxxxx aa: always 01
or xxxx: enable channel by bit
%aaSETMQTTAICHxxxx
24
or
%aaSETMQTTAOCHxxxx
%aaGETMQTTDICH Get enable publish channel Return: !xxxx (enable
or topic flags channel by bit)
%aaGETMQTTDOCH aa: always 01 Error: ?01
or
%aaGETMQTTAICH
or
%aaGETMQTTAOCH
ADAM module supports topic: 1. Will Topic、2. Profile Topic、3.Channel Type Topic、4. Control Topic、
5. All Data Topic、6. Channel Config Topic、7. Channel Value Topic、8. Network Setting Topic、9. Access
Control Topic、10. User-defined Modbus address Topic、11. OTA for Firmware/Configuration File。
When the Module actively connects/disconnects with the broker, the module will publish a will topic with
connect/disconnect message. Or when an accident occurs between the module and the broker and abnormal
disconnection happens, the broker will publish a will topic with disconnect message.。
Description Device sends device information including the I/O module slots.
PUBLISH Topic Device sends the current configurations.
Advantech/{MAC}/cfg/sensor/profile
Example Send Advantech/00D0C9CC0099/ cfg/sensor/profile
{
"SL": 0,
25
"Id": "ADAM-6050",
"DIn": 8,
"DOn": 2,
"RLAn": 0,
"AIn": 0,
"UIn": 0,
"AOn": 0,
"Cntn": 0,
"Ch": 0,
"RL": 0,
"FwVer": "A2.00 B01",
"BVer": "A1.00 B01",
"FCS": 0,
"IId":"00D0C9CC0099",
"DFS": 7
}
➢ Resource value definitions :
Field Abbreviation Data Type Property Description
For example,
“ADAM-6050” “ADAM-6051”
“ADAM-6052” “ADAM-6060”
“ADAM-6066” “ADAM-6250”
“ADAM-6251” “ADAM-6256”
“ADAM-6260” “ADAM-6266”
“ADAM-6017” “ADAM-6217”
“ADAM-6018+” “ADAM-6024-D”
“ADAM-6224”
Total DI Number DIn Number R 0, 1 ~: Digital input channel number.
26
Total modbusRTU rule RL Number R 0, 1 ~: modbusRTU rule number.
"" : none
Bootloader Version BVer String R Version information of bootloader firmware image.
"" : none
Function support FCS Number R Supported function table, bit x = 1 is
supported
Bit Description
0 P2P
1~15 Reserved for future use
Identity IId String R iSensing asset ID
Device Cloud Feature DFS Number R Features which are supported by device. Each Bit=1
support represent one supported feature. Please see Feature support
table.
Remarks
For the config topic initially supported by ADAM MQTT, the payload only contains messages of
DIO/AIO type. In addition to being published when the computer is powered on and connected, it will also
be published when the type changes.
➢ ADAM-6017 only have AI Config Topic name,don’t have DO Config Topic name。
➢ ADAM-6024 only have AIO Config Topic name,don’t have DIO Config Topic name。
➢ ADAM-6224 only have AO Config Topic name,don’t have DI Config Topic name。
➢ Type message format refer to 3.11.13
Config Topic name: DIO: Advantech/{mac}/cfg/sensor/din(don)
AIO: Advantech/{mac}/cfg/sensor/ain(aon)
n (channel number) starts from 1
Config message payload example: DIO: {"typ":"counter"}
AIO: {"typ":"+-10V"} or {"typ":"J Type:0-760C"}
It is the control topic initially supported by ADAM MQTT. The functions that can be controlled are 1. DO
27
High/Low, 2. AIO range type, and 3. AO value. (Cannot set DIO type through control topic)
➢ Type message format refer to 3.11.13
➢ Using DO Control Topic will clear WDT flags and reset Watch-dog timer to zero. (WDT processing will
be performed regardless of whether DO changes)
Publish the topic of all data messages. Interval is the only fixed topic。
➢ IO number to start from 1 (ex: di1, ai_st1)
➢ Topic name: Advantech/{mac}/data
➢ Message payload example:
ADAM-6050:
{"s":1,"t":0,"q":192,"c":1,"di1":0,"di2":true,"di3":true,"di4":true,"di5":true,"di6":true,"di7":true,"di8":true,"
di9":true,"di10":true,"di11":true,"di12":true,"do1":true,"do2":false,"do3":false,"do4":false,"do5":false,"do6":
false}
ADAM-6017:
{"s":1,"t":"2000-00-17T08:45:46Z","q":192,"c":1,"ai1":-0.002,"ai_st1":1,"ai2":-0.002,"ai_st2":1,"ai3":-0.00
2,"ai_st3":1,"ai4":-0.002,"ai_st4":1,"ai5":-0.002,"ai_st5":1,"ai6":-0.002,"ai_st6":1,"ai7":-0.002,"ai_st7":1,"ai
8":-0.002,"ai_st8":1,"do1":false,"do_st1":1,"do2":false,"do_st2":1}
ADAM-6024:
{"s":1,"t":"2000-00-00T06:12:10Z","q":192,"c":1,"di1":true,"di_st1":1,"di2":true,"di_st2":1,"do1":false,"do
_st1":1,"do2":false,"do_st2":1,"ai1":9999.9999,"ai_st1":0,"ai2":4.000,"ai_st2":1,"ai3":0.000,"ai_st3":1,"ai4"
:-0.003,"ai_st4":1,"ai5":-0.001,"ai_st5":1,"ai6":-0.002,"ai_st6":1,"ao1":4.000,"ao_st1":0,"ao2":5.001,"ao_st2
":0}
ADAM-6224:
28
{"s":1,"t":0,"q":192,"c":1,"di1":false,"di2":false,"di3":false,"di4":false,"ao1":0.487,"ao2":-4.757,"ao3":-10.0
00,"ao4":0.000}
General:
s: Reserved for further use, default value = 1
t: Trigger time Format: YYYY-MM-DDThh:mm:ss YYYY = year,
MM = month, DD = date, hh = hour, mm = minute, ss = second
Note: the function is not applied on
ADAM-6050/6051/6052/6060/6066, t = 0
q: Reserved for further use, default value 192
c: Reserved for further use, default value 1
ai_st value:
0 Channel disable
1 Streaming, normal
2 High latch
3 High momentary
4 Low latch
5 Low momentary
➢ ADAM-6024 only 0 and 1
If you want to get the data updated immediately on broker , you can use topic:
Advantech/{mac}/read/data
{"v":true}
29
3.11.6 Channel Config Topic
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/di_config/din
Get Advantech/00D0C9CC0099/ctl/sensor/di_config/di9
{
"cfg_id":"123",
"Md":0,
"Inv":1,
"Fltr": 1,
"FtLo": 10000,
30
"FtHi": 10000,
"FqP": 0,
"CntKp": 0,
"Tag": "FrontDoor"
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/di_config/di9
{
"cfg_id":"123",
"error":"No error
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
31
(if mode = DI or Counter, the function is
available)
Min. Low Signal FtLo Number RW Minimum low signal width of digit filter
Width 0 -4294967295 (0.1 ms)
Min. High Signal FtHi Number RW Minimum high signal width of digit filter
Width 0 -4294967295 (0.1 ms).
Remarks
Description Retrieves information about the digital output configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/do_genconfig
SUBSCRIBE Topic Get the configurations from DeviceCloud.
Advantech/{MAC}/ctl/sensor/do_genconfig
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/do_genconfig
Example Send Advantech/00D0C9CC0099/cfg/sensor/do_genconfig
{
32
"WDT":0,
"HI":720
}
Get Advantech/00D0C9CC0099/ctl/sensor/do_genconfig
{
"cfg_id":"123",
"WDT":0,
"HI":720
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/do_genconfig
{
"cfg_id":"123",
"error":"No error"
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
33
3.11.6.3 Digital output of ADAM-6000/6200 DIO
Description Retrieves information about the digital output configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/do_config/din
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/do_config/din
34
{
"cfg_id":"123",
"error":"No error"
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
35
Value when power off.
Description Retrieves information about the digital output configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/do_config/din
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/do_config/din
36
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/do_config/di9
{
"cfg_id":"123",
"error":"No error"
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
Description Retrieves information about the analog input configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/ai_genconfig
37
SUBSCRIBE Get the configurations from DeviceCloud.
Topic Advantech/{MAC}/ctl/sensor/ai_genconfig
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ai_genconfig
38
AI Resolution Res Number R 1 ~ 32: Number of bits for AI value.
For example, the resolution of ADAM-T110 AI is
12-bit.
Burn-out BMd Number RW The burn-out value
Up/Down Scale 0 Down scale
Mode 1 Up scale
AI Filter Mode AiT Number RW The AI filter mode
ADAM-6017 support
0 Auto (50/60Hz)
1 50 Hz
2 60 Hz
3 High Speed
ADAM-6217 support
0 Auto (50/60Hz)
1 50 Hz
2 60 Hz
Remarks
Description Retrieves information about the digital input configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/ai_config/ain
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ai_config/ain
39
Example Send Advantech/00D0C9CC0099/cfg/sensor/ai_config/ai2
{
"Ch":2,
"En":1,
"Rng":328,
"EnLA": 1,
"EnHA": 1,
"LAMd": 0,
“HLAMd": 0,
"LoA": "2.0",
"HiA": "6.3",
"Tag": "Analog Input 0"
}
Get Advantech/00D0C9CC0099/ctl/sensor/ai_config/ai2
{
"cfg_id":"123",
"En":1,
"Rng":328,
"EnLA": 1,
"EnHA": 1,
"LAMd": 0,
“HAMd": 0,
"LoA": "2.0",
"HiA": "6.3",
"Tag": "Analog Input 0"
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/ai_config/ai2
{
"cfg_id":"123",
"error":"No error"
}
40
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
Range
code
328 (0x0148) 0 – 10 V
327 (0x0147) 0 ~ 5 V
325 (0x0145) 0 ~ 1 V
262 (0x0106) 0 ~ 500 mV
261 (0x0105) 0 ~ 150 mV
323 (0x0143) +/- 10 V
322 (0x0142) +/- 5 V
321 (0x0141) +/- 2.5 V
259 (0x0103) +/- 150 mV
320 (0x0140) +/- 1 V
260 (0x0104) +/- 500 mV
384 (0x0180) 4 ~ 20 mA
385 (0x0181) +/- 20 mA
386 (0x0182) 0 ~ 20 mA
Enable Low EnLA Number RW 1 / 0: Enable / Disable AI low alarm function
Alarm
Enable High EnHA Number RW 1 / 0: Enable / Disable AI high alarm function
41
Alarm
Alarm Low Mode LAMd Number RW The alarm mode
0 Momentary
1 Latch
Alarm High Mode HAMd Number RW The alarm mode
0 Momentary
1 Latch
Low Alarm Value LoA String RW Set/get the low alarm limit value.
Data format is “±xxxx.yy”
Value range: -9999 ~ +9999
For example,
“+0003.250” or “3.25”
High Alarm Value HiA String RW Set/get the high alarm limit value.
Data format is “±xxxx.yy”
Value range: -9999 ~ +9999
For example,
“15.25”
Tag Name Tag String RW The description tag for this channel.
Max. 21 characters
Remarks
Description Retrieves information about the analog input configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/ai_genconfig
42
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ai_genconfig
43
For example, the resolution of ADAM-T110 AI is
12-bit.
Burn-out EnB Number RW 1 / 0: Enable / Disable AI burn-out detection
Detection Enable function
Burn-out BMd Number RW The burn-out value
Up/Down Scale 0 Down scale
Mode 1 Up scale
Remarks
Description Retrieves information about the temperature input configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/ai_config/ain
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ai_config/ain
44
"EnLA": 1,
"EnHA": 1,
"LAMd": 0,
“HLAMd": 0,
"LoA": "50.52",
"HiA": "700.36",
"LoS": "0.00",
"HiS": "760.00",
"Tag": "Temperature Input 0"
}
Get Advantech/00D0C9CC0099/ctl/sensor/ai_config/ai2
{
"cfg_id":"123",
"En":1,
"Rng":1024,
"EnLA": 1,
"EnHA": 1,
"LAMd": 0,
“HLAMd": 0,
"LoA": "50.52",
"HiA": "700.36",
"Tag": " Temperature Input 0"
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/ai_config/ai2
{
"cfg_id":"123",
"error":"No error"
}
45
➢ Resource value definitions by Each Channel :
Data
Field Abbreviation Property Description
Type
Channel Number Ch Number R 0, 1, …: Temperature input channel number.
Channel Enable En Number RW 1 / 0: Enable / Disable AI conversion
Notice: Average channel is read only. When
channel mask of average is not 0, the value
is 1.
Input Range Rng Number RW Analog input range.
Range
code
1024 T/C TypeJ 0~760℃
(0x400)
1056 T/C TypeK 0~1370℃
(0x420)
1088 T/C TypeT -100~400℃
(0x440)
1120 T/C TypeE 0~1000℃
(0x460)
1152 T/C TypeR 500~1750℃
(0x480)
1184 T/C TypeS 500~1750℃
(0x4A0)
1216 T/C TypeB 500~1800℃
(0x4C0)
46
1 Latch
Alarm High Mode HAMd Number RW The alarm mode
0 Momentary
1 Latch
Low Alarm Value LoA String RW Set/get the low alarm limit value.
Data format is “±xxxx.yy”
Round to two decimal places
Value range: -9999 ~ +9999
For example,
“3.2546” “3.25”
High Alarm Value HiA String RW Set/get the high alarm limit value.
Data format is “±xxxx.yy”
Round to two decimal places
Value range: -9999~ +9999
For example,
“15.2567” “15.26”
Temperature Min LoS String R Get the scaling min value
Scaling Value Value is depended on the min. of the Input
Range
For example,
If range input is “0~760℃”, Min scaling value
should be
0.
Temperature Max HiS String R Get the scaling max value
Scaling Value Value is depended on the max. of the Input
Range
For example,
If range input is “0~760℃”, Max scaling value
should be 760.
Tag Name Tag String RW The description tag for this channel.
Max. 21 characters
47
Remarks
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/di_config/din
Get Advantech/00D0C9CC0099/cfg/sensor/di_config/di2
{
"cfg_id":"123",
"Tag": "FrontDoor"
}
Send Ack. Advantech/00D0C9CC0099/cfg/sensor/di_config/di2
{
"cfg_id":"123",
"error":"No error"
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
48
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
Remarks
Description Retrieves information about the digital output configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/do_config/din
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/do_config/din
49
"cfg_id":"123",
"Tag": "DigOut"
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/do_config/di2
{
"cfg_id":"123",
"error":"No error"
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
Description Retrieves information about the analog input configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/ai_genconfig
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ai_genconfig
50
Example Send Advantech/00D0C9CC0099/cfg/sensor/ai_genconfig
{
"Res":16,
"AiT":0,
}
Get Advantech/00D0C9CC0099/ctl/sensor/ai_genconfig
{
"cfg_id":"123",
"AiT":0,
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/ai_genconfig
{
"cfg_id":"123",
"error":"No error"
}
51
3 High Speed
Remarks
Description Retrieves information about the digital input configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/ai_config/ain
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ai_config/ain
52
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
Remarks
Description Retrieves information about the digital input configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/ao_config/aon
53
Topic Advantech/{MAC}/ctl/sensor/ao_config/aon
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ao_config/aon
54
Channel Number Ch Number R 0, 1, …: Analog output channel number.
Output Range Rng Number RW Analog output range.
Range
code
328 (0x0148) 0 – 10 V
384 (0x0180) 4 ~ 20 mA
386 (0x0182) 0 ~ 20 mA
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/di_config/din
55
"FtLo": 10000,
"FtHi": 10000,
"Tag": "FrontDoor"
}
Get Advantech/00D0C9CC0099/ctl/sensor/di_config/di2
{
"cfg_id":"123",
"Md":0,
"Inv":1,
"Fltr": 1,
"FtLo": 10000,
"FtHi": 10000,
"Tag": "FrontDoor"
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/di_config/di2
{
"cfg_id":"123",
"error":"No error"
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
56
165 LowTriggerStartup
170 LowTriggerSafty
Invert Signal Inv Number RW 1 or 0: Enable or Disable invert signal
function.
Min. Low Signal FtLo Number RW Minimum low signal width of digit filter
Width 0 – 4294967295 (0.1 ms)
Min. High Signal FtHi Number RW Minimum high signal width of digit filter
Width 0 – 4294967295 (0.1 ms).
Tag Name Tag String RW The description tag for this channel.
Max. 21 characters
Remarks
Description Information about the analog output configuration resource on specific slot.
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/ao_genconfig
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ao_genconfig
57
" EnSV ":0
}
Get Advantech/00D0C9CC0099/ctl/sensor/ao_genconfig
{
"cfg_id":"123",
"EnSV ":1
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/ao_genconfig
{
"cfg_id":"123",
"error":"No error"
}
Remarks
Description Retrieves information about the digital input configuration resource on specific slot.
58
PUBLISH Topic Send the current configurations.
Advantech/{MAC}/cfg/sensor/ao_config/aon
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ao_config/aon
59
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
Range
code
328 (0x0148) 0 – 10 V
327 (0x0147) 0 ~ 5 V
323 (0x0143) +/- 10 V
322 (0x0142) +/- 5 V
384 (0x0180) 4 ~ 20 mA
386 (0x0182) 0 ~ 20 mA
60
4 8V/sec (or 8mA/sec)
5 16V/sec (or 16mA/sec)
6 32V/sec (or 32mA/sec)
7 64V/sec (or 64mA/sec)
Tag Name Tag String RW The description tag for this channel.
Max. 21 characters
Remarks
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/di_value/din
61
“CtFq”:0,
“Fq”:0,
“Lch”:0,
“Hch”:0,
}
Get Advantech/00D0C9CC0099/ctl/sensor/di_value/di2
{
"cfg_id":"123",
“Cnting”:0,
“ClrCnt”:0,
“OvLch”: 0,
“Lch”:0,
“Hch”:0,
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/di_value/di2
{
"cfg_id":"123",
"error":"No error"
}
62
1 Counter
2 LowToHighLatch
3 HighToLowLatch
4 Frequency
Signal Logic Stat Number R 1, 0: Input signal is Logic High or Low.
Status
Channel Value Val Number R DI measurement data
63
Get/Clear L2H Lch Number RW L2H latch status
Latch Status Read 1 : L2H latch occurred.
0 : no L2H latch
Write 0 : clear the L2H latch status
Get/Clear H2L Hch Number RW H2L latch status
Latch Status Read 1 : H2L latch occurred.
0 : no H2L latch
Write 0 : clear the H2L latch status
Remarks
Description Information about the digital input value resource on specific slot.
PUBLISH Topic Send the current status.
Advantech/{MAC}/cfg/sensor/do_value/don
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/cfg/sensor/do_value/don
64
Get Advantech/00D0C9CC0099/ctl/sensor/do_value/do2
{
"cfg_id":"123",
"Ch":2,
"Val":1,
"PsCtn":0,
"PsStop":0,
"PsIV": 0
}
Send Ack. Advantech/00D0C9CC0099/ack/cfg/sensor/do_value/do2
{
"cfg_id":"123",
"error":"No error"
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
65
Output Mode Value Description
DO Get the current signal
status or set its status
Pulse Output Get or set the absolute
pulse count value
LowToHighDelay Get the current signal
status or set its status
HighToLowDelay Get the current signal
status or set its status
Pulse Output PsCtn Number RW 1 / 0: Pulse outputting is continuous or not.
Continue State
Stop Pulse Output PsStop Number W 1: Stop the pulse outputting.
(Continue is disabled, Absolute and
incremental values are reset to zero. DO signal
status is set to logic low.)
Incremental Pulse PsIV Number RW Incremental Pulse Output Value
Output Value
Remarks
Description Information about the digital input value resource on specific slot.
PUBLISH Topic Send the current status.
Advantech/{MAC}/cfg/sensor/do_value/don
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/cfg/sensor/do_value/don
66
Example Send Advantech/00D0C9CC0099/cfg/sensor/do_value/do2
{
"Ch":2,
"Stat":1,
"Val":1,
}
Get Advantech/00D0C9CC0099/ctl/sensor/do_value/do2
{
"cfg_id":"123",
"Val":1,
}
Send Ack. Advantech/00D0C9CC0099/ack/cfg/sensor/do_value/do2
{
"cfg_id":"123",
"error":"No error"
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
Remarks
67
3.11.7.4 Analog input of ADAM-6017/6217
Description Information about the analog input value resource on specific slot.
PUBLISH Topic Send the current status.
Advantech/{MAC}/cfg/sensor/ai_value/ain
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ai_value/ain
}
Get Advantech/00D0C9CC0099/ctl/sensor/ai_value/ai2
{
"cfg_id":"123",
"ClrH": 1,
"ClrL": 1
"En":1
68
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/ai_value/ai2
{
"cfg_id":"123",
"error":"No error"
}
ADAM-6017-D/ ADAM-6217-B:
Range code
328 (0x0148) 0 – 10 V
327 (0x0147) 0 ~ 5 V
325 (0x0145) 0 ~ 1 V
262 (0x0106) 0 ~ 500 mV
261 (0x0105) 0 ~ 150 mV
323 (0x0143) +/- 10 V
322 (0x0142) +/- 5 V
259 (0x0103) +/- 150 mV
69
320 (0x0140) +/- 1 V
260 (0x0104) +/- 500 mV
384 (0x0180) 4 ~ 20 mA
385 (0x0181) +/- 20 mA
386 (0x0182) 0 ~ 20 mA
Channel Enable En Number R 1 / 0: Enable / Disable AI conversion
Notice: Average channel is read only. When
channel mask of average is not 0, the value is
1.
Channel Raw Val Number R 0 ~ 65535 :AI measurement data (Raw data)
Value
Channel Event Evt Number R AI statuses
Status Bit Order Description
0 Reserved
1 Over Range
2 Under Range
3 Open Circuit (Burnout)
4 Reserved
5 Reserved
6 Reserved
7 ADC initializing/Error
8 Reserved
Zero/Span Calibration
9
Error
10~31 Reserved
Low Alarm Status LoA Number RW Low alarm status
Read 1 : low alarm occurred.
0 : not occurred
Write 0 : clear the low alarm status
High Alarm Status HiA Number RW High alarm status
Read 1 : high alarm occurred.
0 : not occurred
Write 0 : clear the high alarm status
Maximum AI Raw HVal Number R AI max. measurement data (Raw data)
70
Value
Minimum AI Raw LVal Number R AI min. measurement data (Raw data)
Value
Clear Maximum ClrH Number W 1 : Clear the Maximum AI value
AI Value (clear would be done at the rising edge)
Clear Minimum ClrL Number W 1 : Clear the Minimum AI value
AI Value (clear would be done at the rising edge)
Channel EgF Number R AI engineering data, the value is floating type.
Engineering data Unit:
(floating type) mV or mA
For example,
9.120 → 9.12 mV or
-3.220→-3.22 mA
Maximum AI HEgF Number R AI max. engineering data, the value is is
Engineering data floating type. Unit: mV or mA
(floating type) For example,
10.200→10.2 mV
-5.120→-5.12 mV
Minimum AI LEgF Number R AI min. engineering data, the value is floating
Engineering data type. Unit: mV or mA
(floating type) For example,
250.350 → 250.35 mV
-0.120→-0.12 mV
Mapping unit Uni String R Unit for mapping value(mV or mA)
Max. 32 characters
Remarks
Description Information about the analog input value resource on specific slot.
71
PUBLISH Topic Send the current status.
Advantech/{MAC}/cfg/sensor/ai_value/ain
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ai_value/ain
}
Get Advantech/00D0C9CC0099/ctl/sensor/ai_value/ai2
{
"cfg_id":"123",
"ClrH": 1,
"ClrL": 1
"En":1
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/ai_value/ai2
{
"cfg_id":"123",
72
"error":"No error"
}
73
Channel Enable En Number R 1 / 0: Enable / Disable AI conversion
Notice: Average channel is read only. When
channel mask of average is not 0, the value is
1.
Channel Raw Val Number R 0 ~ 65535 :AI measurement data (Raw data)
Value
Channel Event Evt Number R AI statuses
Status Bit Order Description
0 Reserved
1 Over Range
2 Under Range
3 Open Circuit (Burnout)
4 Reserved
5 Reserved
6 Reserved
7 ADC initializing/Error
8 Reserved
Zero/Span Calibration
9
Error
10~31 Reserved
Low Alarm Status LoA Number RW Low alarm status
Read 1 : low alarm occurred.
0 : not occurred
Write 0 : clear the low alarm status
High Alarm Status HiA Number RW High alarm status
Read 1 : high alarm occurred.
0 : not occurred
Write 0 : clear the high alarm status
Maximum AI Raw HVal Number R AI max. measurement data (Raw data)
Value
Minimum AI Raw LVal Number R AI min. measurement data (Raw data)
Value
Clear Maximum ClrH Number W 1 : Clear the Maximum AI value
AI Value (clear would be done at the rising edge)
74
Clear Minimum ClrL Number W 1 : Clear the Minimum AI value
AI Value (clear would be done at the rising edge)
Channel EgF Number R AI engineering data, the value is floating type.
Engineering data Unit: 1℃
(floating type) For example,
50.12 ℃
Maximum AI HEgF Number R AI max. engineering data, the value is is
Engineering data floating type. Unit: 1℃
(floating type) For example,
50.12 ℃
Minimum AI LEgF Number R AI min. engineering data, the value is floating
Engineering data type. Unit: 1℃
(floating type) For example,
50.12 ℃
Mapping unit Uni String R Unit for mapping value (1C)
Max. 32 characters
Remarks
75
➢ Resource value definitions:
Field Abbreviation Data Type Property Description
Channel Number Ch Number R 0, 1, …: Digital input channel number.
Signal Logic Stat Number R 1, 0: Input signal is Logic High or Low.
Status
Remarks
Description Information about the digital input value resource on specific slot.
PUBLISH Topic Send the current status.
Advantech/{MAC}/cfg/sensor/do_value/don
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/cfg/sensor/do_value/don
76
Send Ack. Advantech/00D0C9CC0099/ack/cfg/sensor/do_value/do2
{
"cfg_id":"123",
"error":"No error"
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
Remarks
Description Information about the analog input value resource on specific slot.
PUBLISH Topic Send the current status.
Advantech/{MAC}/cfg/sensor/ai_value/ain
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ai_value/ain
77
Example Send Advantech/00D0C9CC0099/cfg/sensor/ai_value/ai2
{
"Ch":2,
"En":1,
"Rng":328,
"Val":0,
"Evt":0,
"HVal":32768,
"LVal":0,
"EgF":5000,
"HEgF":5000,
"LEgF":0,
“Uni”:“Volt”
}
Get Advantech/00D0C9CC0099/cfg/sensor/ai_value/ai2
{
"cfg_id":"123",
"ClrH": 1,
"ClrL": 1
"En":1
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/ai_value/ai2
{
"cfg_id":"123",
"error":"No error"
}
78
➢ Resource value definitions:
Data
Field Abbreviation Property Description
Type
Channel Number Ch Number R 0, 1, …: Analog input channel number.
0 normal
1 Over Range
2 Under Range
3 Open Circuit (Burnout)
4 Reserved
5 Reserved
6 Reserved
7 ADC initializing/Error
8 Reserved
Zero/Span Calibration
9
Error
10~31 Reserved
Maximum AI Raw HVal Number R AI max. measurement data (Raw data)
Value
Minimum AI Raw LVal Number R AI min. measurement data (Raw data)
79
Value
Clear Maximum ClrH Number W 1 : Clear the Maximum AI value
AI Value (clear would be done at the rising edge)
Clear Minimum ClrL Number W 1 : Clear the Minimum AI value
AI Value (clear would be done at the rising edge)
Channel EgF Number R AI engineering data, the value is floating type.
Engineering data Unit: mV or mA
(floating type) For example,
9.120 → 9.12 mV or
-3.220→-3.22 mA
Maximum AI HEgF Number R AI max. engineering data, the value is is
Engineering data floating type. Unit: mV or mA
(floating type) For example,
10.200→10.2 mV
-5.120→-5.12 mV
Minimum AI LEgF Number R AI min. engineering data, the value is floating
Engineering data type. Unit: mV or mA
(floating type) For example,
250.350 → 250.35 mV
-0.120→-0.12 mV
Mapping unit Uni String R Unit for mapping value (mV or mA)
Max. 32 characters
Remarks
Description Retrieves information about the analog output value resource on specific slot.
PUBLISH Topic Send the current status.
Advantech/{MAC}/cfg/sensor/ao_value/aon
80
where n = 1 ~ : the channel number
SUBSCRIBE Get the operation from DeviceCloud.
Topic Advantech/{MAC}/ctl/sensor/ao_value/aon
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ao_value/aon
81
➢ Resource value definitions :
Data
Field Abbreviation Property Description
Type
Channel Number Ch Number R 0, 1, …: Analog output channel number.
Channel Enable En Number R 1 : Enable function of this output channel.
Output Range Rng Number R Analog output range.
ADAM-6024-D
Range
code
328 (0x0148) 0 – 10 V
384 (0x0180) 4 ~ 20 mA
386 (0x0182) 0 ~ 20 mA
ADAM-6224
Range
code
328 (0x0148) 0 – 10 V
327 (0x0147) 0 ~ 5 V
323 (0x0143) +/- 10 V
322 (0x0142) +/- 5 V
384 (0x0180) 4 ~ 20 mA
386 (0x0182) 0 ~ 20 mA
82
Channel Event Evt Number R AO channel status
Status Bit Order Description
0~2 Reserved
Remarks
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/di_value/din
83
“TSa”:1,
}
Get Advantech/00D0C9CC0099/ctl/sensor/di_value/di2
{
"cfg_id":"123",
“TSt”:0,
“TSa”:0,
}
Send Ack. Advantech/00D0C9CC0099/ack/cfg/sensor/di_value/di2
{
"cfg_id":"123",
"error":"No error"
}
84
Get/Clear DI TSt Number RW DI triggered startup status
triggered Startup Read 1 : startup triggered.
0 : startup not triggered
Status
Write 0 : clear the startup triggered status
Get/Clear DI TSa Number RW DI triggered safty status
triggered Safty Read 1 : safty triggered.
0 : safty not triggered
Status
Write 0 : clear the safty triggered status
Remarks
Description Retrieves information about the analog output value resource on specific slot.
PUBLISH Topic Send the current status.
Advantech/{MAC}/cfg/sensor/ao_value/aon
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/sensor/ao_value/aon
85
"Val ":410,
" Eg ":1000,
}
Send Ack. Advantech/00D0C9CC0099/ack/ctl/sensor/ao_value/ao2
{
"cfg_id":"123",
"error":"No error"
}
➢ Message information definition:
Data
Field Abbreviation Property Description
Type
Message ID cfg_id String RW Max length: 31 bytes.
Acknowledge error String R See Error Table in 3.11.14
Description
ADAM-6024-D
Range
code
328 (0x0148) 0 – 10 V
384 (0x0180) 4 ~ 20 mA
386 (0x0182) 0 ~ 20 mA
ADAM-6224
Range
86
code
328 (0x0148) 0 – 10 V
327 (0x0147) 0 ~ 5 V
323 (0x0143) +/- 10 V
322 (0x0142) +/- 5 V
384 (0x0180) 4 ~ 20 mA
386 (0x0182) 0 ~ 20 mA
0~2 Reserved
Remarks
87
3.11.8 Network Setting Topic
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/NetworkSetting
Get Advantech/00D0C9CC0099/ctl/NetworkSetting
{
"cfg_id":"123",
"ipMd":1,
"ipaddr":"172.16.12.99",
"subnet":"255.255.254.0",
"gateway":"172.16.13.254",
"hostIdle":720,
"devName":"ADAM-6250_00D0C9CC0099",
"devDesc":"FW_RD 123",
"EnLocate":0,
88
"reset2FacDef":1
}
default:720 (second)
range:1 - 4095 (second)
Device Name devName String R/W Max length: 64 bytes.
Device devDesc String R/W Max length: 128 bytes.
Description
Locate EnLocate Number R/W Help user search ADAM module with
89
light sign. (The status LED will be
constantly on for 30 seconds.)
Locate Mode:
0 Disable
1 Enable
Reset to reset2FacDef Number R/W Set 1 to Reset to Factory Defaults
Factory default:0
Defaults
Remarks
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/AccessControl
90
"IP2":"255.255.255.255",
"MAC2":"FFFFFFFFFFFF",
"EN3":0,
"IP3":"255.255.255.255",
"MAC3":"FFFFFFFFFFFF",
"EN4":0,
"IP4":"255.255.255.255",
"MAC4":"FFFFFFFFFFFF",
"EN5":0,
"IP5":"255.255.255.255",
"MAC5":"FFFFFFFFFFFF",
"EN6":0,
"IP6":"255.255.255.255",
"MAC6":"FFFFFFFFFFFF",
"EN7":0,
"IP7":"255.255.255.255",
"MAC7":"FFFFFFFFFFFF"
}
Get Advantech/00D0C9CC0099/ctl/AccessControl
{
"cfg_id":"123",
"CtlMd":0,
"EN6":1,
"IP6":"172.16.12.38"
}
or
{
"cfg_id":"123",
"CtlMd":1,
"EN6":1,
"MAC6":"00D0C9FEFF06"
}
91
}
Note : n = 0 ~ 7
Security IP IPn String R/W Security IP/MAC Setting
address IP example: 255.255.255.255
Note1 : n = 0 ~ 7
Note2 : It can only be set when CtlMd is
IP address
Security MACn String R/W Security IP/MAC Setting
MAC address MAC example: 00D0C9FEFF06
Note1 : n = 0 ~ 7
Note2 : It can only be set when CtlMd is
MAC address
Remarks
92
3.11.10 User-defined Modbus address Topic
Ack. Topic Send the acknowledgement for the received SUBSCRIBE topic to DeviceCloud
Advantech/{MAC}/ack/ctl/UserDefMBAddr
Example Send Advantech/00D0C9CC0099/cfg/UserDefMBAddr
{
"0x_DIStatus":"0x0001",
"0x_StartCnt":"0x0033",
"0x_ClrCnt":"0x0039",
"0x_ClrOverflow":"0x0045",
"0x_DILatch":"0x0051",
"4x_CntFreqVal":"4x0001",
"4x_ModName":"4x0211",
"4x_DOStatus":"4x0303"
}
Get Advantech/00D0C9CC0099/ctl/UserDefMBAddr
{
"cfg_id":"123",
"0x_DIStatus":"0x0001",
"0x_StartCnt":"0x0033",
"0x_ClrCnt":"0x0039",
"0x_ClrOverflow":"0x0045",
"0x_DILatch":"0x0051",
"4x_CntFreqVal":"4x0001",
"4x_ModName":"4x0211",
"4x_DOStatus":"4x0303"
}
Note: An address cannot be assigned to two Field.
93
i.e: if the DI status address is 0001 and its length is 6, no other function can be assigned to
addresses 0001 to 0007.
DIO address
DI status 0x_DIStatus String R/W starting coil address of DI Status
default:"0x0001"
Number of points : Total number of
DIs
DO status 0x_DOStatus String R/W starting coil address of DO Status
default:"0x0017"
Number of points : Total number of
DOs
Start Counter 0x_StartCnt String R/W starting coil address of start/stop
counter
length : Total number of DIs
Clear counter 0x_ClrCnt String R/W Starting coil address of clear
counter
length : Total number of DIs
Clear overflow 0x_ClrOverflow String R/W Starting coil address of clear
overflow
94
length : Total number of DIs
DI latch status 0x_DILatch String R/W Starting coil address of DI latch
status
length : Total number of DIs
Counter/Frequency 4x_CntFreqVal String R/W Starting register address of
Value Counter/Frequency value
default:"4x0001"
Number of registers : Twice the
total number of DIs
Pulse output low 4x_PulsL String R/W Starting register address of Pulse
level width output low level width
Number of registers : Twice the
total number of DOs
Pulse output high 4x_PulsH String R/W Starting register address of Pulse
level width output high level width
Number of registers : Twice the
total number of DOs
Set absolute pulse 4x_AbsPuls String R/W Starting register address of set
absolute pulse
Number of registers : Twice the
total number of DIs
Set incremental 4x_IncPuls String R/W Starting register address of Set
pulse incremental pulse
Number of registers : Twice the
total number of DOs
Registers 4x_DIStatus String R/W Starting register address of DI
DI status Status
default:"4x0301"
Number of registers: 1
Registers 4x_DOStatus String R/W Starting register address of DO
DO status Status
default:"4x0303"
95
Number of registers: 1
Registers 4x_DIevt String R/W Starting register address of DI
DI event status event status
default:"4x0111"
Number of registers: Total number
of DIs
AI address
Registers 0x_RstHi String R/W Starting register address of Reset
Reset max AI value max AI value
default:"0x0101"
Number of points : Total number of
AIs
Registers 0x_RstHiAvg String R/W Starting register address of Reset
Reset max AI value max AI value average
average default:"0x0109"
Number of points : 1
Registers 0x_RstLo String R/W Starting register address of Reset
Reset min AI value min AI value
default:"0x0111"
Number of points : Total number of
AIs
Registers 0x_RstLoAvg String R/W Starting register address of Reset
Reset min AI value min AI value average
average default:"0x0119"
Number of points : 1
Registers 0x_Burnout String R/W Starting register address of Burnout
Burnout default:"0x0121"
Number of points : Total number of
AIs
Registers 0x_HiAS String R/W Starting register address of High
High alarm Status alarm Status
default:"0x0131"
96
Number of points : Total number of
AIs
Registers 0x_HiASAvg String R/W Starting register address of High
High alarm Status alarm Status average
average default:"0x0139"
Number of points : 1
Registers 0x_LoAS String R/W Starting register address of Low
Low Alarm Status Alarm Status
default:"0x0141"
Number of points : Total number of
AIs
Registers 0x_LoASAvg String R/W Starting register address of Low
Low Alarm Status Alarm Status average
average default:"0x0149"
Number of points : 1
AI value 4x_AIVal String R/W Starting register address of AI
value
default:"4x0001"
Number of registers : Total number
of AIs
AI value average 4x_AIValAvg String R/W Starting register address of AI
value average
default:"4x0009"
Number of registers : 1
Maximum AI Raw 4x_HiVal String R/W Starting register address of Max. AI
Value Raw Value
default:"4x0011"
Number of registers : Total number
of AIs
Maximum AI Raw 4x_HiValAvg String R/W Starting register address of Max. AI
Value average Raw Value average
default:"4x0019"
97
Number of registers : 1
Minimum AI Raw 4x_LoVal String R/W Starting register address of Min. AI
Value Raw Value
default:"4x0021"
Number of registers : Total number
of AIs
Minimum AI Raw 4x_LoValAvg String R/W Starting register address of Min. AI
Value average Raw Value average
default:"4x0029"
Number of registers : 1
AI Engineering 4x_AIEgF String R/W Starting register address of AI max.
data (floating type) engineering data
default:"4x0031"
Number of registers : Twice the
total number of AIs
AI Engineering 4x_AIEgFAvg String R/W Starting register address of AI
data average value average
(floating type) default:"4x0047"
Number of registers : 2
Maximum AI 4x_HiEgF String R/W Starting register address of Max. AI
Engineering data Engineering Value
(floating type) default:"4x0051"
Number of registers : Twice the
total number of AIs
Maximum AI 4x_HiEgFAvg String R/W Starting register address of Max. AI
Engineering data Engineering Value average
average (floating default:"4x0067"
type) Number of registers : 2
Minimum AI 4x_LoEgF String R/W Starting register address of Min. AI
Engineering data Engineering Value
(floating type) default:"4x0071"
Number of registers : Twice the
98
total number of AIs
Minimum 4x_LoEgFAvg String R/W Starting register address of Min. AI
Minimum AI Raw Engineering Value average
Value average default:"4x0087"
Number of registers : 2
AI status 4x_AIStatus String R/W Starting register address of AI
status
default:"4x0101"
Number of registers : Twice the
total number of AIs
AI range 4x_AIRng String R/W Starting register address of AI
range
default:"4x0201"
Number of registers : Total number
of AIs
AI range average 4x_AIRngAvg String R/W Starting register address of AI
range average
default:"4x0209"
Number of registers : 1
AI channel enable 4x_AIEn String R/W Starting register address of AI
channel enable
default:"4x0209"
Number of registers : 1
AO address
AO value 4x_AOVal String R/W Starting register address of AO
value
default:"4x0001"
Number of registers : Total number
of AOs
AO slew rate 4x_SR String R/W Starting register address of AO
value
default:"4x0011"
99
Number of registers : Total number
of AOs
AO status 4x_AOStatus String R/W Starting register address of AO
status
default:"4x0101"
Number of registers : Twice the
total number of AOs
AO range 4x_AORng String R/W Starting register address of AO
range
default:"4x0201"
Number of registers : Total number
of AOs
AO startup value 4x_SupVal String R/W Starting register address of AO
startup value
default:"4x0401"
Number of registers : Twice the
total number of AOs
AO safety value 4x_SftVal String R/W Starting register address of AO
safety value
default:"4x0411"
Number of registers : Twice the
total number of AOs
Base address
Clear GCL counter 0x_GCL_ClrCnt String R/W Starting coil address of Clear GCL
counter
default:"0x0301"
length : 8
Module name 4x_ModName String R/W Starting register address of Module
name
default:"4x0211"
Number of registers : 2
Registers 4x_GCL_Flag String R/W Starting register address of GCL
100
GCL flag flag
default:"4x0305"
Number of registers: 1
Registers 4x_GCL_Cnt String R/W Starting register address of GCL
GCL counter counter
default:"4x0311"
Number of registers: 16
Remarks
This chapter describes how to perform Firmware OTA (Over-The-Air) upgrade for Advantech devices. There
are three types of OTA:
➢ Firmware image
➢ Device configuration file :
A file exported by Utility that contains configuration settings such as device information, IO settings,
network settings, Cloud settings, SNTP settings, etc.
101
OTA Operation Process:
➢ The file server must be set up using a web server, and the web server needs to provide a URL of the HTTP
protocol.
3.11.11.1 Scenario
1. Cloud sends OTA Request to device. MQTT topic: Advantech/{MAC}/ota
2. Device Publishes MQTT message to Accept/Reject OTA request. MQTT topic:
Advantech/{MAC}/ack/ota
3. Device starts to download firmware or configuration file and publish MQTT messages to notify Cloud
its current download progress. Device could publish MQTT messages several times or every n seconds
to notify Cloud. MQTT topic: Advantech/{MAC}/update/ota
4. Before or after perform firmware/configuration file upgrade, device publish MQTT message to report to
Cloud the OTA result. MQTT topic: Advantech/{MAC}/update/ota
102
Figure 11. OTA Scenarios
SUBSCRIBE Advantech/{MAC}/ota
Topic
103
Example Cloud sends Advantech/00D0C9CC0099/ota to Device
{
"cfg_id":"5f4744bf50ac705ac8ac2dce",
"Url":"https://advantech.blob.windows.net/devicecloud/ADAM-6050/V6.13 B00/
V6.13 B00.bin",
"Typ":0,
"Itv":10
}
➢ Resource value definitions :
Field Abbreviation Data Type Property Description
104
2. Network Settings: Utility → Network → IP Address、Subnet Address、Default Gateway、
IP mode
105
3.11.11.3 Device ACK OTA Request
➢ Device Publish MQTT message to ACK Cloud request:
Advantech/{MAC}/ack/ota
Description Send the acknowledgement for the received OTA topic to Cloud
PUBLISH Topic Advantech/{MAC}/ack/ota
Example Device sends Advantech/00D0C9CC0099/ack/ota to Cloud
{
"cfg_id": "5f4744bf50ac705ac8ac2dce",
"Typ": 0,
"ackstatus":"0",
"cost":90,
"error":"No error"
}
➢ Resource value definitions :
Data
Field Abbreviation Property Description
Type
106
2 Device rejects
OTA firmware
download
Request
Firmware/Configuration cost Number R If OTA request is accepted, device reports
upgrade Time estimate time of firmware/configuration
upgrade. Unit: second.
If OTA request is rejected, this field is ignored.
Acknowledge error String R See Error Table
Description
Remarks
Description The device reports the current status of OTA download and update.
PUBLISH Topic Advantech/{MAC}/cfg/ota
Example Device sends Advantech/00D0C9CC0099/cfg/ota to Cloud
{
"cfg_id": "5f4744bf50ac705ac8ac2dce",
"otastatus": 100,
"progress": 60,
"error":"No error"
}
➢ Resource value definitions :
Field Abbreviation Data Type Property Description
107
102 OTA download is
finished
200 Start upgrade
300 Upgrade is success
and finished
301 Upgrade is failed
and terminated
Firmware/Configuration progress Number R Download progress unit is percentage and
File Download progress value range is 0~100.
Acknowledge error String R See Error Table in 3.11.14
Description
Remarks
The Pub/Sub interval of the original boot connection is controlled by Deadband, but when the
Deadband is too large, it will cause too long period to boot devices. Therefore, the Pub/Sub interval of the
new version is changed to be fixed at 50ms. Starts from following versions support these rules:
ADAM ADAM- ADAM- ADAM- ADAM-
DIO 6017/6217 6018+ 6024 6224
V6.11B37 V6.11B23 V6.01B24 V6.01B19 V6.01B23
108
Channel Config Topic
Channel Value Topic
4. Subscribe
Channel Config Topic
Channel Value Topic
5. Publish
Channel Type Topic
All Data Topic
DI command :
di、counter、lowToHighLatch、highToLowLatch、frequency
109
DO command :
do、pulseOutput、lowToHighDelay、highToLowDelay
Analog Range:
command range support module
0-20mA 0~20 mA 6017/6217/6024/6224
4-20mA 4~20 mA 6017/6217/6024/6224
+-20mA ±20 mA 6017/6217
0-5V 0~5 V 6017/6217/6224
0-10V 0~10 V 6017/6217/6224
0-1V 0~1 V 6017/6217
0-500mV 0~500 mV 6017/6217
0-150mV 0~150 mV 6017/6217
+-10V ±10 V 6017/6217/6024/6224
+-5V ±5 V 6017/6217/6224
+-1V ±1 V 6017/6217
+-150mV ±150 mV 6017/6217
+-500mV ±500 mV 6017/6217
Thermocouple Range:
command range
K Type:0-1370C K Type 0-1370°C
J Type:0-760C J Type 0-760°C
E Type: 0-1000C E Type 0-1000°C
T Type:-100-400C T Type -100-400°C
R Type:500-1750C R Type 500-1750°C
S Type:500-1750C S Type 500-1750°C
B Type:500-1800C B Type 500-1800°C
110
Modbus address overlap occurs (Abbreviation Check whether there is overlap in Modbus
of error function) table (Abbreviation of error function)
Check whether IP, subnet and gateway are all
Invalid network setting.
correct
Setting IP not supported under DHCP It is not supported to set IP under DHCP.
OTA
Error in the module type of the configuration Check the module type of the configuration
file. file.
Failed to connect to the file server Check if the file server is functioning properly
User can do customized setting topic name and payload message。Advanced Settings have independent
Apply button.(EdgeSync 360/ EdgeHub don’t support Advanced Settings)
➢ When the broker is connected, using the SET command will actively publish the will topic (status:
disconnect) and reconnect.
➢ Support Advanced Settings from the following version:
111
ADAM ADAM- ADAM- ADAM- ADAM-
DIO 6017/6217 6018+ 6024 6224
V6.11 B41 V6.11 B20 V6.01B26 V6.01B19 V6.01B23
ASCII command:
Command Description Remarks
%aaSETMQTPCENxx Enable/Disable MQTT user Return: >01
define publish Error: ?01
aa: always 01
xx: 01 (enable),
00 (disable)
%aaGETMQTPCEN Get MQTT user define Return: !01 (enable),
publish flags !00 (disable)
aa: always 01 Error: ?01
%aaSETMQTPCSENxx Enable/Disable MQTT user Return: >01
define subscribe Error: ?01
aa: always 01
xx: 01 (enable),
00 (disable)
%aaGETMQTPCSEN Get MQTT user define Return: !01 (enable),
subscribe flags !00 (disable)
aa: always 01 Error: ?01
User can do customized setting will topic name and will/connect message.
112
When module is disconnected:
ASCII command:
Command Description Remarks
%aaSETMQTPCWTx...x Set the will topic of user Return: >01
define Error: ?01
aa: always 01
x…x: will topic name
(0~127 character)
%aaGETMQTPCWT Get the will topic of user Return: !WillTopicName
define Error: ?01
aa: always 01
%aaSETMQTPCWMx...x Set the Will message of user Return: >01
define Error: ?01
aa: always 01
x…x: Will message
(0~127 character)
%aaGETMQTPCWM Get the Will message of user Return: !WillMessage
define Error: ?01
aa: always 01
%aaSETMQTPCCMx...x Set the Connect message of Return: >01
user define Error: ?01
aa: always 01
xx…x: Connect message
(0~127 character)
%aaGETMQTPCCM Set the Connect message of Return: !ConnectMessage
user define Error: ?01
aa: always 01
113
3.12.2 Publish All Data Topic and Message
AIO module:
114
Figure 13. Publish DIO/AIO Data Topic and Message
ASCII command:
Command Description Remarks
%aaSETMQTPCPTDx...x Set the Publish data Return: >01
topic of user define Error: ?01
aa: always 01
x…x: data topic name
(0~127 character)
%aaGETMQTPCPTD Get the Publish data Return: !DataTopicName
topic of user define Error: ?01
aa: always 01
%aaSETMQTPCPMDIccx...x Set the Publish channel Return: >01
or message of data of user Error: ?01
%aaSETMQTPCPMDOccx...x define
or aa: always 01
%aaSETMQTPCPMAIccx...x cc: channel(hex format)
or x…x: channel message
%aaSETMQTPCPMAOccx...x (0~63 character)
%aaGETMQTPCPMDIcc Get the Publish channel Return: !ChannelMessage
or message of data of user Error: ?01
%aaGETMQTPCPMDOcc define
or aa: always 01
%aaGETMQTPCPMAIcc cc: channel(hex format)
115
or
%aaGETMQTPCPMAOcc
%aaSETMQTPCPMSTDIccx...x Set the Publish channel Return: >01
or alarm status message of Error: ?01
%aaSETMQTPCPMSTDOccx...x user define
or aa: always 01
%aaSETMQTPCPMSTAIccx...x cc: channel (hex format)
or x…x: channel message
%aaSETMQTPCPMSTAOccx...x (0~63 character)
%aaGETMQTPCPMSTDIcc Get the Publish channel Return: !AlarmStatusMessage
or alarm status message of Error: ?01
%aaGETMQTPCPMSTDOcc user define
or aa: always 01
%aaGETMQTPCPMSTAIcc cc: channel (hex format)
or
%aaGETMQTPCPMSTAOcc
User can do customized setting AI Type Topic name and AI type message name.
AI Type Topic Default: Advantech/{mac}/cfg/sensor/ain
AI Type Topic User defined example: Advantech/AIType_0
➢ n (channel number) starts from 1
➢ Type message format refer to 3.11.13
AI Type message
Default example: {"typ":"0-20mA"} or {"typ":"J Type:0-760C"}
User defined example: {"AIType":"0-20mA"} or {"AIType":"J Type:0-760C"}
116
Figure 14. Publish AI Type Topic and Message
ASCII command:
Command Description Remarks
%aaSETMQTPCPMTx...x Set the Publish AI Return: >01
channel type Error: ?01
message of user
define
aa: always 01
x…x: AI type
message
(0~63 character)
%aaGETMQTPCPMT Get the Publish AI Return: !AITypeMessage
channel type Error: ?01
message of user
define
aa: always 01
%aaSETMQTPCPTTccx...x Set the Publish AI Return: >01
channel type topic of Error: ?01
user define
aa: always 01
cc: channel (hex
format)
x…x: channel
message
117
(0~127 character)
%aaGETMQTPCPTTcc Get the Publish AI Return: !ChannelTypeTopic
channel type topic of Error: ?01
user define
aa: always 01
cc: channel(hex
format)
User can do customized setting AO Type Topic name and AO type message name.
AO Type Topic Default: Advantech/{mac}/cfg/sensor/ain
AOType Topic User defined example: Advantech/AOType_0
➢ n (channel number) starts from 1
➢ Type message format refer to 3.11.13
AO Type message
Default example: {"typ":"0-20mA"}
User defined example: {"AOType":"0-20mA"}
118
user define
aa: always 01
x…x: AI type message
(0~63 character)
%aaGETMQTPCPAOMT Get the Publish AO Return: !AITypeMessage
channel type message of Error: ?01
user define
aa: always 01
%aaSETMQTPCPAOTTccx...x Set the Publish AO Return: >01
channel type topic of Error: ?01
user define
aa: always 01
cc: channel (hex format)
x…x: channel message
(0~127 character)
%aaGETMQTPCPAOTTcc Get the Publish AO Return: !ChannelTypeTopic
channel type topic of Error: ?01
user define
aa: always 01
cc: channel(hex format)
User can do customized setting DO control Topic name and DO control message name.
DO control Topic Default: Advantech/{mac}/ctl/don
DO control Topic User defined example: Topic_DO0
➢ n (channel number) starts from 1
DO control message
Default example: {"v":true}
User defined example: {"data": true}
DIO module:
119
Figure 16. Publish DO Type Topic and Message
ASCII command:
Command Description Remarks
%aaSETMQTPCSMCTLx...x Set the subscribe DO Return: >01
control message of user Error: ?01
define
aa: always 01
x…x: DO message
(0~63 character)
%aaGETMQTPCSMCTL Get the subscribe DO Return: !DOControlMessage
control message of user Error: ?01
define
aa: always 01
%aaSETMQTPCSTCTLccx...x Set the subscribe DO Return: >01
control topic of user Error: ?01
define
aa: always 01
cc: channel (hex format)
x…x: channel message
(0~127 character)
%aaGETMQTPCSTCTLcc Get the subscribe DO Return: !DOControlTopic
control topic of user Error: ?01
define
120
aa: always 01
cc: channel(hex format)
User can do customized setting AI Type Topic name and AI Type message name.
AI Type Topic Default: Advantech/{mac}/set/sensor/ain
AI Type Topic User defined example: AIType_topic/AI0
➢ n (channel number) starts from 1
➢ Type message format refer to 3.11.13
AI Type message
Default example: {"typ":"0-20mA"} or {"typ":"J Type:0-760C"}
User defined example: {"AIType":"0-20mA"} or {"AIType":"J Type:0-760C"}
121
%aaGETMQTPCSMCFG Get the subscribe AI Return: !AITypeMessage
type message of user Error: ?01
define
aa: always 01
%aaSETMQTPCSTCFGccx...x Set the subscribe AI Return: >01
type topic of user define Error: ?01
aa: always 01
cc: channel (hex format)
x…x: channel message
(0~127 character)
%aaGETMQTPCSTCFGcc Get the subscribe AI Return: !AITypeTopic
type topic of user define Error: ?01
aa: always 01
cc: channel(hex format)
User can do customized setting AO control Topic name and AO control message name.
AO control Topic Default: Advantech/{mac}/ctl/aon
AO control Topic User defined example: Topic_AOctl_0
➢ n (channel number) starts from 1
AO control message
Default example: {"v":1.0}
User defined example: {"AOdata":1.0}
AO module:
122
Figure 18. Subscribe AO Control Topic and Message
ASCII command:
Command Description Remarks
%aaSETMQTPCSMAOCTLx...x Set the subscribe AO Return: >01
control message of user Error: ?01
define
aa: always 01
x…x: AO message
(0~63 character)
%aaGETMQTPCSMAOCTL Get the subscribe AO Return: !AOControlMessage
control message of user Error: ?01
define
aa: always 01
%aaSETMQTPCSTAOCTLccx...x Set the subscribe AO Return: >01
control topic of user Error: ?01
define
aa: always 01
cc: channel (hex format)
x…x: channel message
(0~127 character)
%aaGETMQTPCSTAOCTLcc Get the subscribe AO Return: !AOControlTopic
control topic of user Error: ?01
define
aa: always 01
cc: channel(hex format)
User can do customize settings AO Type Topic name and AO Type message name.
AO Type Topic Default: Advantech/{mac}/set/sensor/aon
AO Type Topic User defined example: AOType_topic/AO0
➢ n (channel number) starts from 1
123
➢ Type message format refer to 3.11.13
AO Type message
Default example: {"typ":"0-20mA"}
User defined example: {"AOType":"0-20mA"}
124
x…x: channel message
(0~127 character)
%aaGETMQTPCSTAOCFGcc Get the subscribe AO Return: !AITypeTopic
type topic of user define Error: ?01
aa: always 01
cc: channel(hex format)
If users would like to implement Firmware or Configuration for multiple devices, there’s also “Group
Configuration” function in “Cloud”. Firstly, please right click “Cloud” then select “Group Configuration”.
Then select devices you want (or you can select all) to apply the firmware or configuration you want.
The devices will be one-by-one in processing and finish implement in batch.
125
4. EdgeSync 360/ EdgeHub
EdgeSync 360/ EdgeHub is an Advantech IoT Core Service. Users can combine ADAM-6000/6200
series and Advantech EdgeSync 360/ EdgeHub to enable internet/intranet IO rapid development,
management, and scaling of IoT projects. The product goal is to provide an out-of-the-box IoT cloud or
on-premises solution that will enable server-side infrastructure for IoT applications. Customers can gain the
benefits of scalability, agility, and cost-efficiency offered by the cloud, while maintaining control over
sensitive data and meeting regulatory requirements.
Please refer to below links for more EdgeSync 360/ EdgeHub details.
(https://docs.wise-paas.advantech.com/en/Guides_and_API_References/1676956646152508777/16770
46206377513884/1677051715349911768/v1.0.1)
(https://www.advantech.com/zh-tw/products/edgesync-360-edgehub/sub_a3e4d4db-6fb1-4809-b621-56
f6968ca6bd)
126
4.2 EdgeSync 360/ Edgehub creates ADAM module
127
Step 3: Fill in Utility and establish a connection
(Publish interval reference ch3.7、Deadband reference ch3.6)
128
5. Azure
➢ Support Advanced Settings from the following version:
ADAM ADAM- ADAM- ADAM- ADAM-
DIO 6017/6217 6018+ 6024 6224
V6.11 B00 V6.11 B00 V6.01 B24 V6.01 B19 V6.01B23
➢ Tool:
1. Utility
2. Azure cloud: https://azure.microsoft.com/zh-tw/
3. Device explore: Download URL: There are 12 files in total. After downloading, click on
setupdeviceexplorer.msi to start the installation. After installation, you can use device explorer.
https://github.com/Azure/azure-iot-sdk-csharp/releases/tag/2019-1-4
1. Enter: https://azure.microsoft.com/zh-tw/
2. Log in
3. Entrance website
4. Click IoT Hub
6. Complete the form and create it. It will take a while (about 10 minutes) before you can start using the
newly created IoT hub.
129
7. Click on the created IoT hub to enter the IoT hub interface.
9. Set the device identification code and click Save to complete the addition. This identification code is the
DeviceID used when setting the publish topic and using User defined.。
130
5.1.2 Setup device explore and connect Azure
1. Open device explore (After downloading, there is no shortcut on the desktop or start, you can use
windows search to find it.)
131
3. Click device explorer ”update” then pick “generate SAS”, then finished azure connection
132
3. Input IoT hub connection string
(Get location: Azure cloud name → Devices → Device ID → Primary connection string)
4. Click Apply,Utility will automatically parse 1.Host ID and Port 2. Password 3. DeviceID from the main
connection string and set it to the module.
133
5.1.4 Device Explore Operation
134
5.2 IoT Connection String
Set the main connection string for the Azure device. After pressing Apply, Utility will automatically
parse 1.Host ID and Port 2. Password 3. DeviceID from the main connection string and set it to the module.
➢ Before ADAM DIO v6.11B23 and ADAM-6017/6217 v6.11B18, the azure DeviceID cannot be
customized, so when Azure creates the device identification code, it must be the same as the ADAM
module ID (module_mac, ex:ADAM6017_00D0C9123456)。
➢ Utility will automatically set DeviceID (%aaSETAHIDx…x) to ADAM-6017/6217 after version B16.
ASCII command:
Command Description Remarks
%aaSETAHCSx…x Set azure connection string Return: >01
aa: always 01 Error: ?01
x…x: IP address/domain
(0~255 character)
%aaGETAHCS Get azure connection string Return:
aa: always 01 !ConnectionString
Error: ?01
%aaSETAHADx…x:aaaa Set azure domain name Return: >01
aa: always 01 Error: ?01
x…x: domain name
(1~126 character)
aaaa: port address(0~65535)
135
%aaGETAHID Get azure DeviceID Return: !AzureDeviceID
aa: always 01 Error: ?01
5.3 TLS
Current ADAM modules support TLS v1.2 and below Cipher Suites:
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x003d)
TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
TLS_RSA_WITH_AES_128_GCM_SHA256 (0x009c)
TLS_RSA_WITH_AES_128_CBC_SHA256 (0x003c)
TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
In Azure mode, Heartbeat、Deadband、Interval all use ADAM MQTT same command, function and
usage are same as ADAM MQTT.
Retain Message cannot be set in Azure mode and is fixed to disable. Retain Message will not be
displayed in Utility B16 version.
Basic Settings can’t be setup in Azure mode, Pub/Sub Qos sixed as 0, Channel Publish topic fixed as
enable. Utility B16 version not show Basic Settings。
136
5.7 Pub/Sub Topic
Azure mode supports topic: 1. Will Topic; 2.Channel Type Topic; 3. Control Topic; 4. All Data Topic.
(Azure mode currently don’t support Profile Topic, Channel Config Topic and Channel Value Topic)
When the Module actively connects/disconnects with the broker, the module will publish a will topic
with connect/disconnect message. Or when an accident occurs between the module and the broker and there
is an abnormal disconnection, the broker will publish a will topic with disconnect message.
For Azure's config topic, the payload only has a message of AIO range type. In addition to being
published when the connection is started, it will also be published when the range type changes.
➢ Only support AIO Channel Type Topic in AIO module, no Channel Type Topic from DIO module.
➢ Type message format refer to 3.11.13
As Azure Control topic, Functions that can be set: 1. DO High/Low; 2. AI range type.
➢ Type message format refer to 3.11.13
137
➢ Using DO Control Topic will clear WDT flags and reset Watch-dog time to zero.r
AI type:
138
➢ Topic name: devices/{DeviceID}/messages/events/data
➢ Message payload refer to 3.10.5
ADAM-6017:
The Pub/Sub interval of the original boot connection is controlled by Deadband, but when the
Deadband is too large, it will take too much time to cause the boot. Therefore, the Pub/Sub interval of the
new version of the connection is changed to be fixed at 50ms. Product supports rules starting from below
versions:
ADAM ADAM- ADAM- ADAM- ADAM-
DIO 6017/6217 6018+ 6024 6224
V6.11B37 V6.11B23 V6.01B24 V6.01B19 V6.01B23
139
All Data Topic
ASCII command:
Command Description Remarks
%aaSETMQTPCENxx Enable/Disable MQTT user Return: >01
define publish Error: ?01
aa: always 01
xx: 01 (enable),
00 (disable)
%aaGETMQTPCEN Get MQTT user define Return: !01 (enable),
publish flags !00 (disable)
aa: always 01 Error: ?01
%aaSETMQTPCSENxx Enable/Disable MQTT user Return: >01
define subscribe Error: ?01
aa: always 01
xx: 01 (enable),
00 (disable)
140
%aaGETMQTPCSEN Get MQTT user define Return: !01 (enable),
subscribe flags !00 (disable)
aa: always 01 Error: ?01
User can do customized setting will topic name and will/connect message.
Will Topic Default: devices/{DeviceID}/messages/events/Device_Status
Will Topic User defined: devices/{DeviceID}/messages/events/{property bag}
➢ Device ID is gotten from device connect string
➢ property bag need to use url-encoded format, when setting with Utility, special characters will be
automatically converted to url-encoded.
ASCII command:
Command Description Remarks
%aaSETMQTPCWTx...x Set the will topic of user Return: >01
define Error: ?01
aa: always 01
x…x: will topic name
(0~127 character)
%aaGETMQTPCWT Get the will topic of user Return: !WillTopicName
141
define Error: ?01
aa: always 01
%aaSETMQTPCWMx...x Set the Will message of user Return: >01
define Error: ?01
aa: always 01
x…x: Will message
(0~127 character)
%aaGETMQTPCWM Get the Will message of user Return: !WillMessage
define Error: ?01
aa: always 01
%aaSETMQTPCCMx...x Set the Connect message of Return: >01
user define Error: ?01
aa: always 01
xx…x: Connect message
(0~127 character)
%aaGETMQTPCCM Set the Connect message of Return: !ConnectMessage
user define Error: ?01
aa: always 01
User can do customized setting All Data topic name and Channel/AlarmStatus message name.
All Data Topic Default: devices/{DeviceID}/messages/events/data
All Data Topic User defined: devices/{DeviceID}/messages/events/{property bag}
➢ Device ID is gotten from device connect string
➢ property bag need to use url-encoded format, when setting with Utility, special characters will be
automatically converted to url-encoded.
Channel/AlarmStatus message
Default: don or ai_stn, n (channel number) starts from 1
142
AI module:
143
ASCII command:
Command Description Remarks
%aaSETMQTPCPTDx...x Set the Publish Return: >01
data topic of Error: ?01
user define
aa: always 01
x…x: data topic
name
(0~127
character)
%aaGETMQTPCPTD Get the Publish Return: !DataTopicName
data topic of Error: ?01
user define
aa: always 01
%aaSETMQTPCPMDIccx...x Set the Publish Return: >01
or channel Error: ?01
%aaSETMQTPCPMDOccx...x message of data
or of user define
%aaSETMQTPCPMAIccx...x aa: always 01
or cc: channel(hex
%aaSETMQTPCPMAOccx...x format)
x…x: channel
message
(0~63
character)
%aaGETMQTPCPMDIcc Get the Publish Return: !ChannelMessage
or channel Error: ?01
%aaGETMQTPCPMDOcc message of data
or of user define
%aaGETMQTPCPMAIcc aa: always 01
or cc: channel(hex
%aaGETMQTPCPMAOcc format)
%aaSETMQTPCPMSTDIccx...x Set the Publish Return: >01
or channel alarm Error: ?01
%aaSETMQTPCPMSTDOccx... status message
x of user define
or aa: always 01
144
%aaSETMQTPCPMSTAIccx...x cc: channel
or (hex format)
%aaSETMQTPCPMSTAOccx... x…x: channel
x message
(0~63
character)
%aaGETMQTPCPMSTDIcc Get the Publish Return: !AlarmStatusMessage
or channel alarm Error: ?01
%aaGETMQTPCPMSTDOcc status message
or of user define
%aaGETMQTPCPMSTAIcc aa: always 01
or cc: channel
%aaGETMQTPCPMSTAOcc (hex format)
User can do customize setting AI Type Topic name 和 AI Type message name。
AI Type Topic Default: devices/{DeviceID}/messages/events/cfgain
AI Type Topic User defined: devices/{DeviceID}/messages/events/{property bag}
➢ Device ID is get from device connect string
➢ Property bag need to use url-encoded format,When setting with Utility, special characters will be
automatically converted to url-encoded.。
➢ n (channel number) starts from 1
➢ Type message format refer to 3.11.13
AI Type message
Default example: {"typ":"0-20mA"} or {"typ":"J Type:0-760C"}
User defined example: {"AIType":"0-20mA"} or {"AIType":"J Type:0-760C"}
145
Figure 21. Publish AI Data Topic and Message
ASCII command:
Command Description Remarks
%aaSETMQTPCPMTx...x Set the Publish AI Return: >01
channel type message of Error: ?01
user define
aa: always 01
x…x: AI type message
(0~63 character)
%aaGETMQTPCPMT Get the Publish AI Return: !AITypeMessage
channel type message of Error: ?01
user define
aa: always 01
%aaSETMQTPCPTTccx...x Set the Publish AI Return: >01
channel type topic of Error: ?01
user define
aa: always 01
cc: channel (hex format)
x…x: channel message
(0~127 character)
%aaGETMQTPCPTTcc Get the Publish AI Return: !ChannelTypeTopic
channel type topic of Error: ?01
user define
aa: always 01
146
cc: channel(hex format)
User can do customized setting AO Type Topic name and AO type message name.
AO Type Topic Default: devices/{DeviceID}/messages/events/cfgaon
AO Type Topic User defined: devices/{DeviceID}/messages/events/{property bag}
➢ Device ID is get from device connect string
➢ Property bag need to use url-encoded format, when setting with Utility, special characters will be
automatically converted to url-encoded.
➢ n (channel number) starts from 1
➢ Type message format refer to 3.11.13
AO Type message
Default example: {"typ":"0-20mA"}
User defined example: {"AOType":"0-20mA"}
147
%aaGETMQTPCPAOMT Get the Publish AO Return: !AITypeMessage
channel type message of Error: ?01
user define
aa: always 01
%aaSETMQTPCPAOTTccx...x Set the Publish AO Return: >01
channel type topic of Error: ?01
user define
aa: always 01
cc: channel (hex format)
x…x: channel message
(0~127 character)
%aaGETMQTPCPAOTTcc Get the Publish AO Return: !ChannelTypeTopic
channel type topic of Error: ?01
user define
aa: always 01
cc: channel(hex format)
User can do customized setting DO control Topic name and DO control message name.
DO control Topic Default: $iothub/methods/POST/ctl/don
DO control Topic User defined: $iothub/methods/POST/{property bag}
➢ Device ID is get from device connect string
➢ Property bag need to use url-encoded format, when setting with Utility, special characters will be
automatically converted to url-encoded.
➢ n (channel number) starts from 1
DO control message
Default example: {"v":1}
User defined example: {"data":1}
148
Figure 23. Publish DO Control Data Topic and Message
ASCII command:
Command Description Remarks
%aaSETMQTPCSMCTLx...x Set the subscribe DO Return: >01
control message of user Error: ?01
define
aa: always 01
x…x: DO message
(0~63 character)
%aaGETMQTPCSMCTL Get the subscribe DO Return: !DOControlMessage
control message of user Error: ?01
define
aa: always 01
%aaSETMQTPCSTCTLccx...x Set the subscribe DO Return: >01
control topic of user Error: ?01
define
aa: always 01
cc: channel (hex format)
x…x: channel message
(0~127 character)
149
%aaGETMQTPCSTCTLcc Get the subscribe DO Return: ! DOControlTopic
control topic of user Error: ?01
define
aa: always 01
cc: channel(hex format)
User can do customized setting AI Type Topic name and AI Type message name.
AI Type Topic Default: $iothub/methods/POST/set/sensor/ain
AI Type Topic User defined: $iothub/methods/POST/{property bag}
➢ n (channel number) starts from 1
➢ Type message format refer to 3.11.13
AI Type message
Default example: {"typ":"0-20mA"} or {"typ":"J Type:0-760C"}
User defined example: {"AIType":"0-20mA"} or {" AIType ":"J Type:0-760C"}
150
Figure 24. Subscribe AI Type Data Topic and Message
ASCII command:
Command Description Remarks
%aaSETMQTPCSMCFGx...x Set the subscribe AI type message of user Return: >01
define Error: ?01
aa: always 01
x…x: DO message
(0~63 character)
%aaGETMQTPCSMCFG Get the subscribe AI type message of user Return: !AITypeMessage
define Error: ?01
aa: always 01
%aaSETMQTPCSTCFGccx...x Set the subscribe AI type topic of user define Return: >01
aa: always 01 Error: ?01
cc: channel (hex format)
x…x: channel message
(0~127 character)
%aaGETMQTPCSTCFGcc Get the subscribe AI type topic of user define Return: !AITypeTopic
aa: always 01 Error: ?01
cc: channel(hex format)
User can do customized setting AO control Topic name and AO control message name.
AO control Topic Default: $iothub/methods/POST/ctl/aon
DO control Topic User defined: $iothub/methods/POST/{property bag}
➢ Device ID is get from device connect string
➢ property bag need to use url-encoded format,When setting with Utility, special characters will be
151
automatically converted to url-encoded。
➢ n (channel number) starts from 1
AO control message
Default example: {"v":1.0}
User defined example: {"data":1.0}
152
aa: always 01
%aaSETMQTPCSTAOCTLccx...x Set the subscribe AO Return: >01
control topic of user Error: ?01
define
aa: always 01
cc: channel (hex format)
x…x: channel message
(0~127 character)
%aaGETMQTPCSTAOCTLcc Get the subscribe DO Return: !AOControlTopic
control topic of user Error: ?01
define
aa: always 01
cc: channel(hex format)
User can do customized setting AO Type Topic name and AO Type message name.
AO Type Topic Default: $iothub/methods/POST/set/sensor/aon
AO Type Topic User defined: $iothub/methods/POST/{property bag}
n (channel number) starts from 1
➢ Type message format refer to 3.11.13
AO Type message
Default example: {"typ":"0-20mA"}
User defined example: {"AOType":"0-20mA"}
153
Figure 26. Subscribe AO Type Data Topic and Message
ASCII command:
Command Description Remarks
%aaSETMQTPCSMAOCFGx...x Set the subscribe AO Return: >01
type message of user Error: ?01
define
aa: always 01
x…x: DO message
(0~63 character)
%aaGETMQTPCSMAOCFG Get the subscribe AO Return: !AITypeMessage
type message of user Error: ?01
define
aa: always 01
%aaSETMQTPCSTAOCFGccx...x Set the subscribe AO Return: >01
type topic of user define Error: ?01
aa: always 01
cc: channel (hex format)
x…x: channel message
(0~127 character)
%aaGETMQTPCSTAOCFGcc Get the subscribe AO Return: !AITypeTopic
type topic of user define Error: ?01
aa: always 01
cc: channel(hex format)
154