93 lines
3.1 KiB
QBasic
93 lines
3.1 KiB
QBasic
Attribute VB_Name = "modPruefung"
|
|
Option Explicit
|
|
|
|
|
|
|
|
|
|
Public Sub PrintStatusOnForm(myForm As Form, strText As String)
|
|
On Error GoTo Errorhandler
|
|
Debug.Print strText
|
|
myForm.PrintStatus strText
|
|
Exit Sub
|
|
Errorhandler:
|
|
Debug.Print Err.Description
|
|
End Sub
|
|
|
|
Public Sub AlleBehaelterLeeren(myForm As Form, m_SPS As CSPS, m_Waage As CWaage, Optional BehaelterVorher As CBehaelter)
|
|
Dim i As Integer
|
|
On Error GoTo Errorhandler
|
|
Dim bytealleAblassen As Byte
|
|
Dim BehaelterTemp As CBehaelter
|
|
|
|
If Not g_ohneSPS Then
|
|
PrintStatusOnForm myForm, "alle Behälter ganz leeren."
|
|
|
|
' bytealleAblassen bestimmen um alle Behälter leeren
|
|
For i = 1 To 4
|
|
Set BehaelterTemp = New CBehaelter
|
|
If BehaelterTemp.LoadFromIni(i) Then
|
|
bytealleAblassen = bytealleAblassen Or BehaelterTemp.m_AblassAnwahl
|
|
End If
|
|
Next
|
|
|
|
' alle Behälter nacheinander
|
|
For i = 1 To 4
|
|
If g_App.Settings.GetBehaelterAlleinLeeren(i) = True Then
|
|
' Hier soll nur ein Behälter zur selben Zeit geleert werden
|
|
' der andere soll warten
|
|
If BehaelterTemp.LoadFromIni(i) Then
|
|
m_SPS.setBehaelter BehaelterTemp.m_BehaelterAnwahl
|
|
m_SPS.WassserAblassen BehaelterTemp.m_AblassAnwahl
|
|
PrintStatusOnForm myForm, "Wasser Ablassen aus Behälter " & BehaelterTemp.m_OVolumen & " l"
|
|
End If
|
|
Else
|
|
' alle Behälter gleichzeitig leeren
|
|
m_SPS.WassserAblassen bytealleAblassen
|
|
PrintStatusOnForm myForm, "Wasser Ablassen aus allen Behältern."
|
|
End If
|
|
|
|
PrintStatusOnForm myForm, " Wartezeit auf Ventile: 15s"
|
|
Sleep 16000, True
|
|
|
|
Set BehaelterTemp = New CBehaelter
|
|
If BehaelterTemp.LoadFromIni(i) Then
|
|
' es gibt diesen Behälter
|
|
m_Waage.Initialize (i)
|
|
If m_Waage.m_Waagenart <> WAAGENART_FUELLSTAND Then
|
|
If BehaelterTemp.m_WaageAnwahl > 0 Then
|
|
m_Waage.Anwahl BehaelterTemp.m_WaageAnwahl
|
|
PrintStatusOnForm myForm, "Anwahl Waage " & BehaelterTemp.m_WaageAnwahl
|
|
End If
|
|
PrintStatusOnForm myForm, "Warte bis " & BehaelterTemp.m_OVolumen & " l-Behälter ganz leer ist..."
|
|
BehaelterTemp.WarteBisLeer
|
|
End If
|
|
End If
|
|
Next
|
|
' Behälter leeren beenden, Pumpe aus oder Ventil zu
|
|
m_SPS.WassserAblassen 0
|
|
|
|
If Not BehaelterVorher Is Nothing Then
|
|
m_SPS.setBehaelter BehaelterVorher.m_BehaelterAnwahl
|
|
PrintStatusOnForm myForm, "Behälter " & BehaelterVorher.m_OVolumen & "l ist wieder angewählt."
|
|
End If
|
|
|
|
End If
|
|
|
|
|
|
Exit Sub
|
|
Errorhandler:
|
|
ErrorMsg "Fehler " & Err.Number & " in Funktion 'alleBehaelterLeeren': " & Err.Description
|
|
Exit Sub
|
|
Resume
|
|
Exit Sub
|
|
Resume Next
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|