点击或拖拽改变大小

MelsecMcUdp 类

三菱PLC通讯类,采用UDP的协议实现,采用Qna兼容3E帧协议实现,需要在PLC侧先的以太网模块先进行配置,必须为二进制通讯
Mitsubishi PLC communication class is implemented using UDP protocol and Qna compatible 3E frame protocol. The Ethernet module needs to be configured first on the PLC side, and it must be binary communication.
继承层次
SystemObject
  HslCommunication.Core.NetNetworkBase
    HslCommunication.Core.NetNetworkUdpBase
      HslCommunication.Core.NetNetworkUdpDeviceBase
        HslCommunication.Profinet.MelsecMelsecMcUdp

命名空间:  HslCommunication.Profinet.Melsec
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:11.8.2.0 (11.8.2.0)
语法
public class MelsecMcUdp : NetworkUdpDeviceBase, 
	IReadWriteMc, IReadWriteDevice, IReadWriteNet

MelsecMcUdp 类型公开以下成员。

构造函数
  名称说明
公共方法MelsecMcUdp
实例化三菱的Qna兼容3E帧协议的通讯对象
Instantiate the communication object of Mitsubishi's Qna compatible 3E frame protocol
公共方法MelsecMcUdp(String, Int32)
指定ip地址和端口号来实例化一个默认的对象
Specify the IP address and port number to instantiate a default object
Top
属性
  名称说明
公共属性代码示例ByteTransform
当前的数据变换机制,当你需要从字节数据转换类型数据的时候需要。
The current data transformation mechanism is required when you need to convert type data from byte data.
(继承自 NetworkUdpDeviceBase。)
公共属性ConnectionId
当前连接的唯一ID号,默认为长度20的guid码加随机数组成,方便列表管理,也可以自己指定
The unique ID number of the current connection. The default is a 20-digit guid code plus a random number.
(继承自 NetworkUdpBase。)
公共属性EnableWriteBitToWordRegister
是否开启支持写入位到字寄存器的功能,该功能先读取字寄存器的字数据,然后修改其中的位,再写入回去,可能存在脏数据的风险
Whether to enable supporting the function of writing bit-to-word registers, which first reads the word data of the word register, then modifies the bits in it, and then writes back, there may be a risk of dirty data
公共属性代码示例IpAddress
获取或是设置远程服务器的IP地址,如果是本机测试,那么需要设置为127.0.0.1
Get or set the IP address of the remote server. If it is a local test, then it needs to be set to 127.0.0.1
(继承自 NetworkUdpBase。)
公共属性LocalBinding
获取或设置绑定的本地的IP地址和端口号信息,如果端口设置为0,代表任何可用的端口
Get or set the bound local IP address and port number information, if the port is set to 0, it means any available port
(继承自 NetworkUdpBase。)
公共属性代码示例LogNet
组件的日志工具,支持日志记录,只要实例化后,当前网络的基本信息,就以DEBUG等级进行输出
The component's logging tool supports logging. As long as the instantiation of the basic network information, the output will be output at DEBUG
(继承自 NetworkBase。)
公共属性McType
当前的MC协议的格式类型
The format type of the current MC protocol
公共属性NetworkNumber
网络号,通常为0
Network number, usually 0
公共属性NetworkStationNumber
网络站号,通常为0
Network station number, usually 0
公共属性PLCNumber
PLC编号,如果是本站信息,则是 0xFF 值,其他站则根据实际的情况指定。
The PLC number, if it is the information of this station, is the 0xFF value, and other stations are specified according to the actual situation.
公共属性代码示例Port
获取或设置服务器的端口号,具体的值需要取决于对方的配置
Gets or sets the port number of the server. The specific value depends on the configuration of the other party.
(继承自 NetworkUdpBase。)
公共属性ReceiveCacheLength
获取或设置一次接收时的数据长度,默认2KB数据长度,特殊情况的时候需要调整
Gets or sets the length of data received at a time. The default length is 2KB
(继承自 NetworkUdpBase。)
公共属性代码示例ReceiveTimeout
获取或设置接收服务器反馈的时间,如果为负数,则不接收反馈
Gets or sets the time to receive server feedback, and if it is a negative number, does not receive feedback
(继承自 NetworkUdpBase。)
公共属性TargetIOStation
请求目标模块的IO编号,默认是管理CPU,也就是 0x03FF 的值,如果需要访问其他的非管理CPU的时候,请参考手册进行配置相关的值
The IO number of the target module is the default management CPU, that is, the value of 0x03FF, if you need to access other non-management CPUs, please refer to the manual to configure the relevant values
公共属性代码示例Token
网络类的身份令牌,在hsl协议的模式下会有效,在和设备进行通信的时候是无效的
Network-type identity tokens will be valid in the hsl protocol mode and will not be valid when communicating with the device
(继承自 NetworkBase。)
受保护的属性WordLength
一个字单位的数据表示的地址长度,西门子为2,三菱,欧姆龙,modbusTcp就为1,AB PLC无效
The address length represented by one word of data, Siemens is 2, Mitsubishi, Omron, modbusTcp is 1, AB PLC is invalid
(继承自 NetworkUdpDeviceBase。)
Top
方法
  名称说明
