# Neuron 驱动地址格式

# 总则

本文档描述了 Neuron 与各种工业协议驱动程序之间的标签地址格式。每个 Neuron 驱动程序都有自己的地址格式,在配置过程中会被解析,用于机器或设备的通信。

# Allen-Bradley PLC2(半双工)

# 一般资讯

設定参数
运行时模块neuron_o_df1hp2
驱动名称df1hp2
协议DF1(半双工)
物理接口RS485
默认设置9600/8/N/1

# 地址格式

STN!DST!ADDR

STN 为从站设备号

DST 为目的节点(CPU)

ADDR 是指如下的寄存器地址:

規格範圍描述
DDDDD0 ~ 65535寄存器(字)

注:由于 1771KG 是直接与 CPU 连接的,所以 STN 和 DST 应设置为同一编号(1771KG 模块的地址)。

例如:16! 16 (从属号码 20 八进制)

16!16!520(字 1010 八进制中的从数 20 八进制)。

在 KG 模式下,1771-KG 设置为 8(10 八进制),1785-KE 和 1770-KF2 设置为 0。

# Allen-Bradley PLC5(半双工)

# 一般资讯

設定参数
运行时模块neuron_o_df1ph5
驱动名称df1ph5
协议DF1(半双工)
物理接口RS485
默认设置9600/8/N/1

# 地址格式

STN!DST!ADDR

STN 为从站设备号(KE/KF2 模块地址)

DST 为目的节点(CPU)

ADDR 是指如下的寄存器地址:

規格範圍描述
DDDDD0 ~ 65535寄存器(字)

注:KE 或 KF2 模块插入它的地址作为源,这个地址将是 PLC5 中使用的数据文件号。

例如:28!16( KE/KF2 模块号 34 八进制,目的节点 = CPU 号 20 八进制)。

28!16!10 表示文件 N28 中的字 10 在从机号 20(八进制)。

在 KG 模式下,1771-KG 设置为 8(10 八进制),1785-KE 和 1770-KF2 设置为 0。

# Schneider TSX7 SCM (Modbus RTU)

# 一般资讯

設定参数
运行时模块neuron_o_tsxmbr
驱动名称tsxmbr
协议Modbus RTU
物理接口RS232
默认设置9600/8/N/1

# 地址格式

STN!ADDR

STN 为从站设备号(CPU)(1 – 247)

ADDR 是指如下的寄存器地址:

規格範圍描述
WDDDDD0 ~ 32767寄存器(字)

例如:10!W100 表示从站 10 中的字 100。

# Schneider TSX7 SCM (Modbus TCP)

# 一般资讯

設定参数
运行时模块neuron_o_tsxmbt
驱动名称tsxmbt
协议Modbus TCP
物理接口以太网
默认设置端口:502

# 地址格式

ADDR

ADDR 是指如下的寄存器地址:

規格範圍描述
WDDDDD0 ~ 32767寄存器

例如:W4000 表示字地址 4000。

# Schneider Telemecanique UNI-TE

# 一般资讯

設定参数
运行时模块neuron_o_unite
驱动名称unite
协议TSX SCM 2161(Uni-Telway),直接在 V4(或更高版本) CPU 上的内置 UNI-TE 端口上使用
物理接口RS232
默认设置9600/8/N/1

# 地址格式

STN!ADDR

STN 为从站设备号(Ad0 in CPU)(1 – 31)

ADDR 是指如下的寄存器地址:

規格範圍描述
WDDDDD0 ~ 32767寄存器(字)

例如:1!W100 表示从站 1 中的字 100。

# ABB SattControl Comli

# 一般资讯

設定参数
运行时模块neuron_o_comli
驱动名称comli
协议COMLI
物理接口RS232
默认设置9600/8/N/1

# 地址格式

STN!ADDR

STN 为从站设备号(CPU)(1 – 247)

ADDR 是指如下的寄存器地址:

規格範圍描述
WDDDDD0 ~ 3071寄存器(字)

