using System;
|
using System.Collections.Generic;
|
using System.IO.Ports;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using HslCommunication.LogNet;
|
|
namespace WIDESEAWCS_Communicator
|
{
|
/// <summary>
|
/// 通讯接口
|
/// </summary>
|
public abstract class BaseSerialPortCommunicator : IDisposable
|
{
|
/// <summary>
|
/// 构造函数
|
/// </summary>
|
protected BaseSerialPortCommunicator()
|
{
|
}
|
|
/// <summary>
|
/// 日志记录实例对象
|
/// </summary>
|
public abstract ILogNet LogNet { get; }
|
|
/// <summary>
|
/// 设备名称
|
/// </summary>
|
public abstract string Name { get; }
|
|
/// <summary>
|
/// 获取当前通讯器是否已连接到PLC。
|
/// </summary>
|
public abstract bool IsConnected { get; }
|
|
/// <summary>
|
///
|
/// </summary>
|
public abstract int ReadCount { get; }
|
|
/// <summary>
|
///
|
/// </summary>
|
public abstract bool IsReadToEnd { get; }
|
|
/// <summary>
|
///
|
/// </summary>
|
public abstract SerialPort SerialPort { get; set; }
|
|
/// <summary>
|
/// 连接到PLC。
|
/// </summary>
|
/// <returns>如果连接成功则返回true,否则返回false。</returns>
|
public abstract bool Connect();
|
|
/// <summary>
|
/// 断开与工业设备的连接。
|
/// </summary>
|
/// <returns>如果成功断开连接则返回true,如果已经是断开状态则返回false。</returns>
|
public abstract bool Disconnect();
|
|
/// <summary>
|
///
|
/// </summary>
|
public abstract string SerialPortName { get; }
|
|
/// <summary>
|
///
|
/// </summary>
|
public abstract List<byte> Buffers { get; }
|
|
/// <summary>
|
/// 将缓冲区中的数据转换为字符串
|
/// </summary>
|
/// <param name="encoding"></param>
|
/// <returns></returns>
|
public abstract string ToString(Encoding encoding);
|
|
/// <summary>
|
///
|
/// </summary>
|
public abstract void Write(byte[] data);
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="data"></param>
|
public abstract void Write(string data);
|
|
/// <summary>
|
///
|
/// </summary>
|
/// <param name="data"></param>
|
public abstract void Write(string data, string endStr);
|
|
/// <summary>
|
/// 释放对象资源的接口。
|
/// </summary>
|
public abstract void Dispose();
|
}
|
}
|