点击或拖拽改变大小

SiemensS7Server 类

西门子S7协议的虚拟服务器,支持TCP协议,模拟的是1200的PLC进行通信,在客户端进行操作操作的时候,最好是选择1200的客户端对象进行通信。
The virtual server of Siemens S7 protocol supports TCP protocol. It simulates 1200 PLC for communication. When the client is operating, it is best to select the 1200 client object for communication.
继承层次

命名空间:  HslCommunication.Profinet.Siemens
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:11.8.2.0 (11.8.2.0)
语法
public class SiemensS7Server : NetworkDataServerBase

SiemensS7Server 类型公开以下成员。

构造函数
  名称说明
公共方法SiemensS7Server
实例化一个S7协议的服务器,支持I,Q,M,DB1.X, DB2.X, DB3.X 数据区块的读写操作
Instantiate a server with S7 protocol, support I, Q, M, DB1.X data block read and write operations
Top
属性
  名称说明
公共属性ActiveTimeSpan
获取或设置两次数据交互时的最小时间间隔,默认为24小时。如果超过该设定的时间不进行数据交互,服务器就会强制断开当前的连接操作。
Get or set the minimum time interval between two data interactions, the default is 24 hours. If the data exchange is not performed for more than the set time, the server will forcibly disconnect the current connection operation.
(继承自 NetworkAuthenticationServerBase。)
公共属性代码示例ByteTransform
当前的数据变换机制,当你需要从字节数据转换类型数据的时候需要。
The current data transformation mechanism is required when you need to convert type data from byte data.
(继承自 NetworkDataServerBase。)
公共属性ConnectionId
当前连接的唯一ID号,默认为长度20的guid码加随机数组成,方便列表管理,也可以自己指定
The unique ID number of the current connection. The default is a 20-digit guid code plus a random number.
(继承自 NetworkDataServerBase。)
公共属性EnableIPv6
获取或设置服务器是否支持IPv6的地址协议信息
Get or set whether the server supports IPv6 address protocol information
(继承自 NetworkServerBase。)
公共属性EnableWrite
获取或设置当前的服务器是否允许远程客户端进行写入数据操作,默认为True
Gets or sets whether the current server allows remote clients to write data, the default is True
(继承自 NetworkDataServerBase。)
公共属性ForceSerialReceiveOnce
获取或设置当前的服务器接收串口数据时候,是否强制只接收一次数据,默认为false,适合点对点通信,如果你总线形式的连接,则需要设置 True
Get or set whether to force the data to be received only once when the current server receives serial port data. The default value is false, which is suitable for point-to-point communication. If you have a bus connection, you need to set True
(继承自 NetworkDataServerBase。)
公共属性GetOnlineSessions
获取当前所有在线的客户端信息,包括IP地址和端口号信息
Get all current online client information, including IP address and port number information
(继承自 NetworkAuthenticationServerBase。)
公共属性IsStarted
服务器引擎是否启动
Whether the server engine is started
(继承自 NetworkServerBase。)
公共属性IsUseAccountCertificate
获取或设置是否对客户端启动账号认证
Gets or sets whether to enable account authentication on the client
(继承自 NetworkAuthenticationServerBase。)
公共属性代码示例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。)
公共属性OnlineCount
获取在线的客户端的数量
Get the number of clients online
(继承自 NetworkAuthenticationServerBase。)
公共属性Port
获取或设置服务器的端口号,如果是设置,需要在服务器启动前设置完成,才能生效。
Gets or sets the port number of the server. If it is set, it needs to be set before the server starts to take effect.
(继承自 NetworkServerBase。)
公共属性SerialReceiveAtleastTime
获取或设置串口模式下,接收一条数据最短的时间要求,当设备发送的数据非常慢的时候,或是分割发送数据的时候,就需要将本值设置的大一点,默认为20ms
Get or set the shortest time required to receive a piece of data in serial port mode. When the data sent by the device is very slow, or when the data is divided and sent, you need to set this value to a larger value, the default is 20ms
(继承自 NetworkDataServerBase。)
公共属性SocketKeepAliveTime
获取或设置客户端的Socket的心跳时间信息,这个是Socket底层自动实现的心跳包,不基于协议层实现。默认小于0,不开启心跳检测,如果需要开启,设置 60_000 比较合适,单位毫秒
Get or set the heartbeat time information of the Socket of the client. This is the heartbeat packet automatically implemented by the bottom layer of the Socket, not based on the protocol layer. The default value is less than 0, and heartbeat detection is not enabled. If you need to enable it, it is more appropriate to set 60_000, in milliseconds.
(继承自 NetworkServerBase。)
公共属性代码示例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
(继承自 NetworkDataServerBase。)
Top
方法
  名称说明
