private void BT_AutomaticAll_Click(object sender, RoutedEventArgs e) { inputDialog = new Utilidades.messageBox("Automático", "Deseja Passar os equipamentos para automático!", MaterialDesignThemes.Wpf.PackIconKind.Information, "Sim", "Não"); if (inputDialog.ShowDialog() == true) { VariaveisGlobais.Buffer_PLC[0].Enable_Read = false; dummyAuxiliaresProcesso = Utilidades.VariaveisGlobais.auxiliaresBooleanos; dummyAuxiliaresProcesso.Automatico_Equips = true; Utilidades.VariaveisGlobais.auxiliaresBooleanos = dummyAuxiliaresProcesso; Comunicacao.Sharp7.S7.SetDWordAt(VariaveisGlobais.Buffer_PLC[0].Buffer, 126, Move_Bits.AuxiliaresBooleanasToDword(Utilidades.VariaveisGlobais.auxiliaresBooleanos)); //Atualiza os Bits do command VariaveisGlobais.Buffer_PLC[0].Enable_Write = true; } }
private void timer_Tick(object sender, EventArgs e) { lbAno.Content = DateTime.Now.Year; lbDiaMes.Content = DateTime.Now.Day + "/" + DateTime.Now.Month; lbHorario.Content = DateTime.Now.Hour + ":" + DateTime.Now.Minute + ":" + DateTime.Now.Second; VariaveisGlobais.CommunicationPLC.readBuffersPLC(); //Chama a leitura no PLC //Verifica se esta lendo valor válido do CLP if (Comunicacao.Sharp7.S7.GetIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[0].Buffer, 0) == 1000) { //Verifica se está bloqueado ou não a balança. if (!VariaveisGlobais.balancaPrincipal.BloqueiaLeitura_GS) { //Atualiza Balança VariaveisGlobais.balancaPrincipal.LeituraModbus(); //Escreve o peso lido da balança //Lembrando que -1 simboliza erro na leitura. VariaveisGlobais.balancaPrincipal.EscritaCLP(2, 2); } ////Atualiza Dword Geral de auxiliares Processo. Utilidades.VariaveisGlobais.auxiliaresBooleanos = Move_Bits.DwordTocontroleAuxiliaresBooleanas(Comunicacao.Sharp7.S7.GetDWordAt(Utilidades.VariaveisGlobais.Buffer_PLC[0].Buffer, 126), Utilidades.VariaveisGlobais.auxiliaresBooleanos); //Atualzia SIlo VariaveisGlobais.Fluxo.AtualizaFluxo(); //Atualização Equip VariaveisGlobais.Fluxo.BMP1_Designer.actualize_Equip = true; VariaveisGlobais.Fluxo.BMP2_Designer.actualize_Equip = true; VariaveisGlobais.Fluxo.TD1_Designer.actualize_Equip = true; VariaveisGlobais.Fluxo.FM1_Designer.actualize_Equip = true; VariaveisGlobais.Fluxo.RP1_Designer.actualize_Equip = true; VariaveisGlobais.Fluxo.RP2_Designer.actualize_Equip = true; VariaveisGlobais.Fluxo.RP3_Designer.actualize_Equip = true; } if (Comunicacao.Sharp7.S7.GetIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 0) == 1000) { if (Utilidades.VariaveisGlobais.Buffer_PLC[1].Enable_Read) { VariaveisGlobais.controleProducao.Producao0 = Comunicacao.Sharp7.S7.GetDIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 2); VariaveisGlobais.controleProducao.Producao1 = Comunicacao.Sharp7.S7.GetDIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 6); VariaveisGlobais.controleProducao.Producao2 = Comunicacao.Sharp7.S7.GetDIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 10); VariaveisGlobais.controleProducao.Producao3 = Comunicacao.Sharp7.S7.GetDIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 14); VariaveisGlobais.controleProducao = Move_Bits.WordToControleProducao(Comunicacao.Sharp7.S7.GetWordAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 18), VariaveisGlobais.controleProducao); VariaveisGlobais.controleProducao.StatusDosagem = Comunicacao.Sharp7.S7.GetIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 20); VariaveisGlobais.controleProducao.StatusMistura = Comunicacao.Sharp7.S7.GetIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 22); VariaveisGlobais.controleProducao.StatusExpedicao = Comunicacao.Sharp7.S7.GetIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 24); VariaveisGlobais.controleProducao.PesoDosar = Comunicacao.Sharp7.S7.GetRealAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 26); VariaveisGlobais.controleProducao.PesoTolerancia = Comunicacao.Sharp7.S7.GetRealAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 30); VariaveisGlobais.controleProducao.TempoMistura = Comunicacao.Sharp7.S7.GetDIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 34); VariaveisGlobais.controleProducao.TempoEstabilizacao = Comunicacao.Sharp7.S7.GetDIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 38); VariaveisGlobais.controleProducao.TempoPulmaoVazio = Comunicacao.Sharp7.S7.GetDIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 42); VariaveisGlobais.controleProducao.Peso_Total_Produzindo = Comunicacao.Sharp7.S7.GetRealAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 46); VariaveisGlobais.controleProducao.Peso_Parcial_Produzindo = Comunicacao.Sharp7.S7.GetRealAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 50); VariaveisGlobais.controleProducao.TempoLimpezaDosagem = Comunicacao.Sharp7.S7.GetDIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 54); VariaveisGlobais.controleProducao.TempoLimpezaMisturador = Comunicacao.Sharp7.S7.GetDIntAt(Utilidades.VariaveisGlobais.Buffer_PLC[1].Buffer, 58); } controleDosagemProdutos(); controleFinalizaProducao(); } VariaveisGlobais.CommunicationPLC.writeBufferPLC();//Chama a escrita no PLC }
private void btEmergencia_Click(object sender, RoutedEventArgs e) { VariaveisGlobais.AuxiliaresBooleanas dummyAuxiliaresProcesso = Utilidades.VariaveisGlobais.auxiliaresBooleanos; if (dummyAuxiliaresProcesso.Emergencia) { inputDialog = new Utilidades.messageBox("Emergência", "Deseja retirar de emergência os equipamentos!", MaterialDesignThemes.Wpf.PackIconKind.Information, "Sim", "Não"); if (inputDialog.ShowDialog() == true) { VariaveisGlobais.Buffer_PLC[0].Enable_Read = false; dummyAuxiliaresProcesso.Emergencia = false; Utilidades.VariaveisGlobais.auxiliaresBooleanos = dummyAuxiliaresProcesso; Comunicacao.Sharp7.S7.SetDWordAt(VariaveisGlobais.Buffer_PLC[0].Buffer, 126, Move_Bits.AuxiliaresBooleanasToDword(Utilidades.VariaveisGlobais.auxiliaresBooleanos)); //Atualiza os Bits do command VariaveisGlobais.Buffer_PLC[0].Enable_Write = true; } } else { inputDialog = new Utilidades.messageBox("Emergência", "Deseja colocar em emergência os equipamentos!", MaterialDesignThemes.Wpf.PackIconKind.Information, "Sim", "Não"); if (inputDialog.ShowDialog() == true) { VariaveisGlobais.Buffer_PLC[0].Enable_Read = false; dummyAuxiliaresProcesso.Emergencia = true; Utilidades.VariaveisGlobais.auxiliaresBooleanos = dummyAuxiliaresProcesso; Comunicacao.Sharp7.S7.SetDWordAt(VariaveisGlobais.Buffer_PLC[0].Buffer, 126, Move_Bits.AuxiliaresBooleanasToDword(Utilidades.VariaveisGlobais.auxiliaresBooleanos)); //Atualiza os Bits do command VariaveisGlobais.Buffer_PLC[0].Enable_Write = true; } } }