From 42327fec0e7b987f6ca425548ac4fab61c01f934 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Fri, 21 Apr 2017 16:51:32 +0200 Subject: [PATCH] =?UTF-8?q?provato=20a=20decodificare=20allarmi=20CNC=20MA?= =?UTF-8?q?=20NON=20FORNA=20(il=20cod=20161=20iniziale=20=C3=A8=20corretto?= =?UTF-8?q?=20a=20video,=20gli=20altri=20recuperati=20SEMBRANO=20NON=20cor?= =?UTF-8?q?rispondere...)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CMSCncLib/CNC/CNC.OSAI/CNC.OSAI.vb | 6 ++-- .../CMSCncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb | 16 ++++----- MTC_Adapter/MTC_Adapter/AdapterOsai.cs | 34 ++++++++++++------- 3 files changed, 32 insertions(+), 24 deletions(-) diff --git a/MTC_Adapter/CMSCncLib/CNC/CNC.OSAI/CNC.OSAI.vb b/MTC_Adapter/CMSCncLib/CNC/CNC.OSAI/CNC.OSAI.vb index a0878de..aa46a80 100644 --- a/MTC_Adapter/CMSCncLib/CNC/CNC.OSAI/CNC.OSAI.vb +++ b/MTC_Adapter/CMSCncLib/CNC/CNC.OSAI/CNC.OSAI.vb @@ -925,11 +925,11 @@ Namespace CNC Return True End Function ''' - ''' Chiama ReadErrMsg x ottenere elenco errori + ''' Chiama ReadCurrentErrorMsg x ottenere elenco errori ''' - ''' + ''' ''' - Public Overridable Function O_ReadErrMsg(ByRef ErrMsg As OPENcontrol.ERRMSG) As Boolean + Public Overridable Function O_ReadCurrentErrorMsg(ByRef CurrMsgError As OPENcontrol.MSGERROR) As Boolean Return True End Function diff --git a/MTC_Adapter/CMSCncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb b/MTC_Adapter/CMSCncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb index 3f0d308..c4fd3a5 100644 --- a/MTC_Adapter/CMSCncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb +++ b/MTC_Adapter/CMSCncLib/CNC/CNC.OSAI/CNC.OSAI_SOAP.vb @@ -1005,13 +1005,13 @@ Retry: nRetry += 1 End Function - Public Overloads Overrides Function O_ReadErrMsg(ByRef ErrMsg As OPENcontrol.ERRMSG) As Boolean + Public Overloads Overrides Function O_ReadCurrentErrorMsg(ByRef CurrMsgError As OPENcontrol.MSGERROR) As Boolean ' RIFERIMENTO: - ' CndexLinkUser.pdf | pag 160, 270 + ' CndexLinkUser.pdf | pag 162, 270 Dim szReturn As String = "" - Dim myReadErrMsgR As OPENcontrol.ReadErrMsgR - Dim myReadErrMsg As New OPENcontrol.ReadErrMsg + Dim myReadCurrentErrorMsgR As OPENcontrol.ReadCurrentErrorMsgR + Dim myReadCurrentErrorMsg As New OPENcontrol.ReadCurrentErrorMsg Dim ProcessId As Short Dim nRetry As Integer Retry: nRetry += 1 @@ -1019,14 +1019,14 @@ Retry: nRetry += 1 Try O_GetSelectedProcess(ProcessId) - myReadErrMsg.ProcNum = ProcessId - myReadErrMsgR = OPENws.ReadErrMsg(myReadErrMsg) - If O_CheckRetError(myReadErrMsgR.retval, myReadErrMsgR.ErrClass, myReadErrMsgR.ErrNum, "GetNcInfo1() O_GetNcInfo1 CNC.OSAI_OPEN", szReturn) Then + myReadCurrentErrorMsg.Process = ProcessId + myReadCurrentErrorMsgR = OPENws.ReadCurrentErrorMsg(myReadCurrentErrorMsg) + If O_CheckRetError(myReadCurrentErrorMsgR.retval, myReadCurrentErrorMsgR.ErrClass, myReadCurrentErrorMsgR.ErrNum, "ReadCurrentErrorMsg() O_ReadCurrentErrorMsg CNC.OSAI_OPEN", szReturn) Then Throw New CmsNcException(szReturn) Return False End If - ErrMsg = myReadErrMsgR.SysErrMsg + CurrMsgError = myReadCurrentErrorMsgR.Data Return True Catch ex As System.ServiceModel.CommunicationException If nRetry < MAXRET Then GoTo Retry diff --git a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs index 56d03bd..12a690f 100644 --- a/MTC_Adapter/MTC_Adapter/AdapterOsai.cs +++ b/MTC_Adapter/MTC_Adapter/AdapterOsai.cs @@ -167,7 +167,7 @@ namespace MTC_Adapter /// /// Vettore degli allarmi CNC attivi /// - public CMSCncLib.OPENcontrol.ERRMSG allarmiCNC; + public CMSCncLib.OPENcontrol.MSGERROR allarmiCNC; /// /// estende l'init della classe base... @@ -1264,13 +1264,13 @@ namespace MTC_Adapter sb.AppendLine(string.Format("Allarmi CNC: {0}", allNcData.lastncerror)); inizio = DateTime.Now; - OSAI_ref.O_ReadErrMsg(ref allarmiCNC); + OSAI_ref.O_ReadCurrentErrorMsg(ref allarmiCNC); if (utils.CRB("recTime")) TimingData.addResult("R-CNC-ALARMS", DateTime.Now.Subtract(inizio).Ticks); checkCNCAlarms(); } else { - allarmiCNC = new CMSCncLib.OPENcontrol.ERRMSG(); + allarmiCNC = new CMSCncLib.OPENcontrol.MSGERROR(); } parentForm.dataMonitor = sb.ToString(); @@ -1401,11 +1401,7 @@ namespace MTC_Adapter { if (allarmiCNC != null) { - // faccio parse allarmi: se ci sono invio e presento - if (allarmiCNC.Msg1 != null) sendAlarmIfPresent(allarmiCNC.Msg1); - if (allarmiCNC.Msg2 != null) sendAlarmIfPresent(allarmiCNC.Msg1); - if (allarmiCNC.Msg3 != null) sendAlarmIfPresent(allarmiCNC.Msg1); - if (allarmiCNC.Msg4 != null) sendAlarmIfPresent(allarmiCNC.Msg1); + sendAlarmIfPresent(allarmiCNC); } } @@ -1413,16 +1409,28 @@ namespace MTC_Adapter /// Invia singolo allarme CNC se presente /// /// - protected void sendAlarmIfPresent(string allarme) + protected void sendAlarmIfPresent(CMSCncLib.OPENcontrol.MSGERROR allarme) { // controllo valore... - if (allarme != "" && allarme != null) + if (allarme != null) { - if (utils.CRI("loglevel") > 5) + try { - lg.Info(string.Format("Allarmi CNC: {0} ", allarme)); + StringBuilder sb = new StringBuilder(); + if (utils.CRI("loglevel") > 5) + { + lg.Info(string.Format("Allarmi CNC: {0} ", allarme.CodeErr)); + } + string alarmText = string.Format("Cod: {0} | Proc: {1} | Comm: {2} | SubCom: {3} | {4}", allarme.CodeErr, allarme.Process, allarme.Comando, allarme.SubCom, allarme.FormatTxt); + mAlarmCNC.Add(MTConnect.Condition.Level.FAULT, alarmText, allarme.CodeErr.ToString(), "", ""); + // mostro in form! + sb.AppendLine(alarmText); + parentForm.dataMonitor += sb.ToString(); + } + catch (Exception exc) + { + lg.Error(string.Format("{0}", exc)); } - mAlarmCNC.Add(MTConnect.Condition.Level.FAULT, allarme, allarme, "", ""); } }