通道与传输
通道(IChannel)只处理字节,不解析 Modbus 或自定义帧。协议叠在通道之上,所以同一套设备代码可以在串口、TCP 和虚拟通道之间切换。
状态
| 状态 | 含义 |
|---|---|
Created | 已登记,尚未打开 |
Opening | 正在打开端口或建立连接 |
Open | 可以读写 |
Faulted | 打开或写入失败 |
Closed | 已关闭 |
对已经打开或已经关闭的通道再次调用 OpenAsync / CloseAsync 没有副作用。
事件
StateChanged:状态变化;失败时带有Error。DataReceived:收到数据的副本,可以安全保存。该事件可能不在 UI 线程上触发。
实现
| 类型 | 用途 |
|---|---|
SerialPortChannel | 串口 |
TcpClientChannel | TCP 客户端 |
VirtualChannel | 内存回显,或挂上 IVirtualResponder 模拟从站 |