例如:1!R100 表示从站 1 中的字 100。

# 一般资讯

設定参数
运行时模块neuron_o_omrhls
驱动名称omrhls
协议Host-Link sysmac c-series
物理接口RS232
默认设置9600/8/N/1

# 地址格式

ADDR

ADDR 是指如下的寄存器地址:

規格範圍描述
ARDDDDD0 ~ 4095辅助继电器
IRDDDDD0 ~ 4095I/O 和内部继电器
HRDDDDD0 ~ 4095保持中继
LRDDDDD0 ~ 4095链接中继
TCDDDDD0 ~ 255定时器
DMDDDDD0 ~ 9999数据寄存器

例如:DM100 表示 DM 数据存储区的字 100。

# 一般资讯

設定参数
运行时模块neuron_o_omrhls
驱动名称omrhls
协议Host-Link sysmac c-series
物理接口RS232
默认设置9600/8/N/1

# 地址格式

STN!ADDR

STN 为站号/模块号(0-31)

ADDR 是指如下的寄存器地址:

規格範圍描述
ARDDDDD0 ~ 4095辅助继电器
IRDDDDD0 ~ 4095I/O 和内部继电器
HRDDDDD0 ~ 4095保持中继
LRDDDDD0 ~ 4095链接中继
TCDDDDD0 ~ 255定时器
DMDDDDD0 ~ 9999数据寄存器

例如:10!DM100 表示从机 10 的数据存储器中的字 100。

# Omron FINS on TCP

# 一般资讯

設定参数
运行时模块neuron_o_finstc
驱动名称finstc
协议FINS on TCP
物理接口Ethernet RJ45
默认设置端口:2000

# 地址格式

ADDR[.BIT]

ADDR 是指以 "DM "开头的数据存储器字地址;

BIT(可选) 表示比特位。

地址前缀規格範圍描述
字/比特CIODDDD[.dd]0 ~ 6143CIO区域
字/比特WRDDD[.dd]0 ~ 511工作区
字/比特HRDDD[.dd]0 ~ 511保持位区域
字/比特ARDDD[.dd]0 ~ 959辅助位区0~447只读
字/比特PV (Timer/Counter)DDDD[.dd]0 ~ 4095定时器/计数器
比特F (Completion Flag)DDDD0 ~ 4095Completion Flag
字/比特DMDDDDD[.dd]0 ~ 32767数据存储器
字/比特EM0~EM18DDDDD[.dd]0 ~ W32767扩展存储器,使用W独立的区域和地址

例如:DM100 表示数据存储器中的字100。

# Siemens S5 3964R/RK512

# 一般资讯

設定参数
运行时模块neuron_o_s539rk
驱动名称s539rk
协议3964R/RK512
物理接口RS232
默认设置9600/8/N/1

# 地址格式

ADDR

ADDR 为以下地址

DB 是数据块(0 - 999)

DBW(字偏移量)是该数据块中的数据字

規格範圍描述
IDDDD0 ~ 4095输入
QDDDD0 ~ 4095输出
MDDDD0 ~ 4095标记存储器
DB0~999.DBWDDDDD
DDDDD
0 ~ 65535
0 ~ 65535
数据存储器
TDDD0 ~ 255定时器
CDDD0 ~ 255计数器

例如:DB100(数据块 100)

DB100.DBW20 (DBddd.DBWddddd) 指数据块 100 中的数据字 20

# Siemens S7 3964R/RK512

# 一般资讯

設定参数
运行时模块neuron_o_s739rk
驱动名称S739rk
协议3964R/RK512
物理接口RS232
默认设置9600/8/N/1

# 地址格式

ADDR

ADDR 为以下地址

DB 是数据块(0 - 999)

DBW字偏移量)是该数据块中的数据字

