using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using WIDESEAWCS_Model.Models;
|
using WIDESEAWCS_QuartzJob.DTO;
|
using WIDESEAWCS_QuartzJob;
|
using WIDESEA_Common.Log;
|
using System.Xml.Linq;
|
|
namespace WIDESEAWCS_Tasks.StackerCraneJob
|
{
|
|
|
public class GetDeviceAddress
|
{
|
/// <summary>
|
/// 传入设备,获取当前位置位置
|
/// </summary>
|
/// <param name="ChildPosiDeviceCode">设备</param>
|
/// <returns></returns>
|
public static int GetEquipmentlocation(string ChildPosiDeviceCode)
|
{
|
IDevice? device = Storage.Devices.FirstOrDefault(x => x.DeviceCode == ChildPosiDeviceCode);
|
CommonStackerCrane Commonstacker = (CommonStackerCrane)device;
|
DeviceProDTO? deviceProDTO = GetDeviceProDTO(Commonstacker, ChildPosiDeviceCode, "RGVCurrentlocation");
|
int HCJGStatus = GetLine(Commonstacker, deviceProDTO.DeviceProAddress);
|
return HCJGStatus;
|
}
|
|
|
/// <summary>
|
/// 查询具体地址
|
/// </summary>
|
/// <param name="Commonstacker"></param>
|
/// <param name="SCAddress"></param>
|
/// <param name="Interactivet"></param>
|
/// <returns></returns>
|
public static DeviceProDTO? GetDeviceProDTO(CommonStackerCrane Commonstacker, string SCAddress, string Interactivet)
|
{
|
return Commonstacker.DeviceProDTOs.FirstOrDefault(x => x.DeviceChildCode == SCAddress && x.DeviceProParamName == Interactivet && x.DeviceProParamType == "ReadDeviceCommand");
|
}
|
|
|
/// <summary>
|
/// 读取设备信息
|
/// </summary>
|
/// <param name="conveyorLine"></param>
|
/// <param name="DeviceProDataBlock"></param>
|
/// <returns></returns>
|
public static int GetLine(CommonStackerCrane Commonstacker, string DeviceProDataBlock)
|
{
|
return Commonstacker.Communicator.Read<short>(DeviceProDataBlock);
|
}
|
|
|
/// <summary>
|
/// 日志记录
|
/// </summary>
|
/// <param name="SCLLinStack">设备名称</param>
|
/// <param name="Filename">文件名称</param>
|
/// <param name="Logtype">日志类型</param>
|
/// <param name="Magessadd">内容</param>
|
public void wcsWriteLog(string SCLLinStack,string Filename, string Logtype, string Magessadd)
|
{
|
WriteLog.Write_Log(SCLLinStack, Filename, Logtype, new { 信息 = Magessadd });
|
}
|
}
|
}
|