using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MECF.Framework.RT.Core.IoProviders.Siemens.Net
{
    /// 
    /// 用于PLC通讯及ModBus自定义数据类型的读写操作
    /// 
    /// 
    /// 主要应用于设备实现设备类的自定义的数据类型读写,以此达到简化代码的操作,但是有一个前提,该数据处于连续的数据区块
    /// 
    /// 
    /// 此处举例读取三菱的自定义的数据,先实现接口,然后再读写操作
    /// 
    /// 接下来就可以实现数据的读取了
    /// 
    /// 
    public interface IDataTransfer
    {
        /// 
        /// 读取的数据长度,对于西门子,等同于字节数,对于三菱和Modbus为字节数的一半
        /// 
        ushort ReadCount { get; }
        /// 
        /// 从字节数组进行解析实际的对象
        /// 
        /// 从远程读取的数据源
        void ParseSource(byte[] Content);
        /// 
        /// 将对象生成字符源,写入PLC中
        /// 
        /// 准备写入到远程的数据
        byte[] ToSource();
    }
}