EnvSafe.Comm 通信层设置

本文档对于每个具体使用的通信层类型的配置进行说明。 出于方便的考虑,由于继承关系导致的冗余会重复列出, 例如在继承于TransLayerBase的传输层类型说明中,会重复列出适用于TransLayerBase的配置项。 另外,个别通信层对于继承的配置可能有特殊要求,则这些特殊要求会仅在该层的说明中给出。

TransLayer 传输层
TCPTransLayer

TCP传输层使用TCPClient进行数据帧的收发。

程序集:EnvSafe.Comm.dll

名空间:EnvSafe.Comm

类型:TCPTransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。仅当Sync为false时有效。
TCPTransLayer
IP string TCP连接的地址,可以为域名。
Port int TCP连接的端口号。
ReceiveTimeout int 系统默认 同步访问超时,以秒为单位。
SendTimeout int 系统默认 同步发送超时,以秒为单位。
NoDelay int 系统默认 为发送合并禁用Nagle算法。
SerialPortTransLayer

串口传输层使用SerialPort发送和接收指令帧。

程序集:EnvSafe.Comm.dll

名空间:EnvSafe.Comm

类型:SerialPortTransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。仅当Sync为false时有效。
SerialPortTransLayer
Resetable bool true 当设置为true时,每次连接设备会从配置项重读配置。这意味着更改配置项后,连接属性也发生更改。
SerialPort string 串口名,形如COM1。
ReceiveTimeout int 系统最大值 读取超时,以毫秒为单位。
SendTimeout int 系统最大值 写入超时,以毫秒为单位。
BaudRate int 9600 串行波特率。
DataBits int 8 每个字节的标准数据位长度。
StopBits StopBits StopBis.One 每个字节的标准停止位数。
Parity Parity Parity.None 奇偶校验检查协议。
Encoding string us-ascii 传输前后文本转换编码名。
SimulateTransLayer

模拟传输层仅提供数据项缓存数据的读取或写入,不实际连接任何设备。 数据的取值取决于数据项的模拟设置。 需要与SimulateAppLayer配合使用。

程序集:EnvSafe.Comm.dll

名空间:EnvSafe.Comm

类型:SimulateTransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。对模拟通信层无效,宜设置为true。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对模拟通信层无效。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。对模拟通信层无效。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。对模拟通信层无效。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对模拟通信层无效。
OPCDA.DATransLayer

基于 OPC Foundation 的 OPC Data Access Automation Wrapper 2.02。该开发库由基金会发布,为ActiveX COM组件,模块使用互操作程序集进行编程。

需要配合OPCDA.DAAppLayer使用。

程序集:EnvSafe.Comm.OPCDA.dll

名空间:EnvSafe.Comm.OPCDA

类型:DATransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。对OPCDA无效,运行时将自动设置为false。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对OPCDA无效,运行时将自动设置为false。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。每次请求将刷新全部数据。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。对OPCDA无效。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对OPCDA无效。
OPCNET2.DATransLayer

OPCNET2基于OPC Foundation的2.0API。

需要配合OPCNET2.DAAppLayer使用。

程序集:EnvSafe.Comm.OPCNET2.dll

名空间:EnvSafe.Comm.OPCNET2

类型:DATransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。对OPCNET2无效,运行时将自动设置为false。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对OPCNET2无效,运行时将自动设置为false。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。每次请求将刷新全部数据。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。对OPCNET2无效。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对OPCNET2无效。
TechnOPC.TransLayer

TechnOPC模块使用了TechnoSoftware的OPCDA client 1.2.1 封装包,该包是经过逆向重编译后的.net framework 4.0版本。 TechnOPC模块支持DA1和DA2通信。

TechnOPC层的数据读取是事件驱动的。

需要配合TechnOPC.AppLayer使用。

程序集:EnvSafe.Comm.TechnOPC.dll

名空间:EnvSafe.Comm.TechnOPC

类型:TransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。对OPCDA层无效,宜设置为true。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对OPCDA层无效。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。对OPCDA层无效。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。对OPCDA层无效。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对OPCDA层无效。
DeltaModbusTransLayer

