using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace iWareSda_QQJF.SRM.SrmModel
|
{
|
//通过构造函数参数来区分不同设备
|
public class SrmDBli
|
{
|
//WCS-Wirte-SRM
|
/// <summary>WCS心跳1-10000
|
///
|
/// </summary>
|
public string handShakeW { get; set; }
|
/// <summary>堆垛机号
|
///
|
/// </summary>
|
public string srmNOW { get; set; }
|
/// <summary>托盘类型
|
///
|
/// </summary>
|
public string palletTypeW { get; set; }
|
/// <summary>堆垛机写入起始列
|
/// (人站控制柜,前面号大后面小)
|
/// </summary>
|
public string sourcePosXW { get; set; }
|
/// <summary>堆垛机写入起始层
|
///
|
/// </summary>
|
public string sourcePosYW { get; set; }
|
/// <summary>堆垛机写入起始排1.4远2.3近
|
/// (人站控制柜左1.2右3.4)
|
/// </summary>
|
public string sourcePosZW { get; set; }
|
/// <summary>堆垛机目标列
|
///
|
/// </summary>
|
public string destinationPosXW { get; set; }
|
/// <summary>堆垛机目标层
|
///
|
/// </summary>
|
public string destinationPosYW { get; set; }
|
/// <summary>堆垛机目标排
|
///
|
/// </summary>
|
public string destinationPosZW { get; set; }
|
/// <summary>堆垛机执行功能
|
/// 0= 无
|
///1= 搬运
|
///2= 单放
|
///3= 移动
|
///4= 取消任务
|
/// </summary>
|
public string commandW { get; set; }
|
/// <summary>紧急停止(SRM=1)
|
///
|
/// </summary>
|
public string emergencyStopW { get; set; }
|
/// <summary>报警解除(SRM=1)
|
///
|
/// </summary>
|
public string alarmAckW { get; set; }
|
/// <summary>赋值为1执行任务完毕确认任务完成
|
///
|
/// </summary>
|
public string taskFinishW { get; set; }
|
/// <summary>备用2
|
///
|
/// </summary>
|
public string Reserve2W { get; set; }
|
/// <summary>备用3
|
///
|
/// </summary>
|
public string Reserve3W { get; set; }
|
/// <summary>WCS通信位
|
/// 执行任务其他值填写完毕把该值STB置为1
|
/// plc收到此值把ACK置为1
|
/// ACK为1时WCS再把stb置为0
|
/// stb为0时plc把ack置为0同时执行任务
|
/// 以上为通信一个循环
|
/// </summary>
|
public string stbW { get; set; }
|
/// <summary>SRM应答位(WCS只读)
|
///
|
/// </summary>
|
public string ackW { get; set; }
|
/// <summary>任务号
|
///
|
/// </summary>
|
public string taskNOW { get; set; }
|
|
/// <summary>
|
/// 主任务号
|
/// </summary>
|
public string taskFather { get; set; }
|
//--------------------------------------------------------------------------------------------
|
//WCS-read-SRM
|
/// <summary>堆垛机心跳
|
///
|
/// </summary>
|
public string handShakeR { get; set; }
|
/// <summary>堆垛机编号
|
/// =1 自动模式
|
///=2 手动模式
|
///=3 半自动模式
|
///=4 维修模式
|
///=0 关机模式
|
/// </summary>
|
public string srmNOR { get; set; }
|
/// <summary>堆垛机当前模式
|
///
|
/// </summary>
|
public string modeR { get; set; }
|
/// <summary>值为1堆垛机就是报警状态
|
///
|
/// </summary>
|
public string alarmISR { get; set; }
|
/// <summary>值为1堆垛机载货台为有货
|
///
|
/// </summary>
|
public string liftFullR { get; set; }
|
/// <summary>堆垛机当前列
|
///
|
/// </summary>
|
public string posXR { get; set; }
|
/// <summary>堆垛机当前层
|
///
|
/// </summary>
|
public string posYR { get; set; }
|
/// <summary>堆垛机当前货叉位置
|
/// =0 货叉原位
|
///=1 货叉在左侧
|
///=2 货叉在右侧
|
/// </summary>
|
public string posZR { get; set; }
|
/// <summary>堆垛机当前列坐标单位MM
|
///
|
/// </summary>
|
public string posxmmR { get; set; }
|
/// <summary>堆垛机当前层坐标
|
///
|
/// </summary>
|
public string posymmR { get; set; }
|
/// <summary>堆垛机当前货叉坐标
|
///
|
/// </summary>
|
public string poszmmR { get; set; }
|
/// <summary>值为1堆垛机取货完成
|
///
|
/// </summary>
|
public string pickFinishR { get; set; }
|
/// <summary>值为1堆垛机放货完成
|
///
|
/// </summary>
|
public string deliveryFinishR { get; set; }
|
/// <summary>值为1表示任务完成
|
///
|
/// </summary>
|
public string taskFinishR { get; set; }
|
/// <summary>报警代码
|
///
|
/// </summary>
|
public string alarmNOR { get; set; }
|
/// <summary>当前堆垛机任务状态
|
/// =0空闲
|
///=1取货定位中
|
///=2请求取货
|
///=3取货中
|
///=4取货完成放货定位中
|
///=5请求放货
|
///=6放货中
|
///=98维修
|
///=99报警
|
/// </summary>
|
public string stateR { get; set; }
|
/// <summary>堆垛机当前巷道
|
///
|
/// </summary>
|
public string actualLaneR { get; set; }
|
/// <summary>堆垛机当前任务号
|
///
|
/// </summary>
|
public string tasknoR { get; set; }
|
public SrmDBli(int srmDeviceId = 0)
|
{
|
if (srmDeviceId<1||srmDeviceId >9) return;
|
int srmno = srmDeviceId;
|
handShakeW = "DB540.DBW0";
|
srmNOW = "DB540.DBW2";
|
palletTypeW = "DB540.DBW4";
|
sourcePosXW = "DB540.DBW6";
|
sourcePosYW = "DB540.DBW8";
|
sourcePosZW = "DB540.DBW10";
|
destinationPosXW = "DB540.DBW12";
|
destinationPosYW = "DB540.DBW14";
|
destinationPosZW = "DB540.DBW16";
|
commandW = "DB540.DBW18";
|
emergencyStopW = "DB540.DBW20";
|
alarmAckW = "DB540.DBW22";
|
taskFinishW = "DB540.DBW24";
|
Reserve2W = "DB540.DBW26";
|
Reserve3W = "DB540.DBW28";
|
stbW = "DB540.DBW30";
|
ackW = "DB540.DBW32";
|
taskNOW = "DB540.DBW34";
|
taskFather = "DB540.DBW26";
|
//----------------------------------------------------------------------------
|
handShakeR = "DB541.DBW0";
|
srmNOR = "DB541.DBW2";
|
modeR = "DB541.DBW4";
|
alarmISR = "DB541.DBW6";
|
liftFullR = "DB541.DBW8";
|
posXR = "DB541.DBW10";
|
posYR = "DB541.DBW12";
|
posZR = "DB541.DBW14";
|
posxmmR = "DB541.DBD16";
|
posymmR = "DB541.DBD20";
|
poszmmR = "DB541.DBD24";
|
pickFinishR = "DB541.DBW28";
|
deliveryFinishR = "DB541.DBW30";
|
taskFinishR = "DB541.DBW32";
|
alarmNOR = "DB541.DBW34";
|
stateR = "DB541.DBW36";
|
actualLaneR = "DB541.DBW38";
|
tasknoR = "DB541.DBW40";
|
|
}
|
}
|
}
|