Ejemplo n.º 1
0
        public void Initialize(string configuration, TraceWrapper traceWrapper)
        {
            try
            {
                _laserConfig  = LaserConfig.LoadFromXml <LaserConfig>(configuration);
                _traceWrapper = traceWrapper;

                _traceWrapper.WriteInformation("Laser initialization start.");
                _traceWrapper.WriteVerbose(string.Format("Configuration: {0}", configuration));

                _telegram = new TelegramsOperating(_laserConfig.IPAddress, 2111, traceWrapper);
                _telegram.ConnectingSuccessed    += new ConnectingSuccessedEventHandler(on_ConnectingSuccessed);
                _telegram.ConnectingFailed       += new ConnectingFailedEventHandler(on_ConnectingFailed);
                _telegram.CommandReceivingFailed += new CommandReceivingFailedEventHandler(on_CommandReceivingFailed);
                _telegram.CommandSendingFailed   += new CommandSendingFailedEventHandler(on_CommandSendingFailed);
                _telegram.Sopas_Error_CMD        += new EventHandler <SopasErrorEventArgs>(on_SopasError);
                _telegram.SetAccessMode_CMD      += new EventHandler <SetAccessModeEventArgs>(on_SetAccessMode);
                _telegram.LSPsetdatetime_CMD     += new EventHandler <LSPsetdatetimeEventArgs>(on_LSPsetdatetime);
                _telegram.Run_CMD            += new EventHandler <RunEventArgs>(on_Run);
                _telegram.LMDscandataE_CMD   += new EventHandler <LMDscandataEEventArgs>(on_LMDscandataE);
                _telegram.LMDscandata_CMD    += new EventHandler <LMDscandataEventArgs>(on_LMDscandata);
                _telegram.mSCreboot_CMD      += new EventHandler <mSCrebootEventArgs>(on_mSCreboot);
                _telegram.mDOSetOutput_CMD   += new EventHandler <mDOSetOutputEventArgs>(on_mDOSetOutput);
                _telegram.mLMPsetscancfg_CMD += new EventHandler <mLMPsetscancfgEventArgs>(on_mLMPsetscancfg);
                _telegram.LMDscandatacfg_CMD += new EventHandler <LMDscandatacfgEventArgs>(on_LMDscandatacfg);
                _telegram.DeviceIdent_CMD    += new EventHandler <DeviceIdentEventArgs>(on_DeviceIdent);

                Run_CMD = start_Run;
                SetAccessMode_client_CMD      = start_SetAccessMode_client;
                SetAccessMode_maintenance_CMD = start_SetAccessMode_maintenance;
                SetAccessMode_service_CMD     = start_SetAccessMode_service;
                LSPsetdatetime_CMD            = start_LSPsetdatetime;
                LMDscandata_E_CMD             = start_LMDscandata_E;
                mSCreboot_CMD      = start_mSCreboot;
                mDOSetOutput_CMD   = start_mDOSetOutput;
                mLMPsetscancfg_CMD = start_mLMPsetscancfg;
                LMDscandatacfg_CMD = start_LMDscandatacfg;
                DeviceIdent_CMD    = start_DeviceIdent;
                if ((_laserConfig.TriggerOutputChannelNumber > 0) && (_laserConfig.TriggerOutputChannelNumber < 7))
                {
                    _maskDigitalOutputs = (byte)(1 << (_laserConfig.TriggerOutputChannelNumber - 1));
                }
                else
                {
                    _maskDigitalOutputs = (byte)(1);
                }
                _isInitialized = true;
                ErrorStateCounter.PrintPropertiesSettings();
                _traceWrapper.WriteInformation("Laser initialization end.");
            }
            catch (Exception ex)
            {
                _traceWrapper.WriteError(new ApplicationException("Unhandled exception in LaserDriver.Initialize()", ex));
            }
        }
Ejemplo n.º 2
0
 private string getLaserConfig()
 {
     try
     {
         using (FromIniOfFile laserConfigFromIniFile = new FromIniOfFile())
         {
             uint pwd;
             laserConfigFromIniFile.ReadData();
             LaserConfig laserConfig = new LaserConfig();
             if (laserConfigFromIniFile.FactoryDefault)
             {
                 laserConfig.SetDefaults();
             }
             else
             {
                 laserConfig.IPAddress = laserConfigFromIniFile.IpAddress;
                 if ((laserConfigFromIniFile.TriggerOutputChannelNumber > 0) && (laserConfigFromIniFile.TriggerOutputChannelNumber < 7))
                 {
                     laserConfig.TriggerOutputChannelNumber = laserConfigFromIniFile.TriggerOutputChannelNumber;
                 }
                 else
                 {
                     throw new Exception("Bad Trigger Output Channel Number of laser from 'lms511.ini' file, from 1 to 6!");
                 }
                 try
                 {
                     pwd = UInt32.Parse(laserConfigFromIniFile.Password_maintenance, NumberStyles.HexNumber);
                 }
                 catch (Exception)
                 {
                     throw new Exception("Bad Password_maintenance of laser from 'lms511.ini' file, not hexa format");
                 }
                 laserConfig.PWD_maintenance = pwd;
                 try
                 {
                     pwd = UInt32.Parse(laserConfigFromIniFile.Password_authorized_client, NumberStyles.HexNumber);
                 }
                 catch (Exception)
                 {
                     throw new Exception("Bad Password_authorized_client of laser from 'lms511.ini' file, not hexa format");
                 }
                 laserConfig.PWD_authorized_client = pwd;
                 try
                 {
                     pwd = UInt32.Parse(laserConfigFromIniFile.Password_service, NumberStyles.HexNumber);
                 }
                 catch (Exception)
                 {
                     throw new Exception("Bad Password_service  of laser from 'lms511.ini' file, not hexa format");
                 }
                 laserConfig.PWD_service = pwd;
             }
             return laserConfig.SaveToXml();
         }
     }
     catch (Exception)
     {
         throw;
     }
 }