規格範圍描述
字节IDDDD0 ~ 4095输入
字节QDDDD0 ~ 4095输出
字节MDDDD0 ~ 4095标记存储器
字节DB0~999.DBWDDDDD
DDDDD
0 ~ 65535
0 ~ 65535
数据存储器(必须是偶数字节号)字节
字节TDDD0 ~ 255定时器
字节CDDD0 ~ 255计数器

注意:应使用真实的 DBW(如 DBW0、DBW2 等),驱动程序将从 0 开始读取字节,从 2 开始读取字节,它分别从字节 0、字节 2 读取一个字。

例如:DB100(数据块 100)

DB100.DBW20 (DBddd.DBWddddd) 指数据块 100 中的数据字 20

# Siemens FETCH/WRITE

# 一般资讯

設定参数
运行时模块neuron_o_siefw
驱动名称siefw
协议Siemens Fetch/Write Protocol
物理接口以太网
默认设置端口:2200

# 地址格式

ADDR

ADDR 为以下地址

規格範圍描述
字节IWDDDD0 ~ 4095输入
字节QWDDDD0 ~ 4095输出
字节MWDDDD0 ~ 4095标记存储器
字节DB0~999.DBWDDDDD
DDDDD
0 ~ 65535
0 ~ 65535
数据存储器(必须是偶数字节号)字节
字节TDDD0 ~ 255定时器
字节CDDD0 ~ 255计数器

DB 是数据块(0 - 999)

DBW字偏移量)是该数据块中的数据字(起始)

注意:协议中有一个限制。DB 只能在 1-255 之间,读写表的起始地址不能超过 DBW2047,然而表的末端可以。但在测试过程中,可以从地址 DBW32766 开始。

注意:在 Simatic PLC 中,您只需定义一个 TCP/IP 连接,用于 FETCH 被动(只读)或 WRITE 被动(只写),在某个端口上监听。目前没有 FETCH/WRITE 被动设置,所以需要两个不同端口的连接,一个用于读,一个用于写。

例如:DB100.DBW20 (DBddd.DBWddddd) 指数据块 200 中的数据字 20

# Siemens 工业以太网 S7 ISOTCP

# 一般资讯

設定参数
运行时模块neuron_o_s7pro
驱动名称s7pro
协议S7 ISO TCP(S7 协议)
物理接口以太网
默认设置端口:102

# 地址格式

ADDR

ADDR 为以下地址

注意:DB 是数据块(0 - 999)

DBW(字偏移量)是该数据块中的数据字(起始)

規格範圍描述
字节IWDDDD0 ~ 4095输入
字节QWDDDD0 ~ 4095输出
字节MWDDDD0 ~ 4095标记存储器
字节DB0~999.DBWDDDDD
DDDDD
0 ~ 65535
0 ~ 65535
数据存储器(必须是偶数字节号)字节
字节TDDD0 ~ 255定时器
字节CDDD0 ~ 255计数器

例如:DB100.DBW20 (DBddd.DBWddddd) 指数据块 200 中的数据字 20。

S7P_SCRTSAP 是 S7 协议的源 TSAP(默认值0x0101)

S7P_DSTTSAP 是 S7 协议的目标 TSAP(默认值0x0101)

TSAP由两个字节构成: 第一个字节,01:PG or PC ; 02: OS ; 03: Others,such as OPC server,simatic s7 plc 第二个字节,高四位表示rack number ,低四位表示cpu slot

# 提示

Neuron连接S7-1200/1500设备时,只进行基本的数据传输。

不支持其他的PG操作(控制等)。

如果要访问S71500中的数据块,需要对PLC进行一些额外的设置:

  1. 只有全局数据块可以被访问。
  2. 在块的属性设置中“优化的块访问”必须被关闭。
  3. 在PLC的属性设置中,访问级别必须是 "完全访问权限",连接机制必须勾选“允许来自远程对象的PUT/GET通信访问”。

# Mitsubishi FX0S/FX0N/FX1S/FX1N/FX2

# 一般资讯

設定参数
运行时模块neuron_o_fxnpro
驱动名称fxnpro
协议RS 命令
物理接口RS232
默认设置9600/7/E/1

