Ejemplo n.º 1
0
 public void Copy(EBRAXStatus Status)
 {
     timeStamp   = Status.timeStamp;
     strStatus   = Status.Status;
     strEvent    = Status.Event;
     warnCounter = Status.WarnCounter;
 }
Ejemplo n.º 2
0
        public static bool Equal(EBRAXStatus Status1, EBRAXStatus Status2)
        {
            bool equal = false;

            if ((Status1.Status == Status2.Status) &&
                (Status1.Event == Status2.Event))
            {
                equal = true;
            }
            return(equal);
        }
Ejemplo n.º 3
0
        private static bool LogWriteDecide(EBRAXStatus lastReadStatus, EBRAXStatus actualReadStatus)
        {
            bool writeToLog = false;

            if ((lastReadStatus.Event == EBRAXEvents.Starting) ||
                (actualReadStatus.Event == EBRAXEvents.COMOpen) ||
                (actualReadStatus.Event == EBRAXEvents.COMSilent) ||
                (actualReadStatus.Event == EBRAXEvents.Stoping) ||
                !EBRAXStatus.Equal(lastReadStatus, actualReadStatus))
            {
                writeToLog = true;
            }

            if (actualReadStatus.Status == EBRAXStatusTypes.OK)
            {
                if (lastReadStatus.Status != EBRAXStatusTypes.Activated &&
                    lastReadStatus.Status != EBRAXStatusTypes.OK)
                {
                    writeToLog = true;
                }
                else
                {
                    writeToLog = false;
                }
            }

            if (actualReadStatus.Status == EBRAXStatusTypes.Activated)
            {
                if (actualReadStatus.WarnCounter == RS232PortReaderSrv.Default.WarningTimeout)
                {
                    writeToLog = true;
                }
                else
                {
                    writeToLog = false;
                }
            }

            if (lastReadStatus.Status == EBRAXStatusTypes.Activated &&
                actualReadStatus.Status == EBRAXStatusTypes.OK &&
                lastReadStatus.WarnCounter > RS232PortReaderSrv.Default.WarningTimeout)
            {
                writeToLog = true;
            }

            return(writeToLog);
        }
        protected override void OnStart(string[] args)
        {
            if (RS232PortReaderSrv.Default.LogLevel >= 3)
            {
                Info("Starting EBRAXRS232Service");
            }
            //Set Read Satus Variables
            EBRAXActualStatus   = new EBRAXStatus();
            EBRAXPreviousStatus = new EBRAXStatus();
            EBRAXlastTimeRead   = DateTime.Now;
            EBRAXCycle          = 0;
            //Will try to open port
            OpenPort();
            //Configuring time

            CheckIfRead.Interval = RS232PortReaderSrv.Default.ReadSleepTime;
            CheckIfRead.Enabled  = true;
        }
Ejemplo n.º 5
0
        public static int WriteToLog(string message,
                                     EBRAXStatus lastReadStatus,
                                     EBRAXStatus actualReadStatus,
                                     string EventLogSource,
                                     string EventLogLog,
                                     bool SendNDCStatus)
        {
            int result = -1;

            string LogFile = EBRAXRS232Service.pathToExe + RS232PortReaderSrv.Default.EBRAXStatusLogFile;

            using (System.IO.StreamWriter file = new System.IO.StreamWriter(LogFile, true))
            {
                try
                {
                    if (LogWriteDecide(lastReadStatus, actualReadStatus))
                    {
                        file.WriteLine(message);
                        result = 10;
                    }
                }
                catch (Exception e)
                {
                    ELog.SSource = EventLogSource;
                    ELog.SLog    = EventLogLog;
                    ELog.Error(e.Message);
                    ELog.Error(e.StackTrace);
                    result = 20;
                }
            }

            if (SendNDCStatus && LogWriteDecide(lastReadStatus, actualReadStatus))
            {
                string[] strSplitted = message.Split('\t');
                result += NDCStatusSender(int.Parse(strSplitted[3]), false, EventLogSource, EventLogLog);
            }

            return(result);
        }