70 lines
1.7 KiB
C#
70 lines
1.7 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
|
||
namespace SamplePre.Communication
|
||
{
|
||
public abstract class CommunicationBase
|
||
{
|
||
|
||
/// <summary>
|
||
/// 是否连接
|
||
/// </summary>
|
||
private bool _isConnected = false;
|
||
|
||
|
||
/// <summary>
|
||
/// 连接状态变化事件
|
||
/// </summary>
|
||
public event Action<bool> ConnectionStatusChanged;
|
||
|
||
/// <summary>
|
||
/// 是否连接
|
||
/// </summary>
|
||
public bool IsConnected
|
||
{
|
||
get => _isConnected;
|
||
set
|
||
{
|
||
if (_isConnected != value)
|
||
{
|
||
_isConnected = value;
|
||
ConnectionStatusChanged?.Invoke(value);
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 下发下位机指令
|
||
/// </summary>
|
||
/// <param name="Dbno"></param>
|
||
/// <param name="start"></param>
|
||
/// <param name="bytes"></param>
|
||
/// <returns></returns>
|
||
public abstract bool WriteArraysBtye<T>(int Dbno, int start, T[] bytes);
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// 读取监控数据,读取数组
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public abstract ushort[] ReadArraysShort(int Dbno, int start, int lenth);
|
||
|
||
|
||
/// <summary>
|
||
/// 写入数据
|
||
/// </summary>
|
||
/// <param name="address">地址(如"M0.0", "DB1.DBW2")</param>
|
||
/// <param name="value">要写入的值</param>
|
||
/// <returns>是否写入成功</returns>
|
||
public abstract bool WriteSingleData(string address, object value);
|
||
|
||
|
||
}
|
||
}
|