Alles im Griff
So Jungs bis jetzt sieht es gut aus...
Jetzt nur noch erweitern.
Ich kann BITS, BYTES, Worte oder Doppelworte lesen und schreiben...
Kann die PLC Sim beeinflussen wie ich mag... die COM Schnittstelle zur PLCSIM über das PROSIM geht super...
'Get MB10 cyclic by Visual Basic Timer
PrivateSub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
' Initialiesierung und Definition der Werte
Dim Value AsUShort
Dim Pumpe AsBoolean
Dim Druck As Int16
Dim Druck2 As Int16
Dim Ausgang_Pumpenbyte As Int16
Dim Ausgang_Pumpenbit As Int16
Dim Rueck_Pumpenbyte As Int16
Dim Rueck_Pumpenbit As Int16
Dim Druck_eingabe As Int16
Dim Druck_PEW As Int16
Dim Druck_eingabe2 As Int16
Dim Druck_PEW2 As Int16
'Anlagenwort lesen der Dezimalzahl
MyProSim.ReadFlagValue(10, 0, S7PROSIMLib.PointDataTypeConstants.S7_Byte, Value)
txtValue.Text = Value
'Anlagenwort lesen der einzelnen Bits
MyProSim.ReadFlagValue(10, 7, S7PROSIMLib.PointDataTypeConstants.S7_Bit, chkbBit7.Checked)
MyProSim.ReadFlagValue(10, 6, S7PROSIMLib.PointDataTypeConstants.S7_Bit, chkbBit6.Checked)
MyProSim.ReadFlagValue(10, 5, S7PROSIMLib.PointDataTypeConstants.S7_Bit, chkbBit5.Checked)
MyProSim.ReadFlagValue(10, 4, S7PROSIMLib.PointDataTypeConstants.S7_Bit, chkbBit4.Checked)
MyProSim.ReadFlagValue(10, 3, S7PROSIMLib.PointDataTypeConstants.S7_Bit, chkbBit3.Checked)
MyProSim.ReadFlagValue(10, 2, S7PROSIMLib.PointDataTypeConstants.S7_Bit, chkbBit2.Checked)
MyProSim.ReadFlagValue(10, 1, S7PROSIMLib.PointDataTypeConstants.S7_Bit, chkbBit1.Checked)
MyProSim.ReadFlagValue(10, 0, S7PROSIMLib.PointDataTypeConstants.S7_Bit, chkbBit0.Checked)
'Pumpe1 lesen des Ausgangs
Ausgang_Pumpenbyte = NumericUpDown1.Value
Ausgang_Pumpenbit = NumericUpDown2.Value
MyProSim.ReadOutputPoint(Ausgang_Pumpenbyte, Ausgang_Pumpenbit, S7PROSIMLib.PointDataTypeConstants.S7_Bit, Pumpe)
'Abfrage auf den Zustand der Pumpe und eingebaren Wert f�r das PEW sowie R�ckmeldung
Rueck_Pumpenbyte = NumericUpDown4.Value
Rueck_Pumpenbit = NumericUpDown3.Value
'Lesen aus Eingabefelder
Druck_eingabe = NumericUpDown5.Value
Druck_PEW = Int(NumericUpDown6.Value)
Druck_eingabe2 = NumericUpDown8.Value
Druck_PEW2 = Int(NumericUpDown7.Value)
'Abfrage
If Pumpe = TrueThen Druck = Druck_eingabe Else Druck = 0
If Pumpe = TrueThen Druck2 = Druck_eingabe2 Else Druck2 = 0
'Schreiben der R�ckmeldung
MyProSim.WriteInputPoint(Rueck_Pumpenbyte, Rueck_Pumpenbit, Pumpe)
'Schreiben der PEWs wenn checkBox gesetzt
If CheckBox1.Checked = TrueThen
MyProSim.WriteInputPoint(Druck_PEW, 0, Druck)
MyProSim.WriteInputPoint(Druck_PEW2, 0, Druck2)
EndIf
EndSub
__________________________________________________________
Nen Teil an Code hab ich weggelassen, weil es das Siemens Beispiel Projekt ist. Wichtig ist das Format INT16 weil in der "hochsprache" das INT 32 Bits hat. Das hat ne menge Zeit beim Debuggen gefressen, weil man das Nachbar PEW mit überbügelt hat.