# 地址格式

ADDR

ADDR寄存器地址

規格範圍描述
比特XOOO0 ~ 377输入继电器
比特YOOO0 ~ 377输出继电器
比特MDDDD0 ~ 7999辅助继电器
比特TDDD0 ~ 255计时器继电器
比特CDDD0 ~ 255计数器继电器
比特SMDDDD8000 ~ 9999特殊辅助设备 继电器
比特SDDDD0 ~ 4095国家
TNDDD0 ~ 255定时器存储器
CNDDD0 ~ 199计数器存储器
DDDDD0 ~ 7999数据寄存器
双字CN2DDD200 ~ 255计数器存储器
SDDDDD8000 ~ 9999特殊数据寄存器

例如:D100 表示在 D 数据存储区的字 100。

# Mitsubishi FX2N/FX3U/FX3G 系列

# 一般资讯

設定参数
运行时模块neuron_o_fx3u3g
驱动名称fx3u3g
协议RS 命令
物理接口RS232
默认设置9600/7/E/1

# 地址格式

ADDR

ADDR 是如下寄存器地址:

規格範圍描述
比特XOOO0 ~ 377输入继电器
比特YOOO0 ~ 377输出继电器
比特MDDDD0 ~ 7999辅助继电器
比特TDDD0 ~ 255计时器继电器
比特CDDD0 ~ 255计数器继电器
比特SMDDDD8000 ~ 9999特殊辅助设备 继电器
比特SDDDD0 ~ 4095国家
TNDDD0 ~ 255定时器存储器
CNDDD0 ~ 199计数器存储器
DDDDD0 ~ 7999数据寄存器
双字CN2DDD200 ~ 255计数器存储器
SDDDDD8000 ~ 9999特殊数据寄存器
RDDDD0 ~ 32767扩展寄存器

例如:D100 表示在 D 数据存储区的字 100。

# Mitsubishi Melsec E71 for Q 系列

# 一般资讯

設定参数
运行时模块neuron_o_mele71
驱动名称mele71
协议MELSEC E71
物理接口以太网
默认设置端口:2000

# 注意事项

Q系列PLC中单个端口不能处理多个连接请求,在使用E71协议连接PLC时,请务必在PLC的参数设置中为每一个neuron实例分配独立端口,并指定协议为TCP和MC。

# 地址格式

ADDR

ADDR 是如下寄存器地址:

規格範圍描述
比特XHHHH0 ~ 1fff输入继电器
比特YHHHH0 ~ 1fff输出继电器
比特MDDDDD0 ~ 61439内部继电器
比特LDDDDD0 ~ 32767锁定继电器
比特FDDDDD0 ~ 32767报幕员
比特VDDDDD0 ~ 32767边缘继电器
比特BHHHH0 ~ efff链接中继
比特TCDDDD0 ~ 2047定时器线圈
比特SSDDDDD0 ~ 25471保留计时器触点
比特SCDDDDD0 ~ 25471固定式定时器线圈
比特CSDDDDD0 ~ 25471Counter Contact
比特CCDDDDD0 ~ 25471计数器线圈
比特SBHHH0 ~ 7ff特殊链路继电器
比特DXHHHH0 ~ 1fff直接输入
比特DYHHHH0 ~ 1fff直接输出
比特TSDDDD0 ~ 2047定时器触点
WHHHH0 ~ 2fffLink Register
TNDDDD0 ~ 2047定时器当前值
SNDDDD0 ~ 2047保留计时器电流
CNDDDD0 ~ 1023计数值
SWHHH0 ~ 7ffSpecial Link Register
ZDD0 ~ 19索引寄存器
ZRHHHHH0 ~ fe7a5File Register
DDDDDDDD0 ~ 4212735数据寄存器
SDDDDD0 ~ 2047

例如:D100 表示在 D 数据存储区的字 100。

# Modbus RTU

# 一般资讯

