点击或拖拽改变大小

DLT698 类

698.45协议的串口通信类,面向对象的用电信息数据交换协议,使用明文的通信方式。支持读取功率,总功,电压,电流,频率,功率因数等数据。
The serial communication class of the 698.45 protocol, an object-oriented power consumption information data exchange protocol, uses the communication method of clear text. Support reading power, total power, voltage, current, frequency, power factor and other data.
继承层次
SystemObject
  HslCommunication.SerialSerialBase
    HslCommunication.SerialSerialDeviceBase
      HslCommunication.Instrument.DLTDLT698

命名空间:  HslCommunication.Instrument.DLT
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:11.8.2.0 (11.8.2.0)
语法
public class DLT698 : SerialDeviceBase, IDlt698

DLT698 类型公开以下成员。

构造函数
  名称说明
公共方法DLT698
指定地址域来实例化一个对象,密码及操作者代码在写入操作的时候进行验证
Specify the address field to instantiate an object, and the password and operator code are validated during write operations, which address field is a 12-character BCD code, for example: 149100007290
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.
(继承自 SerialDeviceBase。)
公共属性ConnectionId
当前连接的唯一ID号,默认为长度20的guid码加随机数组成,方便列表管理,也可以自己指定
The unique ID number of the current connection. The default is a 20-digit guid code plus a random number.
(继承自 SerialDeviceBase。)
公共属性EnableCodeFE
获取或设置是否在每一次的报文通信时,增加"FE FE FE FE"的命令头
Get or set whether to add the command header of "FE FE FE FE" in each message communication
公共属性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。)
公共属性Station
获取或设置当前的地址域信息,是一个12个字符的BCD码,例如:149100007290
Get or set the current address domain information, which is a 12-character BCD code, for example: 149100007290
公共属性UseSecurityResquest
获取或设置是否使用安全的请求模式,对于有些仪表来说,不支持使用安全的模式,就需要设置为False
Get or set whether to use the secure request mode, for some meters, the safe mode is not supported, so you need to set it to False.
受保护的属性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
(继承自 SerialDeviceBase。)
Top
方法
  名称说明
