using HslCommunication.Profinet.Siemens;
using iWareCommon.Utils;
using iWareModel;
using S7.Net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace iWareSda
{
///
/// 结构类
///
public class WareSdaStruct
{
///
/// PLC地址分隔符 ,用于分隔 DB地址和偏移量的
///
public static char PLCDBADDRESS_SEPARATE = '|';
///
/// 跟PLC最大的心跳值
///
public static int MaxHandShake = 10000;
///
/// 系统设置的语言 语言配置 配置 0 中文 1 英文
///
public static int LanguageFlg = 0;
///
/// 系统设置的使用的方式
///
public readonly static PLCServiceTypeEnum System_PlcServiceTypeEnum = PLCServiceTypeEnum.Siemens_HslCommunicationService;
#region 堆垛机的PLC地址
public const CpuType Srm_PLC_CpuType = CpuType.S71500;
public const SiemensPLCS Srm_SiemensPLCS = SiemensPLCS.S1500;
public static string Srm1_Address = ConfigHelper.GetConfigString("Srm1_Address");
public static string Srm2_Address = ConfigHelper.GetConfigString("Srm2_Address");
public static string Srm3_Address = ConfigHelper.GetConfigString("Srm3_Address");
public static string Srm4_Address = ConfigHelper.GetConfigString("Srm4_Address");
public static short Srm_Rack = (short)ConfigHelper.GetConfigInt("Srm_Rack");
public static short Srm_Slot = (short)ConfigHelper.GetConfigInt("Srm_Slot");
public static short Srm_Port = (short)ConfigHelper.GetConfigInt("Srm_Port");
#endregion
#region 输送线的PLC地址
public const CpuType Conveyer_PLC_CpuType = CpuType.S71500;
public const SiemensPLCS Conveyer_SiemensPLCS = SiemensPLCS.S1500;
public static string Conveyer_Address = ConfigHelper.GetConfigString("Conveyer_Address");
public static short Conveyer_Rack = (short)ConfigHelper.GetConfigInt("Conveyer_Rack");
public static short Conveyer_Slot = (short)ConfigHelper.GetConfigInt("Conveyer_Slot");
public static short Conveyer_Port = (short)ConfigHelper.GetConfigInt("Conveyer_Port");
#endregion
public static string HuscoLine_Address = "";//ConfigHelper.GetConfigString("HuscoLine_Address");
///
/// Conveyer站点集合
///
public static List ConveyerStationList = new List() {
"101","102"
};
#region 堆垛机报警
//里面有空格,别忘了最后trim下
///
/// 堆垛机报警字典
/// key:报警DB块地址 value:报警内容
///
public static IDictionary SrmAlertDict = new System.Collections.Generic.Dictionary() {
{"0.0","取货堆垛机有货"},
{"0.1","放货堆垛机无货"},
{"0.2","行走定位异常"},
{"0.3","升降定位异常"},
{"0.4","货叉定位异常"},
{"0.5","货叉编码器数据异常"},
{"0.6","货叉原位开关异常"},
{"0.7","左前超宽"},
{"1.0","右超高"},
{"1.1","右坍塌"},
{"1.2","起叉超时"},
{"1.3","落叉超时"},
{"1.4","货叉力矩异常"},
{"1.5","行走、升降寻址数据异常 "},
{"1.6","货叉寻址数据异常 "},
{"1.7","货叉运行超时 "},
{"2.0","行走超出软限位 "},
{"2.1","升降超出软限位 "},
{"2.2","货叉1超出软限位 "},
{"2.3","夹紧装置触发 "},
{"2.5","超速保护触发 "},
{"2.6","行走极限触发 "},
{"2.7","升降极限触发 "},
{"3.0","柜门急停触发 "},
{"3.1","非维修模式调整未归位,请归位 "},
{"3.2","相序继电器触发 "},
{"3.3","安全模块异常 "},
{"3.4","货叉1绝对值编码器数据异常 "},
{"3.5","外部急停触发,安全门急停触发 "},
{"3.6","外部手动触发 "},
{"4.0","行走变频器故障 "},
{"4.1","行走马达保护器未正常工作 "},
{"4.2","行走抱闸断路器未正常工作 "},
{"4.3","升降变频器故障 "},
{"4.4","升降马达保护器未正常工作 "},
{"4.5","升降抱闸断路器未正常工作 "},
{"4.6","货叉1变频器故障 "},
{"4.7","货叉1达保护器未正常工作 "},
{"5.0","货叉1抱闸断路器未正常工作 "},
{"5.1","货叉2变频器故障 "},
{"5.2","货叉2达保护器未正常工作 "},
{"5.3","货叉2抱闸断路器未正常工作 "},
{"5.4","过载装置触发 "},
{"5.5","软急停触发 "},
{"6.0","从站故障 "},
{"6.1","6.1 "},
{"6.2","列到位,无光电到位信号 "},
{"6.3","层到位,无光电到位信号 "},
{"6.4","行走抱闸接触器异常 "},
{"7.1","地面机通讯中断 "},
{"8.0","空取异常 "},
{"8.1","出库货位堵塞 "},
{"8.2","满入异常 "},
{"8.3"," 入库货位阻塞(放远处近处有货)"},
{"8.4"," 叉1叉2同时动作"},
{"8.5","源位置校验错误 "},
{"8.6","目标位置校验错误 "},
{"7.2","左后超宽 "},
{"7.0"," 输送机通讯中断"},
{"7.4","左后超宽 "},
{"7.3","右前超宽 "},
{"7.6","左超高1 "},
{"7.5","左超长 "},
{"5.6","取放货申请超时 "},
{"5.7","取放货申请信号中断 "},
{"2.4","立柱急停触发 "},
{"3.7","登梯口/立柱急停触发 "},
{"6.5","升降抱闸接触器异常 "},
{"6.6","货叉1抱闸接触器异常 "},
{"6.7","货叉2抱闸接触器异常 "},
{"10.0","行走机械卡阻 "},
{"10.1","升降机械卡阻 "},
{"10.2","货叉1机械卡阻 "},
{"10.3","货叉2机械卡阻 "},
{"10.4","地面柜急停触发 "},
{"10.5","拉绳开关被触发 "},
{"10.6","安全门被打开 "},
{"10.7","风扇灯断路器工作异常 "},
{"11.0","触摸屏、光通讯、激光测距电源断路器工作异常 "},
{"11.1","载货台安全回路断路器工作异常"},
{"11.2","按钮开关断路器 "},
{"11.3","载货台安全回路断路器工作异常"},
{"11.4","控制室安全门未关闭"},
{"11.5","行走激光丢失"},
{"11.6","升降激光丢失"},
{"11.7","货叉不在原位"},
{"12.2","安全插销未放回原位"},
{"12.3","堆垛机放完后还有货"},
{"12.4","设备停止"},
{"12.5","任务校验失败"},
{"12.6","制动电阻温控报警"},
{"12.7","左超高2"},
{"13.0","左超高3"},
{"13.1","左超高4"},
{"13.2","右超高2"},
{"13.3","右超高3"},
{"13.4","右超高4"},
{"7.7","升降超出范围 "},
//{"11.6","升降激光数据丢失 "},
//{"11.5","行走激光数据丢失 "},
{"8.7"," 电控柜门未关闭"},
//{"12.0","安全门打开 "},
//{"16.0","货物大小与指令不一致 "},
//{"16.1","货物大小与指令位置不一致 "},
};
#endregion
#region Conveyer和输送线报警
//里面有空格,别忘了最后trim下
///
/// Conveyer报警字典
/// key:报警代码 value:报警内容
///
public static IDictionary ConveyerAlertDict = new System.Collections.Generic.Dictionary() {
{"1102.0","HMI急停"},
{"1102.1","安全急停"},
{"1112.0","WCS通信中断"},
{"1112.1","堆垛机1通信中断"},
{"1112.2","堆垛机2通信中断"},
{"1112.3","扫码器1未扫到码"},
{"1112.4","扫码器1内部产生错误"},
{"1112.5","扫码器2未扫到码"},
{"1112.6","扫码器2内部产生错误"},
{"1112.7","扫码器3未扫到码"},
{"1113.0","扫码器3内部产生错误"},
{"1113.1","扫码器4未扫到码"},
{"1113.2","扫码器4内部产生错误"},
{"1113.3","Profinet宜科大模块掉线"},
{"1113.4","Profinet扫码器1掉线"},
{"1113.5","Profinet扫码器2掉线"},
{"1113.6","Profinet扫码器3掉线"},
{"1113.7","Profinet扫码器4掉线"},
{"1114.0","称重仪表1通信故障"},
{"1114.1","称重仪表2通信故障"},
{"1114.2","称重仪表3通信故障"},
{"1114.3","称重仪表4通信故障"},
{"1114.4","101口左超宽"},
{"1114.5","101口右超宽"},
{"1114.6","101口超高"},
{"1114.7","101口检测前数据未清除"},
{"1115.0","102口左超宽"},
{"1115.1","102口右超宽"},
{"1115.2","102口超高"},
{"1115.3","102口检测前数据未清除"},
{"1115.4","103口左超宽"},
{"1115.5","103口右超宽"},
{"1115.6","103口超高"},
{"1115.7","103口检测前数据未清除"},
//{"","104口左超宽"},
//{"","104口右超宽"},
//{"","104口超高"},
//{"","104口检测前数据未清除"},
{"1122.0","C1滚筒运行超时"},
{"1122.1","C1升降超时"},
{"1122.2","C1链条运行超时"},
{"1122.3","C1货物信息错误"},
{"1122.4","C1升降高位信号丢失"},
{"1122.5","C1升降低位信号丢失"},
{"1122.6","C1升降高低位信号同时亮故障"},
{"1122.7","C1托盘进碟盘机,检测有货"},
{"1123.0","C1滚筒停止位丢失"},
{"1123.1","C1滚筒变频报警"},
{"1123.2","C1升降变频报警"},
{"1123.3","C1链条变频报警"},
{"1123.4","备用1"},
{"1123.5","备用2"},
{"1123.6","备用3"},
{"1123.7","C1链条停止位丢失"},
{"1124.0","C1转盘运行超时"},
{"1124.1","C1转盘中停止位丢失"},
{"1124.2","C1转盘左停止位丢失"},
{"1124.3","C1转盘右停止位丢失"},
{"1124.4","C1堆垛机取货完成但传感器检测有货"},
{"1124.5","C1堆垛机放货完成但未检测到货"},
{"1126.0","C2滚筒运行超时"},
{"1126.1","C2升降超时"},
{"1126.2","C2链条运行超时"},
{"1126.3","C2货物信息错误"},
{"1126.4","C2升降高位信号丢失"},
{"1126.5","C2升降低位信号丢失"},
{"1126.6","C2升降高低位信号同时亮故障"},
{"1126.7","C2托盘进碟盘机,检测有货"},
{"1127.0","C2滚筒停止位丢失"},
{"1127.1","C2滚筒变频报警"},
{"1127.2","C2升降变频报警"},
{"1127.3","C2链条变频报警"},
{"1127.4","备用4"},
{"1127.5","备用5"},
{"1127.6","备用6"},
{"1127.7","C2链条停止位丢失"},
{"1128.0","C2转盘运行超时"},
{"1128.1","C2转盘中停止位丢失"},
{"1128.2","C2转盘左停止位丢失"},
{"1128.3","C2转盘右停止位丢失"},
{"1128.4","C2堆垛机取货完成但传感器检测有货"},
{"1128.5","C2堆垛机放货完成但未检测到货"},
{"1130.0","C3滚筒运行超时"},
{"1130.1","C3升降超时"},
{"1130.2","C3链条运行超时"},
{"1130.3","C3货物信息错误"},
{"1130.4","C3升降高位信号丢失"},
{"1130.5","C3升降低位信号丢失"},
{"1130.6","C3升降高低位信号同时亮故障"},
{"1130.7","C3托盘进碟盘机,检测有货"},
{"1131.0","C3滚筒停止位丢失"},
{"1131.1","C3滚筒变频报警"},
{"1131.2","C3升降变频报警"},
{"1131.3","C3链条变频报警"},
{"1131.4","备用7"},
{"1131.5","备用8"},
{"1131.6","备用9"},
{"1131.7","C3链条停止位丢失"},
{"1132.0","C3转盘运行超时"},
{"1132.1","C3转盘中停止位丢失"},
{"1132.2","C3转盘左停止位丢失"},
{"1132.3","C3转盘右停止位丢失"},
{"1132.4","C3堆垛机取货完成但传感器检测有货"},
{"1132.5","C3堆垛机放货完成但未检测到货"},
{"1134.0","C4滚筒运行超时"},
{"1134.1","C4升降超时"},
{"1134.2","C4链条运行超时"},
{"1134.3","C4货物信息错误"},
{"1134.4","C4升降高位信号丢失"},
{"1134.5","C4升降低位信号丢失"},
{"1134.6","C4升降高低位信号同时亮故障"},
{"1134.7","C4托盘进碟盘机,检测有货"},
{"1135.0","C4滚筒停止位丢失"},
{"1135.1","C4滚筒变频报警"},
{"1135.2","C4升降变频报警"},
{"1135.3","C4链条变频报警"},
{"1135.4","备用10"},
{"1135.5","备用11"},
{"1135.6","备用12"},
{"1135.7","C4链条停止位丢失"},
{"1136.0","C4转盘运行超时"},
{"1136.1","C4转盘中停止位丢失"},
{"1136.2","C4转盘左停止位丢失"},
{"1136.3","C4转盘右停止位丢失"},
{"1136.4","C4堆垛机取货完成但传感器检测有货"},
{"1136.5","C4堆垛机放货完成但未检测到货"},
{"1138.0","C5滚筒运行超时"},
{"1138.1","C5升降超时"},
{"1138.2","C5链条运行超时"},
{"1138.3","C5货物信息错误"},
{"1138.4","C5升降高位信号丢失"},
{"1138.5","C5升降低位信号丢失"},
{"1138.6","C5升降高低位信号同时亮故障"},
{"1138.7","C5托盘进碟盘机,检测有货"},
{"1139.0","C5滚筒停止位丢失"},
{"1139.1","C5滚筒变频报警"},
{"1139.2","C5升降变频报警"},
{"1139.3","C5链条变频报警"},
{"1139.4","备用13"},
{"1139.5","备用14"},
{"1139.6","备用15"},
{"1139.7","C5链条停止位丢失"},
{"1140.0","C5转盘运行超时"},
{"1140.1","C5转盘中停止位丢失"},
{"1140.2","C5转盘左停止位丢失"},
{"1140.3","C5转盘右停止位丢失"},
{"1140.4","C5堆垛机取货完成但传感器检测有货"},
{"1140.5","C5堆垛机放货完成但未检测到货"},
{"1142.0","C6滚筒运行超时"},
{"1142.1","C6升降超时"},
{"1142.2","C6链条运行超时"},
{"1142.3","C6货物信息错误"},
{"1142.4","C6升降高位信号丢失"},
{"1142.5","C6升降低位信号丢失"},
{"1142.6","C6升降高低位信号同时亮故障"},
{"1142.7","C6托盘进碟盘机,检测有货"},
{"1143.0","C6滚筒停止位丢失"},
{"1143.1","C6滚筒变频报警"},
{"1143.2","C6升降变频报警"},
{"1143.3","C6链条变频报警"},
{"1143.4","备用16"},
{"1143.5","备用17"},
{"1143.6","备用18"},
{"1143.7","C6链条停止位丢失"},
{"1144.0","C6转盘运行超时"},
{"1144.1","C6转盘中停止位丢失"},
{"1144.2","C6转盘左停止位丢失"},
{"1144.3","C6转盘右停止位丢失"},
{"1144.4","C6堆垛机取货完成但传感器检测有货"},
{"1144.5","C6堆垛机放货完成但未检测到货"},
{"1146.0","C7滚筒运行超时"},
{"1146.1","C7升降超时"},
{"1146.2","C7链条运行超时"},
{"1146.3","C7货物信息错误"},
{"1146.4","C7升降高位信号丢失"},
{"1146.5","C7升降低位信号丢失"},
{"1146.6","C7升降高低位信号同时亮故障"},
{"1146.7","C7托盘进碟盘机,检测有货"},
{"1147.0","C7滚筒停止位丢失"},
{"1147.1","C7滚筒变频报警"},
{"1147.2","C7升降变频报警"},
{"1147.3","C7链条变频报警"},
{"1147.4","备用19"},
{"1147.5","备用20"},
{"1147.6","备用21"},
{"1147.7","C7链条停止位丢失"},
{"1148.0","C7转盘运行超时"},
{"1148.1","C7转盘中停止位丢失"},
{"1148.2","C7转盘左停止位丢失"},
{"1148.3","C7转盘右停止位丢失"},
{"1148.4","C7堆垛机取货完成但传感器检测有货"},
{"1148.5","C7堆垛机放货完成但未检测到货"},
{"1150.0","C8滚筒运行超时"},
{"1150.1","C8升降超时"},
{"1150.2","C8链条运行超时"},
{"1150.3","C8货物信息错误"},
{"1150.4","C8升降高位信号丢失"},
{"1150.5","C8升降低位信号丢失"},
{"1150.6","C8升降高低位信号同时亮故障"},
{"1150.7","C8托盘进碟盘机,检测有货"},
{"1151.0","C8滚筒停止位丢失"},
{"1151.1","C8滚筒变频报警"},
{"1151.2","C8升降变频报警"},
{"1151.3","C8链条变频报警"},
{"1151.4","备用22"},
{"1151.5","备用23"},
{"1151.6","备用24"},
{"1151.7","C8链条停止位丢失"},
{"1152.0","C8转盘运行超时"},
{"1152.1","C8转盘中停止位丢失"},
{"1152.2","C8转盘左停止位丢失"},
{"1152.3","C8转盘右停止位丢失"},
{"1152.4","C8堆垛机取货完成但传感器检测有货"},
{"1152.5","C8堆垛机放货完成但未检测到货"},
};
#endregion
}
}