受保护的方法CheckRemoteToken
检查当前的头子节信息的令牌是否是正确的,仅用于某些特殊的协议实现
Check whether the token of the current header subsection information is correct, only for some special protocol implementations
(继承自 NetworkBase。)
受保护的方法代码示例CreateSocketAndConnect(String, Int32)
创建一个新的socket对象并连接到远程的地址,默认超时时间为10秒钟,需要指定ip地址以及端口号信息
Create a new socket object and connect to the remote address. The default timeout is 10 seconds. You need to specify the IP address and port number.
(继承自 NetworkBase。)
受保护的方法代码示例CreateSocketAndConnect(IPEndPoint, Int32, IPEndPoint)
创建一个新的socket对象并连接到远程的地址,需要指定远程终结点,超时时间(单位是毫秒),如果需要绑定本地的IP或是端口,传入 local对象
To create a new socket object and connect to the remote address, you need to specify the remote endpoint, the timeout period (in milliseconds), if you need to bind the local IP or port, pass in the local object
(继承自 NetworkBase。)
受保护的方法代码示例CreateSocketAndConnect(String, Int32, Int32)
创建一个新的socket对象并连接到远程的地址,需要指定ip地址以及端口号信息,还有超时时间,单位是毫秒
To create a new socket object and connect to a remote address, you need to specify the IP address and port number information, and the timeout period in milliseconds
(继承自 NetworkBase。)
受保护的方法代码示例CreateSocketAndConnectAsync(String, Int32)
创建一个新的socket对象并连接到远程的地址,默认超时时间为10秒钟,需要指定ip地址以及端口号信息
Create a new socket object and connect to the remote address. The default timeout is 10 seconds. You need to specify the IP address and port number.
(继承自 NetworkBase。)
受保护的方法代码示例CreateSocketAndConnectAsync(IPEndPoint, Int32, IPEndPoint)
创建一个新的socket对象并连接到远程的地址,需要指定远程终结点,超时时间(单位是毫秒),如果需要绑定本地的IP或是端口,传入 local对象
To create a new socket object and connect to the remote address, you need to specify the remote endpoint, the timeout period (in milliseconds), if you need to bind the local IP or port, pass in the local object
(继承自 NetworkBase。)
受保护的方法代码示例CreateSocketAndConnectAsync(String, Int32, Int32)
创建一个新的socket对象并连接到远程的地址,需要指定ip地址以及端口号信息,还有超时时间,单位是毫秒
To create a new socket object and connect to a remote address, you need to specify the IP address and port number information, and the timeout period in milliseconds
(继承自 NetworkBase。)
受保护的方法DeleteFileByName
删除一个指定的文件,如果文件不存在,直接返回 True,如果文件存在则直接删除,删除成功返回 True,如果发生了异常,返回False
Delete a specified file, if the file does not exist, return True directly, if the file exists, delete it directly, if the deletion is successful, return True, if an exception occurs, return False
(继承自 NetworkBase。)
公共方法Equals (继承自 Object。)
公共方法ErrorStateReset
LED 熄灭 出错代码初始化
LED off Error code initialization
公共方法ErrorStateResetAsync
LED 熄灭 出错代码初始化
LED off Error code initialization
公共方法ExtractActualData
从PLC反馈的数据中提取出实际的数据内容,需要传入反馈数据,是否位读取
受保护的方法Finalize (继承自 Object。)
公共方法GetHashCode (继承自 Object。)
公共方法GetPipeSocket
获取当前用于通信的管道信息
Get the current pipe information used for communication
(继承自 NetworkUdpBase。)
公共方法GetType (继承自 Object。)
受保护的方法GetWordLength
一个字单位的数据表示的地址长度,西门子为2,三菱,欧姆龙,modbusTcp就为1,AB PLC无效
The address length represented by one word of data, Siemens is 2, Mitsubishi, Omron, modbusTcp is 1, AB PLC is invalid
(继承自 NetworkUdpDeviceBase。)
公共方法IpAddressPing
对当前设备的IP地址进行PING的操作,返回PING的结果,正常来说,返回Success
PING the IP address of the current device and return the PING result. Normally, it returns Success
(继承自 NetworkUdpBase。)
公共方法McAnalysisAddress
当前MC协议的分析地址的方法,对传入的字符串格式的地址进行数据解析。
The current MC protocol's address analysis method performs data parsing on the address of the incoming string format.
受保护的方法MemberwiseClone (继承自 Object。)
公共方法PackCommandWithHeader
对当前的命令进行打包处理,通常是携带命令头内容,标记当前的命令的长度信息,需要进行重写,否则默认不打包
The current command is packaged, usually carrying the content of the command header, marking the length of the current command, and it needs to be rewritten, otherwise it is not packaged by default
(重写 NetworkUdpBasePackCommandWithHeader(Byte).)
公共方法Read(String, UInt16)
批量读取字节数组信息,需要指定地址和长度,返回原始的字节数组
Batch read byte array information, need to specify the address and length, return the original byte array
(重写 NetworkUdpDeviceBaseRead(String, UInt16).)
公共方法代码示例ReadT
读取支持Hsl特性的数据内容,该特性为HslDeviceAddressAttribute,详细参考api文档说明
Read the data content of the Hsl attribute. The attribute is HslDeviceAddressAttribute, please refer to the api documentation for details.
(继承自 NetworkUdpDeviceBase。)
公共方法ReadAsync(String, UInt16)
异步批量读取字节数组信息,需要指定地址和长度,返回原始的字节数组
Asynchronous batch read byte array information, need to specify the address and length, return the original byte array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadAsyncT
异步读取支持Hsl特性的数据内容,该特性为HslDeviceAddressAttribute,详细参考api文档说明
Asynchronously read the data content of the Hsl attribute. The attribute is HslDeviceAddressAttribute, please refer to the api documentation for details.
(继承自 NetworkUdpDeviceBase。)
公共方法ReadBool(String)
读取单个的Boolean数据信息
Read a single Boolean data message
(重写 NetworkUdpDeviceBaseReadBool(String).)
公共方法ReadBool(String, UInt16)
批量读取Boolean数组信息,需要指定地址和长度,返回Boolean 数组
Batch read Boolean array information, need to specify the address and length, return Boolean array
(重写 NetworkUdpDeviceBaseReadBool(String, UInt16).)
公共方法ReadBoolAsync(String)
异步读取单个的Boolean数据信息
Asynchronously read a single Boolean data message
(继承自 NetworkUdpDeviceBase。)
公共方法ReadBoolAsync(String, UInt16)
异步批量读取Boolean数组信息,需要指定地址和长度,返回Boolean 数组
Asynchronously batch read Boolean array information, need to specify the address and length, return Boolean array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadCustomerT(String)
读取自定义的数据类型,需要继承自IDataTransfer接口,返回一个新的类型的实例对象。
To read a custom data type, you need to inherit from the IDataTransfer interface and return an instance object of a new type.
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadCustomerT(String, T)
读取自定义的数据类型,需要继承自IDataTransfer接口,传入一个实例,对这个实例进行赋值,并返回该实例的对象。
To read a custom data type, you need to inherit from the IDataTransfer interface, pass in an instance, assign a value to this instance, and return the object of the instance.
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadCustomerAsyncT(String)
读取自定义的数据类型,需要继承自IDataTransfer接口,返回一个新的类型的实例对象。
To read a custom data type, you need to inherit from the IDataTransfer interface and return an instance object of a new type.
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadCustomerAsyncT(String, T)
读取自定义的数据类型,需要继承自IDataTransfer接口,传入一个实例,对这个实例进行赋值,并返回该实例的对象。
To read a custom data type, you need to inherit from the IDataTransfer interface, pass in an instance, assign a value to this instance, and return the object of the instance.
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadDouble(String)
读取双浮点的数据
Read double floating point data
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadDouble(String, UInt16)
读取双浮点数据的数组
Read double floating point data array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadDoubleAsync(String)
异步读取双浮点的数据
Asynchronously read double floating point data
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadDoubleAsync(String, UInt16)
异步读取双浮点数据的数组
Asynchronously read double floating point data array
(继承自 NetworkUdpDeviceBase。)
公共方法ReadExtend
[商业授权] 读取扩展的数据信息,需要在原有的地址,长度信息之外,输入扩展值信息
[Authorization] To read the extended data information, you need to enter the extended value information in addition to the original address and length information
公共方法代码示例ReadFloat(String)
读取单浮点数据
Read single floating point data
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadFloat(String, UInt16)
读取单浮点精度的数组
Read single floating point array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadFloatAsync(String)
异步读取单浮点数据
Asynchronously read single floating point data
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadFloatAsync(String, UInt16)
异步读取单浮点精度的数组
Asynchronously read single floating point array
(继承自 NetworkUdpDeviceBase。)
公共方法ReadFromCoreServer(Byte)
核心的数据交互读取,发数据发送到通道上去,然后从通道上接收返回的数据
The core data is read interactively, the data is sent to the serial port, and the returned data is received from the serial port
(继承自 NetworkUdpBase。)
公共方法ReadFromCoreServer(IEnumerableByte) (继承自 NetworkUdpBase。)
公共方法ReadFromCoreServer(Byte, Boolean, Boolean)
核心的数据交互读取,发数据发送到通道上去,然后从通道上接收返回的数据
The core data is read interactively, the data is sent to the serial port, and the returned data is received from the serial port
(继承自 NetworkUdpBase。)
公共方法ReadFromCoreServerAsync(Byte)
核心的数据交互读取,发数据发送到通道上去,然后从通道上接收返回的数据
The core data is read interactively, the data is sent to the serial port, and the returned data is received from the serial port
(继承自 NetworkUdpBase。)
公共方法ReadFromCoreServerAsync(IEnumerableByte) (继承自 NetworkUdpBase。)
公共方法代码示例ReadInt16(String)
读取16位的有符号的整型数据
Read 16-bit signed integer data
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt16(String, UInt16)
读取16位的有符号整型数组
Read 16-bit signed integer array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt16Async(String)
异步读取16位的有符号的整型数据
Asynchronously read 16-bit signed integer data
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt16Async(String, UInt16)
异步读取16位的有符号整型数组
Asynchronously read 16-bit signed integer array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt32(String)
读取32位的有符号整型
Read 32-bit signed integer
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt32(String, UInt16)
读取32位有符号整型数组
Read 32-bit signed integer array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt32Async(String)
异步读取32位的有符号整型
Asynchronously read 32-bit signed integer
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt32Async(String, UInt16)
异步读取32位有符号整型数组
Asynchronously read 32-bit signed integer array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt64(String)
读取64位的有符号整型
Read 64-bit signed integer
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt64(String, UInt16)
读取64位的有符号整型数组
Read 64-bit signed integer array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt64Async(String)
异步读取64位的有符号整型
Asynchronously read 64-bit signed integer
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadInt64Async(String, UInt16)
异步读取64位的有符号整型数组
Asynchronously read 64-bit signed integer array
(继承自 NetworkUdpDeviceBase。)
公共方法ReadMemory
[商业授权] 读取缓冲寄存器的数据信息,地址直接为偏移地址
[Authorization] Read the data information of the buffer register, the address is directly the offset address
公共方法ReadPlcType
读取PLC的型号信息,例如 Q02HCPU
Read PLC model information, such as Q02HCPU
公共方法ReadPlcTypeAsync
读取PLC的型号信息,例如 Q02HCPU
Read PLC model information, such as Q02HCPU
公共方法代码示例ReadRandom(String)
随机读取PLC的数据信息,可以跨地址,跨类型组合,但是每个地址只能读取一个word,也就是2个字节的内容。收到结果后,需要自行解析数据
Randomly read PLC data information, which can be combined across addresses and types, but each address can only read one word, which is the content of 2 bytes. After receiving the results, you need to parse the data yourself
公共方法代码示例ReadRandom(String, UInt16)
使用块读取PLC的数据信息,可以跨地址,跨类型组合,每个地址是任意的长度。收到结果后,需要自行解析数据,目前只支持字地址,比如D区,W区,R区,不支持X,Y,M,B,L等等
Read the data information of the PLC randomly. It can be combined across addresses and types. Each address is of any length. After receiving the results, you need to parse the data yourself. Currently, only word addresses are supported, such as D area, W area, R area. X, Y, M, B, L, etc
公共方法ReadRandomInt16
随机读取PLC的数据信息,可以跨地址,跨类型组合,但是每个地址只能读取一个word,也就是2个字节的内容。收到结果后,自动转换为了short类型的数组
Randomly read PLC data information, which can be combined across addresses and types, but each address can only read one word, which is the content of 2 bytes. After receiving the result, it is automatically converted to an array of type short.
公共方法ReadRandomUInt16
随机读取PLC的数据信息,可以跨地址,跨类型组合,但是每个地址只能读取一个word,也就是2个字节的内容。收到结果后,自动转换为了ushort类型的数组
Randomly read PLC data information, which can be combined across addresses and types, but each address can only read one word, which is the content of 2 bytes. After receiving the result, it is automatically converted to an array of type ushort.
公共方法ReadSmartModule
[商业授权] 读取智能模块的数据信息,需要指定模块地址,偏移地址,读取的字节长度
[Authorization] To read the extended data information, you need to enter the extended value information in addition to the original address and length information
受保护的方法ReadStream
读取流中的数据到缓存区,读取的长度需要按照实际的情况来判断
Read the data in the stream to the buffer area. The length of the read needs to be determined according to the actual situation.
(继承自 NetworkBase。)
受保护的方法ReadStreamAsync
读取流中的数据到缓存区,读取的长度需要按照实际的情况来判断
Read the data in the stream to the buffer area. The length of the read needs to be determined according to the actual situation.
(继承自 NetworkBase。)
公共方法代码示例ReadString(String, UInt16)
读取字符串数据,默认为最常见的ASCII编码
Read string data, default is the most common ASCII encoding
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadString(String, UInt16, Encoding)
使用指定的编码,读取字符串数据
Reads string data using the specified encoding
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadStringAsync(String, UInt16)
异步读取字符串数据,默认为最常见的ASCII编码
Asynchronously read string data, default is the most common ASCII encoding
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadStringAsync(String, UInt16, Encoding)
异步使用指定的编码,读取字符串数据
Asynchronously reads string data using the specified encoding
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadStructT
读取结构体类型的数据,根据结构体自身的定义,读取原始字节数组,然后解析出实际的结构体数据,结构体需要实现HslStructAttribute特性
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadStructAsyncT
读取结构体类型的数据,根据结构体自身的定义,读取原始字节数组,然后解析出实际的结构体数据,结构体需要实现HslStructAttribute特性
(继承自 NetworkUdpDeviceBase。)
公共方法ReadTags(String, UInt16)
[商业授权] 读取PLC的标签信息,需要传入标签的名称,读取的字长度,标签举例:A; label[1]; bbb[10,10,10]
[Authorization] To read the label information of the PLC, you need to pass in the name of the label, the length of the word read, and an example of the label: A; label [1]; bbb [10,10,10]
公共方法ReadTags(String, UInt16)
[商业授权] 读取PLC的标签信息,需要传入标签的名称,读取的字长度,标签举例:A; label[1]; bbb[10,10,10]
[Authorization] To read the label information of the PLC, you need to pass in the name of the label, the length of the word read, and an example of the label: A; label [1]; bbb [10,10,10]
公共方法代码示例ReadUInt16(String)
读取16位的无符号整型
Read 16-bit unsigned integer
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt16(String, UInt16)
读取16位的无符号整型数组
Read 16-bit unsigned integer array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt16Async(String)
异步读取16位的无符号整型
Asynchronously read 16-bit unsigned integer
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt16Async(String, UInt16)
异步读取16位的无符号整型数组
Asynchronously read 16-bit unsigned integer array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt32(String)
读取32位的无符号整型
Read 32-bit unsigned integer
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt32(String, UInt16)
读取32位的无符号整型数组
Read 32-bit unsigned integer array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt32Async(String)
异步读取32位的无符号整型
Asynchronously read 32-bit unsigned integer
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt32Async(String, UInt16)
异步读取32位的无符号整型数组
Asynchronously read 32-bit unsigned integer array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt64(String)
读取64位的无符号整型
Read 64-bit unsigned integer
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt64(String, UInt16)
读取64位的无符号整型的数组
Read 64-bit unsigned integer array
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt64Async(String)
异步读取64位的无符号整型
Asynchronously read 64-bit unsigned integer
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例ReadUInt64Async(String, UInt16)
异步读取64位的无符号整型的数组
Asynchronously read 64-bit unsigned integer array
(继承自 NetworkUdpDeviceBase。)
受保护的方法Receive(SslStream, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于2048长度的随机数据信息
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
(继承自 NetworkBase。)
受保护的方法Receive(Socket, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于2048长度的随机数据信息
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
(继承自 NetworkBase。)
受保护的方法Receive(SslStream, Byte, Int32, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,buffer长度的缓存数据
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
(继承自 NetworkBase。)
受保护的方法Receive(Socket, Byte, Int32, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,buffer长度的缓存数据
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
(继承自 NetworkBase。)
受保护的方法ReceiveAndCheckBytes
[自校验] 接收一条完整的同步数据,包含头子节和内容字节,基础的数据,如果结果异常,则结束通讯
[Self-checking] Receive a complete synchronization data, including header subsection and content bytes, basic data, if the result is abnormal, the communication ends
(继承自 NetworkBase。)
受保护的方法ReceiveAndCheckBytesAsync
[自校验] 接收一条完整的同步数据,包含头子节和内容字节,基础的数据,如果结果异常,则结束通讯
[Self-checking] Receive a complete synchronization data, including header subsection and content bytes, basic data, if the result is abnormal, the communication ends
(继承自 NetworkBase。)
受保护的方法ReceiveAsync(SslStream, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于2048长度的随机数据信息
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
(继承自 NetworkBase。)
受保护的方法ReceiveAsync(Socket, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,接收不大于2048长度的随机数据信息
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
(继承自 NetworkBase。)
受保护的方法ReceiveAsync(SslStream, Byte, Int32, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,buffer长度的缓存数据
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
(继承自 NetworkBase。)
受保护的方法ReceiveAsync(Socket, Byte, Int32, Int32, Int32, ActionInt64, Int64)
接收固定长度的字节数组,允许指定超时时间,默认为60秒,当length大于0时,接收固定长度的数据内容,当length小于0时,buffer长度的缓存数据
Receiving a fixed-length byte array, allowing a specified timeout time. The default is 60 seconds. When length is greater than 0, fixed-length data content is received. When length is less than 0, random data information of a length not greater than 2048 is received.
(继承自 NetworkBase。)
受保护的方法ReceiveByMessage
接收一条完整的 数据内容,需要指定超时时间,单位为毫秒。
Receive a complete data content, Need to specify a timeout period in milliseconds
(继承自 NetworkBase。)
受保护的方法ReceiveByMessageAsync
接收一条完整的 数据内容,需要指定超时时间,单位为毫秒。
Receive a complete data content, Need to specify a timeout period in milliseconds
(继承自 NetworkBase。)
受保护的方法ReceiveBytesContentFromSocket
[自校验] 从网络中接收一串字节数据,如果结果异常,则结束通讯
[Self-checking] Receive a string of byte data from the network. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法ReceiveBytesContentFromSocketAsync
[自校验] 从网络中接收一串字节数据,如果结果异常,则结束通讯
[Self-checking] Receive a string of byte data from the network. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法ReceiveCommandLineFromSocket(Socket, Byte, Int32)
接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds.
(继承自 NetworkBase。)
受保护的方法ReceiveCommandLineFromSocket(Socket, Byte, Byte, Int32)
接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds.
(继承自 NetworkBase。)
受保护的方法ReceiveCommandLineFromSocketAsync(Socket, Byte, Int32)
接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds.
(继承自 NetworkBase。)
受保护的方法ReceiveCommandLineFromSocketAsync(Socket, Byte, Byte, Int32)
接收一行命令数据,需要自己指定这个结束符,默认超时时间为60秒,也即是60000,单位是毫秒
To receive a line of command data, you need to specify the terminator yourself. The default timeout is 60 seconds, which is 60,000, in milliseconds.
(继承自 NetworkBase。)
受保护的方法ReceiveFromUdpSocket
从UDP接收相关的数据信息,允许子类重写实现一些更加特殊的功能验证。
(继承自 NetworkUdpBase。)
受保护的方法ReceiveHslMessage
接收一条hsl协议的数据信息,自动解析,解压,解码操作,获取最后的实际的数据,接收结果依次为暗号,用户码,负载数据
Receive a piece of hsl protocol data information, automatically parse, decompress, and decode operations to obtain the last actual data. The result is a opCode, user code, and payload data in order.
(继承自 NetworkBase。)
受保护的方法ReceiveHslMessageAsync
接收一条hsl协议的数据信息,自动解析,解压,解码操作,获取最后的实际的数据,接收结果依次为暗号,用户码,负载数据
Receive a piece of hsl protocol data information, automatically parse, decompress, and decode operations to obtain the last actual data. The result is a opCode, user code, and payload data in order.
(继承自 NetworkBase。)
受保护的方法ReceiveMqttFile
使用MQTT协议从网络接收字节数组,然后写入文件或流中,支持进度报告
Use MQTT protocol to receive byte array from the network, and then write it to file or stream, support progress report
(继承自 NetworkBase。)
受保护的方法ReceiveMqttFileAsync
使用MQTT协议从网络接收字节数组,然后写入文件或流中,支持进度报告
Use MQTT protocol to receive byte array from the network, and then write it to file or stream, support progress report
(继承自 NetworkBase。)
受保护的方法ReceiveMqttMessage(SslStream, Int32, ActionInt64, Int64)
接收一条完整的MQTT协议的报文信息,包含控制码和负载数据
Receive a message of a completed MQTT protocol, including control code and payload data
(继承自 NetworkBase。)
受保护的方法ReceiveMqttMessage(Socket, Int32, ActionInt64, Int64)
接收一条完整的MQTT协议的报文信息,包含控制码和负载数据
Receive a message of a completed MQTT protocol, including control code and payload data
(继承自 NetworkBase。)
受保护的方法ReceiveMqttMessageAsync(SslStream, Int32, ActionInt64, Int64)
接收一条完整的MQTT协议的报文信息,包含控制码和负载数据
Receive a message of a completed MQTT protocol, including control code and payload data
(继承自 NetworkBase。)
受保护的方法ReceiveMqttMessageAsync(Socket, Int32, ActionInt64, Int64)
接收一条完整的MQTT协议的报文信息,包含控制码和负载数据
Receive a message of a completed MQTT protocol, including control code and payload data
(继承自 NetworkBase。)
受保护的方法ReceiveMqttStream
使用MQTT协议从socket接收指定长度的字节数组,然后全部写入到流中,可以指定进度报告
Use the MQTT protocol to receive a byte array of specified length from the socket, and then write all of them to the stream, and you can specify a progress report
(继承自 NetworkBase。)
受保护的方法ReceiveMqttStreamAsync
使用MQTT协议从socket接收指定长度的字节数组,然后全部写入到流中,可以指定进度报告
Use the MQTT protocol to receive a byte array of specified length from the socket, and then write all of them to the stream, and you can specify a progress report
(继承自 NetworkBase。)
受保护的方法ReceiveRedisCommand
从网络接收一条完整的redis报文的消息
Receive a complete redis message from the network
(继承自 NetworkBase。)
受保护的方法ReceiveRedisCommandAsync
从网络接收一条完整的redis报文的消息
Receive a complete redis message from the network
(继承自 NetworkBase。)
受保护的方法ReceiveRedisCommandString
接收一行基于redis协议的字符串的信息,需要指定固定的长度
Receive a line of information based on the redis protocol string, you need to specify a fixed length
(继承自 NetworkBase。)
受保护的方法ReceiveRedisCommandStringAsync
接收一行基于redis协议的字符串的信息,需要指定固定的长度
Receive a line of information based on the redis protocol string, you need to specify a fixed length
(继承自 NetworkBase。)
受保护的方法ReceiveStringArrayContentFromSocket
[自校验] 从网络中接收一个字符串数组,如果结果异常,则结束通讯
[Self-check] Receive an array of strings from the network. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法ReceiveStringArrayContentFromSocketAsync
[自校验] 从网络中接收一个字符串数组,如果结果异常,则结束通讯
[Self-check] Receive an array of strings from the network. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法ReceiveStringContentFromSocket
[自校验] 从网络中接收一个字符串数据,如果结果异常,则结束通讯
[Self-checking] Receive a string of data from the network. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法ReceiveStringContentFromSocketAsync
[自校验] 从网络中接收一个字符串数据,如果结果异常,则结束通讯
[Self-checking] Receive a string of data from the network. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法ReceiveVigorMessage
从Socket接收一条VigorPLC的消息数据信息,指定套接字对象及超时时间
Receive a message data information of VigorPLC from Socket, specify socket object and timeout time
(继承自 NetworkBase。)
受保护的方法ReceiveVigorMessageAsync
从Socket接收一条VigorPLC的消息数据信息,指定套接字对象及超时时间
Receive a message data information of VigorPLC from Socket, specify socket object and timeout time
(继承自 NetworkBase。)
受保护的方法ReceiveWebSocketPayload(SslStream)
从socket接收一条完整的websocket数据,返回WebSocketMessage的数据信息
Receive a complete websocket data from the socket, return the data information of the WebSocketMessage
(继承自 NetworkBase。)
受保护的方法ReceiveWebSocketPayload(Socket)
从socket接收一条完整的websocket数据,返回WebSocketMessage的数据信息
Receive a complete websocket data from the socket, return the data information of the WebSocketMessage
(继承自 NetworkBase。)
受保护的方法ReceiveWebSocketPayloadAsync(SslStream)
从socket接收一条完整的websocket数据,返回WebSocketMessage的数据信息
Receive a complete websocket data from the socket, return the data information of the WebSocketMessage
(继承自 NetworkBase。)
受保护的方法ReceiveWebSocketPayloadAsync(Socket)
从socket接收一条完整的websocket数据,返回WebSocketMessage的数据信息
Receive a complete websocket data from the socket, return the data information of the WebSocketMessage
(继承自 NetworkBase。)
公共方法RemoteReset
远程Reset操作
Remote Reset Operation
公共方法RemoteResetAsync
远程Reset操作
Remote Reset Operation
公共方法RemoteRun
远程Run操作
Remote Run Operation
公共方法RemoteRunAsync
远程Run操作
Remote Run Operation
公共方法RemoteStop
远程Stop操作
Remote Stop operation
公共方法RemoteStopAsync
远程Stop操作
Remote Stop operation
受保护的方法Send(SslStream, Byte)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
(继承自 NetworkBase。)
受保护的方法Send(Socket, Byte)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
(继承自 NetworkBase。)
受保护的方法Send(SslStream, Byte, Int32, Int32)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
(继承自 NetworkBase。)
受保护的方法Send(Socket, Byte, Int32, Int32)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
(继承自 NetworkBase。)
受保护的方法SendAccountAndCheckReceive
[自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法SendAccountAndCheckReceiveAsync
[自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法SendAsync(SslStream, Byte)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
(继承自 NetworkBase。)
受保护的方法SendAsync(Socket, Byte)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
(继承自 NetworkBase。)
受保护的方法SendAsync(SslStream, Byte, Int32, Int32)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
(继承自 NetworkBase。)
受保护的方法SendAsync(Socket, Byte, Int32, Int32)
发送消息给套接字,直到完成的时候返回,经过测试,本方法是线程安全的。
Send a message to the socket until it returns when completed. After testing, this method is thread-safe.
(继承自 NetworkBase。)
受保护的方法SendBaseAndCheckReceive
[自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法SendBaseAndCheckReceiveAsync
[自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法SendBytesAndCheckReceive
[自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法SendBytesAndCheckReceiveAsync
[自校验] 发送字节数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send the byte data and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法SendMqttFile(Socket, Stream, String, String, ActionInt64, Int64, AesCryptography, HslCancelToken)
使用MQTT协议将一个数据流发送到网络上去,需要保存的文件名,可选指定文件描述信息,进度报告
Use the MQTT protocol to send a data stream to the network, the file name that needs to be saved, optional file description information, progress report
(继承自 NetworkBase。)
受保护的方法SendMqttFile(Socket, String, String, String, ActionInt64, Int64, AesCryptography, HslCancelToken)
使用MQTT协议将一个文件发送到网络上去,需要指定文件名,保存的文件名,可选指定文件描述信息,进度报告
To send a file to the network using the MQTT protocol, you need to specify the file name, the saved file name, optionally specify the file description information, and the progress report
(继承自 NetworkBase。)
受保护的方法SendMqttFileAsync(Socket, Stream, String, String, ActionInt64, Int64, AesCryptography, HslCancelToken)
使用MQTT协议将一个数据流发送到网络上去,需要保存的文件名,可选指定文件描述信息,进度报告
Use the MQTT protocol to send a data stream to the network, the file name that needs to be saved, optional file description information, progress report
(继承自 NetworkBase。)
受保护的方法SendMqttFileAsync(Socket, String, String, String, ActionInt64, Int64, AesCryptography, HslCancelToken)
使用MQTT协议将一个文件发送到网络上去,需要指定文件名,保存的文件名,可选指定文件描述信息,进度报告
To send a file to the network using the MQTT protocol, you need to specify the file name, the saved file name, optionally specify the file description information, and the progress report
(继承自 NetworkBase。)
受保护的方法SendMqttStream
使用MQTT协议将流中的数据读取到字节数组,然后都写入到socket里面,可以指定进度报告,主要用于将文件发送到网络。
Use the MQTT protocol to read the data in the stream into a byte array, and then write them all into the socket. You can specify a progress report, which is mainly used to send files to the network.
(继承自 NetworkBase。)
受保护的方法SendMqttStreamAsync
使用MQTT协议将流中的数据读取到字节数组,然后都写入到socket里面,可以指定进度报告,主要用于将文件发送到网络。
Use the MQTT protocol to read the data in the stream into a byte array, and then write them all into the socket. You can specify a progress report, which is mainly used to send files to the network.
(继承自 NetworkBase。)
受保护的方法SendStreamToSocket
发送一个流的所有数据到指定的网络套接字,需要指定发送的数据长度,支持按照百分比的进度报告
Send all the data of a stream to the specified network socket. You need to specify the length of the data to be sent. It supports the progress report in percentage.
(继承自 NetworkBase。)
受保护的方法SendStreamToSocketAsync
发送一个流的所有数据到指定的网络套接字,需要指定发送的数据长度,支持按照百分比的进度报告
Send all the data of a stream to the specified network socket. You need to specify the length of the data to be sent. It supports the progress report in percentage.
(继承自 NetworkBase。)
受保护的方法SendStringAndCheckReceive(Socket, Int32, String)
[自校验] 直接发送字符串数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-checking] Send string data directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法SendStringAndCheckReceive(Socket, Int32, String)
[自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法SendStringAndCheckReceiveAsync(Socket, Int32, String)
[自校验] 直接发送字符串数据并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-checking] Send string data directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
受保护的方法SendStringAndCheckReceiveAsync(Socket, Int32, String)
[自校验] 直接发送字符串数组并确认对方接收完成数据,如果结果异常,则结束通讯
[Self-check] Send string array directly and confirm that the other party has received the completed data. If the result is abnormal, the communication ends.
(继承自 NetworkBase。)
公共方法SetPipeSocket
设置一个新的网络管道,一般来说不需要调用本方法,当多个网口设备共用一个网络连接时才需要使用本方法进行设置共享的管道。
To set up a new network channel, generally speaking, you do not need to call this method. This method is only needed to set up a shared channel when multiple network port devices share a network connection.
(继承自 NetworkUdpBase。)
公共方法ToString (重写 NetworkUdpDeviceBaseToString.)
公共方法UnpackResponseContent
根据对方返回的报文命令,对命令进行基本的拆包,例如各种Modbus协议拆包为统一的核心报文,还支持对报文的验证
According to the message command returned by the other party, the command is basically unpacked, for example, various Modbus protocols are unpacked into a unified core message, and the verification of the message is also supported
(重写 NetworkUdpBaseUnpackResponseContent(Byte, Byte).)
公共方法Wait(String, Boolean, Int32, Int32)
等待指定地址的Boolean值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the Boolean value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法Wait(String, Int16, Int32, Int32)
等待指定地址的Int16值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the Int16 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法Wait(String, Int32, Int32, Int32)
等待指定地址的Int32值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the Int32 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法Wait(String, Int64, Int32, Int32)
等待指定地址的Int64值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the Int64 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法Wait(String, UInt16, Int32, Int32)
等待指定地址的UInt16值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the UInt16 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法Wait(String, UInt32, Int32, Int32)
等待指定地址的UInt32值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the UInt32 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法Wait(String, UInt64, Int32, Int32)
等待指定地址的UInt64值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the UInt64 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法WaitAsync(String, Boolean, Int32, Int32)
等待指定地址的Boolean值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the Boolean value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法WaitAsync(String, Int16, Int32, Int32)
等待指定地址的Int16值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the Int16 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法WaitAsync(String, Int32, Int32, Int32)
等待指定地址的Int32值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the Int32 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法WaitAsync(String, Int64, Int32, Int32)
等待指定地址的Int64值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the Int64 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法WaitAsync(String, UInt16, Int32, Int32)
等待指定地址的UInt16值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the UInt16 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法WaitAsync(String, UInt32, Int32, Int32)
等待指定地址的UInt32值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the UInt32 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法WaitAsync(String, UInt64, Int32, Int32)
等待指定地址的UInt64值为指定的值,可以指定刷新数据的频率,等待的超时时间,如果超时时间为-1的话,则是无期限等待。
Waiting for the UInt64 value of the specified address to be the specified value, you can specify the frequency of refreshing the data, and the timeout time to wait. If the timeout time is -1, it is an indefinite wait.
(继承自 NetworkUdpDeviceBase。)
公共方法Write(String, Boolean)
写入单个的Boolean数据,返回是否成功
Write a single Boolean data, and return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, Double)
写入double数据,返回是否成功
Write double data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, Double)
写入double数组,返回是否成功
Write double array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, Int16)
写入short数据,返回是否成功
Write short data, returns whether success
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, Int16)
写入short数组,返回是否成功
Write short array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, Int32)
写入int数据,返回是否成功
Write int data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, Int32)
写入int[]数组,返回是否成功
Write int array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, Int64)
写入long数据,返回是否成功
Write long data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, Int64)
写入long数组,返回是否成功
Write long array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, Single)
写入float数据,返回是否成功
Write float data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, Single)
写入float数组,返回是否成功
Write float array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, String)
写入字符串信息,编码为ASCII
Write string information, encoded as ASCII
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, UInt16)
写入ushort数据,返回是否成功
Write ushort data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, UInt16)
写入ushort数组,返回是否成功
Write ushort array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, UInt32)
写入uint数据,返回是否成功
Write uint data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, UInt32)
写入uint[]数组,返回是否成功
Write uint array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, UInt64)
写入ulong数据,返回是否成功
Write ulong data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, UInt64)
写入ulong数组,返回是否成功
Write ulong array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法Write(String, Boolean)
批量写入Boolean数组数据,返回是否成功
Batch write Boolean array data, return whether the write was successful
(重写 NetworkUdpDeviceBaseWrite(String, Boolean).)
公共方法Write(String, Byte)
写入原始的byte数组数据到指定的地址,返回是否写入成功
Write the original byte array data to the specified address, and return whether the write was successful
(重写 NetworkUdpDeviceBaseWrite(String, Byte).)
公共方法代码示例Write(String, String, Int32)
写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为ASCII
Write string information of the specified length. If it exceeds the value, the string is truncated. If the length is not enough, it is filled with 0 and the encoding is ASCII.
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, String, Encoding)
写入字符串信息,需要指定的编码信息
Write string information, need to specify the encoding information
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例Write(String, String, Int32, Encoding)
写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为指定的编码信息
Write string information of the specified length. If it exceeds the value, the string is truncated. If the length is not enough, then the operation is complemented with 0 , you should specified the encoding information
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteT(T)
写入支持Hsl特性的数据,返回是否写入成功,该特性为HslDeviceAddressAttribute,详细参考api文档说明
Write data that supports the Hsl attribute, and return whether the write was successful. The attribute is HslDeviceAddressAttribute, please refer to the api documentation for details.
(继承自 NetworkUdpDeviceBase。)
公共方法WriteAsync(String, Boolean)
异步批量写入Boolean数组数据,返回是否成功
Asynchronously batch write Boolean array data, return success
(继承自 NetworkUdpDeviceBase。)
公共方法WriteAsync(String, Boolean)
异步批量写入Boolean数组数据,返回是否成功
Asynchronously batch write Boolean array data, return success
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Byte)
异步写入原始的byte数组数据到指定的地址,返回是否写入成功
Asynchronously writes the original byte array data to the specified address, and returns whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Double)
异步写入double数据,返回是否成功
Asynchronously write double data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Double)
异步写入double数组,返回是否成功
Asynchronously write double array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Int16)
异步写入short数据,返回是否成功
Asynchronously write short data, returns whether success
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Int16)
异步写入short数组,返回是否成功
Asynchronously write short array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Int32)
异步写入int数据,返回是否成功
Asynchronously write int data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Int32)
异步写入int[]数组,返回是否成功
Asynchronously write int array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Int64)
异步写入long数据,返回是否成功
Asynchronously write long data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Int64)
异步写入long数组,返回是否成功
Asynchronously write long array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Single)
异步写入float数据,返回是否成功
Asynchronously write float data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, Single)
异步写入float数组,返回是否成功
Asynchronously write float array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, String)
异步写入字符串信息,编码为ASCII
Asynchronously write string information, encoded as ASCII
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, UInt16)
异步写入ushort数据,返回是否成功
Asynchronously write ushort data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, UInt16)
异步写入ushort数组,返回是否成功
Asynchronously write ushort array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, UInt32)
异步写入uint数据,返回是否成功
Asynchronously write uint data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, UInt32)
异步写入uint[]数组,返回是否成功
Asynchronously write uint array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, UInt64)
异步写入ulong数据,返回是否成功
Asynchronously write ulong data, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, UInt64)
异步写入ulong数组,返回是否成功
Asynchronously write ulong array, return whether the write was successful
(继承自 NetworkUdpDeviceBase。)
公共方法WriteAsync(String, String, Int32)
异步写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为ASCII
Asynchronously write string information of the specified length. If it exceeds the value, the string is truncated. If the length is not enough, it is filled with 0 and the encoding is ASCII.
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsync(String, String, Encoding)
异步写入字符串信息,需要指定的编码信息
Asynchronously write string information, need to specify the encoding information
(继承自 NetworkUdpDeviceBase。)
公共方法WriteAsync(String, String, Int32, Encoding)
异步写入指定长度的字符串信息,如果超出,就截断字符串,如果长度不足,那就补0操作,编码为指定的编码信息
Asynchronously write string information of the specified length. If it exceeds the value, the string is truncated. If the length is not enough, then the operation is complemented with 0 , you should specified the encoding information
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteAsyncT(T)
异步写入支持Hsl特性的数据,返回是否写入成功,该特性为HslDeviceAddressAttribute,详细参考api文档说明
Asynchronously write data that supports the Hsl attribute, and return whether the write was successful. The attribute is HslDeviceAddressAttribute, please refer to the api documentation for details.
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteCustomerT
写入自定义类型的数据,该类型必须继承自IDataTransfer接口
Write data of a custom type, which must inherit from the IDataTransfer interface
(继承自 NetworkUdpDeviceBase。)
公共方法代码示例WriteCustomerAsyncT
写入自定义类型的数据,该类型必须继承自IDataTransfer接口
Write data of a custom type, which must inherit from the IDataTransfer interface
(继承自 NetworkUdpDeviceBase。)
受保护的方法WriteStream
将缓冲区的数据写入到流里面去
Write the buffer data to the stream
(继承自 NetworkBase。)
受保护的方法WriteStreamAsync
将缓冲区的数据写入到流里面去
Write the buffer data to the stream
(继承自 NetworkBase。)
受保护的方法WriteStreamFromSocket
从套接字中接收所有的数据然后写入到指定的流当中去,需要指定数据的长度,支持按照百分比进行进度报告
Receives all data from the socket and writes it to the specified stream. The length of the data needs to be specified, and progress reporting is supported in percentage.
(继承自 NetworkBase。)
受保护的方法WriteStreamFromSocketAsync
从套接字中接收所有的数据然后写入到指定的流当中去,需要指定数据的长度,支持按照百分比进行进度报告
Receives all data from the socket and writes it to the specified stream. The length of the data needs to be specified, and progress reporting is supported in percentage.
(继承自 NetworkBase。)
Top
字段
  名称说明