公共方法AddAccount
新增账户,如果想要启动账户登录,必须将IsUseAccountCertificate设置为True
Add an account. If you want to activate account login, you must set IsUseAccountCertificate to True
(继承自 NetworkAuthenticationServerBase。)
受保护的方法AddClient
新增一个在线的客户端信息
Add an online client information
(继承自 NetworkAuthenticationServerBase。)
公共方法AddDbBlock
新增一个独立的DB块数据区,如果这个DB块已经存在,则新增无效。
Add a separate DB block data area, if the DB block already exists, the new one is invalid.
受保护的方法AsyncAcceptCallback
异步传入的连接申请请求
Asynchronous incoming connection request
(继承自 NetworkServerBase。)
受保护的方法CheckRemoteToken
检查当前的头子节信息的令牌是否是正确的,仅用于某些特殊的协议实现
Check whether the token of the current header subsection information is correct, only for some special protocol implementations
(继承自 NetworkBase。)
受保护的方法CheckSerialReceiveDataComplete
检查串口接收的数据是否完成的方法,如果接收完成,则返回True
(继承自 NetworkDataServerBase。)
受保护的方法CloseAction
服务器关闭的时候需要做的事情
Things to do when the server is down
(继承自 NetworkAuthenticationServerBase。)
公共方法CloseSerialSlave
关闭提供从机服务的串口对象
Close the serial port object that provides slave services
(继承自 NetworkDataServerBase。)
公共方法ConnectHslAlientClient
创建一个指定的异形客户端连接,使用Hsl协议来发送注册包
Create a specified profiled client connection and use the Hsl protocol to send registration packets
(继承自 NetworkServerBase。)
公共方法ConnectHslAlientClientAsync
创建一个指定的异形客户端连接,使用Hsl协议来发送注册包
Create a specified profiled client connection and use the Hsl protocol to send registration packets
(继承自 NetworkServerBase。)
受保护的方法代码示例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。)
受保护的方法DealWithSerialReceivedData
处理串口接收数据的功能方法,需要在继承类中进行相关的重写操作
(继承自 NetworkDataServerBase。)
公共方法DeleteAccount
删除一个账户的信息
Delete an account's information
(继承自 NetworkAuthenticationServerBase。)
受保护的方法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。)
公共方法Dispose (继承自 NetworkAuthenticationServerBase。)
受保护的方法Dispose(Boolean)
释放当前的对象
(重写 NetworkDataServerBaseDispose(Boolean).)
公共方法Equals (继承自 Object。)
受保护的方法Finalize (继承自 Object。)
公共方法GetHashCode (继承自 Object。)
受保护的方法GetNewNetMessage
获取一个新的消息对象的方法,需要在继承类里面进行重写
The method to get a new message object needs to be overridden in the inheritance class
(重写 NetworkDataServerBaseGetNewNetMessage.)
受保护的方法GetSerialMessageLogText
获取串口模式下消息的日志记录方式,可以继承重写。
Get the logging method of messages in serial mode, which can be inherited and rewritten.
(继承自 NetworkDataServerBase。)
受保护的方法GetSerialPort
获取当前的串口对象信息
(继承自 NetworkDataServerBase。)
公共方法GetTrustedClients
获取受信任的客户端列表
Get a list of trusted clients
(继承自 NetworkAuthenticationServerBase。)
公共方法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
(继承自 NetworkDataServerBase。)
受保护的方法IsNeedShakeHands
获取是否需要进行握手报文信息
公共方法LoadDataPool
从文件加载数据池信息
Load datapool information from a file
(继承自 NetworkDataServerBase。)
受保护的方法LoadFromBytes
从字节数据加载数据信息,需要进行重写方法
Loading data information from byte data requires rewriting method
(重写 NetworkDataServerBaseLoadFromBytes(Byte).)
受保护的方法MemberwiseClone (继承自 Object。)
受保护的方法PackReadBack
将读取的结果数据内容进行打包,返回客户端读取
受保护的方法PackWriteBack
创建返回的报文信息
受保护的方法RaiseDataReceived
触发一个数据接收的事件信息
Event information that triggers a data reception
(继承自 NetworkDataServerBase。)
受保护的方法RaiseDataSend
触发一个数据发送的事件信息
Event information that triggers a data transmission
(继承自 NetworkDataServerBase。)
公共方法代码示例Read(String, UInt16)
从PLC读取原始的字节数据,地址格式为I100,Q100,DB20.100,M100,长度参数以字节为单位
Read the original byte data from the PLC, the address format is I100, Q100, DB20.100, M100, length parameters in bytes
(重写 NetworkDataServerBaseRead(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.
(继承自 NetworkDataServerBase。)
公共方法ReadAsync(String, UInt16)
异步批量读取字节数组信息,需要指定地址和长度,返回原始的字节数组
Asynchronous batch read byte array information, need to specify the address and length, return the original byte array
(继承自 NetworkDataServerBase。)
公共方法代码示例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.
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadBool(String)
读取指定地址的bool数据,地址格式为I100,M100,Q100,DB20.100
reads bool data for the specified address in the format I100,M100,Q100,DB20.100
(重写 NetworkDataServerBaseReadBool(String).)
公共方法ReadBool(String, UInt16)
批量读取Boolean数组信息,需要指定地址和长度,返回Boolean 数组
Batch read Boolean array information, need to specify the address and length, return Boolean array
(继承自 NetworkDataServerBase。)
公共方法ReadBoolAsync(String)
异步读取单个的Boolean数据信息
Asynchronously read a single Boolean data message
(继承自 NetworkDataServerBase。)
公共方法ReadBoolAsync(String, UInt16)
异步批量读取Boolean数组信息,需要指定地址和长度,返回Boolean 数组
Asynchronously batch read Boolean array information, need to specify the address and length, return Boolean array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadByte
读取指定地址的byte数据,地址格式I100,M100,Q100,DB20.100
Reads the byte data of the specified address, the address format I100,Q100,DB20.100,M100
公共方法代码示例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.
(继承自 NetworkDataServerBase。)
公共方法代码示例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.
(继承自 NetworkDataServerBase。)
公共方法代码示例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.
(继承自 NetworkDataServerBase。)
公共方法代码示例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.
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadDouble(String)
读取双浮点的数据
Read double floating point data
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadDouble(String, UInt16)
读取双浮点数据的数组
Read double floating point data array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadDoubleAsync(String)
异步读取双浮点的数据
Asynchronously read double floating point data
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadDoubleAsync(String, UInt16)
异步读取双浮点数据的数组
Asynchronously read double floating point data array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadFloat(String)
读取单浮点数据
Read single floating point data
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadFloat(String, UInt16)
读取单浮点精度的数组
Read single floating point array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadFloatAsync(String)
异步读取单浮点数据
Asynchronously read single floating point data
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadFloatAsync(String, UInt16)
异步读取单浮点精度的数组
Asynchronously read single floating point array
(继承自 NetworkDataServerBase。)
受保护的方法代码示例ReadFromCoreServer
将数据发送到当前的网络通道中,并从网络通道中接收一个INetMessage指定的完整的报文,网络通道将根据GetAvailableSocket方法自动获取,本方法是线程安全的。
Send data to the current network channel and receive a complete message specified by INetMessage from the network channel. The network channel will be automatically obtained according to the GetAvailableSocket method This method is thread-safe.
(重写 NetworkDataServerBaseReadFromCoreServer(AppSession, Byte).)
公共方法代码示例ReadInt16(String)
读取16位的有符号的整型数据
Read 16-bit signed integer data
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt16(String, UInt16)
读取16位的有符号整型数组
Read 16-bit signed integer array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt16Async(String)
异步读取16位的有符号的整型数据
Asynchronously read 16-bit signed integer data
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt16Async(String, UInt16)
异步读取16位的有符号整型数组
Asynchronously read 16-bit signed integer array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt32(String)
读取32位的有符号整型
Read 32-bit signed integer
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt32(String, UInt16)
读取32位有符号整型数组
Read 32-bit signed integer array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt32Async(String)
异步读取32位的有符号整型
Asynchronously read 32-bit signed integer
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt32Async(String, UInt16)
异步读取32位有符号整型数组
Asynchronously read 32-bit signed integer array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt64(String)
读取64位的有符号整型
Read 64-bit signed integer
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt64(String, UInt16)
读取64位的有符号整型数组
Read 64-bit signed integer array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt64Async(String)
异步读取64位的有符号整型
Asynchronously read 64-bit signed integer
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadInt64Async(String, UInt16)
异步读取64位的有符号整型数组
Asynchronously read 64-bit signed integer array
(继承自 NetworkDataServerBase。)
受保护的方法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)
读取西门子的地址的字符串信息,这个信息是和西门子绑定在一起,长度随西门子的信息动态变化的
Read the Siemens address string information. This information is bound to Siemens and its length changes dynamically with the Siemens information
公共方法代码示例ReadString(String, UInt16)
读取字符串数据,默认为最常见的ASCII编码
Read string data, default is the most common ASCII encoding
(继承自 NetworkDataServerBase。)
公共方法ReadString(String, Encoding)
读取西门子的地址的字符串信息,这个信息是和西门子绑定在一起,长度随西门子的信息动态变化的
Read the Siemens address string information. This information is bound to Siemens and its length changes dynamically with the Siemens information
公共方法代码示例ReadString(String, UInt16, Encoding)
使用指定的编码,读取字符串数据
Reads string data using the specified encoding
(重写 NetworkDataServerBaseReadString(String, UInt16, Encoding).)
公共方法ReadStringAsync(String)
读取西门子的地址的字符串信息,这个信息是和西门子绑定在一起,长度随西门子的信息动态变化的
Read the Siemens address string information. This information is bound to Siemens and its length changes dynamically with the Siemens information
公共方法代码示例ReadStringAsync(String, UInt16)
异步读取字符串数据,默认为最常见的ASCII编码
Asynchronously read string data, default is the most common ASCII encoding
(继承自 NetworkDataServerBase。)
公共方法ReadStringAsync(String, Encoding)
读取西门子的地址的字符串信息,这个信息是和西门子绑定在一起,长度随西门子的信息动态变化的
Read the Siemens address string information. This information is bound to Siemens and its length changes dynamically with the Siemens information
公共方法代码示例ReadStringAsync(String, UInt16, Encoding)
异步使用指定的编码,读取字符串数据
Asynchronously reads string data using the specified encoding
(重写 NetworkDataServerBaseReadStringAsync(String, UInt16, Encoding).)
公共方法代码示例ReadStructT
读取结构体类型的数据,根据结构体自身的定义,读取原始字节数组,然后解析出实际的结构体数据,结构体需要实现HslStructAttribute特性
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadStructAsyncT
读取结构体类型的数据,根据结构体自身的定义,读取原始字节数组,然后解析出实际的结构体数据,结构体需要实现HslStructAttribute特性
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt16(String)
读取16位的无符号整型
Read 16-bit unsigned integer
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt16(String, UInt16)
读取16位的无符号整型数组
Read 16-bit unsigned integer array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt16Async(String)
异步读取16位的无符号整型
Asynchronously read 16-bit unsigned integer
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt16Async(String, UInt16)
异步读取16位的无符号整型数组
Asynchronously read 16-bit unsigned integer array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt32(String)
读取32位的无符号整型
Read 32-bit unsigned integer
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt32(String, UInt16)
读取32位的无符号整型数组
Read 32-bit unsigned integer array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt32Async(String)
异步读取32位的无符号整型
Asynchronously read 32-bit unsigned integer
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt32Async(String, UInt16)
异步读取32位的无符号整型数组
Asynchronously read 32-bit unsigned integer array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt64(String)
读取64位的无符号整型
Read 64-bit unsigned integer
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt64(String, UInt16)
读取64位的无符号整型的数组
Read 64-bit unsigned integer array
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt64Async(String)
异步读取64位的无符号整型
Asynchronously read 64-bit unsigned integer
(继承自 NetworkDataServerBase。)
公共方法代码示例ReadUInt64Async(String, UInt16)
异步读取64位的无符号整型的数组
Asynchronously read 64-bit unsigned integer array
(继承自 NetworkDataServerBase。)
公共方法ReadWString
读取西门子的地址的字符串信息,这个信息是和西门子绑定在一起,长度随西门子的信息动态变化的
Read the Siemens address string information. This information is bound to Siemens and its length changes dynamically with the Siemens information
公共方法ReadWStringAsync
读取西门子的地址的字符串信息,这个信息是和西门子绑定在一起,长度随西门子的信息动态变化的
Read the Siemens address string information. This information is bound to Siemens and its length changes dynamically with the Siemens information
受保护的方法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。)
受保护的方法ReceiveFileFromSocket(Socket, Stream, ActionInt64, Int64)
[自校验] 从网络中接收一个文件,写入数据流,如果结果异常,则结束通讯,参数顺序文件名,文件大小,文件标识,上传人
[Self-checking] Receive a file from the network. If the result is abnormal, the communication ends.
(继承自 NetworkXBase。)
受保护的方法ReceiveFileFromSocket(Socket, String, ActionInt64, Int64)
[自校验] 从网络中接收一个文件,如果结果异常,则结束通讯
[Self-checking] Receive a file from the network. If the result is abnormal, the communication ends.
(继承自 NetworkXBase。)
受保护的方法ReceiveFileFromSocketAsync(Socket, Stream, ActionInt64, Int64)
[自校验] 从网络中接收一个文件,写入数据流,如果结果异常,则结束通讯,参数顺序文件名,文件大小,文件标识,上传人
[Self-checking] Receive a file from the network. If the result is abnormal, the communication ends.
(继承自 NetworkXBase。)
受保护的方法ReceiveFileFromSocketAsync(Socket, String, ActionInt64, Int64)
[自校验] 从网络中接收一个文件,如果结果异常,则结束通讯
[Self-checking] Receive a file from the network. If the result is abnormal, the communication ends.
(继承自 NetworkXBase。)
受保护的方法ReceiveFileHeadFromSocket
[自校验] 从套接字中接收文件头信息
[Self-checking] Receive file header information from socket
(继承自 NetworkXBase。)
受保护的方法ReceiveFileHeadFromSocketAsync
[自校验] 从套接字中接收文件头信息
[Self-checking] Receive file header information from socket
(继承自 NetworkXBase。)
受保护的方法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。)
受保护的方法RemoveClient
移除一个在线的客户端信息
Remove an online client message
(继承自 NetworkAuthenticationServerBase。)
公共方法RemoveDbBlock
移除指定的DB块数据区,如果这个DB块不存在的话,操作无效,本方法无法移除1,2,3的DB块
Remove the specified DB block data area, if the DB block does not exist, the operation is invalid, and this method cannot remove the DB block of 1, 2, 3
公共方法SaveDataPool
将本系统的数据池数据存储到指定的文件
Store the data pool data of this system to the specified file
(继承自 NetworkDataServerBase。)
受保护的方法SaveToBytes
将数据信息存储到字节数组去,需要进行重写方法
To store data information into a byte array, a rewrite method is required
(重写 NetworkDataServerBaseSaveToBytes.)
受保护的方法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。)
受保护的方法SendFileAndCheckReceive(Socket, Stream, String, String, String, ActionInt64, Int64)
[自校验] 将流数据发送至套接字,具体发送细节将在继承类中实现,如果结果异常,则结束通讯
[Self-checking] Send stream data to the socket. The specific sending details will be implemented in the inherited class. If the result is abnormal, the communication will be terminated
(继承自 NetworkXBase。)
受保护的方法SendFileAndCheckReceive(Socket, String, String, String, String, ActionInt64, Int64)
[自校验] 将文件数据发送至套接字,具体发送细节将在继承类中实现,如果结果异常,则结束通讯
[Self-checking] Send the file data to the socket. The specific sending details will be implemented in the inherited class. If the result is abnormal, the communication will end
(继承自 NetworkXBase。)
受保护的方法SendFileAndCheckReceiveAsync(Socket, Stream, String, String, String, ActionInt64, Int64)
[自校验] 将流数据发送至套接字,具体发送细节将在继承类中实现,如果结果异常,则结束通讯
[Self-checking] Send stream data to the socket. The specific sending details will be implemented in the inherited class. If the result is abnormal, the communication will be terminated
(继承自 NetworkXBase。)
受保护的方法SendFileAndCheckReceiveAsync(Socket, String, String, String, String, ActionInt64, Int64)
[自校验] 将文件数据发送至套接字,具体发送细节将在继承类中实现,如果结果异常,则结束通讯
[Self-checking] Send the file data to the socket. The specific sending details will be implemented in the inherited class. If the result is abnormal, the communication will end
(继承自 NetworkXBase。)
受保护的方法SendFileStreamToSocket
[自校验] 将文件数据发送至套接字,如果结果异常,则结束通讯
[Self-check] Send the file data to the socket. If the result is abnormal, the communication is ended.
(继承自 NetworkXBase。)
受保护的方法SendFileStreamToSocketAsync
[自校验] 将文件数据发送至套接字,如果结果异常,则结束通讯
[Self-check] Send the file data to the socket. If the result is abnormal, the communication is ended.
(继承自 NetworkXBase。)
受保护的方法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。)
公共方法ServerClose
关闭服务器的引擎
Shut down the server's engine
(继承自 NetworkServerBase。)
公共方法ServerStart
使用已经配置好的端口启动服务器的引擎
Use the configured port to start the server's engine
(继承自 NetworkServerBase。)
公共方法ServerStart(Int32)
指定端口号来启动服务器的引擎
Specify the port number to start the server's engine
(继承自 NetworkServerBase。)
公共方法SetTrustedIpAddress
设置并启动受信任的客户端登录并读写,如果为null,将关闭对客户端的ip验证
Set and start the trusted client login and read and write, if it is null, the client's IP verification will be turned off
(继承自 NetworkAuthenticationServerBase。)
受保护的方法SocketAcceptExtraCheck
当客户端的socket登录的时候额外检查的信息,检查当前会话的用户名和密码
Additional check information when the client's socket logs in, check the username and password of the current session
(继承自 NetworkAuthenticationServerBase。)
受保护的方法SocketAsyncCallBack
从远程Socket异步接收的数据信息
(继承自 NetworkDataServerBase。)
受保护的方法StartInitialization
服务器启动时额外的初始化信息,可以用于启动一些额外的服务的操作。
The extra initialization information when the server starts can be used to start some additional service operations.
(继承自 NetworkServerBase。)
公共方法StartSerialSlave(ActionSerialPort)
启动串口的从机服务,使用自定义的初始化方法初始化串口的参数
Start the slave service of serial and initialize the parameters of the serial port using a custom initialization method
(继承自 NetworkDataServerBase。)
公共方法StartSerialSlave(String)
启动串口的从机服务,使用默认的参数进行初始化串口,9600波特率,8位数据位,无奇偶校验,1位停止位
Start the slave service of serial, initialize the serial port with default parameters, 9600 baud rate, 8 data bits, no parity, 1 stop bit
(继承自 NetworkDataServerBase。)
公共方法StartSerialSlave(String, Int32)
启动串口的从机服务,使用默认的参数进行初始化串口,8位数据位,无奇偶校验,1位停止位
Start the slave service of serial, initialize the serial port with default parameters, 8 data bits, no parity, 1 stop bit
(继承自 NetworkDataServerBase。)
公共方法StartSerialSlave(String, Int32, Int32, Parity, StopBits)
启动串口的从机服务,使用指定的参数进行初始化串口,指定数据位,指定奇偶校验,指定停止位
(继承自 NetworkDataServerBase。)
受保护的方法ThreadPoolLogin
当接收到了新的请求的时候执行的操作,此处进行账户的安全验证
The operation performed when a new request is received, and the account security verification is performed here
(继承自 NetworkAuthenticationServerBase。)
受保护的方法ThreadPoolLoginAfterClientCheck
当客户端登录后,在Ip信息的过滤后,然后触发本方法,进行后续的数据接收,处理,并返回相关的数据信息
When the client logs in, after filtering the IP information, this method is then triggered to perform subsequent data reception, processing, and return related data information
(重写 NetworkAuthenticationServerBaseThreadPoolLoginAfterClientCheck(Socket, IPEndPoint).)
公共方法ToString (重写 NetworkDataServerBaseToString.)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法Write(String, Boolean)
批量写入Boolean数组数据,返回是否成功
Batch write Boolean array data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Double)
写入double数据,返回是否成功
Write double data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Double)
写入double数组,返回是否成功
Write double array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Int16)
写入short数据,返回是否成功
Write short data, returns whether success
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Int16)
写入short数组,返回是否成功
Write short array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Int32)
写入int数据,返回是否成功
Write int data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Int32)
写入int[]数组,返回是否成功
Write int array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Int64)
写入long数据,返回是否成功
Write long data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Int64)
写入long数组,返回是否成功
Write long array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Single)
写入float数据,返回是否成功
Write float data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Single)
写入float数组,返回是否成功
Write float array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, String)
写入字符串信息,编码为ASCII
Write string information, encoded as ASCII
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, UInt16)
写入ushort数据,返回是否成功
Write ushort data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, UInt16)
写入ushort数组,返回是否成功
Write ushort array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, UInt32)
写入uint数据,返回是否成功
Write uint data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, UInt32)
写入uint[]数组,返回是否成功
Write uint array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, UInt64)
写入ulong数据,返回是否成功
Write ulong data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, UInt64)
写入ulong数组,返回是否成功
Write ulong array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, Boolean)
写入PLC的一个位,例如"M100.6","I100.7","Q100.0","DB20.100.0",如果只写了"M100"默认为"M100.0"
Write a bit of PLC, for example "M100.6", "I100.7", "Q100.0", "DB20.100.0", if only write "M100" defaults to "M100.0"
(重写 NetworkDataServerBaseWrite(String, Boolean).)
公共方法Write(String, Byte)
向PLC中写入byte数据,返回值说明
Write byte data to the PLC, return value description
公共方法代码示例Write(String, Byte)
将数据写入到PLC数据,地址格式为I100,Q100,DB20.100,M100,以字节为单位
Writes data to the PLC data, in the address format I100,Q100,DB20.100,M100, in bytes
(重写 NetworkDataServerBaseWrite(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.
(继承自 NetworkDataServerBase。)
公共方法代码示例Write(String, String, Encoding)
写入字符串信息,需要指定的编码信息
Write string information, need to specify the encoding information
(重写 NetworkDataServerBaseWrite(String, String, Encoding).)
公共方法代码示例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
(继承自 NetworkDataServerBase。)
公共方法代码示例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.
(继承自 NetworkDataServerBase。)
公共方法WriteAsync(String, Boolean)
异步批量写入Boolean数组数据,返回是否成功
Asynchronously batch write Boolean array data, return success
(继承自 NetworkDataServerBase。)
公共方法WriteAsync(String, Boolean)
异步批量写入Boolean数组数据,返回是否成功
Asynchronously batch write Boolean array data, return success
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Byte)
异步写入原始的byte数组数据到指定的地址,返回是否写入成功
Asynchronously writes the original byte array data to the specified address, and returns whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Double)
异步写入double数据,返回是否成功
Asynchronously write double data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Double)
异步写入double数组,返回是否成功
Asynchronously write double array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Int16)
异步写入short数据,返回是否成功
Asynchronously write short data, returns whether success
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Int16)
异步写入short数组,返回是否成功
Asynchronously write short array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Int32)
异步写入int数据,返回是否成功
Asynchronously write int data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Int32)
异步写入int[]数组,返回是否成功
Asynchronously write int array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Int64)
异步写入long数据,返回是否成功
Asynchronously write long data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Int64)
异步写入long数组,返回是否成功
Asynchronously write long array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Single)
异步写入float数据,返回是否成功
Asynchronously write float data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, Single)
异步写入float数组,返回是否成功
Asynchronously write float array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, String)
异步写入字符串信息,编码为ASCII
Asynchronously write string information, encoded as ASCII
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, UInt16)
异步写入ushort数据,返回是否成功
Asynchronously write ushort data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, UInt16)
异步写入ushort数组,返回是否成功
Asynchronously write ushort array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, UInt32)
异步写入uint数据,返回是否成功
Asynchronously write uint data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, UInt32)
异步写入uint[]数组,返回是否成功
Asynchronously write uint array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, UInt64)
异步写入ulong数据,返回是否成功
Asynchronously write ulong data, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteAsync(String, UInt64)
异步写入ulong数组,返回是否成功
Asynchronously write ulong array, return whether the write was successful
(继承自 NetworkDataServerBase。)
公共方法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.
(继承自 NetworkDataServerBase。)
公共方法WriteAsync(String, String, Encoding)
将指定的字符串写入到西门子PLC里面去,将自动添加字符串长度信息,方便PLC识别字符串的内容。
Write the specified string into Siemens PLC, and the string length information will be automatically added, which is convenient for PLC to identify the content of the string.
(重写 NetworkDataServerBaseWriteAsync(String, String, Encoding).)
公共方法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
(继承自 NetworkDataServerBase。)
公共方法代码示例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.
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteCustomerT
写入自定义类型的数据,该类型必须继承自IDataTransfer接口
Write data of a custom type, which must inherit from the IDataTransfer interface
(继承自 NetworkDataServerBase。)
公共方法代码示例WriteCustomerAsyncT
写入自定义类型的数据,该类型必须继承自IDataTransfer接口
Write data of a custom type, which must inherit from the IDataTransfer interface
(继承自 NetworkDataServerBase。)
受保护的方法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。)
公共方法WriteWString
使用双字节编码的方式,将字符串以 Unicode 编码写入到PLC的地址里,可以使用中文。
Use the double-byte encoding method to write the character string to the address of the PLC in Unicode encoding. Chinese can be used.
公共方法WriteWStringAsync
使用双字节编码的方式,将字符串以 Unicode 编码写入到PLC的地址里,可以使用中文。
Use the double-byte encoding method to write the character string to the address of the PLC in Unicode encoding. Chinese can be used.
Top
事件
  名称说明
