Exemple #1
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="webAPIUrl">WebAPI地址</param>
 /// <param name="contentType">报文类型</param>
 /// <param name="clientID">渠道标识</param>
 /// <param name="logEntity">交易日志实体对象</param>
 public CustomWebAPICall(
     string webAPIUrl,
     ContentType contentType,
     string clientID,
     DCSGatewayLogEntity logEntity) : this(logEntity)
 {
     this.webAPIUrl   = webAPIUrl;
     this.contentType = contentType;
     this.clientID    = clientID;
 }
Exemple #2
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="webAPIUrl">WebAPI地址</param>
 /// <param name="contentType">报文类型</param>
 /// <param name="clientID">渠道标识</param>
 /// <param name="logEntity">交易日志实体对象</param>
 public EquipFailAndonCall(
     string webAPIUrl,
     ContentType contentType,
     string clientID,
     DCSGatewayLogEntity logEntity) :
     base(webAPIUrl, contentType, clientID, logEntity)
 {
     moduleType = ModuleType.Exchange;
     ExCode     = "IRAP_DCS_EquipFailAndonCall";
 }
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="webAPIUrl">WebAPI地址</param>
 /// <param name="contentType">报文类型</param>
 /// <param name="clientID">渠道标识</param>
 /// <param name="logEntity">交易日志实体对象</param>
 public SNRequest(
     string webAPIUrl,
     ContentType contentType,
     string clientID,
     DCSGatewayLogEntity logEntity) :
     base(webAPIUrl, contentType, clientID, logEntity)
 {
     moduleType = ModuleType.Exchange;
     ExCode     = "IRAP_DCS_SNRequest";
 }
Exemple #4
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="webAPIUrl">WebAPI地址</param>
 /// <param name="contentType">报文类型</param>
 /// <param name="clientID">渠道标识</param>
 /// <param name="logEntity">交易日志实体对象</param>
 public StagnationWarnning(
     string webAPIUrl,
     ContentType contentType,
     string clientID,
     DCSGatewayLogEntity logEntity) :
     base(webAPIUrl, contentType, clientID, logEntity)
 {
     moduleType = ModuleType.Exchange;
     ExCode     = "IRAP_DCS_StagnationWarnning";
 }
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="webAPIUrl">WebAPI地址</param>
 /// <param name="contentType">报文类型</param>
 /// <param name="clientID">渠道标识</param>
 /// <param name="logEntity">交易日志实体对象</param>
 public ContainerNumberBinding(
     string webAPIUrl,
     ContentType contentType,
     string clientID,
     DCSGatewayLogEntity logEntity) :
     base(webAPIUrl, contentType, clientID, logEntity)
 {
     moduleType = ModuleType.Exchange;
     ExCode     = "IRAP_DCS_ContainerNumberBinding";
 }
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="webAPIUrl">WebAPI地址</param>
 /// <param name="contentType">报文类型</param>
 /// <param name="clientID">渠道标识</param>
 /// <param name="logEntity">交易日志实体对象</param>
 public ShortageMaterialCheck(
     string webAPIUrl,
     ContentType contentType,
     string clientID,
     DCSGatewayLogEntity logEntity) :
     base(webAPIUrl, contentType, clientID, logEntity)
 {
     moduleType = ModuleType.Exchange;
     ExCode     = "IRAP_DCS_ShortageMaterialCheck";
 }
Exemple #7
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="webAPIUrl">WebAPI地址</param>
 /// <param name="contentType">报文类型</param>
 /// <param name="clientID">渠道标识</param>
 /// <param name="logEntity">交易日志实体对象</param>
 public FazitStatusCheck(
     string webAPIUrl,
     ContentType contentType,
     string clientID,
     DCSGatewayLogEntity logEntity) :
     base(webAPIUrl, contentType, clientID, logEntity)
 {
     moduleType = ModuleType.Exchange;
     ExCode     = "IRAP_DCS_FazitStatusCheck";
 }