受保护的字段fileCacheSize
文件传输的时候的缓存大小,直接影响传输的速度,值越大,传输速度越快,越占内存,默认为100K大小
The size of the cache during file transfer directly affects the speed of the transfer. The larger the value, the faster the transfer speed and the more memory it takes. The default size is 100K.
(继承自 NetworkBase。)
受保护的字段LogMsgFormatBinary
设置日志记录报文是否二进制,如果为False,那就使用ASCII码
Set whether the log message is binary, if it is False, then use ASCII code
(继承自 NetworkUdpBase。)
Top
扩展方法
  名称说明
公共扩展器方法ToJsonString
获取当前对象的JSON格式表示的字符串。
Gets the string represented by the JSON format of the current object.
(由 HslExtension 定义。)
Top
备注
支持读写的数据类型详细参考API文档,支持高级的数据读取,例如读取智能模块,缓冲存储器等等。如果使用的Fx5u的PLC,如果之前有写过用户认证,需要对设备信息全部初始化
示例
简单的短连接使用
// 实例化对象,指定PLC的ip地址和端口号
MelsecMcNet melsecMc = new MelsecMcNet( "192.168.1.110", 6000 );
// 举例读取D100的值
short D100 = melsecMc.ReadInt16( "D100" ).Content;
简单的长连接使用
// 实例化对象,指定PLC的ip地址和端口号
MelsecMcNet melsecMc = new MelsecMcNet( "192.168.1.110", 6000 );

