操控平台后端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
1.9 KiB

using Bodk.Device.Storage.Attributes;
using Bodk.Device.Storage.EventArgs;
using Bodk.Device.Storage.Modules;
using Bodk.Device.Storage.Summary;
namespace Bodk.Device.Storage;
/// <summary>
/// 液氮存储装置
/// </summary>
public interface IStorage
{
[Ignore] IReadOnlyList<IModule> Modules { get; }
[Ignore]
Task Start();
[Ignore]
void Stop();
/// <summary>
/// 存取位置-圈
/// </summary>
ushort AccessPositionCircle { get; set; }
/// <summary>
/// 存取位置-列
/// </summary>
ushort AccessPositionColumn { get; set; }
/// <summary>
/// 存取位置-层
/// </summary>
ushort AccessPositionFloor { get; set; }
/// <summary>
/// 腔内温度
/// </summary>
float InCavityTemperature { get; }
/// <summary>
/// 腔内湿度
/// </summary>
float InCavityHumidity { get; }
/// <summary>
/// 液位高度
/// </summary>
float LiquidLevel { get; }
/// <summary>
/// 充液口温度
/// </summary>
float FillPortTemperature { get; }
/// <summary>
/// 排气口温度
/// </summary>
float ExhaustPortTemperature { get; }
/// <summary>
/// 罐体温度
/// </summary>
float TankTemperature { get; }
/// <summary>
/// 获取设备摘要
/// </summary>
/// <returns></returns>
[Ignore]
StorageSummary GetSummary();
[Ignore]
TypeDescription GetModuleSummary(int moduleId);
[Ignore]
Task InvokeMethod(int moduleId, string methodName, object?[]? parameters);
[Ignore]
object GetPropertyValue(int moduleId, string propertyName);
[Ignore]
void SetPropertyValue(int moduleId, string propertyName, object value);
/// <summary>
/// 准备
/// </summary>
/// <returns></returns>
Task Ready();
/// <summary>
/// 一键回原
/// </summary>
/// <returns></returns>
Task GotoOrigin();
}