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
        public void Start()
        {
            if (_isInitialized)
            {
                if (!_started)
                {
                    methodeList = new List <Action>();
                    methodeList.Add(DeviceIdent_CMD);
                    methodeList.Add(SetAccessMode_service_CMD);
                    methodeList.Add(LSPsetdatetime_CMD);
                    methodeList.Add(Run_CMD);
                    methodeList.Add(LMDscandata_E_CMD);
                    _telegram.ConnectToDevice();
                    ErrorStateCounter.ClearCounterFlags();
                    _started = true;
                    // TEST BEGIN

                    /*  timer.Interval = 50;
                     * timer.Elapsed += (sender, e) =>
                     * {*/
                    /*
                     * LMDscandata_R _scanDataObject = new LMDscandata_R();
                     * LMDscandataEventArgs _scandata = new LMDscandataEventArgs(_scanDataObject);
                     * on_LMDscandata(null, _scandata);
                     * ((Timer)sender).Enabled = true;   */
                    /*
                     * mSCrebootEventArgs _reboot = new mSCrebootEventArgs(DateTime.Now);
                     * on_mSCreboot(null, _reboot);*/
                    //    };
                    // timer.Enabled = true;
                    // TEST END
                }
            }
            else
            {
                throw new InvalidOperationException();
            }
        }