针对台达的Modbus设备,采用台达提供的DMT库2.0版本进行通信。 DMT为非托管代码库,且发现有数据地址错乱、无法同时读写等兼容相关问题。 需与DeltaModbusAppLayer配合使用。

程序集:EnvSafe.Comm.DeltaModbus.dll

名空间:EnvSafe.Comm.DeltaModbus

类型:DeltaModbusTransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对该层无效。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。对该层无效。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对该层无效。
Distribridge.TransLayer

用于和实现了EnvSafe.Distribridge.IFetchService,或EnvSafe.Distribridge.IPushService接口的WCF服务进行通信。

须配合Distribridge.AppLayer使用。

程序集:EnvSafe.Comm.Distribridge.dll

名空间:EnvSafe.Comm.Distribridge

类型:TransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对该层无效。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对该层无效。
Distribridge.TransLayer
Mode Distribridge.ServerAvailability 服务的可访问性。可以为ReadOnly、WriteOnly或ReadWrite,根据服务端实际实现情况而定。
ClientID string 客户端标识。设置此标识可让服务端能够识别请求来源,应依据服务端要求设置。
FetchConfigName string 读取数据访问的IFetchService服务配置名。该名称是在程序的配置文件中,服务终结点的配置名,其它有关服务端的配置(地址、协议、安全性等)也在终结点配置中设置。
ADAM.A4KTransLayer

研华ADAM 4000系列RS-485 IO模块通信。 目前仅支持AI和DO,适用于4011/4012/4013/4017/4018/4019。

必须配合ADAM.A4KAppLayer使用。

程序集:EnvSafe.Comm.ADAM.dll

名空间:EnvSafe.Comm.ADAM

类型:A4KTransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对该层无效。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对该层无效。
ADAM.A4KTransLayer
AdamType Advantech.Adam.Adam4000Type 模块的型号。可选值参见 型号枚举值
ComPort int 串行口号。例如COM1口的对应数值为 1。
SlaveAddress int 1 从站号。
Timeout int 1000 通讯超时。以毫秒为单位。
ADAM.A6KTransLayer

研华ADAM 6000系列以太网 IO模块通信。 目前仅支持AI和DO。

必须配合ADAM.A6KAppLayer使用。

程序集:EnvSafe.Comm.ADAM.dll

名空间:EnvSafe.Comm.ADAM

类型:A6KTransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对该层无效。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对该层无效。
ADAM.A6KTransLayer
AdamType Advantech.Adam.Adam6000Type 模块的型号。可选值参见型号枚举值
IP string 模块的IP地址。形如:127.0.0.1。
NetProtocol System.Net.Sockets.ProtocolType System.Net.Sockets.ProtocolType.Tcp 网络协议。参考协议类型枚举设置。
Timeout int 1000 通讯超时。以毫秒为单位。
Advantech.NaviDiscoverTransLayer

基于研华NaviSDK与采集卡进行IO数据传输。此层自动获取采集卡的通道信息并建立数据项,在ot文件中的数据项配置无效。

必须配合Advantech.NaviDiscoverAppLayer使用。

程序集:EnvSafe.Comm.Advantech.dll

名空间:EnvSafe.Comm.Advantech

类型:NaviDiscoverTransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对该层无效。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对该层无效。
Advantech.NaviDiscoverTransLayer
DevDes string 空白 设备描述
DevNum int -1 设备编号。虽然提供了默认值,但必须设置成有效的0-base编号才能正常使用。
Mode Automation.BDaq.AccessMode Automation.BDaq.AccessMode.ModeRead 访问类型。
Advantech.NaviTransLayer

基于研华NaviSDK与采集卡进行IO数据传输。

必须配合Advantech.NaviAppLayer使用。

程序集:EnvSafe.Comm.Advantech.dll

名空间:EnvSafe.Comm.Advantech

