Skip to content

Application And Driver Instructions

This document introduces how to setup parameter and data tag point information in configuration for northbound applications and southbound drivers.

WARNING

uint16 corresponds to the word type. uint32 corresponds to dword type.

MQTT

The data collected from the device can be transmitted to the mqtt broker through mqtt application, and instructions can be sent to neuron throuth mqtt application.

Parameter Setting

ParameterDescription
client-idMQTT client ID, required
upload-topicSubscription data reporting channel, optional, if not set, the data will be reported under neuron/{client-id}/upload
formatThe json format selection of the reported data, required, there are values mode and tags mode, the default is values mode
sslWhether to enable mqtt ssl, default false
hostMQTT Broker host, required
portMQTT Broker port number, required
usernameUsername to use when connecting to the broker, optional
passwordThe password to use when connecting to the broker, optional
caca file, only enabled when the ssl value is true, in which case it is required
certcert file, only enabled when the ssl value is true, optional
keykey file, only enabled when the ssl value is true, optional
keypasskey file password, only enabled when the ssl value is true, optional

Error Codes

错误码说明
4005MQTT client creation failed, usually caused by system reasons
4007Failed to connect to Broker, possible reasons include connection parameter configuration error or network abnormality (usually temporary)
4010Failed to subscribe Topic, usually before the connection is successful, it will be automatically re-subscribed after the connection is successful
4013Failed to unsubscribe topic
4014Publish fails, usually due to a connection exception. In the current implementation, the failed data will be discarded
4015Publish suspended due to user stopping plugin
4016Publish data exceeds buffer length, usually does not happen

Modbus

The modbus protocol includes three drivers: modbus RTU, modbus tcp, and modbus RTU over TCP.

Parameter Setting

ParameterDescription
connection modeThe way the driver connects to the device, the default is client, which means that the neuron driver is used as the client
hostWhen neuron is used as a client, host means the ip of the remote device. When used as a server, it means the ip used by neuron locally, and 0.0.0.0 can be filled in by default
portWhen neuron is used as client, port means the tcp port of the remote device. When used as a server, it means the tcp port used by neuron locally. default 502

Support Data Type

  • INT16
  • INT32
  • UINT16
  • UINT32
  • FLOAT
  • BIT
  • STRING

Address Format

