# Neuron Driver Address Format

# General

This document describes the tag address formats for Neuron to setup with various kind of industrial protocol drivers. Each Neuron driver has its own address format that will be parsed in configuration process for machine or device communication.

# Allen-Bradley PLC2 (half duplex)

# General Details

SettingsParameters
Runtime moduleneuron_o_df1hp2
Driver namedf1hp2
ProtocolDF1 half-duplex
Physical interfaceRS485
Default settings9600/8/N/1

# Address String

STN!DST!ADDR

STN is the slave station device number

DST is the destination node (CPU)

ADDR is the register address as following:

TypeFormatRangeDescription
WordDDDDD0 ~ 65535Work Area (word)

Note: Because the 1771KG is directly connected to the CPU, the STN and DST should be set to the same number (address of 1771KG module).

Example: 16!16 (slave number 20 octal)

16!16!520 (word 1010 octal in slave number 20 octal)

Set 8 (10 octal) for 1771-KG and set 0 for 1785-KE and 1770-KF2 in KG mode

# Allen-Bradley PLC5 (half duplex)

# General Details

SettingsParameters
Runtime moduleneuron_o_df1ph5
Driver namedf1ph5
ProtocolDF1 half-duplex
Physical interfaceRS485
Default settings9600/8/N/1

# Address String

STN!DST!ADDR

STN is the slave station device number (KE/KF2 module address)

DST is the destination node (CPU)

ADDR is the register address as following.

TypeFormatRangeDescription
WordDDDDD0 ~ 65535Work Area (word)

Note: the KE or KF2 module inserts its address as the source, and this address will be the used data file number in the PLC5.

Example: 28!16 (KE/KF2 module number 34 octal and destination node=CPU number 20 octal). 28!16!10 means word 10 in file N28 in slave number 20 (octal).

Set 8 (10 octal) for 1771-KG and set 0 for 1785-KE and 1770-KF2 in KG mode

# Schneider TSX7 SCM (Modbus RTU)

# General Details

SettingsParameters
Runtime moduleneuron_o_tsxmbr
Driver nametsxmbr
ProtocolModbus RTU
Physical interfaceRS232
Default settings9600/8/N/1

# Address String

STN!ADDR

STN is the slave station number (CPU) (1 – 247)

ADDR is the register address as following.

TypeFormatRangeDescription
WordWDDDDD0 ~ 32767Register (word)

Example: 10!W100 means word 100 in slave station 10.

# Schneider TSX7 SCM (Modbus TCP)

# General Details

SettingsParameters
Runtime moduleneuron_o_tsxmbt
Driver nametsxmbt
ProtocolModbus TCP
Physical interfaceEthernet
Default settings502

# Address String

ADDR

ADDR is the register address as following:

TypeFormatRangeDescription
WordWDDDDD0 ~ 32767Register

Example:W4000 means word address 4000.

# Schneider Telemecanique UNI-TE

# General Details

SettingsParameters
Runtime moduleneuron_o_unite
Driver nameunite
ProtocolTSX SCM 2161 (Uni-Telway), directly on the built-in UNI-TE port on a V4 (or later) CPU
Physical interfaceRS232
Default settings9600/8/N/1

# Address String

STN!ADDR

STN is the slave station number (Ad0 in CPU) (1 – 31)

ADDR is the register address as following:

TypeFormatRangeDescription
WordWDDDDD0 ~ 32767Register (word)

Example: 1!W100 means word 100 in slave number 1.

# ABB SattControl Comli

# General Details

SettingsParameters
Runtime moduleneuron_o_comli
Driver namecomli
ProtocolCOMLI
Physical interfaceRS232
Default settings9600/8/N/1

# Address String

STN!ADDR

STN is the slave station number (CPU) (1 – 247)

ADDR is the register address as following

TypeFormatRangeDescription
WordRDDDD0 ~ 3071Register (word)

Example: 1!R100 means word 100 in slave number 1.

# General Details

SettingsParameters
Runtime moduleneuron_o_omrhls
Driver nameomrhls
ProtocolHost-Link sysmac c-series
Physical interfaceRS232
Default settings9600/8/N/1

