点击或拖拽改变大小

SerialDeviceBase 类

串口设备交互类的基类,实现了IReadWriteDevice接口的基础方法方法,需要使用继承重写来实现字节读写,bool读写操作。
The base class of the serial device interaction class, which implements the basic methods of the IReadWriteDevice interface, requires inheritance rewriting to implement byte read and write, and bool read and write operations.
继承层次
SystemObject
  HslCommunication.SerialSerialBase
    HslCommunication.SerialSerialDeviceBase
      更多...

命名空间:  HslCommunication.Serial
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:11.2.2.0 (11.2.2.0)
语法
public class SerialDeviceBase : SerialBase, 
	IReadWriteDevice, IReadWriteNet

SerialDeviceBase 类型公开以下成员。

构造函数
  名称说明
公共方法SerialDeviceBase
默认的构造方法实现的设备信息
Top
属性
  名称说明
公共属性BaudRate
当前连接串口信息的波特率
Baud rate of current connection serial port information
(继承自 SerialBase。)
公共属性代码示例ByteTransform
当前的数据变换机制,当你需要从字节数据转换类型数据的时候需要。
The current data transformation mechanism is required when you need to convert type data from byte data.
公共属性ConnectionId
当前连接的唯一ID号,默认为长度20的guid码加随机数组成,方便列表管理,也可以自己指定
The unique ID number of the current connection. The default is a 20-digit guid code plus a random number.
公共属性IsClearCacheBeforeRead
是否在发送数据前清空缓冲数据,默认是false
Whether to empty the buffer before sending data, the default is false
(继承自 SerialBase。)
公共属性代码示例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
(继承自 SerialBase。)
公共属性PortName
当前连接串口信息的端口号名称
The port name of the current connection serial port information
(继承自 SerialBase。)
公共属性ReceiveEmptyDataCount
获取或设置连续接收空的数据次数,在数据接收完成时有效,每个单位消耗的时间为SleepTime,配合CheckReceiveDataComplete(MemoryStream)来更好的控制完整数据接收。
Get or set the number of consecutive empty data receptions, which is valid when data reception is completed. The time consumed by each unit is SleepTime, which is better with CheckReceiveDataComplete(MemoryStream) Control complete data reception.
(继承自 SerialBase。)
公共属性ReceiveTimeout
接收数据的超时时间,默认5000ms
Timeout for receiving data, default is 5000ms
(继承自 SerialBase。)
公共属性RtsEnable
获取或设置一个值,该值指示在串行通信中是否启用请求发送 (RTS) 信号。
Gets or sets a value indicating whether the request sending (RTS) signal is enabled in serial communication.
(继承自 SerialBase。)
公共属性SleepTime
连续串口缓冲数据检测的间隔时间,默认20ms,该值越小,通信速度越快,但是越不稳定。
Continuous serial port buffer data detection interval, the default 20ms, the smaller the value, the faster the communication, but the more unstable.
(继承自 SerialBase。)
受保护的属性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
Top
方法
  名称说明
