You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
3.0 KiB
C#

using AUCMA.STORE.Entity.DAO;
using AUCMA.STORE.Entity.DTO;
using AUCMA.STORE.Entity.Enums;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AUCMA.STORE.Business.Interface
{
public delegate void RecvIdentifyPilerDataSignal(object[] pLCAddressTypeDTO);
public delegate void RecvIdentifyRGVDataSignal(object[] pLCAddressTypeDTO);
public delegate void RecvIdentifyBarCodeSignal(string BarCode);
public delegate void RecvIdentifyPilerAlarmSignal(object[] pLCAlarmInfoDTOs,string PLCName);
public delegate void SignalReadRefresh(int state,int type);
public delegate void TaskInfoInvoke(int TaskNo, TaskType taskType, LocationArea locationArea, string locationCode);
public interface IPlcBusinessService
{
event TaskInfoInvoke TaskInfoRefreshEvent;
event SignalReadRefresh SignalReadRefreshEvent;
/// <summary>
/// 上传箱体条码
/// </summary>
event RecvIdentifyBarCodeSignal RecvIdentifyBarCodeEvent;
/// <summary>
/// 上传堆垛机PLC信号
/// </summary>
event RecvIdentifyPilerDataSignal RecvIdentifyPilerDataEvent;
/// <summary>
/// 上传RGV信号
/// </summary>
event RecvIdentifyRGVDataSignal RecvIdentifyRGVDataEvent;
/// <summary>
/// 上传PLC报警信息
/// </summary>
event RecvIdentifyPilerAlarmSignal RecvIdentifyPilerAlarmEvent;
/// <summary>
/// 堆垛机设备急停
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
bool WritePilerStop(int num, string stopflag);
/// <summary>
/// 控制线体急停
/// </summary>
/// <param name="value">1停止0启动</param>
/// <returns></returns>
bool WriteRGVStop(string value);
/// <summary>
/// 程序启动时加载设备信息
/// </summary>
void LoadDeviceInfo();
/// <summary>
/// 读取输送线入库信号
/// </summary>
bool ReadPilerInStoreSignal(int num);
/// <summary>
/// 写入堆垛机入库信号
/// </summary>
bool WritePilerInStoreSinal(int num, PlcDirectiveDTO taskDTO);
/// <summary>
/// 读取入库完成信号
/// </summary>
bool ReadInStoreCompleteSignal(int num);
/// <summary>
/// 读取RGV入库信号
/// </summary>
/// <param name="num">设备编号</param>
/// <param name="locationArea">位置</param>
/// <returns></returns>
bool ReadRGVInStoreSignal(int num, LocationArea locationArea);
#region 出库业务接口
/// <summary>
/// 判断堆垛机当前状态
/// </summary>
/// <returns></returns>
List<PilerStatusDTO> GetPilerWorkState();
bool WritePilerOutStoreSinal(int num, PlcDirectiveDTO taskDTO);
void doWhileReadPlcPilerSignal(LocationArea locationArea);
#endregion
}
}