using WIDESEAWCS_S7Simulator.Core.Entities;
|
|
namespace WIDESEAWCS_S7Simulator.Core.Interfaces
|
{
|
/// <summary>
|
/// S7服务器实例接口
|
/// 管理单个S7 PLC仿真实例的生命周期
|
/// </summary>
|
public interface IS7ServerInstance : IDisposable
|
{
|
/// <summary>
|
/// 实例配置
|
/// </summary>
|
InstanceConfig Config { get; }
|
|
/// <summary>
|
/// 实例状态
|
/// </summary>
|
InstanceState State { get; }
|
|
/// <summary>
|
/// 内存存储
|
/// </summary>
|
IMemoryStore MemoryStore { get; }
|
|
/// <summary>
|
/// 启动S7服务器
|
/// </summary>
|
/// <returns>启动是否成功</returns>
|
bool Start();
|
|
/// <summary>
|
/// 停止S7服务器
|
/// </summary>
|
void Stop();
|
|
/// <summary>
|
/// 重启S7服务器
|
/// </summary>
|
/// <returns>重启是否成功</returns>
|
bool Restart();
|
|
/// <summary>
|
/// 获取实例状态快照
|
/// </summary>
|
/// <returns>状态快照</returns>
|
InstanceState GetState();
|
|
/// <summary>
|
/// 清空所有内存
|
/// </summary>
|
void ClearMemory();
|
|
/// <summary>
|
/// 导出内存数据
|
/// </summary>
|
/// <returns>内存数据</returns>
|
Dictionary<string, byte[]> ExportMemory();
|
|
/// <summary>
|
/// 导入内存数据
|
/// </summary>
|
/// <param name="data">内存数据</param>
|
void ImportMemory(Dictionary<string, byte[]> data);
|
}
|
}
|