// 如果网络不太理想,配置了两个端口,一个有问题,立即切换另一个的话,可以配置如下的代码
// melsecMc.GetPipeSocket( ).SetMultiPorts( new int[] { 6000, 6001 } );

// 连接对象
OperateResult connect = melsecMc.ConnectServer( );
if (!connect.IsSuccess)
{
    Console.WriteLine( "connect failed:" + connect.Message );
    return;
}

// 举例读取D100的值
short D100 = melsecMc.ReadInt16( "D100" ).Content;

// 实际上所有的读写都是返回是否成功的标记的,在实际的开发中,需要严格的判定,怎么判定呢?如下的代码
// In fact, all reads and writes return the flags of success. In actual development, strict judgment is required. How to judge? The following code
OperateResult<short> readD100 = melsecMc.ReadInt16( "D100" );
if (readD100.IsSuccess)
{
    // 读取成功,这时候获取Content才是正确的值
    // The reading is successful, and the Content is the correct value at this time.
    short value = readD100.Content;
}
else
{
    // 读取失败,如果仍然坚持去获取Content的值,就为0
    // Failed to read, if it still persists to get the value of Content, it is 0
}

// 读写是否成功的情况,应用于几乎所有的读写代码,只要看清楚返回的数据类型即可
// Whether the reading and writing is successful is applied to almost all reading and writing codes, as long as the type of data returned is clear

