点击或拖拽改变大小

PipeMoxa 类

基于MOXA公司提供的串口驱动实现的管道类,目前仅支持windows平台,需要当前目录下存在 PCOMM.DLL 组件
The pipe class based on the serial port driver provided by MOXA currently only supports the windows platform and requires the existence of the PCOMM.DLL component in the current directory
继承层次
SystemObject
  HslCommunication.Core.PipeCommunicationPipe
    HslCommunication.Core.PipePipeMoxa

命名空间:  HslCommunication.Core.Pipe
程序集:  HslCommunication (在 HslCommunication.dll 中) 版本:12.1.2.0 (12.1.2.0)
语法
public class PipeMoxa : CommunicationPipe, IDisposable

PipeMoxa 类型公开以下成员。

构造函数
  名称说明
公共方法PipeMoxa
实例化一个默认的对象
Instantiate a default object
公共方法PipeMoxa(String)
根据串口的名称来实例化一个对象
Instantiate a default object
Top
属性
  名称说明
公共属性AtLeastReceiveLength
从串口中至少接收的字节长度信息,默认为1个字节
公共属性CommunicationLock
获取或设置当前管道的线程锁对象,默认是简单的一个互斥锁
Gets or sets the thread lock object of the current pipeline, which defaults to a simple mutex
(继承自 CommunicationPipe。)
公共属性DecideWhetherQAMessageFunction
用来决定当前接收的消息是否是问答服务的消息
(继承自 CommunicationPipe。)
公共属性DtrEnable
获取或设置一个值,该值指示在串行通信中是否启用数据终端就绪 (Drt) 信号。
Gets or sets a value that indicates whether the Data Terminal Ready (DRT) signal is enabled in serial communication.
公共属性IsClearCacheBeforeRead
是否在发送数据前清空缓冲数据,默认是false
Whether to empty the buffer before sending data, the default is false
公共属性IsPersistentConnection
获取或设置当前的管道是否是长连接,仅对于串口及TCP是有效的,默认都是长连接
(继承自 CommunicationPipe。)
公共属性ReceiveEmptyDataCount
获取或设置连续接收空的数据次数,在数据接收完成时有效,每个单位消耗的时间为SleepTime
Obtain or set the number of consecutive times to receive empty data, which is valid when the data is received, and the time consumed by each unit is SleepTime
公共属性代码示例ReceiveTimeOut
获取或设置接收服务器反馈的时间,如果为负数,则不接收反馈
Gets or sets the time to receive server feedback, and if it is a negative number, does not receive feedback
(继承自 CommunicationPipe。)
公共属性RtsEnable
获取或设置一个值,该值指示在串行通信中是否启用请求发送 (RTS) 信号。
Gets or sets a value indicating whether the request sending (RTS) signal is enabled in serial communication.
公共属性SleepTime
获取或设置在正式接收对方返回数据前的时候,需要休息的时间,当设置为0的时候,不需要休息。
Get or set the time required to rest before officially receiving the data from the other party. When it is set to 0, no rest is required.
(继承自 CommunicationPipe。)
公共属性UseServerActivePush
获取或设置当前的管道是否激活从设备主动推送的功能,设置为 true 时支持主动从设备方接收数据信息
Gets or sets whether the current pipeline activates the function of actively pushing data from the device. If this is set to true, it supports actively receiving data information from the device
(继承自 CommunicationPipe。)
Top
方法
  名称说明