类型:NaviTransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对该层无效。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对该层无效。
Advantech.NaviTransLayer
DevDes string 空白 设备描述
DevNum int -1 设备编号。虽然提供了默认值,但必须设置成有效的0-base编号才能正常使用。
Mode Automation.BDaq.AccessMode Automation.BDaq.AccessMode.ModeRead 访问类型。
TypeComp bool true 是否自动识别数据兼容。启用后可在配置项中使用宽松的类型定义,例如Discrete(识别成bool)。
FullRangeAIMode bool true 启用AI全范围读取。研华采集设备对AI的读取是扫描式的,启用此值可加快AI的获取速度,但会消耗少量额外空间。
ClientAceTransLayer

基于Kepware ClientAce组件的OPC通信。

须配合ClientAceAppLayer使用。

程序集:EnvSafe.Comm.ClientAce.dll

名空间:EnvSafe.Comm.ClientAce

类型:ClientAceTransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。对该层无效。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对该层无效。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。对该层无效。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。对该层无效。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对该层无效。
ClientAceTransLayer
Url string OPC服务地址
ClientHandle int 0 访问句柄。设定一个值用于区分连接实例。
KeepAliveTime int 10000 两次连通性校验的间隔,以毫秒为单位。
UpdateRate int OPC数据的更新请求周期。该值取代了SendInterval的功能。以毫秒为单位。
DeadBand float 0.0f 取值从 0.0 ~ 100.0,代表触发数据改变通知的比例值,即当数值改变量超过 DeadBand % 时,引发 DataChanged 事件。可选(默认为 0.0)。
Compolet.TransLayer

基于Omron Compolet,专用于Omron PLC通讯。支持C, CS, CJ, CV型号。

程序集:EnvSafe.Comm.Compolet.dll

名空间:EnvSafe.Comm.Compolet

类型:TransLayer


配置名 类型 可选默认值 说明
TransLayerBase
PassiveComm bool false 被动模式。当此值设置为true时将不启动发送读取请求的时钟。对该层无效。
Sync bool false 同步操作。当此值设置为true时,传输层的读取时钟将等待发送指令栈清空时才送应用层获取下一次的读取请求帧。对该层无效。
SendInterval double 500.0 请求时钟的间隔,以毫秒为单位。对该层无效。
ReceiveInterval double 500.0 接受时钟的间隔,以毫秒为单位。对该层无效。
FrameInterval int 0 在异步操作(Sync 为false)时,在一个读取请求帧发送后额外等待的时间,以毫秒为单位。对该层无效。
Compolet.TransLayer
PlcType string 指定支持的PLC的型号,可以为 C, CS, CJ, CV中的一个。
NetNo short PLC设备的网络号
NodeNo short PLC设备的节点号
UnitNo short PLC设备的单元号
ReadTimeout long 750 请求超时时间,单位ms
AppLayer 应用层
TransparentLayer

透明层作为最简单的帧格式应用层,对发送和接收内容不做任何处理。由于没有固定的指令格式,透明层的数据项用作指令内容(string类型)的缓存栈。

程序集:EnvSafe.Comm.dll

名空间:EnvSafe.Comm

类型:TransparentLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
TransparentLayer
Encoding string UTF-8 从返回的内容解码时采用的编码名。
CacheAmount int 1 在透明层中数据项作为指令内容缓存,此值定义缓存栈的长度,亦即数据项的数量。
SimulateAppLayer

模拟应用层仅提供数据项缓存数据的读取或写入,不实际连接任何设备。 数据的取值取决于数据项的模拟设置。 需要与SimulateTransLayer配合使用。

程序集:EnvSafe.Comm.dll

名空间:EnvSafe.Comm

类型:SimulateAppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
OPCDA.DAAppLayer

基于 OPC Foundation 的 OPC Data Access Automation Wrapper 2.02。该开发库由基金会发布,为ActiveX COM组件,模块使用互操作程序集进行编程。

需要配合OPCDA.DATransLayer使用。

程序集:EnvSafe.Comm.OPCDA.dll

名空间:EnvSafe.Comm.OPCDA

类型:DAAppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
OPCDA.DAAppLayer
Host string localhost OPC服务的主机地址,可采用域名、主机名或IP地址。
ProgID string OPC服务的ProgID,例如, KEPware.KEPServerEx.V4或 Omron.OPC.2。
OPCNET2.DAAppLayer