melsecMc.ConnectClose( );
基本的读取示例
MelsecMcNet melsec_net = new MelsecMcNet( "192.168.0.100", 6000 );
melsec_net.SetPersistentConnection( );                                           // 设置长连接的操作

// 此处以D寄存器作为示例,此处没有判断是否读写成功,所以是有风险的,如果通讯失败,所有的值都不是正确的
// The D register is used as an example here. There is no judgment whether the read or write is successful, so it is risky. 
// If the communication fails, all values are incorrect
short short_D1000 = melsec_net.ReadInt16( "D1000" ).Content;                     // 读取D1000的short值 
ushort ushort_D1000 = melsec_net.ReadUInt16( "D1000" ).Content;                  // 读取D1000的ushort值
int int_D1000 = melsec_net.ReadInt32( "D1000" ).Content;                         // 读取D1000-D1001组成的int数据
uint uint_D1000 = melsec_net.ReadUInt32( "D1000" ).Content;                      // 读取D1000-D1001组成的uint数据
float float_D1000 = melsec_net.ReadFloat( "D1000" ).Content;                     // 读取D1000-D1001组成的float数据
long long_D1000 = melsec_net.ReadInt64( "D1000" ).Content;                       // 读取D1000-D1003组成的long数据
ulong ulong_D1000 = melsec_net.ReadUInt64( "D1000" ).Content;                    // 读取D1000-D1003组成的long数据
double double_D1000 = melsec_net.ReadDouble( "D1000" ).Content;                  // 读取D1000-D1003组成的double数据
string str_D1000 = melsec_net.ReadString( "D1000", 10 ).Content;                 // 读取D1000-D1009组成的条码数据

