using iWareCommon.Utils;
|
using iWareModel;
|
using Newtonsoft.Json;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Runtime.Serialization;
|
using System.ServiceModel;
|
using System.Text;
|
|
|
namespace iWareSda
|
{
|
// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的类名“StationService”。
|
public class StationService : IStationService
|
{
|
public SdaResEntity ClearAlarm(int deviceId)
|
{
|
SdaResEntity sdaResult = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
string msg;
|
var result = Station.ClearAlarm(deviceId, out msg);
|
Log4NetHelper.WriteInfoLog(LogType.StationSdaService, "下发deviceId=" + deviceId + "的Station消警指令" + (result ? "成功" : "失败") + "原因:" + msg);
|
sdaResult.result = result;
|
sdaResult.resMsg = msg;
|
return sdaResult;
|
}
|
catch (Exception ex)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = JsonConvert.SerializeObject(ex);
|
return sdaResult;
|
}
|
}
|
|
|
/// <summary>
|
/// 下发Station任务
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="taskId"></param>
|
/// <param name="sourcePlce"></param>
|
/// <param name="toPlace"></param>
|
/// <param name="pallType"></param>
|
/// <returns></returns>
|
public SdaResEntity SendStationTask(int deviceId, int taskId, string sourcePlce, string toPlace)
|
{
|
SdaResEntity sdaResult = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
//如果STP为TRUE,表示不能发任务
|
|
|
string msg;
|
var result = Station.SendTask(deviceId, taskId, sourcePlce, toPlace, out msg);
|
Log4NetHelper.WriteInfoLog(LogType.StationSdaService, "下发deviceId=" + deviceId + ",taskId=" + taskId + ",fromPlace=" +
|
sourcePlce + ",toPlace=" + toPlace + "的Station任务" + (result ? "成功" : "失败") + "原因:" + msg);
|
|
sdaResult.result = result;
|
sdaResult.resMsg = msg;
|
return sdaResult;
|
}
|
catch (Exception ex)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = JsonConvert.SerializeObject(ex);
|
return sdaResult;
|
}
|
}
|
|
/// <summary>
|
/// 任务下发确认(收到PLC反馈后WCS清除)
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="stationCode"></param>
|
/// <returns></returns>
|
public SdaResEntity WriteStp(int deviceId, bool value, string stationCode)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteStp(deviceId, stationCode, value, out msg);
|
Log4NetHelper.WriteInfoLog(LogType.StationSdaService,
|
"下发deviceId=" + deviceId + ",站点号=" + stationCode + "的任务下发确认(收到PLC反馈后WCS清除)指令" + (result ? "成功" : "失败") + "原因:" + msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
|
public SdaResEntity DeleteStationTask(int deviceId, int taskId)
|
{
|
SdaResEntity sdaResult = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
string msg = "";
|
var result = Station.DeleteTask(deviceId, taskId, out msg);
|
Log4NetHelper.WriteInfoLog(LogType.StationSdaService, "下发deviceId = " + deviceId + "的删除Station任务指令" + (result ? "成功" : "失败") + "原因:" + msg);
|
sdaResult.result = result;
|
sdaResult.resMsg = msg;
|
return sdaResult;
|
}
|
catch (Exception ex)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = JsonConvert.SerializeObject(ex);
|
return sdaResult;
|
}
|
}
|
|
///// <summary>
|
///// Station急停
|
///// </summary>
|
///// <param name="deviceId"></param>
|
///// <returns></returns>
|
//public SdaResEntity EmergencyStop(int deviceId)
|
//{
|
// SdaResEntity sdaResult = new SdaResEntity();
|
// try
|
// {
|
// var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
// if (!StationResult.result)
|
// {
|
// return StationResult;
|
// }
|
// var Station = StationResult.resData as StationEntity;
|
|
// string msg = "";
|
// var result = Station.EmergencyStop(deviceId, out msg);
|
// Log4NetHelper.WriteInfoLog(LogType.StationSdaService, "下发deviceId = " + deviceId + "的急停任务指令" + (result ? "成功" : "失败") + "原因:" + msg);
|
// sdaResult.result = result;
|
// sdaResult.resMsg = msg;
|
// return sdaResult;
|
// }
|
// catch (Exception ex)
|
// {
|
// sdaResult.result = false;
|
// sdaResult.resMsg = JsonConvert.SerializeObject(ex);
|
// return sdaResult;
|
// }
|
//}
|
|
/// <summary>
|
/// 获取整个Station对象
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <returns></returns>
|
public StationView GetStationInfo(int deviceId)
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return null;
|
}
|
var Station = (StationResult.resData as StationEntity).View;
|
return Station;
|
}
|
|
|
/// <summary>
|
/// Station任务是否完成
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="taskId"></param>
|
/// <returns></returns>
|
public SdaResEntity IsTaskFinish(int deviceId, int taskId)
|
{
|
SdaResEntity sdaResult = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
var stationCode = "";
|
var readData = Station.View.R_StationForReadCommList.Where(x => x.StationCode == stationCode).FirstOrDefault();
|
|
sdaResult.result = readData.R_TaskID == taskId && Station.View.R_Station_Finish;
|
sdaResult.resMsg = "成功";
|
}
|
catch (Exception ex)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = JsonConvert.SerializeObject(ex);
|
return sdaResult;
|
}
|
return sdaResult;
|
}
|
|
|
|
|
/// <summary>
|
/// Station是否是自动模式
|
/// </summary>
|
/// <returns></returns>
|
public SdaResEntity IsStationAuto(int deviceId, string stationCode)
|
{
|
SdaResEntity sdaResult = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
var msg = "";
|
var result = Station.StationIsAuto(stationCode, out msg);
|
if (!StationResult.result)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = msg;
|
return StationResult;
|
}
|
|
|
sdaResult.result = true;
|
|
}
|
catch (Exception ex)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = JsonConvert.SerializeObject(ex);
|
Log4NetHelper.WriteErrorLog(LogType.StationSdaService, "判断Station是否是自动模式出现异常,ex:" + JsonConvert.SerializeObject(ex), ex);
|
}
|
return sdaResult;
|
}
|
|
/// <summary>
|
/// Station是否是自动待机模式
|
/// </summary>
|
/// <returns></returns>
|
public SdaResEntity StationIsAutoAwaitMode(int deviceId, string stationCode)
|
{
|
SdaResEntity sdaResult = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
var msg = "";
|
var result = Station.StationIsAutoAwaitMode(stationCode, out msg);
|
if (!StationResult.result)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = msg;
|
return StationResult;
|
}
|
|
|
sdaResult.result = true;
|
|
}
|
catch (Exception ex)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = JsonConvert.SerializeObject(ex);
|
Log4NetHelper.WriteErrorLog(LogType.StationSdaService, "判断Station是否是自动待机模式出现异常,ex:" + JsonConvert.SerializeObject(ex), ex);
|
}
|
return sdaResult;
|
}
|
|
|
/// <summary>
|
/// 判断Station是否可用,是否可以发送新任务给Station
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="sourceStationCode"></param>
|
/// <param name="toStationCode"></param>
|
/// <param name="isStationTask">是否是涉及到Station的任务</param>
|
/// <returns></returns>
|
public SdaResEntity IsAllowSendTask(bool isNeedValidateRealSourceAndToPlace, int deviceId, string sourceStationCode, string toStationCode, bool isStationTask)
|
{
|
var msg = "";
|
SdaResEntity sdaResult = new SdaResEntity();
|
try
|
{
|
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
var result = false;
|
if (isNeedValidateRealSourceAndToPlace)
|
{
|
//判断起点是否是自动待机模式
|
result = Station.StationIsAutoAwaitMode(sourceStationCode, out msg);
|
if (!result)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = msg;
|
return sdaResult;
|
}
|
//判断起点是否是空闲状态
|
result = Station.StationIsStateFree(sourceStationCode, out msg);
|
if (!result)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = msg;
|
return sdaResult;
|
}
|
}
|
|
|
if (isNeedValidateRealSourceAndToPlace)
|
{
|
//判断目标点是否是自动模式
|
result = Station.StationIsAuto(toStationCode, out msg);
|
if (!result)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = msg;
|
return sdaResult;
|
}
|
}
|
|
sdaResult.result = true;
|
return sdaResult;
|
}
|
catch (Exception ex)
|
{
|
sdaResult.result = false;
|
sdaResult.resMsg = "出现异常:" + JsonConvert.SerializeObject(ex);
|
return sdaResult;
|
}
|
}
|
|
|
/// <summary>
|
/// 判断是否有心跳
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <returns></returns>
|
public SdaResEntity IsHaveHeatBeat(int deviceId)
|
{
|
SdaResEntity sdaResult = new SdaResEntity();
|
string msg;
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
var result = Station.IsHaveHeatBeat();
|
|
sdaResult.result = true;
|
sdaResult.resData = result;
|
return sdaResult;
|
|
}
|
catch (Exception ex)
|
{
|
msg = "验证是否有心跳出现异常:" + ex.Message;
|
sdaResult.result = false;
|
sdaResult.resMsg = msg;
|
return sdaResult;
|
}
|
}
|
|
|
/// <summary>
|
/// 写入齐套结果、解析结果
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public SdaResEntity WriteQiTaoInfo(int deviceId, string stationCode, bool value)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteQiTaoInfo(stationCode, value, out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
|
/// <summary>
|
/// 入库完成已确认
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public SdaResEntity InboundFinishConfirm(int deviceId, bool value, string stationCode)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.InboundFinishConfirm(stationCode, value, out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
|
/// <summary>
|
/// 出库完成已确认
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public SdaResEntity OutboundFinishConfirm(int deviceId, bool value, string stationCode, bool isClearData)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.OutboundFinishConfirm(stationCode, value, out msg,isClearData);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
|
/// <summary>
|
/// 切换模式
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <param name="stationCode"></param>
|
/// <returns></returns>
|
public SdaResEntity ChangeMode(int deviceId, int value, string stationCode)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.ChangeMode(stationCode, value, out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
|
/// <summary>
|
/// 写入入库任务信息
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public SdaResEntity WriteInStoreTaskInfo(int deviceId, string stationCode, string toPlaceNo, short length, short width, short height, int inbound_TaskID)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteInStoreTaskInfo(stationCode, toPlaceNo, length, width, height, out msg, inbound_TaskID);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
/// <summary>
|
/// 写入码板任务信息
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public SdaResEntity WritePalletizingTaskInfo(int deviceId, string stationCode,int taskID, short length, short width, short height,short rotate,short toplace,short placeX,short placeY, short placeZ,short lastnum)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WritePalletizingTaskInfo(stationCode, taskID, length, width, height,rotate,toplace,placeX,placeY,placeZ,lastnum ,out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
/// <summary>
|
/// 码垛完成已确认
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public SdaResEntity SetPalletizingTaskFinishAck(int deviceId, bool value, string stationCode)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteStation_FinishACK(stationCode, value, out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
|
/// <summary>
|
/// 写入合包任务信息
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public SdaResEntity WriteSurroundTaskInfo(int deviceId, string stationCode, short taskID, short length, short width, short cartonhigh, short cartonwidth, short placex, short placey)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteSurroundTaskInfo(stationCode, taskID, length, width, cartonhigh, cartonwidth, placex, placey, out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
/// <summary>
|
/// 合包完成已确认
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public SdaResEntity SetSurroundTaskFinishAck(int deviceId, bool value, string stationCode)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteSurround_FinishACK(stationCode, value, out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
public SdaResEntity WriteStation_ACK(int deviceId, bool value, string stationCode)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteStation_ACK(stationCode, value, out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
/// <summary>
|
/// 写入出库任务信息
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="stationCode"></param>
|
/// <param name="sourcePlaceNo"></param>
|
/// <param name="outbound_TaskID"></param>
|
/// <returns></returns>
|
public SdaResEntity WriteOutStoreTaskInfo(int deviceId, string stationCode, string sourcePlaceNo, int outbound_TaskID)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteOutStoreTaskInfo(stationCode, sourcePlaceNo, out msg, outbound_TaskID);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
|
/// <summary>
|
/// Station的任务完成ACK赋值
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public SdaResEntity WriteStation_FinishACK(int deviceId, bool value, int plcTaskId)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteStation_FinishACK(deviceId, value, plcTaskId, out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
|
|
/// <summary>
|
/// 四个入库口扫描验证ACK赋值
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value"></param>
|
/// <returns></returns>
|
public SdaResEntity WriteScanValidateACK(bool isReset, int deviceId, string stationCode, bool value, int plcTaskId)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteScanValidateACK(isReset, deviceId, stationCode, value, plcTaskId, out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
|
/// <summary>
|
/// 发动机出库,给西港PLC发送发动机数据 【Editby shaocx,2023-07-23】
|
/// </summary>
|
/// <param name="deviceId"></param>
|
/// <param name="value__Out_MaterialModel"></param>
|
/// <param name="value_Out_OrderNo"></param>
|
/// <param name="value_Out_SerialNumber"></param>
|
/// <param name="plcTaskId"></param>
|
/// <returns></returns>
|
public SdaResEntity WriteStation_XigangGetDataForOut(int deviceId, string value__Out_MaterialModel,
|
string value_Out_OrderNo,
|
string value_Out_SerialNumber,
|
int plcTaskId)
|
{
|
SdaResEntity _SdaResEntity = new SdaResEntity();
|
try
|
{
|
var StationResult = Station_CacheEntity.GetDeviceObj(deviceId);
|
if (!StationResult.result)
|
{
|
return StationResult;
|
}
|
var Station = StationResult.resData as StationEntity;
|
|
string msg = "";
|
var result = Station.WriteStation_XigangGetDataForOut(deviceId, value__Out_MaterialModel, value_Out_OrderNo, value_Out_SerialNumber, plcTaskId, out msg);
|
_SdaResEntity.result = result;
|
_SdaResEntity.resMsg = msg;
|
return _SdaResEntity;
|
}
|
catch (Exception ex)
|
{
|
_SdaResEntity.result = false;
|
_SdaResEntity.resMsg = ex.Message;
|
return _SdaResEntity;
|
}
|
}
|
}
|
}
|