//private void SecsGemService_PrimaryMessageRecived(object sender, TEventArgs<SecsMessage> e) //{ // var message = e.Data; // string sf = message.GetSFString(); // IScenario scenario = null; // switch (sf) // { // case "S1F1": // case "S1F13": // case "S1F17": // case "S1F15": // case "S2F17":// equipment requests host time // case "S6F11": // scenario = scenarioControllers[Scenarios.Intialize_Scenario]; // break; // case "S2F41": // scenario = scenarioControllers[Scenarios.Remote_Control]; // break; // case "S5F3": // case "S5F103": // scenario = scenarioControllers[Scenarios.Alarm_Management]; // break; // case "S2F31": // scenario = scenarioControllers[Scenarios.Clock]; // break; // case "S10F1": // case "S10F5": // scenario = scenarioControllers[Scenarios.Equipment_Terminal_Service]; // break; // case "S7F19": // case "S7F25": // scenario = scenarioControllers[Scenarios.Recipe_Management]; // break; // case "S6F3": // case "S2F23": // case "S6F1": // case "S1F3": // case "S1F5": // case "S2F13": // case "S2F15": // case "S2F37": // scenario = scenarioControllers[Scenarios.Data_Collection]; // break; // default: // break; // } // scenario?.HandleSecsMessage(message); //} #endregion #region 静态方法 /// <summary> /// 发送secondary message /// </summary> /// <param name="s"></param> /// <param name="f"></param> /// <param name="systemBytes"></param> /// <param name="item"></param> /// <param name="value"></param> /// <param name="key"></param> /// <returns></returns> public static SecsMessage SendMessage(byte s, byte f, int systemBytes, Item item = null, int value = 0, string key = "") { try { var result = secsGemService.SendMessage(DeviceId, s, f, false, systemBytes, item, key, value); result.Wait(); return(result.Result); } catch (Exception ex) { WriteLog(LogLevel.ERROR, "Send Secondary Message error.", ex); return(null); } }