This repository has been archived on 2024-01-02. You can view files and clone it, but cannot push or open issues or pull requests.
Sic06/FrameworkLocal/RTCore/IoProviders/Siemens/Net/IDataTransfer.cs

40 lines
1.6 KiB
C#
Raw Normal View History

2023-01-13 10:57:37 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace MECF.Framework.RT.Core.IoProviders.Siemens.Net
{
/// <summary>
/// 用于PLC通讯及ModBus自定义数据类型的读写操作
/// </summary>
/// <remarks>
/// 主要应用于设备实现设备类的自定义的数据类型读写,以此达到简化代码的操作,但是有一个前提,该数据处于连续的数据区块
/// </remarks>
/// <example>
/// 此处举例读取三菱的自定义的数据,先实现接口,然后再读写操作
/// <code lang="cs" source="HslCommunication_Net45.Test\Documentation\Samples\Core\NetworkDeviceBase.cs" region="IDataTransfer Example" title="DataMy示例" />
/// 接下来就可以实现数据的读取了
/// <code lang="cs" source="HslCommunication_Net45.Test\Documentation\Samples\Core\NetworkDeviceBase.cs" region="ReadCustomerExample" title="ReadCustomer示例" />
/// </example>
public interface IDataTransfer
{
/// <summary>
/// 读取的数据长度对于西门子等同于字节数对于三菱和Modbus为字节数的一半
/// </summary>
ushort ReadCount { get; }
/// <summary>
/// 从字节数组进行解析实际的对象
/// </summary>
/// <param name="Content">从远程读取的数据源</param>
void ParseSource(byte[] Content);
/// <summary>
/// 将对象生成字符源写入PLC中
/// </summary>
/// <returns>准备写入到远程的数据</returns>
byte[] ToSource();
}
}