受保护的方法CheckReceiveDataComplete
检查当前从串口接收的数据是否是完整的,如果是完整的,则需要返回 True,串口数据接收立即完成,默认返回 False
Check whether the data currently received from the serial port is complete. If it is complete, you need to return True. The serial port data reception is completed immediately, and the default returns False
(继承自 SerialBase。)
公共方法ClearSerialCache
清除串口缓冲区的数据,并返回该数据,如果缓冲区没有数据,返回的字节数组长度为0
The number sent clears the data in the serial port buffer and returns that data, or if there is no data in the buffer, the length of the byte array returned is 0
(继承自 SerialBase。)
公共方法Close
关闭当前的串口连接
Close the current serial connection
(继承自 SerialBase。)
公共方法Dispose
释放当前的对象
(继承自 SerialBase。)
受保护的方法Dispose(Boolean)
释放当前的对象
(继承自 SerialBase。)
公共方法Equals (继承自 Object。)
受保护的方法代码示例ExtraOnClose
根据实际的协议选择是否重写本方法,有些协议在断开连接之前,需要发送一些报文来关闭当前的网络通道
Select whether to rewrite this method according to the actual protocol. Some protocols need to send some packets to close the current network channel before disconnecting.
(继承自 SerialBase。)
受保护的方法Finalize (继承自 Object。)
公共方法GetHashCode (继承自 Object。)
公共方法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
受保护的方法代码示例InitializationOnOpen
根据实际的协议选择是否重写本方法,有些协议在创建连接之后,需要进行一些初始化的信号握手,才能最终建立网络通道。
Whether to rewrite this method is based on the actual protocol. Some protocols require some initial signal handshake to establish a network channel after the connection is created.
(继承自 SerialBase。)
公共方法IsOpen
获取一个值,指示串口是否处于打开状态
Gets a value indicating whether the serial port is open
(继承自 SerialBase。)
受保护的方法MemberwiseClone (继承自 Object。)
公共方法Open
打开一个新的串行端口连接
Open a new serial port connection
(继承自 SerialBase。)
公共方法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
(继承自 SerialBase。)
公共方法Read(String, UInt16)
批量读取字节数组信息,需要指定地址和长度,返回原始的字节数组
Batch read byte array information, need to specify the address and length, return the original byte array
公共方法代码示例ReadT
读取支持Hsl特性的数据内容,该特性为HslDeviceAddressAttribute,详细参考api文档说明
Read the data content of the Hsl attribute. The attribute is HslDeviceAddressAttribute, please refer to the api documentation for details.
公共方法ReadAsync(String, UInt16)
异步批量读取字节数组信息,需要指定地址和长度,返回原始的字节数组
Asynchronous batch read byte array information, need to specify the address and length, return the original byte array
公共方法代码示例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.
公共方法ReadBool(String)
读取单个的Boolean数据信息
Read a single Boolean data message
公共方法ReadBool(String, UInt16)
批量读取Boolean数组信息,需要指定地址和长度,返回Boolean 数组
Batch read Boolean array information, need to specify the address and length, return Boolean array
公共方法ReadBoolAsync(String)
异步读取单个的Boolean数据信息
Asynchronously read a single Boolean data message
公共方法ReadBoolAsync(String, UInt16)
异步批量读取Boolean数组信息,需要指定地址和长度,返回Boolean 数组
Asynchronously batch read Boolean array information, need to specify the address and length, return Boolean array
公共方法代码示例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.
公共方法代码示例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.
公共方法代码示例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.
公共方法代码示例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.
公共方法代码示例ReadDouble(String)
读取双浮点的数据
Read double floating point data
公共方法代码示例ReadDouble(String, UInt16)
读取双浮点数据的数组
Read double floating point data array
公共方法代码示例ReadDoubleAsync(String)
异步读取双浮点的数据
Asynchronously read double floating point data
公共方法代码示例ReadDoubleAsync(String, UInt16)
异步读取双浮点数据的数组
Asynchronously read double floating point data array
公共方法代码示例ReadFloat(String)
读取单浮点数据
Read single floating point data
公共方法代码示例ReadFloat(String, UInt16)
读取单浮点精度的数组
Read single floating point array
公共方法代码示例ReadFloatAsync(String)
异步读取单浮点数据
Asynchronously read single floating point data
公共方法代码示例ReadFloatAsync(String, UInt16)
异步读取单浮点精度的数组
Asynchronously read single floating point array
公共方法ReadFromCoreServer(Byte)
将原始的字节数据发送到串口,然后从串口接收一条数据。
The raw byte data is sent to the serial port, and then a piece of data is received from the serial port.
(继承自 SerialBase。)
公共方法ReadFromCoreServer(IEnumerableByte) (继承自 SerialBase。)
公共方法ReadFromCoreServer(Byte, Boolean, Boolean)
将原始的字节数据发送到串口,然后从串口接收一条数据。
The raw byte data is sent to the serial port, and then a piece of data is received from the serial port.
(继承自 SerialBase。)
公共方法ReadFromCoreServer(SerialPort, Byte, Boolean, Boolean)
将数据发送到当前的串口通道上去,并且从串口通道接收一串原始的字节报文,默认对方必须返回数据,也可以手动修改不返回数据信息。
Send data to the current serial channel, and receive a string of original byte messages from the serial channel. By default, the other party must return data, or you can manually modify it to not return data information.
(继承自 SerialBase。)
公共方法ReadFromCoreServerAsync(Byte)
将原始的字节数据发送到串口,然后从串口接收一条数据。
The raw byte data is sent to the serial port, and then a piece of data is received from the serial port.
(继承自 SerialBase。)
公共方法ReadFromCoreServerAsync(IEnumerableByte) (继承自 SerialBase。)
公共方法代码示例ReadInt16(String)
读取16位的有符号的整型数据
Read 16-bit signed integer data
公共方法代码示例ReadInt16(String, UInt16)
读取16位的有符号整型数组
Read 16-bit signed integer array
公共方法代码示例ReadInt16Async(String)
异步读取16位的有符号的整型数据
Asynchronously read 16-bit signed integer data
公共方法代码示例ReadInt16Async(String, UInt16)
异步读取16位的有符号整型数组
Asynchronously read 16-bit signed integer array
公共方法代码示例ReadInt32(String)
读取32位的有符号整型
Read 32-bit signed integer
公共方法代码示例ReadInt32(String, UInt16)
读取32位有符号整型数组
Read 32-bit signed integer array
公共方法代码示例ReadInt32Async(String)
异步读取32位的有符号整型
Asynchronously read 32-bit signed integer
公共方法代码示例ReadInt32Async(String, UInt16)
异步读取32位有符号整型数组
Asynchronously read 32-bit signed integer array
公共方法代码示例ReadInt64(String)
读取64位的有符号整型
Read 64-bit signed integer
公共方法代码示例ReadInt64(String, UInt16)
读取64位的有符号整型数组
Read 64-bit signed integer array
公共方法代码示例ReadInt64Async(String)
异步读取64位的有符号整型
Asynchronously read 64-bit signed integer
公共方法代码示例ReadInt64Async(String, UInt16)
异步读取64位的有符号整型数组
Asynchronously read 64-bit signed integer array
公共方法代码示例ReadString(String, UInt16)
读取字符串数据,默认为最常见的ASCII编码
Read string data, default is the most common ASCII encoding
公共方法代码示例ReadString(String, UInt16, Encoding)
使用指定的编码,读取字符串数据
Reads string data using the specified encoding
公共方法代码示例ReadStringAsync(String, UInt16)
异步读取字符串数据,默认为最常见的ASCII编码
Asynchronously read string data, default is the most common ASCII encoding
公共方法代码示例ReadStringAsync(String, UInt16, Encoding)
异步使用指定的编码,读取字符串数据
Asynchronously reads string data using the specified encoding
公共方法代码示例ReadStructT
读取结构体类型的数据,根据结构体自身的定义,读取原始字节数组,然后解析出实际的结构体数据,结构体需要实现HslStructAttribute特性
公共方法代码示例ReadStructAsyncT
读取结构体类型的数据,根据结构体自身的定义,读取原始字节数组,然后解析出实际的结构体数据,结构体需要实现HslStructAttribute特性
公共方法代码示例ReadUInt16(String)
读取16位的无符号整型
Read 16-bit unsigned integer
公共方法代码示例ReadUInt16(String, UInt16)
读取16位的无符号整型数组
Read 16-bit unsigned integer array
公共方法代码示例ReadUInt16Async(String)
异步读取16位的无符号整型
Asynchronously read 16-bit unsigned integer
公共方法代码示例ReadUInt16Async(String, UInt16)
异步读取16位的无符号整型数组
Asynchronously read 16-bit unsigned integer array
公共方法代码示例ReadUInt32(String)
读取32位的无符号整型
Read 32-bit unsigned integer
公共方法代码示例ReadUInt32(String, UInt16)
读取32位的无符号整型数组
Read 32-bit unsigned integer array
公共方法代码示例ReadUInt32Async(String)
异步读取32位的无符号整型
Asynchronously read 32-bit unsigned integer
公共方法代码示例ReadUInt32Async(String, UInt16)
异步读取32位的无符号整型数组
Asynchronously read 32-bit unsigned integer array
公共方法代码示例ReadUInt64(String)
读取64位的无符号整型
Read 64-bit unsigned integer
公共方法代码示例ReadUInt64(String, UInt16)
读取64位的无符号整型的数组
Read 64-bit unsigned integer array
公共方法代码示例ReadUInt64Async(String)
异步读取64位的无符号整型
Asynchronously read 64-bit unsigned integer
公共方法代码示例ReadUInt64Async(String, UInt16)
异步读取64位的无符号整型的数组
Asynchronously read 64-bit unsigned integer array
公共方法SerialPortInni(ActionSerialPort)
根据自定义初始化方法进行初始化串口信息
Initialize the serial port information according to the custom initialization method
(继承自 SerialBase。)
公共方法SerialPortInni(String)
初始化串口信息,9600波特率,8位数据位,1位停止位,无奇偶校验
Initial serial port information, 9600 baud rate, 8 data bits, 1 stop bit, no parity
(继承自 SerialBase。)
公共方法SerialPortInni(String, Int32)
初始化串口信息,波特率,8位数据位,1位停止位,无奇偶校验
Initializes serial port information, baud rate, 8-bit data bit, 1-bit stop bit, no parity
(继承自 SerialBase。)
公共方法SerialPortInni(String, Int32, Int32, StopBits, Parity)
初始化串口信息,波特率,数据位,停止位,奇偶校验需要全部自己来指定
Start serial port information, baud rate, data bit, stop bit, parity all need to be specified
(继承自 SerialBase。)
公共方法SetPipeSerial
设置一个新的串口管道,一般来说不需要调用本方法,当多个串口设备共用一个COM口时才需要使用本方法进行设置共享的管道。
To set a new serial port pipe, generally speaking, you do not need to call this method. This method is only needed to set the shared pipe when multiple serial devices share the same COM port.
(继承自 SerialBase。)
受保护的方法SPReceived
从串口接收一串字节数据信息,直到没有数据为止,如果参数awaitData为false, 第一轮接收没有数据则返回
Receives a string of bytes of data information from the serial port until there is no data, and returns if the parameter awaitData is false
(继承自 SerialBase。)
受保护的方法SPSend
发送数据到串口去。
Send data to serial port.
(继承自 SerialBase。)
公共方法ToString (重写 SerialBaseToString.)
公共方法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
(继承自 SerialBase。)
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法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.
公共方法Write(String, Boolean)
写入单个的Boolean数据,返回是否成功
Write a single Boolean data, and return whether the write was successful
公共方法Write(String, Boolean)
批量写入Boolean数组数据,返回是否成功
Batch write Boolean array data, return whether the write was successful
公共方法Write(String, Byte)
写入原始的byte数组数据到指定的地址,返回是否写入成功
Write the original byte array data to the specified address, and return whether the write was successful
公共方法代码示例Write(String, Double)
写入double数据,返回是否成功
Write double data, return whether the write was successful
公共方法代码示例Write(String, Double)
写入double数组,返回是否成功
Write double array, return whether the write was successful
公共方法代码示例Write(String, Int16)
写入short数据,返回是否成功
Write short data, returns whether success
公共方法代码示例Write(String, Int16)
写入short数组,返回是否成功
Write short array, return whether the write was successful
公共方法代码示例Write(String, Int32)
写入int数据,返回是否成功
Write int data, return whether the write was successful
公共方法代码示例Write(String, Int32)
写入int[]数组,返回是否成功
Write int array, return whether the write was successful
公共方法代码示例Write(String, Int64)
写入long数据,返回是否成功
Write long data, return whether the write was successful
公共方法代码示例Write(String, Int64)
写入long数组,返回是否成功
Write long array, return whether the write was successful
公共方法代码示例Write(String, Single)
写入float数据,返回是否成功
Write float data, return whether the write was successful
公共方法代码示例Write(String, Single)
写入float数组,返回是否成功
Write float array, return whether the write was successful
公共方法代码示例Write(String, String)
写入字符串信息,编码为ASCII
Write string information, encoded as ASCII
公共方法代码示例Write(String, UInt16)
写入ushort数据,返回是否成功
Write ushort data, return whether the write was successful
公共方法代码示例Write(String, UInt16)
写入ushort数组,返回是否成功
Write ushort array, return whether the write was successful
公共方法代码示例Write(String, UInt32)
写入uint数据,返回是否成功
Write uint data, return whether the write was successful
公共方法代码示例Write(String, UInt32)
写入uint[]数组,返回是否成功
Write uint array, return whether the write was successful
公共方法代码示例Write(String, UInt64)
写入ulong数据,返回是否成功
Write ulong data, return whether the write was successful
公共方法代码示例Write(String, UInt64)
写入ulong数组,返回是否成功
Write ulong array, return whether the write was successful
公共方法代码示例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.
公共方法代码示例Write(String, String, Encoding)
写入字符串信息,需要指定的编码信息
Write string information, need to specify the encoding information
公共方法代码示例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
公共方法代码示例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.
公共方法WriteAsync(String, Boolean)
异步批量写入Boolean数组数据,返回是否成功
Asynchronously batch write Boolean array data, return success
公共方法WriteAsync(String, Boolean)
异步批量写入Boolean数组数据,返回是否成功
Asynchronously batch write Boolean array data, return success
公共方法代码示例WriteAsync(String, Byte)
异步写入原始的byte数组数据到指定的地址,返回是否写入成功
Asynchronously writes the original byte array data to the specified address, and returns whether the write was successful
公共方法代码示例WriteAsync(String, Double)
异步写入double数据,返回是否成功
Asynchronously write double data, return whether the write was successful
公共方法代码示例WriteAsync(String, Double)
异步写入double数组,返回是否成功
Asynchronously write double array, return whether the write was successful
公共方法代码示例WriteAsync(String, Int16)
异步写入short数据,返回是否成功
Asynchronously write short data, returns whether success
公共方法代码示例WriteAsync(String, Int16)
异步写入short数组,返回是否成功
Asynchronously write short array, return whether the write was successful
公共方法代码示例WriteAsync(String, Int32)
异步写入int数据,返回是否成功
Asynchronously write int data, return whether the write was successful
公共方法代码示例WriteAsync(String, Int32)
异步写入int[]数组,返回是否成功
Asynchronously write int array, return whether the write was successful
公共方法代码示例WriteAsync(String, Int64)
异步写入long数据,返回是否成功
Asynchronously write long data, return whether the write was successful
公共方法代码示例WriteAsync(String, Int64)
异步写入long数组,返回是否成功
Asynchronously write long array, return whether the write was successful
公共方法代码示例WriteAsync(String, Single)
异步写入float数据,返回是否成功
Asynchronously write float data, return whether the write was successful
公共方法代码示例WriteAsync(String, Single)
异步写入float数组,返回是否成功
Asynchronously write float array, return whether the write was successful
公共方法代码示例WriteAsync(String, String)
异步写入字符串信息,编码为ASCII
Asynchronously write string information, encoded as ASCII
公共方法代码示例WriteAsync(String, UInt16)
异步写入ushort数据,返回是否成功
Asynchronously write ushort data, return whether the write was successful
公共方法代码示例WriteAsync(String, UInt16)
异步写入ushort数组,返回是否成功
Asynchronously write ushort array, return whether the write was successful
公共方法代码示例WriteAsync(String, UInt32)
异步写入uint数据,返回是否成功
Asynchronously write uint data, return whether the write was successful
公共方法代码示例WriteAsync(String, UInt32)
异步写入uint[]数组,返回是否成功
Asynchronously write uint array, return whether the write was successful
公共方法代码示例WriteAsync(String, UInt64)
异步写入ulong数据,返回是否成功
Asynchronously write ulong data, return whether the write was successful
公共方法代码示例WriteAsync(String, UInt64)
异步写入ulong数组,返回是否成功
Asynchronously write ulong array, return whether the write was successful
公共方法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.
公共方法代码示例WriteAsync(String, String, Encoding)
异步写入字符串信息,需要指定的编码信息
Asynchronously write string information, need to specify the encoding information
公共方法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
公共方法代码示例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.
公共方法代码示例WriteCustomerT
写入自定义类型的数据,该类型必须继承自IDataTransfer接口
Write data of a custom type, which must inherit from the IDataTransfer interface
公共方法代码示例WriteCustomerAsyncT
写入自定义类型的数据,该类型必须继承自IDataTransfer接口
Write data of a custom type, which must inherit from the IDataTransfer interface
Top
字段
  名称说明