# Address String

ADDR

ADDR is the register address as following:

TypeFormatRangeDescription
WordARDDDD0 ~ 4095Auxiliary Relay
WordIRDDDD0 ~ 4095I/O and Internal Relay
WordHRDDDD0 ~ 4095Hold Relay
WordLRDDDD0 ~ 4095Link Relay
WordTCDDDD0 ~ 255Timer
WordDMDDDD0 ~ 9999Data Register

Example: DM100 means word 100 in DM data memory area.

# General Details

SettingsParameters
Runtime moduleneuron_o_omrhls
Driver nameomrhls
ProtocolHost-Link sysmac c-series
Physical interfaceRS232
Default settings9600/8/N/1

# Address String

STN!ADDR

STN is station number/module number (0 – 31)

ADDR is the register address as following:

TypeFormatRangeDescription
WordARDDDD0 ~ 4095Auxiliary Relay
WordIRDDDD0 ~ 4095I/O and Internal Relay
WordHRDDDD0 ~ 4095Hold Relay
WordLRDDDD0 ~ 4095Link Relay
WordTCDDDD0 ~ 255Timer
WordDMDDDD0 ~ 9999Data Register

Example: 10!DM100 means word 100 in data memory in slave 10.

# Omron FINS on TCP

# General Details

SettingsParameters
Runtime moduleneuron_o_finstc
Driver namefinstc
ProtocolFINS on TCP
Physical interfaceEthernet RJ45
Default settingsport:2000

# Address String

ADDR[.BIT]

ADDR is the data memory word address starting with “DM”

BIT bit(option)

TypeAddress prefixFormatRangeDescription
Word/BitCIODDDD[.dd]0 ~ 6143CIO Area
Word/BitWRDDD[.dd]0 ~ 511Work Area
Word/BitHRDDD[.dd]0 ~ 511Holding Bit Area
Word/BitARDDD[.dd]0 ~ 959Auxiliary Bit Area 0~447 read only
Word/BitPV (Timer/Counter)DDDD[.dd]0 ~ 4095Timer / Counter
BitF (Completion Flag)DDDD0 ~ 4095Completion Flag
Word/BitDMDDDDD[.dd]0 ~ 32767Data Memory
Word/BitEM0~EM18DDDDD[.dd]0 ~ W32767Extended Memory, use W separate area and address

Example: DM100 means word 100 in data memory.

# Siemens S5 3964R/RK512

# General Details

SettingsParameters
Runtime moduleneuron_o_s539rk
Driver names539rk
Protocol3964R/RK512
Physical interfaceRS232
Default settings9600/8/N/1

# Address String

ADDR

ADDR is the address as following

DB is the data block (0 – 999)

DBW(_ word offset _) is the data word in that data block

TypeFormatRangeDescription
WordIDDDD0 ~ 4095Input
WordQDDDD0 ~ 4095Output
WordMDDDD0 ~ 4095Marker Memory
WordDB0~999.DBWDDDDD
DDDDD
0 ~ 65535
0 ~ 65535
Data Memory
WordTDDD0 ~ 255Timer
WordCDDD0 ~ 255Counter

Example: DB100 (data block 100)

DB100.DBW20 (DBddd.DBWddddd) means data word 20 in data block 100

# Siemens S7 3964R/RK512

# General Details

SettingsParameters
Runtime moduleneuron_o_s739rk
Driver nameS739rk
Protocol3964R/RK512
Physical interfaceRS232
Default settings9600/8/N/1

# Address String

ADDR

ADDR is the address as following

DB is the data block (0 – 999)

DBW(byte offset) is the data word in that data block

TypeFormatRangeDescription
ByteIWDDDD0 ~ 4095Input
ByteQWDDDD0 ~ 4095Output
ByteMWDDDD0 ~ 4095Marker Memory
ByteDB0~999.DBWDDDDD
DDDDD
0 ~ 65535
0 ~ 65535
Data Memory (must be in even byte no.)
ByteTDDD0 ~ 255Timer
ByteCDDD0 ~ 255Counter

