Exemplo n.º 1
0
        private void CambioRicettaMacchina(DataType.CPDParamFixed paramFixed, DataType.CPDParam param)
        {
            double mm_to_impulsi = (paramFixed.ImpulsiEncoder * 4) / (paramFixed.DiametroPuleggia * Math.PI);

            int[] address = new int[] { WM26, WM27, WM28, WM29, WM30, WM31, WM20, WM21, WM22 };
            int[] value   = new int[]
            {
                (int)(param.DistanzaCameraLivello * mm_to_impulsi)
                , (int)(param.DistanzaCameraTappo * mm_to_impulsi)
                , param.NumeroScartiConsecutivi
                , (int)(param.FiltroBottiglieContigue * mm_to_impulsi)
                , paramFixed.DiametroPuleggia
                , paramFixed.ImpulsiEncoder
                , (int)(paramFixed.Libero1 * mm_to_impulsi)
                , (int)(paramFixed.Libero2 * mm_to_impulsi)
                , paramFixed.Libero3
            };

            this.ScriviPlc(INDIRIZZO_PLC_MACCHINA, address, value);

            Thread.Sleep(100);

            // indica al plc di ricaricare i valori scritti
            InviaComando(Comandi.RICALCOLA);
        }
Exemplo n.º 2
0
        public void CambioRicetta(DataType.CPDParamFixed paramFixed, DataType.CPDParam param)
        {
            CambioRicettaMacchina(paramFixed, param);
            //CambioRicettaLivello(paramFixed, param);
            if (Properties.Settings.Default.UsaEspulsore)
            {
                CambioRicettaEspulsore(paramFixed, param);
            }

            try
            {
                DataType.SlittaParamFixed paramSlitta = DataType.SlittaParamFixed.Deserialize(Path.Combine(Properties.Settings.Default.DatiVisionePath, "SLITTA.xml"));
                paramSlitta = paramSlitta ?? new DataType.SlittaParamFixed();

                this.MotoreTesta.CambioRicetta(paramSlitta.OffsetTestaNastro);
            }
            catch (Exception) { }
        }
Exemplo n.º 3
0
        //private void CambioRicettaLivello(DataType.CPDParamFixed paramFixed, DataType.CPDParam param)
        //{
        //    int[] address = new int[] { WM28 };
        //    int[] value = new int[]
        //    {
        //        param.NumeroScartiConsecutivi
        //    };

        //    this.ScriviPlc(INDIRIZZO_PLC_LIVELLO, address, value);
        //}

        private void CambioRicettaEspulsore(DataType.CPDParamFixed paramFixed, DataType.CPDParam param)
        {
            int[] address = new int[] { WM11, WM12, WM13, WM14, WM15, WM16, WM17 };
            int[] value   = new int[]
            {
                paramFixed.DistanzaFotocellulaOutLivello
                , paramFixed.DistanzaFotocellulaOutTappo
                , param.DurataAttivazionePaletta
                , paramFixed.DirezioneEspulsione
                , param.PaletteOnOff
                , paramFixed.ImpulsiEncoder
                , paramFixed.DiametroPuleggia
            };

            this.ScriviPlc(INDIRIZZO_PLC_ESPULSORE, address, value);

            Thread.Sleep(100);

            // indica al plc di ricaricare i valori scritti
            this.ScriviPlc(INDIRIZZO_PLC_ESPULSORE, WM1, 255);
        }