受保护的字段AtLeastReceiveLength
从串口中至少接收的字节长度信息
(继承自 SerialBase。)
受保护的字段LogMsgFormatBinary
设置日志记录报文是否二进制,如果为False,那就使用ASCII码
Set whether the log message is binary, if it is False, then use ASCII code
(继承自 SerialBase。)
受保护的字段pipeSerial
串口交互的核心
(继承自 SerialBase。)
Top
扩展方法
  名称说明
公共扩展器方法ToJsonString
获取当前对象的JSON格式表示的字符串。
Gets the string represented by the JSON format of the current object.
(由 HslExtension 定义。)
Top
备注
本类实现了不同的数据类型的读写交互的api,继承自本类,重写下面的四个方法将可以实现你自己的设备通信对象
  1. Read(String, UInt16) 方法,读取字节数组的方法。
  2. Write(String, Byte) 方法,写入字节数组的方法。
  3. ReadBool(String, UInt16) 方法,读取bool数组的方法。
  4. Write(String, Boolean) 方法,写入bool数组的方法。
如果需要实现异步的方法。那就需要重写下面的四个方法。
  1. ReadAsync(String, UInt16) 方法,读取字节数组的方法。
  2. WriteAsync(String, Byte) 方法,写入字节数组的方法。
  3. ReadBoolAsync(String, UInt16) 方法,读取bool数组的方法。
  4. WriteAsync(String, Boolean) 方法,写入bool数组的方法。