公共事件OnClientOffline
当客户端下线时候的触发的事件
Event triggered when the client goes offline
(继承自 NetworkAuthenticationServerBase。)
公共事件OnClientOnline
当客户端上线时候的触发的事件
Event triggered when the client goes online
(继承自 NetworkAuthenticationServerBase。)
公共事件代码示例OnDataReceived
接收到数据的时候就触发的事件,示例详细参考API文档信息
An event that is triggered when data is received
(继承自 NetworkDataServerBase。)
公共事件OnDataSend
数据发送的时候就触发的事件
Events that are triggered when data is sent
(继承自 NetworkDataServerBase。)
Top
字段
  名称说明
受保护的字段CoreSocket
对客户端而言是的通讯用的套接字,对服务器来说是用于侦听的套接字
A communication socket for the client, or a listening socket for the server
(继承自 NetworkXBase。)
受保护的字段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
(继承自 NetworkDataServerBase。)
Top
扩展方法
  名称说明
公共扩展器方法ToJsonString
获取当前对象的JSON格式表示的字符串。
Gets the string represented by the JSON format of the current object.
(由 HslExtension 定义。)
Top
备注
本西门子的虚拟PLC仅限商业授权用户使用,感谢支持。
重要事项 重要事项
对于200smartPLC的V区,就是DB1.X,例如,V100=DB1.100
示例
地址支持的列表如下:
地址名称地址代号示例地址进制字操作位操作备注
中间寄存器MM100,M20010
输入寄存器II100,I20010
输出寄存器QQ100,Q20010
DB块寄存器DBDB1.100,DB1.20010
V寄存器VV100,V20010V寄存器本质就是DB块1
定时器的值TT100,T20010未测试通过
计数器的值CC100,C20010未测试通过
你可以很快速并且简单的创建一个虚拟的s7服务器
简单的创建服务器
private SiemensS7Server s7NetServer;
public void S7Start()
{
    try
    {
        s7NetServer = new SiemensS7Server();
        s7NetServer.ServerStart(102);
    }
    catch(Exception ex)
    {
        Console.Write("Failed:" + HslCommunication.BasicFramework.SoftBasic.GetExceptionMessage(ex));
    }
}
当然如果需要高级的服务器,指定日志,限制客户端的IP地址,获取客户端发送的信息,在服务器初始化的时候就要参照下面的代码:
定制服务器
public void S7Start4()
{
    try
    {
        s7NetServer = new SiemensS7Server();
        s7NetServer.LogNet = new HslCommunication.LogNet.LogNetSingle("logs.txt");        // 配置日志信息
        s7NetServer.SetTrustedIpAddress(new List<string>() { "127.0.0.1" });              // 仅仅限制本机客户端读写
        s7NetServer.OnDataReceived += S7NetServer_OnDataReceived;
        s7NetServer.ServerStart(102);
    }
    catch (Exception ex)
    {
        Console.Write("Failed:" + HslCommunication.BasicFramework.SoftBasic.GetExceptionMessage(ex));
    }
}