Note: The real DBW should be used (eg. DBW0, DBW2 etc) and the driver will read the byte start from 0 and the byte start from 2. It reads a word from byte 0, byte 2 respectively.

Example: DB100 (data block 100)

DB100.DBW20 (DBddd.DBWddddd) means data word 20 in data block 100

# Siemens FETCH/WRITE

# General Details

SettingsParameters
Runtime moduleneuron_o_siefw
Driver namesiefw
ProtocolSiemens Fetch/Write Protocol
Physical interfaceEthernet
Default port no.2200

# Address String

ADDR

ADDR is the address as following

DB is the data block (0 – 999)

DBW(byte offset) is the data word (start) in that data block.

TypeFormatRangeDescription
ByteIWDDDD0 ~ 4095Input
ByteQWDDDD0 ~ 4095Output
ByteMWDDDD0 ~ 4095Marker Memory
ByteDB0~999.DBWDDDDD
DDDDD
0 ~ 65535
0 ~ 65535
Data Memory (must be in even byte no)
ByteTDDD0 ~ 255Timer
ByteCDDD0 ~ 255Counter

Note: There is a limitation in the protocol. The DB can only be between 1-255 and the start address of a read or write table cannot go beyond DBW2047, however the end of a table can. But during the test, it was possible to start at address DBW32766.

Note: In the Simatic PLC you just define a TCP/IP connection for either FETCH passive (read only) or WRITE passive (write only), listening on a certain port. Currently there is no FETCH/WRITE passive setting, so two connections with different ports are required, one for read and one for write.

Example: DB200.DBW20 (DBddd.DBWddddd) means data word 20 in data block 200.

# Siemens Industrial Ethernet S7 ISOTCP

# General Details

SettingsParameters
Runtime moduleneuron_o_s7pro
Driver names7pro
ProtocolS7 ISO TCP (S7 protocol)
Physical interfaceEthernet
Default port no.102

# Address String

ADDR

ADDR is the address as following

Note: DB is the data block (0 – 999)

DBW(byte offset) is the data word (start) in that data block.

TypeFormatRangeDescription
ByteIWDDDD0 ~ 4095Input
ByteQWDDDD0 ~ 4095Output
ByteMWDDDD0 ~ 4095Marker Memory
ByteDB0~999DBWDDDDD
DDDDD
0 ~ 65535
0 ~ 65535
Data Memory (must be in even byte no.)
ByteTDDD0 ~ 255Timer
ByteCDDD0 ~ 255Counter

Example: DB200.DBW20 (DBddd.DBWddddd) means data word 20 in data block 200.

S7P_SCRTSAP is the source TSAP for S7 protocol(default 0x0101)

S7P_DSTTSAP is the destination TSAP for S7 protocol(default 0x0101)

TSAP(2Byte): frist byte: 0x01: PG or PC, 0x02: OS, 0x03: Others, such as OPC server, s7 plc second byte:

7-4 bit3-0bit
rack numbercpu slot

# Notes

An external equipment can access to S71200/1500 CPU using the S7 “base” protocol, only working as an HMI, i.e. only basic data transfer are allowed.

All other PG operations (control/directory/etc..) must follow the extended protocol.

Particularly to access a DB in S71500 some additional setting plc-side are needed.

  1. Only global DBs can be accessed.
  2. The optimized block access must be turned off.
  3. The access level must be “full” and the “connection mechanism” must allow GET/PUT.

# Mitsubishi FX0S/FX0N/FX1S/FX1N/FX2

# General Details

SettingsParameters
Runtime moduleneuron_o_fxnpro
Driver namefxnpro
ProtocolRS command
Physical interfaceRS232
Default settings9600/7/E/1

# Address String

ADDR

ADDR is the register address

TypeFormatRangeDescription
BitXOOO0 ~ 377Input Relay
BitYOOO0 ~ 377Output Relay
BitMDDDD0 ~ 7999Auxiliary Relay
BitTDDD0 ~ 255Timer Relay
BitCDDD0 ~ 255Counter Relay
BitSMDDDD8000 ~ 9999Special Aux. Relays
BitSDDDD0 ~ 4095States
WordTNDDD0 ~ 255Timer Memory
WordCNDDD0 ~ 199Counter Memory
WordDDDDD0 ~ 7999Data Register
DWordCN2DDD200 ~ 255Counter Memory
WordSDDDDD8000 ~ 9999Special Data Register

