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); }
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) { } }
//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); }