Пример #1
0
 private void CheckPortOpen()
 {
     if (_hPort == 0)
     {
         throw ExceptionSafetyController.Create(ErrorCodeSafetyController.SerialPortOpenError, _ErrorMessage);
     }
 }
Пример #2
0
 public void ClosePort()
 {
     try
     {
         if (_hPort != 0)
         {
             serialPort.Close();
             _hPort = 0;
         }
     }
     catch (Win32Exception)
     { throw ExceptionSafetyController.Create(ErrorCodeSafetyController.INTERNAL_ERR, _ErrorMessage); }
 }
Пример #3
0
        // Methods -------------------------------------------------------------

        public void OpenPort(String port, int baud, int parity, int dataBits, int stopBits)
        {
            _port = port;

            try
            {
                if (_hPort == 0)
                {
                    if (serialPort == null)
                    {
                        serialPort               = new SerialPort(port, baud);
                        serialPort.Encoding      = System.Text.Encoding.GetEncoding(437);
                        serialPort.ReadTimeout   = Rfid_TimeOut;
                        serialPort.DataBits      = dataBits;
                        serialPort.StopBits      = StopBits.One;
                        serialPort.Parity        = Parity.Even;
                        serialPort.NewLine       = "\r";
                        serialPort.DtrEnable     = true;
                        serialPort.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort_DataReceived);
                    }

                    if (!serialPort.IsOpen)
                    {
                        serialPort.Open();

                        if (serialPort.IsOpen)
                        {
                            /*Clear Serial Port Buffer*/
                            serialPort.DiscardInBuffer();
                            serialPort.DiscardOutBuffer();
                            _hPort = 1;
                        }
                    }
                }

                //////

                CheckPortOpen();
            }
            catch (Win32Exception)
            { throw ExceptionSafetyController.Create(ErrorCodeSafetyController.INTERNAL_ERR, _ErrorMessage); }
        }
Пример #4
0
        public static ExceptionSafetyController Create(ErrorCodeSafetyController errorCode, string message)
        {
            string   errorMessage = "";
            Severity severity     = Severity.None;

            switch (errorCode)
            {
            case ErrorCodeSafetyController.Unknown:
                errorMessage = "Unknown error.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.MEMORY_ERR:
                errorMessage = "Memory error. The internal data structures couldn't be allocated.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.RANGE_ERR:
                errorMessage = "Parameter out of range error.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.NOT_FOUND:
                errorMessage = "Station code not found error.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.NOT_NEXT:
                errorMessage = "Station is out of sequence error.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.CHECKSUM_ERR:
                errorMessage = "Check sum error found on received data from Safety Controller.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.WRITECOUNT_ERR:
                errorMessage = "The maximum number of write cycles has been reached on the RFID chip for the tray at the " + message + ".";
                severity     = Severity.Error;
                break;

            //case ErrorCodeSafetyController.INVALID_ID:
            //    break;
            case ErrorCodeSafetyController.WRITE_VERIFY_ERR:
                errorMessage = "Read after write failure.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.TIMEOUT_ERR:
                errorMessage = "No data was received error.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.ASYNC_BUSY:
                errorMessage = "An asynchronous operation is already running.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.ASYNC_FAIL:
                errorMessage = "The asynchronous operation failed.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.NO_DATA:
                errorMessage = " Data carrier missing.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.INTERNAL_ERR:
                errorMessage = "DLL internal error.";
                severity     = Severity.Error;
                break;

            case ErrorCodeSafetyController.SerialPortError:
                errorMessage = "ErrorCodeSafetyController on port " + message + ".  Check that all cables are connected and the port is not being used by another application.";
                break;

            case ErrorCodeSafetyController.SerialPortOpenError:
                errorMessage = "ErrorCodeSafetyController opening port " + message + ".  Check that it is not being used by another application.";
                break;

            case ErrorCodeSafetyController.WRITEPROTECT_ERR:
                errorMessage = "RFID Write Protect Error.";
                break;

            default:
                errorMessage = "Omron internal error reading/writing the RFID tag on the tray at the " + message + ".";
                severity     = Severity.Error;
                break;
            }

            ExceptionSafetyController ex = new ExceptionSafetyController(errorMessage);

            ex.severity   = severity;
            ex._errorCode = errorCode;
            return(ex);
        }