受保护的方法CheckMessageComplete
根据给定的消息,发送的数据,接收到数据来判断是否接收完成报文
(继承自 CommunicationPipe。)
公共方法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
公共方法CloseCommunication
关闭当前的管道信息,返回是否关闭成功的结果对象
(重写 CommunicationPipeCloseCommunication.)
公共方法CloseCommunicationAsync (继承自 CommunicationPipe。)
公共方法Dispose
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(继承自 CommunicationPipe。)
受保护的方法Dispose(Boolean)
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(重写 CommunicationPipeDispose(Boolean).)
公共方法Equals
Determines whether the specified object is equal to the current object.
(继承自 Object。)
受保护的方法Finalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(继承自 Object。)
公共方法GetHashCode
Serves as the default hash function.
(继承自 Object。)
公共方法GetType
Gets the Type of the current instance.
(继承自 Object。)
受保护的方法IncrConnectErrorCount
自增当前的连续错误计数,并且获取自增后的值信息,最大到10亿为止,无法继续增加了。
(继承自 CommunicationPipe。)
公共方法IsConnectError
当前的管道连接对象是否发生了错误
(继承自 CommunicationPipe。)
公共方法IsOpen
获取一个值,指示串口是否处于打开状态
Gets a value indicating whether the serial port is open
受保护的方法MemberwiseClone
Creates a shallow copy of the current Object.
(继承自 Object。)
公共方法OpenCommunication
打开当前的管道信息,返回是否成功打开的结果对象,并通过属性 Content 指示当前是否为新创建的连接对象,如果是,则该值为 true
(重写 CommunicationPipeOpenCommunication.)
公共方法OpenCommunicationAsync
打开当前的管道信息,返回是否成功打开的结果对象,并通过属性 Content 指示当前是否为新创建的连接对象,如果是,则该值为 true
(继承自 CommunicationPipe。)
公共方法RaisePipeError
主动引发一个管道错误,从而让管道可以重新打开
(继承自 CommunicationPipe。)
公共方法ReadFromCoreServer
将数据发送到当前的管道里,并从管道接收相关的数据信息,可以指定消息类型,发送数据,是否有数据响应,休眠时间
To send data to the current pipeline and receive relevant data information from the pipeline, you can specify the message type, the data sent, whether there is a data response, and the sleep time
(重写 CommunicationPipeReadFromCoreServer(INetMessage, Byte, Boolean, ActionByte).)
公共方法ReadFromCoreServerAsync
将数据发送到当前的管道里,并从管道接收相关的数据信息,可以指定消息类型,发送数据,是否有数据响应,休眠时间
To send data to the current pipeline and receive relevant data information from the pipeline, you can specify the message type, the data sent, whether there is a data response, and the sleep time
(重写 CommunicationPipeReadFromCoreServerAsync(INetMessage, Byte, Boolean, ActionByte).)
受保护的方法ReadFromCoreServerHelper
将数据发送到当前的管道里,并从管道接收相关的数据信息,可以指定消息类型,发送数据,是否有数据响应,休眠时间
To send data to the current pipeline and receive relevant data information from the pipeline, you can specify the message type, the data sent, whether there is a data response, and the sleep time
(继承自 CommunicationPipe。)
受保护的方法ReadFromCoreServerHelperAsync
将数据发送到当前的管道里,并从管道接收相关的数据信息,可以指定消息类型,发送数据,是否有数据响应,休眠时间
To send data to the current pipeline and receive relevant data information from the pipeline, you can specify the message type, the data sent, whether there is a data response, and the sleep time
(继承自 CommunicationPipe。)
公共方法Receive(Int32, Int32, ActionInt64, Int64)
从管道里,接收指定长度的报文数据信息,如果长度指定为-1,表示接收不超过2048字节的动态长度。另外可以指定超时时间,进度报告等
Receives the packet data of a specified length from the pipe. If the length is set to -1, it indicates that the dynamic length of the packet is not more than 2048 bytes. You can also specify timeouts, progress reports, etc
(继承自 CommunicationPipe。)
公共方法Receive(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.
(重写 CommunicationPipeReceive(Byte, Int32, Int32, Int32, ActionInt64, Int64).)
公共方法ReceiveAsync(Int32, Int32, ActionInt64, Int64)
从管道里,接收指定长度的报文数据信息,如果长度指定为-1,表示接收不超过2048字节的动态长度。另外可以指定超时时间,进度报告等
Receives the packet data of a specified length from the pipe. If the length is set to -1, it indicates that the dynamic length of the packet is not more than 2048 bytes. You can also specify timeouts, progress reports, etc
(继承自 CommunicationPipe。)
公共方法ReceiveAsync(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.
(继承自 CommunicationPipe。)
公共方法ReceiveMessage
包含了一个复杂的逻辑,从管道里根据当前的消息格式定义,接收报文信息,这个报文可能是来自服务器主动推送的。具体可以通过参数 useActivePush 来特殊控制。
Contains a complex logic from the pipeline, according to the current message format definition, to receive message information, this message may be actively pushed from the server. The parameter useActivePush can be used for special control.
(重写 CommunicationPipeReceiveMessage(INetMessage, Byte, Boolean, ActionInt64, Int64, ActionByte).)
公共方法ReceiveMessageAsync
包含了一个复杂的逻辑,从管道里根据当前的消息格式定义,接收报文信息,这个报文可能是来自服务器主动推送的。具体可以通过参数 useActivePush 来特殊控制。
Contains a complex logic from the pipeline, according to the current message format definition, to receive message information, this message may be actively pushed from the server. The parameter useActivePush can be used for special control.
(重写 CommunicationPipeReceiveMessageAsync(INetMessage, Byte, Boolean, ActionInt64, Int64, ActionByte).)
公共方法ResetConnectErrorCount
重置当前的连续错误计数为0,并且返回重置前时候的值
(继承自 CommunicationPipe。)
公共方法Send(Byte)
发送数据到当前的管道中去
Send data to the current pipe
(继承自 CommunicationPipe。)
公共方法Send(Byte, Int32, Int32)
将一个数据缓存中的指定的部分字段,发送到当前的管道中去
Sends the specified partial field from a data cache to the current pipeline
(重写 CommunicationPipeSend(Byte, Int32, Int32).)
公共方法SendAsync(Byte)
发送数据到当前的管道中去
Send data to the current pipe
(继承自 CommunicationPipe。)
公共方法SendAsync(Byte, Int32, Int32)
将一个数据缓存中的指定的部分字段,发送到当前的管道中去
Sends the specified partial field from a data cache to the current pipeline
(继承自 CommunicationPipe。)
公共方法SerialPortInni(String)
初始化串口信息,9600波特率,8位数据位,1位停止位,无奇偶校验
Initial serial port information, 9600 baud rate, 8 data bits, 1 stop bit, no parity
公共方法SerialPortInni(String, Int32, Int32, StopBits, Parity)
初始化串口信息,波特率,数据位,停止位,奇偶校验需要全部自己来指定
Start serial port information, baud rate, data bit, stop bit, parity all need to be specified
受保护的方法SetBufferQA
设置当前的问答状态下的缓存数据
(继承自 CommunicationPipe。)
公共方法StartReceiveBackground
开始后台接收相关的报文数据,当UseServerActivePush为True时,则使用本方法
(继承自 CommunicationPipe。)
公共方法ToFormatString
获取当前串口参数的信息,以格式化的字符串返回
Obtain the information of the current serial port parameters and return them as formatted strings
公共方法ToString
Returns a string that represents the current object.
(重写 ObjectToString.)
Top
字段
  名称说明
受保护的字段autoResetEvent
当启用设备方主动发送数据时,用于同步访问方法的信号同步功能
(继承自 CommunicationPipe。)
受保护的字段bufferQA
当启用设备方主动发送数据时,用于应答服务机制的数据缓存
(继承自 CommunicationPipe。)
受保护的字段isPersistentConn
是否是长连接的状态
Whether it is a long connection state
(继承自 CommunicationPipe。)
Top
扩展方法
  名称说明
公共扩展器方法ToJsonString
获取当前对象的JSON格式表示的字符串。
Gets the string represented by the JSON format of the current object.
(由 HslExtension 定义。)
Top
参见