// 读取数组
short[] short_D1000_array = melsec_net.ReadInt16( "D1000", 10 ).Content;         // 读取D1000的short值 
ushort[] ushort_D1000_array = melsec_net.ReadUInt16( "D1000", 10 ).Content;      // 读取D1000的ushort值
int[] int_D1000_array = melsec_net.ReadInt32( "D1000", 10 ).Content;             // 读取D1000-D1001组成的int数据
uint[] uint_D1000_array = melsec_net.ReadUInt32( "D1000", 10 ).Content;          // 读取D1000-D1001组成的uint数据
float[] float_D1000_array = melsec_net.ReadFloat( "D1000", 10 ).Content;         // 读取D1000-D1001组成的float数据
long[] long_D1000_array = melsec_net.ReadInt64( "D1000", 10 ).Content;           // 读取D1000-D1003组成的long数据
ulong[] ulong_D1000_array = melsec_net.ReadUInt64( "D1000", 10 ).Content;        // 读取D1000-D1003组成的long数据
double[] double_D1000_array = melsec_net.ReadDouble( "D1000", 10 ).Content;      // 读取D1000-D1003组成的double数据

// 正常的安全的操作如下,每一行都需要转变下面的代码
// The normal and safe operation is as follows, each line needs to change the following code
OperateResult<short> resultD1000 = melsec_net.ReadInt16( "D1000" );
if (resultD1000.IsSuccess)
{
    Console.WriteLine( resultD1000.Content );
}
批量读取示例
MelsecMcNet melsec_net = new MelsecMcNet( "192.168.0.100", 6000 );

