| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using Team.FFFeederService.Models;
- namespace Team.FFFeederService.Interfaces
- {
- public interface IVoiceCoilMotorFeeder : IFeeder
- {
- /// <summary>
- /// 选择使用振动集
- /// </summary>
- /// <param name="id"></param>
- /// <exception cref="FeederResponseException"></exception>
- void SelectShakeParam(int id);
- /// <summary>
- /// 选择使用振动集
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- /// <exception cref="FeederResponseException"></exception>
- Task SelectShakeParamAsync(int id);
- /// <summary>
- /// 将振动集参数存储至非易失内存中
- /// </summary>
- /// <returns></returns>
- /// <exception cref="Exception"></exception>
- Task SaveShakeSetAsync();
- /// <summary>
- /// 查询当前选择的振动集
- /// </summary>
- /// <returns></returns>
- int GetSelectedShakeParam();
- /// <summary>
- /// 查询当前选择的振动集
- /// </summary>
- /// <returns></returns>
- Task<int> GetSelectedShakeParamAsync();
- /// <summary>
- /// 选择要使用的振动集(1~26)
- /// </summary>
- /// <param name="v"></param>
- /// <returns></returns>
- bool LoadShakeSet(int v);
- /// <summary>
- /// 选择要使用的振动集(1~26)
- /// </summary>
- /// <param name="v"></param>
- /// <returns></returns>
- Task<bool> LoadShakeSetAsync(int v);
- /// <summary>
- /// 执行平台振动
- /// </summary>
- /// <param name="index"></param>
- /// <param name="timespan"></param>
- Task<int> StartAction(int index, int? timespan = null);
- /// <summary>
- /// 向前
- /// </summary>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunToLeftAsync(int? timespan = null);
- /// <summary>
- /// 左前
- /// </summary>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunToBottomLeftAsync(int? timespan = null);
- /// <summary>
- /// 右前
- /// </summary>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunToTopLeftAsync(int? timespan = null);
- /// <summary>
- /// 向左
- /// </summary>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunToBottomAsync(int? timespan = null);
- /// <summary>
- /// 向右
- /// </summary>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunToTopAsync(int? timespan = null);
- /// <summary>
- /// 向后
- /// </summary>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunToRightAsync(int? timespan = null);
- /// <summary>
- /// 左后
- /// </summary>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunToBottomRightAsync(int? timespan = null);
- /// <summary>
- /// 右后
- /// </summary>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunToTopRightAsync(int? timespan = null);
- /// <summary>
- /// 散开
- /// </summary>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunToFlipAsync(int? timespan = null);
- /// <summary>
- /// 横向聚中
- /// </summary>
- /// <param name="timespan">持续时间</param>
- /// <returns></returns>
- Task<int> RunToInnerVerticalAsync(int? timespan = null);
- /// <summary>
- /// 纵向聚中
- /// </summary>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunToInnerHorizonAsync(int? timespan = null);
- /// <summary>
- /// 读一个振动动作值
- /// </summary>
- /// <param name="v"></param>
- /// <returns></returns>
- SingleActionParam GetShakeGroupValue(int index);
- /// <summary>
- /// 读一个振动动作值
- /// </summary>
- /// <param name="index"></param>
- /// <returns></returns>
- Task<SingleActionParam> GetShakeGroupValueAsync(int index);
- /// <summary>
- /// 获取单个动作持续时间
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- int GetDuration(int id);
- /// <summary>
- /// 获取单个动作持续时间
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- Task<int> GetDurationAsync(int id);
- /// <summary>
- /// 写入振动单个参数
- /// </summary>
- /// <param name="selectedShakeMotion"></param>
- /// <param name="id"></param>
- /// <param name="value"></param>
- /// <returns></returns>
- Task SetShakeParametersAsync(int selectedShakeMotion, int id, string value);
- /// <summary>
- /// 写入振动单个参数
- /// </summary>
- /// <param name="selectedShakeMotion"></param>
- /// <param name="id"></param>
- /// <param name="value"></param>
- void SetShakeParameters(int selectedShakeMotion, int id, string value);
- /// <summary>
- /// 写入平台振动完成参数
- /// </summary>
- /// <param name="selectedShakeMotion"></param>
- /// <param name="value"></param>
- /// <returns></returns>
- Task SetShakeParametersAsync(int selectedShakeMotion, string value);
- /// <summary>
- /// 写入平台振动完成参数
- /// </summary>
- /// <param name="selectedShakeMotion"></param>
- /// <param name="value"></param>
- void SetShakeParameters(int selectedShakeMotion, string value);
- /// <summary>
- /// 写入完成的平台振动参数
- /// </summary>
- /// <param name="selectedShakeMotion"></param>
- /// <param name="value"></param>
- void SetShakeParameters(int selectedShakeMotion, SingleActionParam value);
- /// <summary>
- /// 写入完成的平台振动参数
- /// </summary>
- /// <param name="selectedShakeMotion"></param>
- /// <param name="value"></param>
- /// <returns></returns>
- Task SetShakeParametersAsync(int selectedShakeMotion, SingleActionParam value);
- /// <summary>
- /// 获取完整的平台振动参数
- /// </summary>
- /// <param name="selectedShakeMotion"></param>
- /// <returns></returns>
- SingleActionParam GetShakeParameters(int selectedShakeMotion);
- /// <summary>
- /// 获取完整的平台振动参数
- /// </summary>
- /// <param name="selectedShakeMotion"></param>
- /// <returns></returns>
- Task<SingleActionParam> GetShakeParametersAsync(int selectedShakeMotion);
- /// <summary>
- /// 获取平台震动超时时间
- /// </summary>
- /// <returns></returns>
- Task<ushort> GetPlatShakeTimeoutAsync();
- /// <summary>
- /// 设置平台震动超时时间
- /// </summary>
- /// <param name="upperFeederShakeTimeout"></param>
- /// <returns></returns>
- Task SetPlatShakeTimeoutAsync(ushort upperFeederShakeTimeout);
- /// <summary>
- /// 执行料斗供料
- /// </summary>
- /// <returns></returns>
- Task<int> ShakeUpAsync();
- /// <summary>
- /// 执行供料
- /// </summary>
- /// <returns></returns>
- int ShakeUp();
- /// <summary>
- /// 停止料斗振动
- /// </summary>
- /// <returns></returns>
- Task StopOutputAsync();
- /// <summary>
- /// 停止料斗振动
- /// </summary>
- void StopOutput();
- /// <summary>
- /// 获取料斗参数
- /// </summary>
- /// <param name="selectedSequence"></param>
- /// <returns></returns>
- Task<HopperFeederParam> GetUpperParamAsync(int selectedSequence);
- /// <summary>
- /// 写入输出参数
- /// </summary>
- /// <param name="groupId"></param>
- /// <param name="param"></param>
- /// <returns></returns>
- Task WriteOutputParamAsync(int groupId, HopperFeederParam param);
- /// <summary>
- /// 获取料斗震动超时时间
- /// </summary>
- /// <returns></returns>
- Task<ushort> GetUpperFeederShakeTimeoutAsync();
- /// <summary>
- /// 设置料斗震动超时时间
- /// </summary>
- /// <param name="upperFeederShakeTimeout"></param>
- /// <returns></returns>
- Task SetUpperFeederShakeTimeoutAsync(ushort upperFeederShakeTimeout);
- /// <summary>
- /// 执行料斗动作
- /// </summary>
- /// <param name="id"></param>
- /// <param name="timespan"></param>
- /// <returns></returns>
- /// <exception cref="Exception"></exception>
- Task<int> OutputAsync(int id, int? timespan = null);
- /// <summary>
- /// 执行料斗动作
- /// </summary>
- /// <param name="id"></param>
- /// <param name="timespan"></param>
- /// <returns></returns>
- int Output(int id, int? timespan = null);
- /// <summary>
- /// /获取取料斗动作状态
- /// </summary>
- /// <returns></returns>
- bool GetOutputStatus();
- /// <summary>
- /// /获取取料斗动作状态
- /// </summary>
- /// <returns></returns>
- Task<bool> GetOutputStatusAsync();
- /// <summary>
- /// 停止序列
- /// </summary>
- /// <returns></returns>
- Task StopOneSequenceAsync();
- /// <summary>
- /// 执行一个序列
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- Task<int> StartOneSequenceAsync(int id);
- /// <summary>
- /// 获取单个序列集
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- Task<SingleSequenceActionGroup> GetSequenceGroupAsync(int id);
- /// <summary>
- /// 写入序列参数
- /// </summary>
- /// <param name="groupId"></param>
- /// <param name="singleSequenceAction"></param>
- void SetSequence(int groupId, int actionId, SingleSequenceAction singleSequenceAction);
- /// <summary>
- /// 写入序列参数
- /// </summary>
- /// <param name="groupId"></param>
- /// <param name="actionId"></param>
- /// <param name="singleSequenceAction"></param>
- /// <returns></returns>
- Task SetSequenceAsync(int groupId, int actionId, SingleSequenceAction singleSequenceAction);
- /// <summary>
- /// 将序列参数存储至非易失内存中
- /// </summary>
- /// <returns></returns>
- /// <exception cref="Exception"></exception>
- Task SaveSequenceAsync();
- /// <summary>
- /// 查询当前选择的序列
- /// </summary>
- /// <returns></returns>
- int GetSelectedSequence();
- /// <summary>
- /// 查询当前选择的序列
- /// </summary>
- /// <returns></returns>
- Task<int> GetSelectedSequenceAsync();
- /// <summary>
- /// 设置背光打开超时时间
- /// </summary>
- /// <param name="timeout"></param>
- void SetLightTimeOut(ushort timeout);
- /// <summary>
- /// 设置背光打开超时时间
- /// </summary>
- /// <param name="timeout"></param>
- /// <returns></returns>
- Task SetLightTimeOutAsync(ushort timeout);
- /// <summary>
- /// 获取背光打开超时时间
- /// </summary>
- /// <returns></returns>
- ushort GetLightTimeout();
- /// <summary>
- /// 获取背光打开超时时间
- /// </summary>
- /// <returns></returns>
- Task<ushort> GetLightTimeoutAsync();
- /// <summary>
- /// 设置背光亮度
- /// </summary>
- /// <param name="lightValue"></param>
- /// <returns></returns>
- Task SetLightValueAsync(ushort lightValue);
- /// <summary>
- /// 设置背光亮度
- /// </summary>
- /// <param name="lightValue"></param>
- /// <returns></returns>
- Task SetLightValueToBufferAsync(ushort lightValue);
- /// <summary>
- /// 设置背光闪烁时间
- /// </summary>
- /// <param name="backLightFlash"></param>
- /// <returns></returns>
- Task SetBackLightFlashTimeAsync(ushort backLightFlash);
- /// <summary>
- /// 获取背光状态
- /// </summary>
- /// <returns></returns>
- /// <exception cref="Exception"></exception>
- bool QueryLightState();
- /// <summary>
- /// 获取背光状态
- /// </summary>
- /// <returns></returns>
- /// <exception cref="Exception"></exception>
- Task<bool> QueryLightStateAsync();
- /// <summary>
- /// 获取背光亮度
- /// </summary>
- /// <returns></returns>
- Task<ushort> GetLightBrightnessAsync();
- /// <summary>
- /// 获取背光闪烁时间
- /// </summary>
- /// <returns></returns>
- Task<ushort> GetBackLightFlashTimeAsync();
- /// <summary>
- /// 执行命令
- /// </summary>
- /// <param name="command"></param>
- /// <param name="timespan"></param>
- /// <returns></returns>
- Task<int> RunFromCommand(string command, int? timespan = null);
- /// <summary>
- /// 读单个参数值
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- string GetSingleParamValue(int id);
- /// <summary>
- /// 读单个参数值
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- Task<string> GetSingleParamValueAsync(int id);
- /// <summary>
- /// 设置IP地址
- /// </summary>
- /// <param name="ip"></param>
- /// <param name="subNetMask"></param>
- /// <param name="port"></param>
- /// <returns></returns>
- Task SetIpAddressAsync(string ip, string subNetMask, int port);
- /// <summary>
- /// 设置IP地址
- /// </summary>
- /// <param name="ip"></param>
- /// <param name="subNetMask"></param>
- /// <param name="port"></param>
- void SetIpAddress(string ip, string subNetMask, int port);
- /// <summary>
- /// 获取输入触发参数
- /// </summary>
- /// <param name="i"></param>
- /// <returns></returns>
- /// <exception cref="IndexOutOfRangeException"></exception>
- Task<int> GetInputTrigger(int i);
- /// <summary>
- /// 设置输入触发参数
- /// </summary>
- /// <param name="id"></param>
- /// <param name="value"></param>
- /// <returns></returns>
- /// <exception cref="IndexOutOfRangeException"></exception>
- Task SetInputTrigger(int id, int value);
- /// <summary>
- /// 将所有参数存储至非易失内存中
- /// </summary>
- /// <returns></returns>
- /// <exception cref="Exception"></exception>
- Task SaveAllSetAsync();
- /// <summary>
- /// 将全局参数存储至非易失内存中
- /// </summary>
- /// <returns></returns>
- /// <exception cref="Exception"></exception>
- Task SaveGlobalSetAsync();
- }
- }
|