参见
继承层次
SystemObject
  HslCommunication.SerialSerialBase
    HslCommunication.SerialSerialDeviceBase
      HslCommunication.Instrument.CJTCJT188
      HslCommunication.Instrument.DLTDLT645
      HslCommunication.Instrument.DLTDLT645With1997
      HslCommunication.Instrument.DLTDLT698
      HslCommunication.Instrument.RKCTemperatureController
      HslCommunication.ModBusModbusRtu
      HslCommunication.Profinet.AllenBradleyAllenBradleyDF1Serial
      HslCommunication.Profinet.FATEKFatekProgram
      HslCommunication.Profinet.FreedomFreedomSerial
      HslCommunication.Profinet.FujiFujiSPB
      HslCommunication.Profinet.KeyenceKeyenceNanoSerial
      HslCommunication.Profinet.LSISXGBCnet
      HslCommunication.Profinet.LSISXGKCnet
      HslCommunication.Profinet.MelsecMelsecA3CNet
      HslCommunication.Profinet.MelsecMelsecFxLinks
      HslCommunication.Profinet.MelsecMelsecFxSerial
      HslCommunication.Profinet.OmronOmronHostLink
      HslCommunication.Profinet.OmronOmronHostLinkCMode
      HslCommunication.Profinet.PanasonicPanasonicMewtocol
      HslCommunication.Profinet.SiemensSiemensMPI
      HslCommunication.Profinet.SiemensSiemensPPI
      HslCommunication.Profinet.VigorVigorSerial
      HslCommunication.Profinet.YamatakeDigitronCPL
      HslCommunication.SecsSecsGemSerial