private void S7NetServer_OnDataReceived(object sender, object source, byte[] data)
{
    Console.WriteLine(HslCommunication.BasicFramework.SoftBasic.ByteToHexString(data, ' ')); // 打印客户端发送的数据
}
服务器创建好之后,我们就可以对服务器进行一些读写的操作了,下面的代码是基础的BCL类型的读写操作。
基础的读写示例
private void ReadExample()
{
    // 此处以M100寄存器作为示例
    bool bool_M100_0     = s7NetServer.ReadBool("M100.0").Content;
    byte byte_M100       = s7NetServer.ReadByte("M100").Content;         // 读取M100的值
    short short_M100     = s7NetServer.ReadInt16("M100").Content;        // 读取M100-M101组成的字
    ushort ushort_M100   = s7NetServer.ReadUInt16("M100").Content;       // 读取M100-M101组成的无符号的值
    int int_M100         = s7NetServer.ReadInt32("M100").Content;        // 读取M100-M103组成的有符号的数据
    uint uint_M100       = s7NetServer.ReadUInt32("M100").Content;       // 读取M100-M103组成的无符号的值
    float float_M100     = s7NetServer.ReadFloat("M100").Content;        // 读取M100-M103组成的单精度值
    long long_M100       = s7NetServer.ReadInt64("M100").Content;        // 读取M100-M107组成的大数据值
    ulong ulong_M100     = s7NetServer.ReadUInt64("M100").Content;       // 读取M100-M107组成的无符号大数据
    double double_M100   = s7NetServer.ReadDouble("M100").Content;       // 读取M100-M107组成的双精度值
    string string_M100   = s7NetServer.ReadString("M100", 10).Content;   // 读取M100-M109组成的ASCII字符串数据

    // 读取数组
    short[] short_M100_array      = s7NetServer.ReadInt16("M100", 10).Content;      // 读取M100-M101组成的字
    ushort[] ushort_M100_array    = s7NetServer.ReadUInt16("M100", 10).Content;     // 读取M100-M101组成的无符号的值
    int[] int_M100_array          = s7NetServer.ReadInt32("M100", 10).Content;      // 读取M100-M103组成的有符号的数据
    uint[] uint_M100_array        = s7NetServer.ReadUInt32("M100", 10).Content;     // 读取M100-M103组成的无符号的值
    float[] float_M100_array      = s7NetServer.ReadFloat("M100", 10).Content;      // 读取M100-M103组成的单精度值
    long[] long_M100_array        = s7NetServer.ReadInt64("M100", 10).Content;      // 读取M100-M107组成的大数据值
    ulong[] ulong_M100_array      = s7NetServer.ReadUInt64("M100", 10).Content;     // 读取M100-M107组成的无符号大数据
    double[] double_M100_array    = s7NetServer.ReadDouble("M100", 10).Content;     // 读取M100-M107组成的双精度值
}

