using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEA_Core;
|
using WIDESEA_DTO;
|
using WIDESEA_DTO.AGV;
|
using WIDESEA_Model.Models;
|
using WIDESEA_StorageSocketServices;
|
|
namespace WIDESEA_IStorageSocketServices
|
{
|
public interface ISocketClientServices : IDependency
|
{
|
/// <summary>
|
/// 连接Socket
|
/// </summary>
|
/// <param name="IP"></param>
|
/// <param name="Port"></param>
|
/// <returns></returns>
|
void ConnectServer(string IP, int Port);
|
|
/// <summary>
|
/// 是否在线
|
/// </summary>
|
/// <returns></returns>
|
bool Socketonline();
|
|
/// <summary>
|
/// 发送
|
/// </summary>
|
/// <param name="msg"></param>
|
void clientSend(byte[] msg);
|
|
/// <summary>
|
/// 设备请求入库 工序101
|
/// </summary>
|
/// <param name="PallteCode">托盘号</param>
|
/// <param name="InStation">入库站台</param>
|
public void DeviceRequestInbound(HOSTAGVStatus Agvstatus, List<OutStationStatus> outStations, InStationStatus inStation);
|
|
/// <summary>
|
/// 请求通讯 工序925
|
/// </summary>
|
/// <param name="PallteCode">托盘号</param>
|
/// <param name="InStation">入库站台</param>
|
public void RequestCommunication();
|
|
/// <summary>
|
/// 不允许下发任务 工序915
|
/// </summary>
|
/// <param name="Command">命令</param>
|
/// <returns></returns>
|
public void JobReady(string Command);
|
|
/// <summary>
|
/// 设备状态上报 工序913
|
/// </summary>
|
/// <param name="state">状态\、R运行</param>
|
/// <returns></returns>
|
public void DeviceStateReport(string Status);
|
|
/// <summary>
|
/// 设备状态上报 工序917
|
/// </summary>
|
/// <param name="state">状态\、ControlMode自动、MaintenanceMode手动</param>
|
public void DeviceAutoStatusReport(string Status);
|
|
/// /// <summary>
|
/// 作业开始或结束 工序905
|
/// </summary>
|
/// <param name="Status">状态 L指AGV将托盘叉到货叉上、U指AGV将托盘放到库位上</param>
|
/// <param name="FormLocation">起点</param>
|
/// <param name="ToLocation">终点</param>
|
/// <param name="TaskType">任务类型 I入库、O出库、S站台到站台、R移库</param>
|
/// <param name="PallteCode">托盘号</param>
|
public void JobStartOrEnd(string Status, string FormLocation, string ToLocation, string TaskType, string PallteCode);
|
|
|
/// <summary>
|
/// 托盘动作上报 工序907
|
/// </summary>
|
/// <param name="Status">状态 L指AGV将托盘叉到货叉上、U指AGV将托盘放到库位上</param>
|
/// <param name="FormLocation">起点</param>
|
/// <param name="ToLocation">终点</param>
|
/// <param name="TaskType">任务类型 I入库、O出库、S站台到站台、R移库</param>
|
/// <param name="PallteCode">托盘号</param>
|
/// <returns></returns>
|
public void PalletActionReport(string Status, string FormLocation, string ToLocation, string TaskType, string PallteCode);
|
|
/// <summary>
|
/// 作业完成上报 工序901
|
/// </summary>
|
/// <param name="FormLocation">起点</param>
|
/// <param name="ToLocation">终点</param>
|
/// <param name="TaskType">任务类型 I入库、O出库、S站台到站台、R移库</param>
|
/// <param name="PallteCode">托盘号</param>
|
/// <returns></returns>
|
public void PalletActionReport(string FormLocation, string ToLocation, string TaskType, string PallteCode);
|
|
public void PalletActionReportPDA(string FormLocation, string ToLocation, string TaskType, string PallteCode);
|
|
/// <summary>
|
/// 回复HOST909工序 工序910
|
/// </summary>
|
/// <param name="AgvStatus"></param>
|
public void DeviceStatusReportResponse(HOSTAGVStatus AgvStatus, string X, string Y);
|
|
/// <summary>
|
/// 设备站台状态上报 工序936
|
/// </summary>
|
/// <param name="FormLocation">起点</param>
|
/// <param name="ToLocation">终点</param>
|
/// <param name="TaskType">任务类型 I入库、O出库、S站台到站台、R移库</param>
|
/// <param name="PallteCode">托盘号</param>
|
/// <returns></returns>
|
public void DeviceStationStatusReport(HOSTAGVStatus Agvstatus, List<OutStationStatus> outStations, List<InStationStatus> inStation, string sGetSeqNo);
|
|
/// /// <summary>
|
/// 重新获取货位信息 工序105
|
/// </summary>
|
/// <param name="FormLocation">起点</param>
|
/// <param name="ToLocation">终点</param>
|
/// <param name="TaskType">任务类型 I入库、O出库、S站台到站台、R移库</param>
|
/// <param name="PallteCode">托盘号</param>
|
public void RecreateGetLocation(string FormLocation, string ToLocation, string TaskType, string PallteCode);
|
|
/// /// <summary>
|
/// 异常上报 工序985
|
/// </summary>
|
/// <param name="FormLocation">起点</param>
|
/// <param name="ToLocation">终点</param>
|
/// <param name="Location">00表示AGV错误、01-08表示站台错误、99表示作业接收前数据错误</param>
|
public void ErrorReport(string Trouble, string Level, string Location);
|
|
/// <summary>
|
/// 接收HOST工序103回馈响应 工序104
|
/// </summary>
|
/// <param name="Statues">0表示OK接收作业、1表示拒绝、9表示作业任务验证有误</param>
|
/// <returns></returns>
|
public void DeviceReceiveJobResponse(string Statues);
|
|
/// /// <summary>
|
/// 空出库 工序107
|
/// </summary>
|
/// <param name="FormLocation">起点</param>
|
/// <param name="ToLocation">终点</param>
|
/// <param name="TaskType">任务类型 I入库、O出库、S站台到站台、R移库</param>
|
/// <param name="PallteCode">托盘号</param>
|
public void EmptyOutBound(string FormLocation, string ToLocation, string PallteCode);
|
|
/// <summary>
|
/// 接收HOST 响应请求 工序102 回复工序101
|
/// </summary>
|
/// <param name="message"></param>
|
public void ReceiveCommandResponse(string message);
|
|
/// <summary>
|
/// 接收HOST响应AGV作业开始或启动 工序906 回复工序905
|
/// </summary>
|
public void AGVJobStartOrEndResponse(string status, string message);
|
|
/// <summary>
|
/// 数据报告响应 工序902 回复工序901
|
/// </summary>
|
public void DataReportResponse(string message);
|
|
/// <summary>
|
/// HOST下发出库任务 工序103
|
/// </summary>
|
/// <param name="message"></param>
|
public void HOSTOutBoundTask(string message);
|
|
/// <summary>
|
/// HOST设备状态获取 工序935
|
/// </summary>
|
/// <param name="message"></param>
|
public void DeviceStationStatusInvite(string sSeqNo);
|
|
/// <summary>
|
/// 接收HOST重新分配货位 工序106
|
/// </summary>
|
/// <param name="message"></param>
|
public void RecreateGetLocation(string message);
|
|
/// <summary>
|
/// HOST空出库响应 工序108
|
/// </summary>
|
/// <param name="message"></param>
|
public void EmptyOutBoundResponse(string message);
|
|
/// <summary>
|
/// HOST获取设备状态 工序909
|
/// </summary>
|
public void DeviceStatusReportRequest();
|
|
/// <summary>
|
/// 拼接报文
|
/// </summary>
|
/// <param name="Message"></param>
|
/// <returns></returns>
|
/// <exception cref="Exception"></exception>
|
public byte[] MakeStringToByteMsg(string Message);
|
|
/// <summary>
|
/// 获取CheckSum值
|
/// </summary>
|
/// <param name="data"></param>
|
/// <returns></returns>
|
/// <exception cref="Exception"></exception>
|
public string GetCheckSum(byte[] data);
|
|
public string GetListStringOutStation(List<OutStationStatus> outStationStatus);
|
public string GetListStringInStation(List<InStationStatus> inStationStatus);
|
|
public AGVStatusRespone GetAGVStatus();
|
|
public string CapitalizeFirstLetter(string s);
|
public StationStatus GetStationStatus(string stationName);
|
|
//Dt_Task_Hty CreateHistoricalTask(Dt_Task task, bool isHand = false);
|
//bool Delete(int id);
|
//WebResponseContent TaskMoveHty(Dt_Task task);
|
//WebResponseContent CompleteOutboundTask(Dt_Task task);
|
//WebResponseContent CompleteInboundTask(Dt_Task task);
|
//WebResponseContent CompleteRelocationboundTask(Dt_Task task);
|
|
public string InsertHyphenEveryTwoChars(string input);
|
|
void AddErrorMessage(string Code, string ReportName, string Location = "");
|
string StationParse(string station);
|
}
|
}
|