設定参数
运行时模块neuron_o_mbsrtu
驱动名称mbsrtu
协议Modbus RTU
物理接口RS485
默认设置9600/8/N/1

# 参数配置

参数说明范围
BYTEORDER全局数据字节序DCBA: 0、CDAB:1、ABCD:2、BADC:3

# 地址格式

STN!ADDR[.BIT][#ENDIAN]

STN 为从机号或设备 ID(0-247)

ADDR 是指如下的寄存器地址:

功能码規格範圍描述
比特01/05/15DDDDDD000001 ~ 065536离散输出线圈
比特02DDDDDD100001 ~ 165536离散输入触点
04DDDDDD300001 ~ 365536模拟输入寄存器
03/06/16DDDDDD400001 ~ 465536模拟输出保持寄存器

BIT 取第n位bit,范围0-15

ENDIAN 数值字节序,优先级高于全局字节序配置

# Modbus TCP

# 一般资讯

設定参数
运行时模块neuron_o_mbstcp
驱动名称mbstcp
协议Modbus TCP
物理接口以太网
默认设置端口:502

# 参数配置

参数说明范围
BYTEORDER数据字节序DCBA: 0、CDAB:1、ABCD:2、BADC:3

# 地址格式

STN!ADDR[.BIT][#ENDIAN]

STN 为从机号或设备 ID(0-247)

ADDR 是指如下的寄存器地址:

功能码規格範圍描述
比特01/05/15DDDDDD000001 ~ 065536离散输出线圈
比特02DDDDDD100001 ~ 165536离散输入触点
04DDDDDD300001 ~ 365536模拟输入寄存器
03/06/16DDDDDD400001 ~ 465536模拟输出保持寄存器

BIT 取第n位bit,范围0-15

ENDIAN 数值字节序,优先级高于全局字节序配置

例如:2!404001 表示字地址 4000,在子号 2 中。

# Modbus RTU over TCP

# 一般资讯

設定参数
运行时模块neuron_o_mbstcp
驱动名称mbstcp
协议Modbus TCP
物理接口以太网
默认设置端口:502

# 参数配置

参数说明范围
BYTEORDER数据字节序DCBA: 0、CDAB:1、ABCD:2、BADC:3

# 地址格式

STN!ADDR[.BIT][#ENDIAN]

STN 为从机号或设备 ID(0-247)

ADDR 是指如下的寄存器地址:

功能码規格範圍描述
比特01/05/15DDDDDD000001 ~ 065536离散输出线圈
比特02DDDDDD100001 ~ 165536离散输入触点
04DDDDDD300001 ~ 365536模拟输入寄存器
03/06/16DDDDDD400001 ~ 465536模拟输出保持寄存器

BIT 取第n位bit,范围0-15

ENDIAN 数值字节序,优先级高于全局字节序配置

例如:2!404001 表示字地址 4000,在设备 2 中。 2! 400001.1 表示设备2,地址0000,第1位bit。 2! 400001.2 表示设备2,地址0000,数据字节序为ABCD。

# IEC 61850

# 一般资讯

設定参数
运行时模块neuron_o_i61850
驱动名称i61850
协议IEC 61850
物理接口以太网
默认设置端口:102

# 地址格式

FC!ADDR

FC 是功能约束值,如下所示:

規格描述
0IEC61850_FC_ST状态信息
1IEC61850_FC_MX测量值 - 模拟值
2IEC61850_FC_SP设定点
3IEC61850_FC_SV替换
4IEC61850_FC_CF配置
5IEC61850_FC_DC说明
6IEC61850_FC_SG设置组
7IEC61850_FC_SE设置组别可编辑
8IEC61850_FC_SR服务响应/服务跟踪
9IEC61850_FC_OR操作收到
10IEC61850_FC_BL屏蔽
11IEC61850_FC_EX扩展定义
12IEC61850_FC_CO控制
13IEC61850_FC_US单播 SV
14IEC61850_FC_MS多播 SV
15IEC61850_FC_RP无缓冲报告
16IEC61850_FC_BR缓冲报告
17IEC61850_FC_LG日志控制块

ADDR 是对象参考地址字符串

EC61850 数据分层模型通常有以下几种:

物理设备(IED)

逻辑设备(LD)

逻辑节点(LN)

对象数据(DO)

对象属性(DA)

例如:1!testmodelSENSORS/TTMP1.TmpSv.instMag.f 表示该标签的功能约束为 1(IEC61850_FC_MX--模拟测量器)。对象参考地址串为 (IED)--测试模型,(LD)--传感器,(LN)--TTMP1,(DO)--TmpSv,(DA)--instMag.f 为浮动值。

# OPC UA

# 一般资讯

設定参数
运行时模块neuron_o_opcua
驱动名称opcua
协议OPC UA
物理接口以太网
默认设置端口:4840

# 证书设置

OPCUA可通过用户自签名证书登录到OPC-UA服务器,certificate和key必须满足以下条件:

  • CERTIFICATE和KEYFILE必须同时设置
  • Certificate必须以X.509v3标准生成
  • Certficate的SAN字段必须包含URI:urn:xxx.xxx.xxx,“xxx”部分为自定义部分
  • Certificate文件和key文件必须使用DER格式编码

证书文件可以提前导入到目标服务器中并设置为信任,也可以由neuron设置后自动提交再由服务端设置为信任。

证书生成步骤(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

-config指定的*.cnf文件可以使用 openssl 的模版文件 (opens new window)进行修改,需包含如下配置节:

[ 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可以根据需要设置数值。

# 证书转换

可以通过以下步骤和命令将PEM证书以及私钥转换为DER格式

  1. 将包括"-----BEGIN CERTIFICATE-----"和"-----END CERTIFICATE-----"的所有内容保存为1.crt;
  2. 将包括"-----BEGIN PRIVATE KEY-----"和"-----END PRIVATE KEY-----"的所有内容保存为1.key;
  3. 执行如下命令:
$ openssl x509 -in 1.crt -outform der -out cert.der   
$ openssl rsa -inform PEM -in 1.key -outform DER -out key.der
1
2

# 地址格式C

IX!NODEID

IX 为命名空间索引(1-32767)

NODEID 是节点 ID(任意字符串,不包括 '!')

例如:2!Device1.Module1.Tag1 代表命名空间索引为 2,节点 ID 为 Device1.Module1.Tag1

Neuron 1.4版本已支持定长字符串读写,需要在节点ID中添加字符串长度标识——#length,如果要把Device1.Module1.Tag1设置为长度为20的字符串类型,则完整的访问地址为2!Device1.Module1.Tag1#20

命名空间索引和节点 ID 的解释请参考 OPC UA 标准。

# IEC 60870-5-104

# 一般资讯

設定参数
运行时模块neuron_o_iec104
驱动名称IEC 60870-5-104
协议IEC 60870-5-104
物理接口以太网
默认设置端口:2404

# 参数设定

设定参数备注
kdefault 12
wdefault 8
t0建立连接超时时间default 30
t1发送APDU超时时间default 15
t2应答超时时间default 10
t3发送frames超时时间default 20

# 地址格式

CA!IOA

CA 站地址

IOA 数据对象地址

数据类型说明:

类型名称数据类型
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

例如:1!2 代表地址为1的站,数据地址为2

# DL/T645-2007

# 一般资讯

設定参数
运行时模块neuron_o_dlt645
驱动名称dlt645
协议DL/T645-2007
物理接口RS485
默认设置9600/8/E/1

注意:一般电表的校验方式为偶校验(Even)

# 地址格式

STN1!STN2!ADDR

STN1 为电表通讯地址前三个字节

STN2 为电表通讯地址后三个字节

ADDR 是对应的数据标识:

数据标识描述
33343435读A相电压
33343535读A相电流
33333333读当前组合有功总电能

例如:210220!003011!33343435 代表的是通讯地址为210220003011设备的电压值