private void WriteExample()
{

    // 此处以M100寄存器作为示例
    s7NetServer.Write("M100", true);                       // 写入M100  bool值
    s7NetServer.Write("M100", (byte)123);                  // 写入M100  byte值
    s7NetServer.Write("M100", (short)1234);                // 写入M100  short值
    s7NetServer.Write("M100", (ushort)45678);              // 写入M100  ushort值
    s7NetServer.Write("M100", 1234566);                    // 写入M100  int值
    s7NetServer.Write("M100", (uint)1234566);              // 写入M100  uint值
    s7NetServer.Write("M100", 123.456f);                   // 写入M100  float值
    s7NetServer.Write("M100", 123.456d);                   // 写入M100  double值
    s7NetServer.Write("M100", 123456661235123534L);        // 写入M100  long值
    s7NetServer.Write("M100", 523456661235123534UL);       // 写入M100  ulong值
    s7NetServer.Write("M100", "K123456789");               // 写入M100  string值

    // 读取数组
    s7NetServer.Write("M100", new short[] { 123, 3566, -123 });                                      // 写入M100  short值  ,W3C0,R3C0 效果是一样的
    s7NetServer.Write("M100", new ushort[] { 12242, 42321, 12323 });                                 // 写入M100  ushort值
    s7NetServer.Write("M100", new int[] { 1234312312, 12312312, -1237213 });                         // 写入M100  int值
    s7NetServer.Write("M100", new uint[] { 523123212, 213, 13123 });                                 // 写入M100  uint值
    s7NetServer.Write("M100", new float[] { 123.456f, 35.3f, -675.2f });                             // 写入M100  float值
    s7NetServer.Write("M100", new double[] { 12343.542312d, 213123.123d, -231232.53432d });          // 写入M100  double值
    s7NetServer.Write("M100", new long[] { 1231231242312, 34312312323214, -1283862312631823 });      // 写入M100  long值
    s7NetServer.Write("M100", new ulong[] { 1231231242312, 34312312323214, 9731283862312631823 });   // 写入M100  ulong值

}
高级的对于byte数组类型的数据进行批量化的读写操作如下:
字节的读写示例
public void ReadExample2()
{

    OperateResult<byte[]> read = s7NetServer.Read("M100", 8);
    if (read.IsSuccess)
    {
        float temp   = s7NetServer.ByteTransform.TransInt16(read.Content, 0) / 10f;
        float press  = s7NetServer.ByteTransform.TransInt16(read.Content, 2) / 100f;
        int count    = s7NetServer.ByteTransform.TransInt32(read.Content, 2);

        // do something
    }
    else
    {
        // failed
    }
}

public void WriteExample2()
{
    // 拼凑数据,这样的话,一次通讯就完成数据的全部写入
    byte[] buffer = new byte[8];
    s7NetServer.ByteTransform.TransByte((short)1234).CopyTo(buffer, 0);
    s7NetServer.ByteTransform.TransByte((short)2100).CopyTo(buffer, 2);
    s7NetServer.ByteTransform.TransByte(12353423).CopyTo(buffer, 4);

    OperateResult write = s7NetServer.Write("M100", buffer);
    if (write.IsSuccess)
    {
        // success
    }
    else
    {
        // failed
    }

    // 上面的功能等同于三个数据分别写入,下面的方式性能稍微差一点点,几乎看不出来
    // s7NetServer.Write( "M100", (short)1234 );
    // s7NetServer.Write( "M100", (short)2100 );
    // s7NetServer.Write( "M100", 12353423 );

}
更高级操作请参见源代码。
参见