Example: D100 means word 100 in D data memory area.

# Mitsubishi FX2N/FX3U/FX3G Series

# General Details

SettingsParameters
Runtime moduleneuron_o_fx3u3g
Driver namefx3u3g
ProtocolRS command
Physical interfaceRS232
Default settings9600/7/E/1

# Address String

ADDR

ADDR is the register address as following:

TypeFormatRangeDescription
BitXOOO0 ~ 764Input Relay
BitYOOO0 ~ 764Output Relay
BitMDDDD0 ~ 7999Auxiliary Relay
BitTDDD0 ~ 511Timer Relay
BitCDDD0 ~ 255Counter Relay
BitSMDDDD8000 ~ 9999Special Aux. Relays
BitSDDDD0 ~ 4095States
WordTNDDD0 ~ 511Timer Memory
WordCNDDD0 ~ 199Counter Memory
WordDDDDD0 ~ 7999Data Register
DWordCN2DDD200 ~ 255Counter Memory
WordSDDDDD8000 ~ 9999Special Data Register
WordRDDDD0 ~ 32767Extended Register

Example: D100 means word 100 in D data memory area.

# Mitsubishi Melsec E71 for Q Series

# General Details

SettingsParameters
Runtime moduleneuron_o_mele71
Driver namemele71
ProtocolMELSEC E71
Physical interfaceEthernet
Default port no.2000

# Caution

Multiple connection requests cannot be handled by a single port in Q series PLCs. When connecting to a PLC using the E71 protocol, be sure to assign a separate port for each neuron instance in the parameter settings of the PLC and specify the protocol as TCP and MC.

# Address String

ADDR

ADDR is the register address as following:

TypeFormatRangeDescription
BitXHHHH0 ~ 1fffInput Relay
BitYHHHH0 ~ 1fffOutput Relay
BitMDDDDD0 ~ 61439Internal Relay
BitLDDDDD0 ~ 32767Latch Relay
BitFDDDDD0 ~ 32767Annunciator
BitVDDDDD0 ~ 32767Edge Relay
BitBHHHH0 ~ efffLink Relay
BitTCDDDD0 ~ 2047Timer Coil
BitSSDDDDD0 ~ 25471Retentive Timer Contact
BitSCDDDDD0 ~ 25471Retentive Timer Coil
BitCSDDDDD0 ~ 25471Counter Contact
BitCCDDDDD0 ~ 25471Counter Coil
BitSBHHH0 ~ 7ffSpecial Link Relay
BitDXHHHH0 ~ 1fffDirect Input
BitDYHHHH0 ~ 1fffDirect Output
BitTSDDDD0 ~ 2047Timer Contact
WordWHHHH0 ~ 2fffLink Register
WordTNDDDD0 ~ 2047Timer Current Value
WordSNDDDD0 ~ 2047Retentive Timer Current
WordCNDDDD0 ~ 1023Counter Value
WordSWHHH0 ~ 7ffSpecial Link Register
WordZDD0 ~ 19Index Register
WordZRHHHHH0 ~ fe7a5File Register
WordDDDDDDDD0 ~ 4212735Data Register
WordSDDDDD0 ~ 2047

Example: D100 means word 100 in D data memory area.

# Modbus RTU

# General Details

SettingsParameters
Runtime moduleneuron_o_mbsrtu
Driver namembsrtu
ProtocolModbus RTU
Physical interfaceRS485
Default settings9600/8/N/1

# Address String