// 下面演示读取连续的地址的数据,实际中连续的地址,存储的数据类型不一样,可能既有short,又有int,又有float,还可能有倍数计算的关系
// 所以此处假设,
// D100存储的short,10倍的温度值,例如值为 1234,实际表示 123.4℃
// D101存储的short,100倍的压力值,例如值为 456, 实际表示 4.56 Mpa
// D102存储的int,生产产量计数
// D104-D108 共计5个D存储了10个字符,表示条码
OperateResult<byte[]> read = melsec_net.Read( "D100", 10 );  // 读出来20个字节长度的结果
if(read.IsSuccess)
{
    float temp = melsec_net.ByteTransform.TransInt16( read.Content, 0 ) / 10f;
    float press = melsec_net.ByteTransform.TransInt16( read.Content, 2 ) / 100f;
    int count = melsec_net.ByteTransform.TransInt32( read.Content, 4 );
    string barcode = melsec_net.ByteTransform.TransString( read.Content, 8, 10, Encoding.ASCII );
    // do something
}
else
{
    // failed
}
随机字读取示例
 // 随机读取的示例,所谓的随机读取,就是跨地址读取数据

// 下面我们举个例子,我们读取D100的值,D200的值,M32的值,W100的值,如何一次就读取出来呢?
MelsecMcNet melsec_net = new MelsecMcNet( "192.168.0.100", 6000 );

