public virtual void WriteVar(string value) { SvMgrObjects.VarValue varValue = new SvMgrObjects.VarValue(); varValue.vt = SvMgrEnums.VarType.svmgr_vtTXT; varValue.Txt = value; if (varValue.Txt != m_value) { SvMgrAPI.VarWrite(m_name, varValue, 0); } }
public void Advise() { if (SvMgrAPI.VarAdvise(m_name, m_adviseN)) { SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Variable " + m_name + " (n° " + m_adviseN + ") abonnée."); } else { SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Variable" + m_name + " (" + m_adviseN + ") non abonnée."); } }
public virtual void WriteVar(double value) { SvMgrObjects.VarValue varValue = new SvMgrObjects.VarValue(); varValue.vt = SvMgrEnums.VarType.svmgr_vtANA; varValue.Ana = value; if (varValue.Ana != m_value) { SvMgrAPI.VarWrite(m_name, varValue, 0); } }
public virtual void WriteVar(bool value) { SvMgrObjects.VarValue varValue = new SvMgrObjects.VarValue(); varValue.vt = SvMgrEnums.VarType.svmgr_vtLOG; varValue.Log = value; if (varValue.Log != m_value) { SvMgrAPI.VarWrite(m_name, varValue, 0); } }
public void Unadvise() { SvMgrAPI.VarUnadvise(m_name, m_adviseN); }
private void SvMgrAPI_OnDataChange2(SvMgrObjects.VariableResult[] ArrayVarResult) { for (int i = 0; i < ArrayVarResult.Length; i++) { switch (ArrayVarResult[i].varValue.vt) { case SvMgrEnums.VarType.svmgr_vtLOG: foreach (TypeBool typeBool in Variable.vVariableBool) { if ((typeBool.GetAdviseNumber() == ArrayVarResult[i].clientHandle)) { SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, typeBool.GetVarName() + " = " + ArrayVarResult[i].varValue.Log); typeBool.SetVar(ArrayVarResult[i].varValue.Log); } } break; case SvMgrEnums.VarType.svmgr_vtANA: foreach (TypeAna typeAna in Variable.vVariableAna) { if ((typeAna.GetAdviseNumber() == ArrayVarResult[i].clientHandle)) { SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, typeAna.GetVarName() + " = " + ArrayVarResult[i].varValue.Ana); typeAna.SetVar(ArrayVarResult[i].varValue.Ana); } } break; case SvMgrEnums.VarType.svmgr_vtTXT: foreach (TypeString typeString in Variable.vVariableString) { if ((typeString.GetAdviseNumber() == ArrayVarResult[i].clientHandle)) { SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, typeString.GetVarName() + " = " + ArrayVarResult[i].varValue.Txt); typeString.SetVar(ArrayVarResult[i].varValue.Txt); } } break; } /*--------------------------------------------------- Action sur changement de valeur ----------------------------------------------------*/ int indice; /*------------------------- Navette Collecte --------------------------------------*/ //Class // MissionStatus indice = Variable.vVariableBool.IndexOf(NavetteCollecte.MissionStatus.SendCom); if (Variable.vVariableBool[indice].GetVarValue()) { indice = Variable.vVariableAna.IndexOf(NavetteCollecte.MissionStatus.MissionNumber); resquestMissionStatusCollect.MissionNumber = Convert.ToInt32(Variable.vVariableAna[indice].GetVarValue()); indice = Variable.vVariableBool.IndexOf(NavetteCollecte.MissionStatus.MissionStatus); if (Variable.vVariableBool[indice].GetVarValue()) { resquestMissionStatusCollect.MissionStatus = PostTapingCollectShuttleMissionStatusType.Nok; } else { resquestMissionStatusCollect.MissionStatus = PostTapingCollectShuttleMissionStatusType.Ok; } try { collectClient.MissionStatus(resquestMissionStatusCollect); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Collecte -- MissionStatus : OK"); }catch (Exception e) { indice = Variable.vVariableBool.IndexOf(NavetteCollecte.ErreurCom); Variable.vVariableBool[indice].WriteVar(true); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Warning, "Collecte -- Mission Status : " + e.Message); } indice = Variable.vVariableBool.IndexOf(NavetteCollecte.MissionStatus.SendCom); Variable.vVariableBool[indice].WriteVar(false); } // ReportRunningMode indice = Variable.vVariableBool.IndexOf(NavetteCollecte.ReportRunningMode.SendCom); if (Variable.vVariableBool[indice].GetVarValue()) { indice = Variable.vVariableAna.IndexOf(NavetteCollecte.ReportRunningMode.DefaultCode); resquestReportRunningModeCollect.DefaultCode = Convert.ToInt32(Variable.vVariableAna[indice].GetVarValue()); indice = Variable.vVariableString.IndexOf(NavetteCollecte.ReportRunningMode.DefaultLabel); resquestReportRunningModeCollect.DefaultLabel = Variable.vVariableString[indice].GetVarValue(); indice = Variable.vVariableAna.IndexOf(NavetteCollecte.ReportRunningMode.EquipmentCode); resquestReportRunningModeCollect.EquipmentCode = Convert.ToInt32(Variable.vVariableAna[indice].GetVarValue()); indice = Variable.vVariableAna.IndexOf(NavetteCollecte.ReportRunningMode.RunningMode); if (Variable.vVariableAna[indice].GetVarValue() == 0) { resquestReportRunningModeCollect.RunningMode = PostTapingCollectShuttleRunningModeType.Default; } else if (Variable.vVariableAna[indice].GetVarValue() == 1) { resquestReportRunningModeCollect.RunningMode = PostTapingCollectShuttleRunningModeType.Manual; } else if (Variable.vVariableAna[indice].GetVarValue() == 2) { resquestReportRunningModeCollect.RunningMode = PostTapingCollectShuttleRunningModeType.MissionInProgress; } else if (Variable.vVariableAna[indice].GetVarValue() == 3) { resquestReportRunningModeCollect.RunningMode = PostTapingCollectShuttleRunningModeType.Rest; } resquestReportRunningModeCollect.RunningModeDateTime = DateTime.Now; try { collectClient.ReportRunningMode(resquestReportRunningModeCollect); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Collecte -- Report Running Mode : OK"); }catch (Exception e) { indice = Variable.vVariableBool.IndexOf(NavetteCollecte.ErreurCom); Variable.vVariableBool[indice].WriteVar(true); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Warning, "Collecte -- Report Running Mode : " + e.Message); } indice = Variable.vVariableBool.IndexOf(NavetteCollecte.ReportRunningMode.SendCom); Variable.vVariableBool[indice].WriteVar(false); } // TapingOutputConveyorNumber indice = Variable.vVariableBool.IndexOf(NavetteCollecte.TapingOutputConveyorNumber.SendCom); if (Variable.vVariableBool[indice].GetVarValue()) { indice = Variable.vVariableAna.IndexOf(NavetteCollecte.TapingOutputConveyorNumber.TapingOutputConveyorNumber); requestConveyorNumberCollect.TapingOutputConveyorNumber = Convert.ToInt32(Variable.vVariableAna[indice].GetVarValue()); try { collectClient.TapingOutputConveyorNumber(requestConveyorNumberCollect); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Collecte -- Taping Output Conveyor Number : OK"); } catch (Exception e) { indice = Variable.vVariableBool.IndexOf(NavetteCollecte.ErreurCom); Variable.vVariableBool[indice].WriteVar(true); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Warning, "Collecte -- Taping Output Conveyor Number : " + e.Message); } indice = Variable.vVariableBool.IndexOf(NavetteCollecte.TapingOutputConveyorNumber.SendCom); Variable.vVariableBool[indice].WriteVar(false); } /*------------------------- Navette Evacuation --------------------------------------*/ // MissionStatus indice = Variable.vVariableBool.IndexOf(NavetteEvacuation.MissionStatus.SendCom); if (Variable.vVariableBool[indice].GetVarValue()) { indice = Variable.vVariableAna.IndexOf(NavetteEvacuation.MissionStatus.MissionNumber); resquestMissionStatusEvacuation.MissionNumber = Convert.ToInt32(Variable.vVariableAna[indice].GetVarValue()); indice = Variable.vVariableBool.IndexOf(NavetteEvacuation.MissionStatus.MissionStatus); if (Variable.vVariableBool[indice].GetVarValue()) { resquestMissionStatusEvacuation.MissionStatus = PostTapingEvacuationShuttleMissionStatusType.Nok; } else { resquestMissionStatusEvacuation.MissionStatus = PostTapingEvacuationShuttleMissionStatusType.Ok; } try { evacuationClient.MissionStatus(resquestMissionStatusEvacuation); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Evacuation -- Mission Status : OK"); } catch (Exception e) { indice = Variable.vVariableBool.IndexOf(NavetteEvacuation.ErreurCom); Variable.vVariableBool[indice].WriteVar(true); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Warning, "Evacuation -- Mission Status : " + e.Message); } indice = Variable.vVariableBool.IndexOf(NavetteEvacuation.MissionStatus.SendCom); Variable.vVariableBool[indice].WriteVar(false); } // ReportRunningMode indice = Variable.vVariableBool.IndexOf(NavetteEvacuation.ReportRunningMode.SendCom); if (Variable.vVariableBool[indice].GetVarValue()) { indice = Variable.vVariableAna.IndexOf(NavetteEvacuation.ReportRunningMode.DefaultCode); resquestReportRunningModeEvacuation.DefaultCode = Convert.ToInt32(Variable.vVariableAna[indice].GetVarValue()); indice = Variable.vVariableString.IndexOf(NavetteEvacuation.ReportRunningMode.DefaultLabel); resquestReportRunningModeEvacuation.DefaultLabel = Variable.vVariableString[indice].GetVarValue(); indice = Variable.vVariableAna.IndexOf(NavetteEvacuation.ReportRunningMode.EquipmentCode); resquestReportRunningModeEvacuation.EquipmentCode = Convert.ToInt32(Variable.vVariableAna[indice].GetVarValue()); indice = Variable.vVariableAna.IndexOf(NavetteEvacuation.ReportRunningMode.RunningMode); if (Variable.vVariableAna[indice].GetVarValue() == 0) { resquestReportRunningModeEvacuation.RunningMode = PostTapingEvacuationShuttleRunningModeType.Default; } else if (Variable.vVariableAna[indice].GetVarValue() == 1) { resquestReportRunningModeEvacuation.RunningMode = PostTapingEvacuationShuttleRunningModeType.Manual; } else if (Variable.vVariableAna[indice].GetVarValue() == 2) { resquestReportRunningModeEvacuation.RunningMode = PostTapingEvacuationShuttleRunningModeType.MissionInProgress; } else if (Variable.vVariableAna[indice].GetVarValue() == 3) { resquestReportRunningModeEvacuation.RunningMode = PostTapingEvacuationShuttleRunningModeType.Rest; } resquestReportRunningModeEvacuation.RunningModeDateTime = DateTime.Now; try { evacuationClient.ReportRunningMode(resquestReportRunningModeEvacuation); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Evacuation -- Report Running Mode : OK"); } catch (Exception e) { indice = Variable.vVariableBool.IndexOf(NavetteEvacuation.ErreurCom); Variable.vVariableBool[indice].WriteVar(true); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Warning, "Evacuation -- Report Running Mode : " + e.Message); } indice = Variable.vVariableBool.IndexOf(NavetteEvacuation.ReportRunningMode.SendCom); Variable.vVariableBool[indice].WriteVar(false); } /*--------------------------------------------------- Fin action sur changement de valeur ----------------------------------------------------*/ } }
private void SvMgrAPI_StartProject() { SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "DLL démarrée"); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Version : 16/04/2020 08H30"); /*----------------------------- Déclaration des variables ----------------------------------------*/ /*------------------------ Navette Collecte -----------------------------------------------------*/ CollecteEchange1(CollectEchange1); CollecteEchange2(CollectEchange2); CollecteEchange3(CollectEchange3); CollecteEchange4(CollectEchange4); VarCollecteCommun(CollectVarCommun); /*------------------------ Navette Evacuation -----------------------------------------------------*/ EvacuationEchange1(EvacEchange1); EvacuationEchange2(EvacEchange2); EvacuationEchange3(EvacEchange3); VarEvacuationCommun(EvacVarCommun); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Il y a : " + (Variable.vVariableBool.Count() + Variable.vVariableAna.Count() + Variable.vVariableString.Count()) + " variables dont " + Variable.vVariableBool.Count() + " booleans, " + Variable.vVariableAna.Count() + " valeurs ana, " + Variable.vVariableString.Count() + " chaines de caractere."); /*----------------------------- Ouverture fichier URL Serveur ---------------------------------*/ try { urlServeurCollect = File.ReadAllText(@"C:/ARC Informatique/PcVue 12/Bin/WAT/urlServeurCollect.txt"); NavetteCollecte.urlServeur.WriteVar(urlServeurCollect); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "URL Serveur Collect : " + urlServeurCollect); urlServeurEvacuation = File.ReadAllText(@"C:/ARC Informatique/PcVue 12/Bin/WAT/urlServeurEvacuation.txt"); NavetteEvacuation.urlServeur.WriteVar(urlServeurEvacuation); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "URL Serveur Evacuation : " + urlServeurEvacuation); urlClientCollect = File.ReadAllText(@"C:/ARC Informatique/PcVue 12/Bin/WAT/urlClientCollect.txt"); NavetteCollecte.urlClient.WriteVar(urlClientCollect); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "URL Client Collect : " + urlClientCollect); urlClientEvacuation = File.ReadAllText(@"C:/ARC Informatique/PcVue 12/Bin/WAT/urlClientEvacuation.txt"); NavetteEvacuation.urlClient.WriteVar(urlClientEvacuation); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "URL Client Evacuation : " + urlClientEvacuation); } catch (Exception e) { SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Fatal, "Gestion fichier -- " + e.Message); } /*----------------------------- Web Service Création Serveur ----------------------------------------*/ //Collecte try { Uri baseAddressCollect = new Uri(urlServeurCollect); hostCollect = new ServiceHost(typeof(CollectService), baseAddressCollect); Service_Collect.Start(hostCollect); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Service Web Serveur -- Collect démarré"); //Evacuation Uri baseAddressEvacuation = new Uri(urlServeurEvacuation); hostEvacuation = new ServiceHost(typeof(EvacuationService), baseAddressEvacuation); Service_Evacuation.Start(hostEvacuation); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Service Web Serveur -- Evacuation démarré"); } catch (Exception e) { SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Fatal, "Service Web Serveur -- " + e.Message); } /*----------------------------------- Web Service Création Client ----------------------------------------*/ // Class constructeur System.ServiceModel.Channels.Binding binding = new System.ServiceModel.BasicHttpBinding(); // Collecte try { //EndpointAddress address = new EndpointAddress("http://wstest.groupeliebot.fr/Mx/Lima1/Mx.Broker.Lima.Endpoint/Interface/InterfacesPostTapingCollectShuttleToMx0101.svc"); EndpointAddress address = new EndpointAddress(urlClientCollect); collectClient = new InterfacesPostTapingCollectShuttleToMx01Client(binding, address); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Service Web Client -- Collecte créé"); //EndpointAddress address = new EndpointAddress("http://wstest.groupeliebot.fr/Mx/Lima1/Mx.Broker.Lima.Endpoint/Interface/InterfacesPostTapingEvacuationShuttleToMx0101.svc"); address = new EndpointAddress(urlClientEvacuation); evacuationClient = new InterfacesPostTapingEvacuationShuttleToMx01Client(binding, address); SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Info, "Service Web Client -- Evacuation créé"); } catch (Exception e) { SvMgrAPI.LogMessage(SvMgrEnums.LogMessageLevel.Fatal, "Service Web Client -- " + e.Message); } /*---------------------------------- Fin Web Service Création Client ---------------------------------------*/ }