STN!ADDR[.BIT][#ENDIAN]

STN is slave number or device ID (0-247)

ADDR is the register address as following:

BIT Bit no.(0-15)

ENDIAN Endianness of the value

TypeFormatRangeDescription
Bit01/05/15DDDDDD000001 ~ 065536Discrete Output Coils
Bit02DDDDDD100001 ~ 165536Discrete Input Contacts
Word04DDDDDD300001 ~ 365536Analog Input Registers
Word03/06/16DDDDDD400001 ~ 465536Analog Output Holding Registers

# Modbus TCP

# General Details

SettingsParameters
Runtime moduleneuron_o_mbstcp
Driver namembstcp
ProtocolModbus TCP
Physical interfaceEthernet
Default port no.502

# Address String

STN!ADDR[.BIT][#ENDIAN]

STN is slave number or device ID (0-247)

ADDR is the register address as following:

BIT Bit no.(0-15)

ENDIAN Endianness of the value

TypeFormatRangeDescription
Bit01/05/15DDDDDD000001 ~ 065536Discrete Output Coils
Bit02DDDDDD100001 ~ 165536Discrete Input Contacts
Word04DDDDDD300001 ~ 365536Analog Input Registers
Word03/06/16DDDDDD400001 ~ 465536Analog Output Holding Registers

Example:2!404001 means word address 4000 with in slave number 2.

# Modbus RTU over TCP

# General Details

SettingsParameters
Runtime moduleneuron_o_mbsrot
Driver namembsrot
ProtocolModbus RTU over TCP
Physical interfaceEthernet
Default port no.502

# Address String

STN!ADDR[.BIT][#ENDIAN]

STN is slave number or device ID (0-247)

ADDR is the register address as following:

BIT Bit no.(0-15)

ENDIAN Endianness of the value

TypeFormatRangeDescription
Bit01/05/15DDDDDD000001 ~ 065536Discrete Output Coils
Bit02DDDDDD100001 ~ 165536Discrete Input Contacts
Word04DDDDDD300001 ~ 365536Analog Input Registers
Word03/06/16DDDDDD400001 ~ 465536Analog Output Holding Registers

Example:2!404001 means word address 4000 with in slave number 2.

# IEC 61850

# General Details

SettingsParameters
Runtime moduleneuron_o_i61850
Driver namei61850
ProtocolIEC 61850
Physical interfaceEthernet
Default settings102

# Address String

FC!ADDR

FC is functional constraints value as following:

FnFormatDescription
0IEC61850_FC_STStatus information
1IEC61850_FC_MXMeasurands - analog values
2IEC61850_FC_SPSetpoint
3IEC61850_FC_SVSubstitution
4IEC61850_FC_CFConfiguration
5IEC61850_FC_DCDescription
6IEC61850_FC_SGSetting group
7IEC61850_FC_SESetting group editable
8IEC61850_FC_SRService response / Service tracking
9IEC61850_FC_OROperate received
10IEC61850_FC_BLBlocking
11IEC61850_FC_EXExtended definition
12IEC61850_FC_COControl
13IEC61850_FC_USUnicast SV
14IEC61850_FC_MSMulticast SV
15IEC61850_FC_RPUnbuffered report
16IEC61850_FC_BRBuffered report
17IEC61850_FC_LGLog control blocks

ADDR is the object reference address string

The IEC61850 data hierarchical model are usually as following:

Physical Device (IED)

Logical Device (LD)

Logical Node (LN)

Object Data (DO)

Object Attribute (DA)

Example:1!testmodelSENSORS/TTMP1.TmpSv.instMag.f

means the functional constraint of this tag is 1 (IEC61850_FC_MX –analog measurands). The object reference address string are (IED) – testmodel, (LD) – SENSORS, (LN) – TTMP1, (DO) – TmpSv, (DA) – instMag.f for floating value.

# OPC UA

# General Details

SettingsParameters
Runtime moduleneuron_o_opcua
Driver nameopcua
ProtocolOPC UA
Physical interfaceEthernet
Default port no.4840

# Certificate Setting

OPCUA can login to OPC-UA server by user self-signed certificate, certificate and key must meet the following conditions.

  • CERTIFICATE and KEYFILE must be set at the same time
  • Certificate must be generated by X.509v3 standard
  • The SAN field of the Certficate must contain URI:urn:xxx.xxx.xxx, with the "xxx" part being a custom part
  • Certificate file and key file must be encoded with DER format

The certificate file can be imported into the target server in advance and set as trust, or it can be set by neuron and submitted automatically and then set as trust by the server.

Certificate generation steps(Windows/Linux/Mac):

$openssl req -config localhost.cnf -new -nodes -x509 -sha256 -newkey rsa:2048 -keyout localhost.key -days 365 -subj "/C=DE/O=neuron/CN=NeuronClient@localhost" -out localhost.crt
$openssl x509 -in localhost.crt -outform der -out client_cert.der
$openssl rsa -inform PEM -in localhost.key -outform DER -out client_key.der
$rm localhost.crt
$rm localhost.key
1
2
3
4
5

The *.cnf file specified by -config can be modified using the template file for openssl (opens new window) to be modified to include the following configuration section:

[ v3_req ]

# Extensions to add to a certificate request

basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[ alt_names ]
URI.1 = urn:xxx.xxx.xxx
DNS.1 = localhost
#DNS.2 = localhost
IP.1 = 127.0.0.1
#IP.2 = 0.0.0.0
1
2
3
4
5
6
7
8
9
10
11
12
13
14

-days can set the value as desired.

# Certificate conversion

You can convert PEM certificate and private key to DER format by following steps and commands

  1. Save all the contents including "-----BEGIN CERTIFICATE-----" and "-----END CERTIFICATE-----" as 1.crt;
  2. Save all the contents including "-----BEGIN PRIVATE KEY-----" and "-----END PRIVATE KEY-----" as 1.key;
  3. Execute the following command:
$ openssl x509 -in 1.crt -outform der -out cert.der   
$ openssl rsa -inform PEM -in 1.key -outform DER -out key.der
1
2

# Address String

IX!NODEID

IX is the namespace index. (1-32767)

NODEID is the node ID. (any string exclude '!')

Example: 2!Device1.Module1.Tag1 represents namespace index is 2 and node ID is Device1.Module1.Tag1

Neuron version 1.4 already supports fixed-length string read and write, you need to add the string length identifier - #length to the node ID, if you want to set Device1.Module1.Tag1 to a string type with length 20, the full access address is 2!Device1 .Module1.Tag1#20

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

# IEC 60870-5-104

# General Details

SettingsParameters
Runtime moduleneuron_o_iec104
Driver nameIEC 60870-5-104
ProtocolIEC 60870-5-104
Physical interfaceEthernet
Default port no.2404

# Parameters

SettingsParametersDescription
kdefault 12
wdefault 8
t0Timeout of connection establishmentdefault 30
t1Timeout for sending APDUdefault 15
t2Timeout for acknowledges in case of no data message t2 M t1default 10
t3Timeout for sending framesdefault 20

# Address String

CA!IOA

CA Station Address

IOA Starting Information Object Address

data namedata type
M_ME_NA_1WORD,UWORAD,DWORD,UDWORD
M_ME_TD_1WORD,UWORAD,DWORD,UDWORD
M_ME_ND_1WORD,UWORAD,DWORD,UDWORD
M_ME_NB_1WORD,UWORAD,DWORD,UDWORD
M_ME_TE_1WORD,UWORAD,DWORD,UDWORD
M_ME_NC_1FLOAT,DOUBLE
M_ME_TF_1FLOAT,DOUBLE
M_SP_NA_1BOOL
M_SP_TB_1BOOL

Example: 1!2 represents Station Address is 1 and IOA is 2

# DL/T645-2007

# General Details

SettingsParameters
Runtime moduleneuron_o_dlt645
Driver namedlt645
ProtocolDL/T645-2007
Physical interfaceRS485
Default settings9600/8/N/1

The calibration method of general electricity meter is even calibration.

# Address String

STN1!STN2!ADDR

STN1 is the first three bytes of the communication address of the meter.

STN2 is the last three bytes of the communication address of the meter

ADDR is the corresponding data identification:

data identificationDescription
33343435Read A-phase voltage
33343535Read A-phase current
33333333Read the total active energy of the current combination

Example:210220!003011!33343435 represents the voltage value of the device with communication address 210220003011