Exemple #8
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="webAPIUrl">WebAPI地址</param>
 /// <param name="contentType">报文类型</param>
 /// <param name="clientID">渠道标识</param>
 /// <param name="logEntity">交易日志实体对象</param>
 public PokaYokeFeeding(
     string webAPIUrl,
     ContentType contentType,
     string clientID,
     DCSGatewayLogEntity logEntity) :
     base(webAPIUrl, contentType, clientID, logEntity)
 {
     moduleType = ModuleType.Exchange;
     ExCode     = "IRAP_DCS_PokaYokeFeeding";
 }
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="webAPIUrl">WebAPI地址</param>
 /// <param name="contentType">报文类型</param>
 /// <param name="clientID">渠道标识</param>
 /// <param name="logEntity">交易日志实体对象</param>
 public OperationCycleEnd(
     string webAPIUrl,
     ContentType contentType,
     string clientID,
     DCSGatewayLogEntity logEntity) :
     base(webAPIUrl, contentType, clientID, logEntity)
 {
     moduleType = ModuleType.Exchange;
     ExCode     = "IRAP_DCS_OperationCycleEnd";
 }
Exemple #10
0
 /// <summary>
 /// 构造方法
 /// </summary>
 /// <param name="webAPIUrl">WebAPI地址</param>
 /// <param name="contentType">报文类型</param>
 /// <param name="clientID">渠道标识</param>
 /// <param name="logEntity">交易日志实体对象</param>
 public GetOPCStatus(
     string webAPIUrl,
     ContentType contentType,
     string clientID,
     DCSGatewayLogEntity logEntity) :
     base(webAPIUrl, contentType, clientID, logEntity)
 {
     moduleType = ModuleType.Exchange;
     ExCode     = "IRAP_DCS_GetOPCStatus";
 }
        /// <summary>
        /// 控制Tag值变化后的操作
        /// </summary>
        /// <param name="tag">控制Tag对象</param>
        private void ControlTagValueChanged(CustomTag tag)
        {
            DCSGatewayLogEntity log = new DCSGatewayLogEntity();

            log.TriggerTag.TagName = tag.Name;
            log.TriggerTag.Offset  = tag.DB_Offset.ToString();
            if (tag is SiemensBoolOfTag ltag)
            {
                log.TriggerTag.Offset += $".{ltag.Position}";
            }

            Stopwatch sw = new Stopwatch();

            sw.Start();
            IIRAPDCSTrade trade =
                IRAPDCSTraderCreator
                .CreateInstance(
                    tag.Name.Replace("_", ""),
                    log);

            if (trade != null)
            {
                List <SiemensTag> writeTags = trade.Do(this, tag as SiemensTag);
                foreach (SiemensTag writeTag in writeTags)
                {
                    try
                    {
                        specialRWConnection.WriteToPLC(DBType, DBNumber, writeTag);
                    }
                    catch (Exception error)
                    {
                        log.Errors.Add(error);
                        _log.Error(
                            $"写[{writeTag.Name}]的时候出错:{error.Message}", error);
                    }
                }
            }
            sw.Stop();
            _log.Debug($"触发信号[{tag.Name}]的执行时长:[{sw.ElapsedMilliseconds}]毫秒");
            log.TotalExecutionTime = sw.ElapsedMilliseconds;

            try
            {
                if (log.ActionCode != "GetOPCStatus" ||
                    GlobalParams.Instance.GetOPCStatusLogRecord ||
                    log.Errors.Count > 0)
                {
                    Log4MongoDB.WriteLog(log);
                }
            }
            catch (Exception error)
            {
                _log.Error(error.Message, error);
            }
        }
Exemple #12
0
        private CustomWebAPICall(DCSGatewayLogEntity logEntity)
        {
            _log           = Logger.Get(GetType());
            this.logEntity = logEntity;

            webAPIUrl = GetValueFromAppSettings("WebAPIUrl", "http://127.0.0.1:55552/");

            string temp = GetValueFromAppSettings("ContentType", "json");

            try { contentType = (ContentType)Enum.Parse(typeof(ContentType), temp); }
            catch { contentType = ContentType.json; }

            clientID = GetValueFromAppSettings("ClientID", "MESDeveloper");
        }