公共方法ActiveDeveice
激活设备的命令,只发送数据到设备,不等待设备数据返回
The command to activate the device, only send data to the device, do not wait for the device data to return
公共方法静态成员BuildEntireCommand
将指定的地址信息,控制码信息,数据域信息打包成完整的报文命令
公共方法静态成员BuildReadSingleObject
构建读取单个对象的报文数据
公共方法静态成员BuildWriteSingleObject
构建单个写得对象的数据操作
受保护的方法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
(重写 SerialBaseCheckReceiveDataComplete(MemoryStream).)
公共方法静态成员CheckResponse
检查当前的反馈数据信息是否正确
公共方法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。)
公共方法静态成员GetErrorText
根据错误代码返回详细的错误文本消息
公共方法GetHashCode (继承自 Object。)
公共方法GetPipeSerial
获取当前用于通信的管道信息
Get the current pipe information used for communication
(继承自 SerialBase。)
公共方法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
(继承自 SerialDeviceBase。)
受保护的方法代码示例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.
(重写 SerialBaseInitializationOnOpen(SerialPort).)
公共方法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
(重写 SerialBasePackCommandWithHeader(Byte).)
公共方法Read(String, UInt16)
根据指定的数据标识来读取相关的原始数据信息,地址标识根据手册来,从高位到地位,例如 00-00-00-00,分割符可以任意特殊字符或是没有分隔符。
Read the relevant original data information according to the specified data identifier. The address identifier is based on the manual, from high to position, such as 00-00-00-00. The separator can be any special character or no separator.
(重写 SerialDeviceBaseRead(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.
(继承自 SerialDeviceBase。)
公共方法ReadAddress
读取设备的通信地址,仅支持点对点通讯的情况,返回地址域数据,例如:149100007290
Read the communication address of the device, only support point-to-point communication, and return the address field data, for example: 149100007290
公共方法ReadAsync(String, UInt16)
异步批量读取字节数组信息,需要指定地址和长度,返回原始的字节数组
Asynchronous batch read byte array information, need to specify the address and length, return the original byte array
(继承自 SerialDeviceBase。)
公共方法代码示例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.
(继承自 SerialDeviceBase。)
公共方法ReadBool(String)
读取单个的Boolean数据信息
Read a single Boolean data message
(继承自 SerialDeviceBase。)
公共方法ReadBool(String, UInt16)
批量读取Boolean数组信息,需要指定地址和长度,返回Boolean 数组
Batch read Boolean array information, need to specify the address and length, return Boolean array
(重写 SerialDeviceBaseReadBool(String, UInt16).)
公共方法ReadBoolAsync(String)
异步读取单个的Boolean数据信息
Asynchronously read a single Boolean data message
(继承自 SerialDeviceBase。)
公共方法ReadBoolAsync(String, UInt16)
异步批量读取Boolean数组信息,需要指定地址和长度,返回Boolean 数组
Asynchronously batch read Boolean array information, need to specify the address and length, return Boolean array
(继承自 SerialDeviceBase。)
公共方法ReadByApdu
根据传入的APDU的命令读取原始的字节数据返回
公共方法代码示例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.
(继承自 SerialDeviceBase。)
公共方法代码示例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.
(继承自 SerialDeviceBase。)
公共方法代码示例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.
(继承自 SerialDeviceBase。)
公共方法代码示例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.
(继承自 SerialDeviceBase。)
公共方法代码示例ReadDouble(String)
读取双浮点的数据
Read double floating point data
(继承自 SerialDeviceBase。)
公共方法代码示例ReadDouble(String, UInt16)
读取双浮点数据的数组
Read double floating point data array
(重写 SerialDeviceBaseReadDouble(String, UInt16).)
公共方法代码示例ReadDoubleAsync(String)
异步读取双浮点的数据
Asynchronously read double floating point data
(继承自 SerialDeviceBase。)
公共方法代码示例ReadDoubleAsync(String, UInt16)
读取双浮点数据的数组
Read double floating point data array
(重写 SerialDeviceBaseReadDoubleAsync(String, UInt16).)
公共方法代码示例ReadFloat(String)
读取单浮点数据
Read single floating point data
(继承自 SerialDeviceBase。)
公共方法代码示例ReadFloat(String, UInt16)
读取单浮点精度的数组
Read single floating point array
(重写 SerialDeviceBaseReadFloat(String, UInt16).)
公共方法代码示例ReadFloatAsync(String)
异步读取单浮点数据
Asynchronously read single floating point data
(继承自 SerialDeviceBase。)
公共方法代码示例ReadFloatAsync(String, UInt16)
异步读取单浮点精度的数组
Asynchronously read single floating point array
(重写 SerialDeviceBaseReadFloatAsync(String, UInt16).)
公共方法ReadFromCoreServer(Byte)
将原始的字节数据发送到串口,然后从串口接收一条数据。
The raw byte data is sent to the serial port, and then a piece of data is received from the serial port.
(重写 SerialBaseReadFromCoreServer(Byte).)
公共方法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
(继承自 SerialDeviceBase。)
公共方法代码示例ReadInt16(String, UInt16)
读取16位的有符号整型数组
Read 16-bit signed integer array
(重写 SerialDeviceBaseReadInt16(String, UInt16).)
公共方法代码示例ReadInt16Async(String)
异步读取16位的有符号的整型数据
Asynchronously read 16-bit signed integer data
(继承自 SerialDeviceBase。)
公共方法代码示例ReadInt16Async(String, UInt16)
异步读取16位的有符号整型数组
Asynchronously read 16-bit signed integer array
(重写 SerialDeviceBaseReadInt16Async(String, UInt16).)
公共方法代码示例ReadInt32(String)
读取32位的有符号整型
Read 32-bit signed integer
(继承自 SerialDeviceBase。)
公共方法代码示例ReadInt32(String, UInt16)
读取32位有符号整型数组
Read 32-bit signed integer array
(重写 SerialDeviceBaseReadInt32(String, UInt16).)
公共方法代码示例ReadInt32Async(String)
异步读取32位的有符号整型
Asynchronously read 32-bit signed integer
(继承自 SerialDeviceBase。)
公共方法代码示例ReadInt32Async(String, UInt16)
异步读取32位有符号整型数组
Asynchronously read 32-bit signed integer array
(重写 SerialDeviceBaseReadInt32Async(String, UInt16).)
公共方法代码示例ReadInt64(String)
读取64位的有符号整型
Read 64-bit signed integer
(继承自 SerialDeviceBase。)
公共方法代码示例ReadInt64(String, UInt16)
读取64位的有符号整型数组
Read 64-bit signed integer array
(重写 SerialDeviceBaseReadInt64(String, UInt16).)
公共方法代码示例ReadInt64Async(String)
异步读取64位的有符号整型
Asynchronously read 64-bit signed integer
(继承自 SerialDeviceBase。)
公共方法代码示例ReadInt64Async(String, UInt16)
异步读取64位的有符号整型数组
Asynchronously read 64-bit signed integer array
(重写 SerialDeviceBaseReadInt64Async(String, UInt16).)
公共方法代码示例ReadString(String, UInt16)
读取字符串数据,默认为最常见的ASCII编码
Read string data, default is the most common ASCII encoding
(继承自 SerialDeviceBase。)
公共方法代码示例ReadString(String, UInt16, Encoding)
使用指定的编码,读取字符串数据
Reads string data using the specified encoding
(重写 SerialDeviceBaseReadString(String, UInt16, Encoding).)
公共方法ReadStringArray
读取指定地址的所有的字符串数据信息,一般来说,一个地址只有一个数据,当属性为数组或是结构体的时候,存在多个数据,具体几个数据,需要根据
公共方法代码示例ReadStringAsync(String, UInt16)
异步读取字符串数据,默认为最常见的ASCII编码
Asynchronously read string data, default is the most common ASCII encoding
(继承自 SerialDeviceBase。)
公共方法代码示例ReadStringAsync(String, UInt16, Encoding)
异步使用指定的编码,读取字符串数据
Asynchronously reads string data using the specified encoding
(重写 SerialDeviceBaseReadStringAsync(String, UInt16, Encoding).)
公共方法代码示例ReadStructT
读取结构体类型的数据,根据结构体自身的定义,读取原始字节数组,然后解析出实际的结构体数据,结构体需要实现HslStructAttribute特性
(继承自 SerialDeviceBase。)
公共方法代码示例ReadStructAsyncT
读取结构体类型的数据,根据结构体自身的定义,读取原始字节数组,然后解析出实际的结构体数据,结构体需要实现HslStructAttribute特性
(继承自 SerialDeviceBase。)
公共方法代码示例ReadUInt16(String)
读取16位的无符号整型
Read 16-bit unsigned integer
(继承自 SerialDeviceBase。)
公共方法代码示例ReadUInt16(String, UInt16)
读取16位的无符号整型数组
Read 16-bit unsigned integer array
(重写 SerialDeviceBaseReadUInt16(String, UInt16).)
公共方法代码示例ReadUInt16Async(String)
异步读取16位的无符号整型
Asynchronously read 16-bit unsigned integer
(继承自 SerialDeviceBase。)
公共方法代码示例ReadUInt16Async(String, UInt16)
异步读取16位的无符号整型数组
Asynchronously read 16-bit unsigned integer array
(重写 SerialDeviceBaseReadUInt16Async(String, UInt16).)
公共方法代码示例ReadUInt32(String)
读取32位的无符号整型
Read 32-bit unsigned integer
(继承自 SerialDeviceBase。)
公共方法代码示例ReadUInt32(String, UInt16)
读取32位的无符号整型数组
Read 32-bit unsigned integer array
(重写 SerialDeviceBaseReadUInt32(String, UInt16).)
公共方法代码示例ReadUInt32Async(String)
异步读取32位的无符号整型
Asynchronously read 32-bit unsigned integer
(继承自 SerialDeviceBase。)
公共方法代码示例ReadUInt32Async(String, UInt16)
异步读取32位的无符号整型数组
Asynchronously read 32-bit unsigned integer array
(重写 SerialDeviceBaseReadUInt32Async(String, UInt16).)
公共方法代码示例ReadUInt64(String)
读取64位的无符号整型
Read 64-bit unsigned integer
(继承自 SerialDeviceBase。)
公共方法代码示例ReadUInt64(String, UInt16)
读取64位的无符号整型的数组
Read 64-bit unsigned integer array
(重写 SerialDeviceBaseReadUInt64(String, UInt16).)
公共方法代码示例ReadUInt64Async(String)
异步读取64位的无符号整型
Asynchronously read 64-bit unsigned integer
(继承自 SerialDeviceBase。)
公共方法代码示例ReadUInt64Async(String, UInt16)
异步读取64位的无符号整型的数组
Asynchronously read 64-bit unsigned integer array
(重写 SerialDeviceBaseReadUInt64Async(String, UInt16).)
公共方法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 (重写 SerialDeviceBaseToString.)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法Write(String, Byte)
根据指定的数据标识来写入相关的原始数据信息,地址标识根据手册来,从高位到地位,例如 00-00-00-00,分割符可以任意特殊字符或是没有分隔符。
Read the relevant original data information according to the specified data identifier. The address identifier is based on the manual, from high to position, such as 00-00-00-00. The separator can be any special character or no separator.
(重写 SerialDeviceBaseWrite(String, Byte).)
公共方法Write(String, Boolean)
写入单个的Boolean数据,返回是否成功
Write a single Boolean data, and return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法Write(String, Boolean)
批量写入Boolean数组数据,返回是否成功
Batch write Boolean array data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, Double)
写入double数据,返回是否成功
Write double data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, Double)
写入double数组,返回是否成功
Write double array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, Int16)
写入short数据,返回是否成功
Write short data, returns whether success
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, Int16)
写入short数组,返回是否成功
Write short array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, Int32)
写入int数据,返回是否成功
Write int data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, Int32)
写入int[]数组,返回是否成功
Write int array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, Int64)
写入long数据,返回是否成功
Write long data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, Int64)
写入long数组,返回是否成功
Write long array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, Single)
写入float数据,返回是否成功
Write float data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, Single)
写入float数组,返回是否成功
Write float array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, String)
写入字符串信息,编码为ASCII
Write string information, encoded as ASCII
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, UInt16)
写入ushort数据,返回是否成功
Write ushort data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, UInt16)
写入ushort数组,返回是否成功
Write ushort array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, UInt32)
写入uint数据,返回是否成功
Write uint data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, UInt32)
写入uint[]数组,返回是否成功
Write uint array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, UInt64)
写入ulong数据,返回是否成功
Write ulong data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, UInt64)
写入ulong数组,返回是否成功
Write ulong array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例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.
(继承自 SerialDeviceBase。)
公共方法代码示例Write(String, String, Encoding)
写入字符串信息,需要指定的编码信息
Write string information, need to specify the encoding information
(继承自 SerialDeviceBase。)
公共方法代码示例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
(继承自 SerialDeviceBase。)
公共方法代码示例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.
(继承自 SerialDeviceBase。)
公共方法WriteAddress
写入设备的地址域信息,仅支持点对点通讯的情况,需要指定地址域信息,例如:149100007290
Write the address domain information of the device, only support point-to-point communication, you need to specify the address domain information, for example: 149100007290
公共方法WriteAsync(String, Boolean)
异步批量写入Boolean数组数据,返回是否成功
Asynchronously batch write Boolean array data, return success
(继承自 SerialDeviceBase。)
公共方法WriteAsync(String, Boolean)
异步批量写入Boolean数组数据,返回是否成功
Asynchronously batch write Boolean array data, return success
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Byte)
异步写入原始的byte数组数据到指定的地址,返回是否写入成功
Asynchronously writes the original byte array data to the specified address, and returns whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Double)
异步写入double数据,返回是否成功
Asynchronously write double data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Double)
异步写入double数组,返回是否成功
Asynchronously write double array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Int16)
异步写入short数据,返回是否成功
Asynchronously write short data, returns whether success
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Int16)
异步写入short数组,返回是否成功
Asynchronously write short array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Int32)
异步写入int数据,返回是否成功
Asynchronously write int data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Int32)
异步写入int[]数组,返回是否成功
Asynchronously write int array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Int64)
异步写入long数据,返回是否成功
Asynchronously write long data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Int64)
异步写入long数组,返回是否成功
Asynchronously write long array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Single)
异步写入float数据,返回是否成功
Asynchronously write float data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, Single)
异步写入float数组,返回是否成功
Asynchronously write float array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, String)
异步写入字符串信息,编码为ASCII
Asynchronously write string information, encoded as ASCII
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, UInt16)
异步写入ushort数据,返回是否成功
Asynchronously write ushort data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, UInt16)
异步写入ushort数组,返回是否成功
Asynchronously write ushort array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, UInt32)
异步写入uint数据,返回是否成功
Asynchronously write uint data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, UInt32)
异步写入uint[]数组,返回是否成功
Asynchronously write uint array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, UInt64)
异步写入ulong数据,返回是否成功
Asynchronously write ulong data, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, UInt64)
异步写入ulong数组,返回是否成功
Asynchronously write ulong array, return whether the write was successful
(继承自 SerialDeviceBase。)
公共方法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.
(继承自 SerialDeviceBase。)
公共方法代码示例WriteAsync(String, String, Encoding)
异步写入字符串信息,需要指定的编码信息
Asynchronously write string information, need to specify the encoding information
(继承自 SerialDeviceBase。)
公共方法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
(继承自 SerialDeviceBase。)
公共方法代码示例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.
(继承自 SerialDeviceBase。)
公共方法代码示例WriteCustomerT
写入自定义类型的数据,该类型必须继承自IDataTransfer接口
Write data of a custom type, which must inherit from the IDataTransfer interface
(继承自 SerialDeviceBase。)
公共方法代码示例WriteCustomerAsyncT
写入自定义类型的数据,该类型必须继承自IDataTransfer接口
Write data of a custom type, which must inherit from the IDataTransfer interface
(继承自 SerialDeviceBase。)
公共方法WriteDateTime
写入设备的时间信息到指定的地址,返回是否成功,使用的时间类型为 0x1C, 有效数据为 年月日时分秒。
Write the time information of the device to the specified address, return whether it is successful, the time type used is 0x1C, and the valid data is year, month, day, hour, minute, and second.
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
备注
如果不知道表的地址,可以使用ReadAddress方法来获取表的地址,读取的数据地址使用 OAD 的标识方式,具体可以参照api文档
If you don't know the address of the table, you can use the ReadAddress method to get the address of the table, and the read data address uses the OAD identification method. For details, please refer to the api documentation.
示例
具体的地址请参考相关的手册内容,如果没有,可以联系HSL作者或者参考下面列举一些常用的地址
支持的地址即为 OAD 的对象ID信息,该对象需要三个数据标记,分别是
  1. 1. 对象标识 ushort 类型
  2. 2. 属性标识 byte 类型, 0:所有属性,1:类型属性,2:值属性,3:单位及倍率
  3. 3. 属性内元素索引,00:元素的全部内容,如果是数组或是结构体,01指向属性的第一个元素
