public void Rangieren(Datenstruktur datenstruktur, bool eingaengeRangieren) { if (eingaengeRangieren) { _plc.SetBitAt(datenstruktur.DigInput, (int)BitPosEingang.B1, _viewModel.AlleLastKraftWagen.B1); _plc.SetBitAt(datenstruktur.DigInput, (int)BitPosEingang.B2, _viewModel.AlleLastKraftWagen.B2); _plc.SetBitAt(datenstruktur.DigInput, (int)BitPosEingang.B3, _viewModel.AlleLastKraftWagen.B3); _plc.SetBitAt(datenstruktur.DigInput, (int)BitPosEingang.B4, _viewModel.AlleLastKraftWagen.B4); } var p1LinksRot = _plc.GetBitAt(datenstruktur.DigOutput, (int)BitPosAusgang.P1); var p2LinksGelb = _plc.GetBitAt(datenstruktur.DigOutput, (int)BitPosAusgang.P2); var p3LinksGruen = _plc.GetBitAt(datenstruktur.DigOutput, (int)BitPosAusgang.P3); var p4RechtsRot = _plc.GetBitAt(datenstruktur.DigOutput, (int)BitPosAusgang.P4); var p5RechtsGelb = _plc.GetBitAt(datenstruktur.DigOutput, (int)BitPosAusgang.P5); var p6RechtsGruen = _plc.GetBitAt(datenstruktur.DigOutput, (int)BitPosAusgang.P6); _viewModel.AlleLastKraftWagen.P7 = _plc.GetBitAt(datenstruktur.DigOutput, (int)BitPosAusgang.P7); _viewModel.AlleLastKraftWagen.P8 = _plc.GetBitAt(datenstruktur.DigOutput, (int)BitPosAusgang.P8); var linkeAmpel = GetAmpelZustand(p1LinksRot, p2LinksGelb, p3LinksGruen); var rechteAmpel = GetAmpelZustand(p4RechtsRot, p5RechtsGelb, p6RechtsGruen); if (linkeAmpel == _ampelLinks && rechteAmpel == _ampelRechts) { return; } OnAmpelChanged(new AmpelZustandEventArgs(linkeAmpel, rechteAmpel)); _ampelRechts = rechteAmpel; _ampelLinks = linkeAmpel; }
public void RangierenOutput(byte[] digOutput, byte[] anOutput) { var p1_links_rot = S7.GetBitAt(digOutput, (int)BitPosAusgang.P1); var p2_links_gelb = S7.GetBitAt(digOutput, (int)BitPosAusgang.P2); var p3_links_gruen = S7.GetBitAt(digOutput, (int)BitPosAusgang.P3); var p4_rechts_rot = S7.GetBitAt(digOutput, (int)BitPosAusgang.P4); var p5_rechts_gelb = S7.GetBitAt(digOutput, (int)BitPosAusgang.P5); var p6_rechts_gruen = S7.GetBitAt(digOutput, (int)BitPosAusgang.P6); var ampelLinks = GetAmpelZustand(p1_links_rot, p2_links_gelb, p3_links_gruen); var ampelRechts = GetAmpelZustand(p4_rechts_rot, p5_rechts_gelb, p6_rechts_gruen); if (ampelLinks != AmpelLinks || ampelRechts != AmpelRechts) { OnAmpelChanged(new AmpelZustandEventArgs(ampelLinks, ampelRechts)); AmpelRechts = ampelRechts; AmpelLinks = ampelLinks; } }
public AmpelZustandEventArgs(AmpelZustand ampelZustandLinks, AmpelZustand ampelZustandRechts) { AmpelZustandLinks = ampelZustandLinks; AmpelZustandRechts = ampelZustandRechts; }