OperateResult<byte[]> read = melsec_net.ReadRandom( new string[] { "D100", "D200", "M32", "W100" } );
if (read.IsSuccess)
{
    short d100 = melsec_net.ByteTransform.TransInt16( read.Content, 0 );
    short d200 = melsec_net.ByteTransform.TransInt16( read.Content, 2 );
    short w100 = melsec_net.ByteTransform.TransInt16( read.Content, 6 );

    // M是位地址,提取稍微麻烦一点点
    bool[] array = HslCommunication.BasicFramework.SoftBasic.ByteToBoolArray( melsec_net.ByteTransform.TransByte( read.Content, 4, 2 ) );
    bool m32 = array[0];
    bool m33 = array[1];
    bool m34 = array[2];
    bool m35 = array[3];
    // 等等,按照规律操作就可以

    // do something
}
else
{
    // failed
}
随机批量字读取示例
// 随机读取的示例,所谓的随机读取,就是跨地址读取数据

// 下面我们举个例子,我们读取D100-D104的值,D200-D209的值,M32-M47的值,W100-W104的值,如何一次就读取出来呢?
MelsecMcNet melsec_net = new MelsecMcNet( "192.168.0.100", 6000 );

OperateResult<byte[]> read = melsec_net.ReadRandom( new string[] { "D100", "D200", "M32", "W100" }, new ushort[] { 5, 10, 1, 5 } );
if (read.IsSuccess)
{
    short d100 = melsec_net.ByteTransform.TransInt16( read.Content, 0 );
    short d101 = melsec_net.ByteTransform.TransInt16( read.Content, 2 );
    short d102 = melsec_net.ByteTransform.TransInt16( read.Content, 4 );
    short d103 = melsec_net.ByteTransform.TransInt16( read.Content, 6 );
    short d104 = melsec_net.ByteTransform.TransInt16( read.Content, 8 );
    short d200 = melsec_net.ByteTransform.TransInt16( read.Content, 10 );
    short d201 = melsec_net.ByteTransform.TransInt16( read.Content, 12 );
    // 等等
    short w100 = melsec_net.ByteTransform.TransInt16( read.Content, 32 );
    short w101 = melsec_net.ByteTransform.TransInt16( read.Content, 34 );
    short w102 = melsec_net.ByteTransform.TransInt16( read.Content, 36 );
    short w103 = melsec_net.ByteTransform.TransInt16( read.Content, 38 );
    short w104 = melsec_net.ByteTransform.TransInt16( read.Content, 40 );

    // M是位地址,提取稍微麻烦一点点
    bool[] array = HslCommunication.BasicFramework.SoftBasic.ByteToBoolArray( melsec_net.ByteTransform.TransByte( read.Content, 30, 2 ) );
    bool m32 = array[0];
    bool m33 = array[1];
    bool m34 = array[2];
    bool m35 = array[3];
    // 等等,按照规律操作就可以

    // do something
}
else
{
    // failed
}
参见