OPCNET2基于OPC Foundation的2.0API。

需要配合OPCNET2.DATransLayer使用。

程序集:EnvSafe.Comm.OPCNET2.dll

名空间:EnvSafe.Comm.OPCNET2

类型:DAAppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
OPCNET2.DAAppLayer
Host string localhost OPC服务的主机地址,可采用域名、主机名或IP地址。
ProgID string OPC服务的ProgID,例如, KEPware.KEPServerEx.V4或 Omron.OPC.2。
TechnOPC.AppLayer

TechnOPC模块使用了TechnoSoftware的OPCDA client 1.2.1 封装包,该包是经过逆向重编译后的.net framework 4.0版本。TechnOPC模块支持DA1和DA2通信。

TechnOPC层的数据读取是事件驱动的。

需要配合TechnOPC.TransLayer使用。

程序集:EnvSafe.Comm.TechnOPC.dll

名空间:EnvSafe.Comm.TechnOPC

类型:AppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
TechnOPC.AppLayer
Machine string 127.0.0.1 OPC服务的主机地址。
OPCServer string OPC服务的ProgID,例如, KEPware.KEPServerEx.V4或 Omron.OPC.2。
ReceiveInterval int 10 数据更新周期,以毫秒为单位。
IgnoreBad bool true 忽略坏值。设置为true时,当读取到null会自动忽略,否则引发错误事件。
DeltaModbusAppLayer

针对台达的Modbus设备,采用台达提供的DMT库2.0版本进行通信。 DMT为非托管代码库,且发现有数据地址错乱、无法同时读写等兼容相关问题。 需与DeltaModbusTransLayer配合使用。

程序集:EnvSafe.Comm.DeltaModbus.dll

名空间:EnvSafe.Comm.DeltaModbus

类型:DeltaModbusAppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
DeltaModbusAppLayer
DMTPath string 指定DMT库的路径。程序集依赖于DMT.dll库运行,使用时必须设置该库文件的路径。
Product string DVP 设备类别标记,可为DVP或RTU。
ModbusMode ModbusMode 通信模式,可以为TCP、ASCII或RTU。
IP string 设备地址。仅在ModbusMode为TCP时需要设置。
SerialPort string 串行通信端口。仅在ModbusMode不为TCP时需要设置。
BaudRate int 9600 串行波特率。仅在ModbusMode不为TCP时需要设置。
SlaveAddress int 设备的从站地址,如0。
Distribridge.AppLayer

用于和实现了EnvSafe.Distribridge.IFetchService,或EnvSafe.Distribridge.IPushService接口的WCF服务进行通信。

须配合Distribridge.TransLayer使用。

程序集:EnvSafe.Comm.Distribridge.dll

名空间:EnvSafe.Comm.Distribridge

类型:AppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
Distribridge.AppLayer
Mode Distribridge.ServerAvailability 服务的可访问性。可以为ReadOnly、WriteOnly或ReadWrite,根据服务端实际实现情况而定。
ClientID string 客户端标识。设置此标识可让服务端能够识别请求来源,应依据服务端要求设置。
PushConfigName string 读取数据访问的IPushService服务配置名。该名称是在程序的配置文件中,服务终结点的配置名,其它有关服务端的配置(地址、协议、安全性等)也在终结点配置中设置。
GPSLayer

从便携GPS设备读取数据。 GPS的可读取变量是内置定义的,因此用户定义的数据项无效。 GPS仅能配合SerialPortTransLayer使用。

程序集:EnvSafe.Comm.GPS.dll

名空间:EnvSafe.Comm

类型:GPSLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
ZhigengLayer

通过串行口从智耕的在线化学传感器读取数据。

必须配合SerialPortTransLayer使用。

程序集:EnvSafe.Comm.Zhigeng.dll

名空间:EnvSafe.Comm

类型:ZhigengLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
ADAM.A4KAppLayer