那么好办了,例如 20-00-02-00 使用 ReadDouble("20-00-02-00", 3) 就是读三个电压,如果只读电压B,那么就是 ReadDouble("20-00-02-02")
其他的地址参考下面的列表说明
地址示例读取方式数据项名称备注
00-00-02-00ReadDouble组合有功总电能(kwh)返回长度5的数组
00-10-02-00ReadDouble正向有功总电能(kwh)返回长度5的数组
00-20-02-00ReadDouble反向有功总电能(kwh)返回长度5的数组
00-30-02-00ReadDouble组合无功1总电能(kwh)返回长度5的数组
00-40-02-00ReadDouble组合无功2总电能(kwh)返回长度5的数组
10-00-02-00ReadDouble当前组合有功总电能(kwh)返回长度5的数组
10-10-02-00ReadDouble当前正向有功总电能(kwh)返回长度5的数组
10-20-02-00ReadDouble当前反向有功总电能(kwh)返回长度5的数组
10-30-02-00ReadDouble当前组合无功1总电能(kwh)返回长度5的数组
10-40-02-00ReadDouble当前组合无功2总电能(kwh)返回长度5的数组
20-00-02-00ReadDouble电压(v)电压A,电压B,电压C
20-01-02-00ReadDouble电流(A)电流A, 电流B,电流C分别 20-01-02-01 到 20-01-02-03
20-02-02-00ReadDouble电压相角(度)相角A,相角B,相角C,分别20-02-02-01 到 20-02-02-03
20-03-02-00ReadDouble电压电流相角(度)相角A,相角B,相角C,分别20-03-02-01 到 20-03-02-03
20-04-02-00ReadDouble有功功率(W 瓦)
20-05-02-00ReadDouble无功功率(Var)
20-06-02-00ReadDouble视在功率(VA)
20-07-02-00ReadDouble一分钟平均有功功率(W)
20-08-02-00ReadDouble一分钟平均无功功率(var)
20-09-02-00ReadDouble一分钟视在无功功率(VA)
20-0A-02-00ReadDouble功率因数
20-0F-02-00ReadDouble电网频率(Hz)
20-10-02-00ReadDouble表内温度(摄氏度)
20-11-02-00ReadDouble时钟电池电压(V)
20-12-02-00ReadDouble停电抄表电池电压(V)
20-13-02-00ReadDouble时钟电池工作时间(分钟)
20-14-02-00ReadStringArray电能表运行状态字共计7组数据,每组16个位
20-15-02-00ReadStringArray电能表跟随上报状态字共计32个位
20-17-02-00ReadDouble当前有功需量(kw)
20-18-02-00ReadDouble当前无功需量(kvar)
20-19-02-00ReadDouble当前视在需量(kva)
20-26-02-00ReadDouble电压不平衡率(百分比)
20-27-02-00ReadDouble电流不平衡率(百分比)
20-29-02-00ReadDouble负载率(百分比)
40-00-02-00ReadString日期时间
40-01-02-00ReadString通信地址
40-02-02-00ReadString表号
40-03-02-00ReadString客户编号
40-04-02-00ReadString设备地理坐标
41-00-02-00ReadDouble最大需量周期(分钟)
41-01-02-00ReadDouble滑差时间(分钟)
41-02-02-00ReadDouble校表脉冲宽度(毫秒)
41-03-02-00ReadString资产管理码
41-04-02-00ReadString额定电压(V)
41-05-02-00ReadString额定电流/基本电流
41-06-02-00ReadString最大电流
41-07-02-00ReadString有功准确度等级
41-08-02-00ReadString无功准确度等级
41-09-02-00ReadString电能表有功常数(imp/kWh)
41-0A-02-00ReadString电能表无功常数(imp/kWh)
41-0B-02-00ReadString电能表型号
直接串口初始化,打开串口,就可以对数据进行读取了,地址如上图所示。
参见