コード例 #1
0
        public PlcMacchinaManager(RS232Param connectionPLC, RS232Param connectionMovimentazioni)
        {
            // |MP   FATTA INTERA REGIONE
            #region modificheMAX
            bool bINDIRIZZO_PLC_TESTA     = false;
            bool bINDIRIZZO_PLC_LIVELLO   = false;
            bool bINDIRIZZO_PLC_ESPULSORE = false;

            try
            {
                foreach (System.Configuration.SettingsProperty proprieta in Properties.Settings.Default.Properties)
                {
                    Console.WriteLine("foreach proprieta: {0}", proprieta.Name);
                    if ("INDIRIZZO_PLC_LIVELLO".Equals(proprieta.Name))
                    {
                        Console.WriteLine("foreach proprieta.DefaultValue: {0}", proprieta.DefaultValue);
                        INDIRIZZO_PLC_LIVELLO = int.Parse(proprieta.DefaultValue.ToString(), System.Globalization.NumberStyles.HexNumber);
                        Console.WriteLine("foreach INDIRIZZO_PLC_LIVELLO: {0}", INDIRIZZO_PLC_LIVELLO);
                        bINDIRIZZO_PLC_LIVELLO = true;
                    }
                    if ("INDIRIZZO_PLC_MACCHINA".Equals(proprieta.Name))
                    {
                        Console.WriteLine("foreach proprieta.DefaultValue: {0}", proprieta.DefaultValue);
                        INDIRIZZO_PLC_MACCHINA = int.Parse(proprieta.DefaultValue.ToString(), System.Globalization.NumberStyles.HexNumber);
                        Console.WriteLine("foreach INDIRIZZO_PLC_MACCHINA: {0}", INDIRIZZO_PLC_MACCHINA);
                    }
                    if ("INDIRIZZO_PLC_TESTA".Equals(proprieta.Name))
                    {
                        Console.WriteLine("foreach proprieta.DefaultValue: {0}", proprieta.DefaultValue);
                        INDIRIZZO_PLC_TESTA = int.Parse(proprieta.DefaultValue.ToString(), System.Globalization.NumberStyles.HexNumber);
                        Console.WriteLine("foreach INDIRIZZO_PLC_TESTA: {0}", INDIRIZZO_PLC_TESTA);
                        bINDIRIZZO_PLC_TESTA = true;
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }

            this.CPDManagerPLC            = new CPD.CPDManager(connectionPLC);
            this.CPDManagerMovimentazioni = new CPD.CPDManager(connectionMovimentazioni);
            if (bINDIRIZZO_PLC_TESTA)
            {
                this.MotoreTesta = new MotoreManager(this.CPDManagerMovimentazioni, INDIRIZZO_PLC_TESTA);
            }

            if (bINDIRIZZO_PLC_LIVELLO)
            {
                this.MotoreLivello = new MotoreManager(this.CPDManagerMovimentazioni, INDIRIZZO_PLC_LIVELLO);
            }

            #endregion modificheMAX

            readTimer = new System.Timers.Timer();
            // lo imposto a 50 per avere una prima lettura immediata, poi lo metto a INTERVALLO_LETTURA
            readTimer.Interval = 50;
            readTimer.Elapsed += new System.Timers.ElapsedEventHandler(readTimer_Tick);
            readTimer.Start();
        }
コード例 #2
0
 public ServoCore(RS232Param connection)
 {
     try
     {
         manager = new Servo.ServoManager(connection.PortName
                                          , (uint)connection.BaudRate
                                          , connection.Parity
                                          , (byte)connection.DataBits
                                          , connection.StopBits
                                          , 250);
     }
     catch (Exception)
     {
         throw;
     }
 }