研华ADAM 4000系列RS-485 IO模块通信。 目前仅支持AI和DO,适用于4011/4012/4013/4017/4018/4019。

必须配合ADAM.A4KTransLayer使用。

程序集:EnvSafe.Comm.ADAM.dll

名空间:EnvSafe.Comm.ADAM

类型:A4KAppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
ADAM.A6KAppLayer

研华ADAM 6000系列以太网 IO模块通信。 目前仅支持AI和DO。

必须配合ADAM.A6KTransLayer使用。

程序集:EnvSafe.Comm.ADAM.dll

名空间:EnvSafe.Comm.ADAM

类型:A6KAppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
Advantech.NaviDiscoverAppLayer

基于研华NaviSDK与采集卡进行IO数据传输。此层自动获取采集卡的通道信息并建立数据项,在ot文件中的数据项配置无效。

必须配合Advantech.NaviDiscoverTransLayer使用。

程序集:EnvSafe.Comm.Advantech.dll

名空间:EnvSafe.Comm.Advantech

类型:NaviDiscoverAppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
Advantech.NaviAppLayer

基于研华NaviSDK与采集卡进行IO数据传输。

必须配合Advantech.NaviTransLayer使用。

程序集:EnvSafe.Comm.Advantech.dll

名空间:EnvSafe.Comm.Advantech

类型:NaviAppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
ClientAceAppLayer

基于Kepware ClientAce组件的OPC通信。

须配合ClientAceTransLayer使用。

程序集:EnvSafe.Comm.ClientAce.dll

名空间:EnvSafe.Comm.ClientAce

类型:ClientAceAppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
Compolet.AppLayer

基于Omron Compolet,专用于Omron PLC通讯。支持C, CS, CJ, CV型号。

程序集:EnvSafe.Comm.Compolet.dll

名空间:EnvSafe.Comm.Compolet

类型:AppLayer


配置名 类型 可选默认值 说明
AppLayerBase
Debug bool false 调试标识。设置此值为true可能在执行中引发更多的通知事件,或改变执行行为。
配合

传输层和应用层类型必须配合使用,下表列出了类型匹配关系。

各个通信层的适用场景,请参考使用场景

应用层 传输层 说明
TransparentLayer TCPTransLayer
SerialPortTransLayer
透明协议。由上层程序负责指令的解析。
SimulateAppLayer SimulateTransLayer 模拟设备。具体的变量逻辑应设置数据项的Simulate属性
OPCDA.DAAppLayer OPCDA.DATransLayer 基于OPC Foundation 的 OPC Data Access Automation Wrapper 2.02 的 COM 组件。
OPCNET2.DAAppLayer OPCNET2.DATransLayer 使用OPC基金会2.0可再发行库通信。此方法较为陈旧,在Win10以上新系统可能不受支持。
TechnOPC.AppLayer TechnOPC.TransLayer OPC DA通信。此方法较为陈旧,在Win10以上新系统可能不受支持。
DeltaModbusAppLayer DeltaModbusTransLayer 用于台达PLC的Modbus通信。采用了DMT底层库,在Win10以上新系统可能不受支持。
Distribridge.AppLayer Distribridge.TransLayer 与实现了EnvSafe.Distribridge接口的WCF服务进行通信。
GPSLayer SerialPortTransLayer 从USB GPS设备读取地理数据。
ZhigengLayer SerialPortTransLayer 从智耕化学传感器设备中读取数据。
ADAM.A4KAppLayer ADAM.A4KTransLayer 研华ADAM 4000 RS-485数据IO模块。
ADAM.A6KAppLayer ADAM.A6KTransLayer 研华ADAM 6000 以太网数据IO模块。
Advantech.NaviDiscoverAppLayer Advantech.NaviDiscoverTransLayer 研华采集卡设备IO。自动根据通道数量构建数据项。
Advantech.NaviAppLayer Advantech.NaviTransLayer 研华采集卡设备IO。
ClientAceAppLayer ClientAceTransLayer 基于Kepware ClientAce(HM)的OPC通信。
Compolet.AppLayer Compolet.TransLayer 基于Omron Compolet(HM)的Omron PLC通信。