SLAVE!ADDRESS[.BIT][#ENDIAN][.LEN[H][L][D][E]]

SLAVE

Required, Slave is the slave address or site number.

ADDRESS

Required, Address is the register address.The Modbus protocol has four areas, each area has a maximum of 65536 registers, and the address range of each area is shown in the table below. It should be noted that the storage area as large as 65536 is generally not required in practical applications. Generally, PLC manufacturers generally use an address range within 10000. Please pay attention to fill in the correct point address according to the area and function code of the device.

AREAADDRESS RANGEATTRIBUTEREGISTER SIZEFUNCTIONDATA TYPE
coil000001 ~ 065536read/write1bit0x1,0x5,0x0fbit
input100001 ~ 165536read1bit0x2bit
input register300001 ~ 365536read16bit0x4bit,int16,uint16,int32,uint32,float,string
hold register400001 ~ 465536read/write16bit0x3,0x6,0x10bit,int16,uint16,int32,uint32,float,string

WARNING

Some device documents use function codes and register addresses to describe instructions. Because register address numbers start from 0, the register address range for each region is 0 to 65535. First, determine the highest digit of the address according to the function code, and add 1 to the register address as the address of Neuron.

example, function is 0x03, and register address is 0, then address used by neuron is 400001. function is 0x02, and register address is 5, then address used by neuron is 100006.

.BIT

Optional, a bit of a register address, for example:

AddressData TypeDescription
1!300004.0bitRefers to station number 1, input area, address 300004, bit 0
1!400010.4bitRefers to station number 1, hold register area, address 400010, bit 4
2!400001.15bitRefers to station number 2, hold register area, address 400001, bit 15

#ENDIAN

Optional, endianness, applicable to int16/uint16/int32/uint32/float data types, see the table below for details.

SymbolendiannessData TypeRemark
#B2,1int16/uint16
#L1,2int16/uint16Leave blank, default byte order
#LL1,2,3,4int32/uint32/floatLeave blank, default byte order
#LB2,1,4,3int32/uint32/float
#BB3,4,1,2int32/uint32/float
#BL4,3,2,1int32/uint32/float

E.g

AddressData TypeDescription
1!300004int16Refers to station number 1, input area, address 300004, endianness is #L
1!300004#Bint16Refers to station number 1, input area, address 300004, endianness is #B
1!300004#Luint16Refers to station number 1, input area, address 300004, endianness is #L
1!400004int16Refers to station number 1, hold register area, address 400004, endianness is #L
1!400004#Lint16Refers to station number 1, hold register area, address 400004, endianness is #L
1!400004#Buint16Refers to station number 1, hold register area, address 400004, endianness is #B
1!300004int32Refers to station number 1, input area, address 300004, endianness is #LL
1!300004#BBuint32Refers to station number 1, input area, address 300004, endianness is #BB
1!300004#LBuint32Refers to station number 1, input area, address 300004, endianness is #LB
1!300004#BLfloatRefers to station number 1, input area, address 300004, endianness is #BL
1!300004#LLint32Refers to station number 1, input area, address 300004, endianness is #LL
1!400004int32Refers to station number 1, hold register area, address 400004, endianness is #LL
1!400004#LBuint32Refers to station number 1, hold register area, address 400004, endianness is #LB
1!400004#BBuint32Refers to station number 1, hold register area, address 400004, endianness is #BB
1!400004#LLint32Refers to station number 1, hold register area, address 400004, endianness is #LL
1!400004#BLfloatRefers to station number 1, hold register area, address 400004, endianness is #BL

.LEN[H][L][D][E]

When the data type is string type, .LEN is a required, indicating the length of bytes that the string needs to occupy. Each register contains H, L, D and E four storage methods, as shown in the table below.

SymbolDescription
HA register stores two bytes, the high byte is in front of the low byte
LA register stores two bytes, the low byte is in front of the high byte
DA register stores one byte, and is stored in the low byte
EA register stores one byte, and is stored in the high byte

E.g

AddressData TypeDescription
1!300001.10StringRefers to station number is 1, input area, the address is 300001, the string length is 10, and endianness is L, the occupied address is 300001-300005
1!300001.10HStringRefers to station number is 1, input area, the address is 300001, the string length is 10, and endianness is H, the occupied address is 300001-300005
1!300001.10LStringRefers to station number is 1, input area, the address is 300001, the string length is 10, and endianness is L, the occupied address is 300001-300005
1!400001.10StringRefers to station number is 1, input area, the address is 400001, the string length is 10, and endianness is L, the occupied address is 400001-400005
1!400001.10HStringRefers to station number is 1, input area, the address is 400001, the string length is 10, and endianness is H, the occupied address is400001 ~ 400005
1!400001.10LStringRefers to station number is 1, input area, the address is 400001, the string length is 10, and endianness is L, the occupied address is 400001-400005
1!400001.10DStringRefers to station number is 1, input area, the address is 400001, the string length is 10, and endianness is D, the occupied address is 400001-400010
1!400001.10EStringRefers to station number is 1, input area, the address is 400001, the string length is 10, and endianness is E, the occupied address is 400001-400010

OPC UA

Parameter Setting

ParameterDescription
endpoint urlThe address of the remote access plc, the default value is opc.tcp://127.0.0.1:4840/
usernameThe user used when connecting to plc
passwordThe password used when connecting to plc
cert-fileThe certificate to provide login user authentication
key-fileThe private key to provide signature and encrypted transmission.s

Support Data Type

  • INT8
  • INT16
  • INT32
  • INT64
  • UINT8
  • UINT16
  • UINT32
  • UINT64
  • FLOAT
  • DOUBLE
  • BOOL
  • STRING

Addresses Format

IX!NODEID

IX is the namespace index.

NODEID is the node id.

E.g

  • 2!Device1.Module1.Tag1 represents namespace index is 2 and node ID is Device1.Module1.Tag

WARNING

Please refer to OPC UA standard for the explanation of namespace index and node id.

Siemens S7 ISOTCP

The s7comm plugin is used for Siemens PLCs with network port, such as s7-200/300/400/1200/1500.

Parameter Setting

ParameterDescription
hostremote plc ip
ipremote plc port, default 102
rackplc rack number, default 0
slotplc cpu slot, default 1

WARNING

When using the S7COMM plugin to access the S7 1200/1500 PLC, you need to use Siemens software(TIA16) to make some settings for the PLC.( For detailed settings, please refer to plc-settings. )

  • The optimized block access must be turned off.
  • The access level must be "full" and the "connection mechanism" must allow GET/PUT.

Support Data Type

  • INT16
  • UINT16
  • INT32
  • UINT32
  • FLOAT
  • DOUBLE
  • BIT
  • STRING

Address Format

AREA ADDRESS[.BIT][.LEN]

AREA ADDRESS

AREADATA TYPEATTRIBUTEREMARK
Iint16/uint16/bitreadinput
Oint16/uint16/bitread/writeoutput
Fint16/uint16/bitread/writeflag
Tint16/uint16/bitread/writetimer
Cint16/uint16/bitread/writecounter
DBint16/uint16/bit/int32/uint32/float/double/stringread/writeglobal DB block

E.g

AddressData TypeDescription
I0int16I area, address is 0
I1uint16I area, address is 1
O2int16O area, address is 2
O3uint16O area, address is 3
F4int16F area, address is 0
F5int16F area, address is 0
T6int16T area, address is 0
T7int16T area, address is 0
C8uint16C area, address is 0
C9uint16C area, address is 0
DB10.DBW10int16In a data block of 10 , the starting data word is 10
DB12.DBW10uint16In a data block of 12 , the starting data word is 10
DB10.DBW10floatIn a data block of 10 , the starting data word is 10
DB11.DBW10doubleIn a data block of 11 , the starting data word is 10

.BIT

Optional, referring to a bit of an address.

E.g

AddressData TypeDescription
I0.0bitI area, address 0, bit 0
I0.1bitI area, address 0, bit 1
O1.0bitO area, address 1, bit 0
O1.2bitO area, address 1, bit 2
F2.1bitF area, address 2, bit 1
F2.2bitF area, address 2, bit 2
T3.3bitT area, address 3, bit 3
T3.4bitT area, address 3, bit 4
C4.5bitC area, address 4, bit 5
C4.6bitC area, address 4, bit 6
DB1.DBW10.1bitIn a data block of 1 , the starting data word is 10, bit 0
DB2.DBW1.15bitIn a data block of 2 , the starting data word is 1, bit 15

.LEN

When the data type is a string type, it is required and indicates the length of the string.

E.g

AddressData TypeDescription
DB1.DBW12.20stringIn a data block of 1 , the starting data word is 12, string length is 20

OMRON FINS on TCP

The fins plugin is used for Omron PLCs with network port, such as CP2E.

Parameter Setting

ParameterDescription
hostremote plc ip
portremote plc port, default 9600 |

Support Data Type

  • UINT8
  • INT8
  • INT16
  • UINT16
  • INT32
  • UINT32
  • FLOAT
  • DOUBLE
  • BIT
  • STRING

Address Format

AREA ADDRESS[.BIT][.LEN[H][L]]

AREA ADDRESS

AREADATA TYPEATTRIBUTEREMARK
CIOAll types except uint8/int8read/writeCIO Area
AAll types except uint8/int8readAuxiliary Area
WAll types except uint8/int8read/writeWork Area
HAll types except uint8/int8read/writeHolding Area
DAll types except uint8/int8read/writeData Memory Area
PAll types except uint8/int8, but bit only supports readread/writePVs
Fint8/uint8readCompletion Flag
EMAll types except uint8/int8read/writeExtended Memory

E.g

AddressData TypeDescription
F0uint8F area, address is 0
F1int8F area, address is 1
CIO1int16CIO area, address is 1
CIO2uint16CIO area, address is 2
A2int32A area, address is 2
A4uint32A area, address is 4
W5floatW area, address is 5
W10floatW area, address is 10
H20doubleH area, address is 20
H30uint32H area, address is 30
D10int32D area, address is 10
D20floatD area, address is 20
EM10floatEM area, address is 10

.BIT

Optional, referring to a bit of an address.

E.g

AddressData TypeDescription
CIO0.0bitCIO area, address is 0, bit 0
CIO1.2bitCIO area, address is 1, bit 2
A2.1bitA area, address is 2, bit 1
A2.3bitA area, address is 2, bit 3
W3.4bitW area, address is 3, bit 4
W3.0bitW area, address is 3, bit 0
H4.15bitH area, address is 4, bit 15
H4.10bitH area, address is 4, bit 10
D5.2bitD area, address is 5, bit 2
D5.3bitD area, address is 5, bit 3
EM10.0bitEM area, address is 10, bit 0

.LEN[H][L]

When the data type is string type, it is a required, .LEN indicates the length of the string, including H and L two endianness, the default is H .

E.g

AddressData TypeDescription
CIO0.20stringCIO area, address 0, the string length is 20 bytes and the endianness is L
CIO1.20HstringCIO area, address 1, the string length is 20 bytes and the endianness is H
A2.10LstringA area, address 2, the string length is 10 bytes and the endianness is L
A2.30stringA area, address 2, the string length is 30 bytes and the endianness is L
W3.40HstringW area, address 3, the string length is 40 bytes and the endianness is H
W3.10stringW area, address 3, the string length is 10 bytes and the endianness is L
H4.15LstringH area, address 4, the string length is 15 bytes and the endianness is L
H4.10stringH area, address 4, the string length is 10 bytes and the endianness is L
D5.20HstringD area, address 5, the string length is 20 bytes and the endianness is H
D5.30stringD area, address 5, the string length is 30 bytes and the endianness is L
EM10.10stringEM area, address 10, the string length is 10 bytes and the endianness is L

Mitsubishi MELSEC-Q E71

The qna3e plugin is used to access Mitsubishi's QnA compatible PLCs via Ethernet, including Q series (MC), iQ-F series (SLMP) and iQ-L series.

Parameter Setting

ParameterDescription
hostremote plc ip
ipremote plc port, default 2000

Support Data Type

  • INT16
  • UINT16
  • INT32
  • UINT32
  • FLOAT
  • DOUBLE
  • BIT
  • STRING

Address Format

AREA ADDRESS[.BIT][.LEN[H][L]]

AREA ADDRESS

AREADATA TYPEATTRIBUTEREMARK
Xbitread/writeInput relay (Q/iQ-F)
DXbitread/write(Q/iQ-F)
Ybitread/writeOutput relay (Q/iQ-F)
DYbitread/write(Q/iQ-F)
Bbitread/writeLink relay (Q/iQ-F)
SBbitread/writeLink special relay
Mbitread/writeInternal relay (Q/iQ-F)
SMbitread/writeSpecial relay (Q/iQ-F)
Lbitread/writeLatch relay (Q/iQ-F)
Fbitread/writeAnnunciator (Q/iQ-F)
Vbitread/writeEdge relay (Q/iQ-F)
Sbitread/write(Q/iQ-F)
TSbitread/writeTimer Contact (Q/iQ-F)
TCbitread/writeTimer Coil (Q/iQ-F)
SSbitread/write(Q/iQ-F)
STSbitread/writeRetentive timer Contact (Q/iQ-F)
SCbitread/write(Q/iQ-F)
CSbitread/writeCounter Contact (Q/iQ-F)
CCbitread/writeCounter Coil (Q/iQ-F)
TNallread/writeTimer Current value (Q/iQ-F)
STNallread/writeRetentive timer (Q/iQ-F)
SNallread/write(Q/iQ-F)
CNallread/writeCounter Current value (Q/iQ-F)
Dallread/writeData register (Q/iQ-F)
DSH--
DSL--
SDallread/writeSpecical register (Q/iQ-F)
Wallread/writeLink register (Q/iQ-F)
WSH--
WSL--
SWallread/writeLink special register (Q/iQ-F)
Rallread/writeFile register (Q/iQ-F)
ZRallread/writeFile register (Q/iQ-F)
RSH--
ZRSH--
RSL--
ZRSL--
Zallread/writeIndex register (Q/iQ-F)

E.g

AddressData TypeDescription
X0bitX area, address is 0
X1bitX area, address is 1
Y0bitY area, address is 0
Y1bitY area, address is 1
D100int16D area, address is 100
D1000uint16D area, address is 1000
D200uint32D area, address is 200
D10floatD area, address is 10
D20doubleD area, address is 20

.BIT

It can only be used in non-bit type area, which means to read the specified bit of the specified address, and the binary bit index range is [0, 15].

AddressData TypeDescription
D20.0bitD area, address is 20, bit 0
D20.2bitD area, address is 20, bit 2

.LEN[H][L]

When the data type is string, .LEN indicates the length of the string; H and L can be optional to indicate two byte orders, the default is H byte order. E.g

AddressData TypeDescription
D1002.16LstringD area, address is 1002, string length is 16, endianness is L
D1003.16stringD area, address is 1003, string length is 16, endianness is H

IEC 60870-5-104

Parameter Setting

ParameterDescription
hostdevice ip
portdevice port, default 2404
cacommon address
intervalstation interrogation interval

Support Data Type

  • uint16
  • int16
  • float
  • bit

Address Format

IOA

IEC 60870-5-104 TYPEIDNEURON TYPE
M_ME_NB_1、M_ME_TE_1uint16/int16
M_ME_NC_1、M_ME_TF_1float
M_SP_NA_1、M_SP_TB_1bit
M_ME_NA_1、M_ME_TD_1、M_ME_ND_1uint16/int16

KNXnet/IP

Support Data Type

  • bit
  • bool
  • int8
  • uint8
  • int16
  • uint16
  • float

Address Format

Two address formats

  • GROUP_ADDRESS

Represents the KNX group address, which can only be written in Neuron, and KNX devices belonging to this group will react to messages sent to this group.

E.g

0/0/1 is a KNX group address and is write only in Neuron, KNX devices belonging to this group will react to messages sent to this group.

  • GROUP_ADDRESS,INDIVIDUAL_ADDRESS

代表 KNX 组下的设备地址,只能在 Neuron 中读取。

Represents a KNX individual address that is a member of the group address, and is read only in Neuron.

E.g

0/0/1,1.1.1 represents a KNX individual address 1.1.1 that is a member of the group address 0/0/1, and is read only in Neuron.

BACnet/IP

Parameter Setting

ParameterDescription
hostBACnet device ip
portBACnet device port, default 47808

Support Data Type

  • float
  • bit

Address Format

AREA[ADDRESS]

AREAADDRESS RANGEATTRIBUTEDADA TYPEREMARK
AI0 - 0x3fffffreadfloatanalog input
AO0 - 0x3fffffread/writefloatanalog output
AV0 - 0x3fffffread/writefloatanalog value
BI0 - 0x3fffffreadbitbinary input
BO0 - 0x3fffffread/writebitbinary output
BV0 - 0x3fffffread/writebitbinary value
MSI0 - 0x3fffffreadbitmulti state input
MSO0 - 0x3fffffread/writebitmulti state output
MSV0 - 0x3fffffread/writebitmulti state value

E.g

AddressData TypeDescription
AI0floatAI area, address is 0
AI1floatAI area, address is 1
BO10floatBO area, address is 10
BO20floatBO area, address is 20
AV30floatAV area, address is 30
BI0bitBI area, address is 0
BI1bitBI area, address is 1
BV3bitBV area, address is 3
MSI10bitMAI area, address is 10
MSI20bitMSI area, address is 20
MSI30bitMSI area, address is 30