![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo es gibt bereit eine erste Version. Die CC-Schaltet Zeitgesteuert die Pumpen und die Meßwerte werden auf gezeichnet. Es ist möglich die Pumpen vom PC zu schalten und die gespeicherten Messwerte mit Excel auszulesen. Das VB-Programm ist eigenständig un mit VB 6.0 realisiert. Nur wie kann ich von dem VB Programm die Schaltzeiten der Pumpen ändern und diese wiederrum in meinem VB-Programm anzeigen lassen ? Hier das Programm was bislang in der Station läuft: '********************************************************************************************* ' ' C-Control Station/BASIC ' Steuerprogramm mit Zeitsteuerung der Pumpen ' ' Aufgabe: ' ' Steuerung der Filteranlage ' Ausgabe von Meßwerten an den PC ' Kommmandos vom Leitrechner empfangen ' Meßwerte aufzeichnen und auf Kommando an Leitrechner senden '********************************************************************************************* ' --- Definitionen -------------------- define Ausgang byteport[1] define Eingang byteport[2] define AD1 AD[1] ' AD 1 --- define AD2 AD[2] ' AD 2 Batterie - Strom define AD3 AD[3] ' AD 3 Start Taster define AD4 AD[4] ' AD 4 Reset Taster define AD5 AD[5] ' AD 5 Lufttemperatur define AD6 AD[6] ' AD 6 Wassertemperatur define AD7 AD[7] ' AD 7 Batteriespannung define AD8 AD[8] ' AD 8 Netzspannung define Kommando byte define Gruppe Byte define UVC port[8] 'Definition Relais UV - Klärer define Luft port[7] 'Definition Relais Belüftungspumpe define Pumpe1 port[3] 'Definition Digitalport Pumpe 1 define Pumpe2 port[4] 'Definition Digitalport Pumpe 2 define Überlauf port[5] 'Definition Digitalport Schwimmschalter Überlauf define LED1 port[13] 'Definition Betriebsmodusanzeige LED 1 define LED2 port[14] 'Definition Betriebsmodusanzeige LED 2 define LED3 port[15] 'Definition Betriebsmodusanzeige LED 3 define LED4 port[16] 'Definition Betriebsmodusanzeige LED 4 define F1 port[9] 'Definition Folien-Funktionstaster Fl define F2 port[10] 'Definition Folien-Funktionstaster F2 define F3 port[11] 'Definition Folien-Funktionstaster F3 define F4 port[12] 'Definition Folien-Funktionstaster F4 define F1gedrueckt bit[189] define F2gedrueckt bit[190] define F3gedrueckt bit[191] define F4gedrueckt bit[192] define StörungAktiv bit[180] define BitAnfang bit[180] define Wert byte define n Word define Minuten byte define Sekunde byte ' --- Programmoperationen ------------- beep 250,30,5 Minuten = 0 'erste Messung bei dieser MinuteX starten (einmalige Vorgabe beim Start) Luft = OFF UVC = OFF Pumpe1 = OFF Pumpe2 = OFF '################################################################################################## 'Programm: #Loop '-------------------------------------------------------------------------------------------------- 'Zeitprogramm für Pumpe 1 und Pumpe 2 AKTUELL !!! 26.09.2008 !!!!! if (hour = 10) and (minute = 0) then Pumpe1 = ON 'Pumpe 1 einschalten if (hour = 10) and (minute = 0) then Luft = ON if (hour = 10) and (minute = 0) then UVC = ON if (hour = 18) and (minute = 0) then Pumpe1 = OFF 'Pumpe 1 ausschalten if (hour = 18) and (minute = 0) then Luft = OFF if (hour = 18) and (minute = 0) then UVC = OFF if rxd then gosub loop12 'Kommandosignal vom Leitrechner abfragen '-------------------------------------------------------------------------------------------------- ' Abfrage der eingeschalteten Pumpen und Anzeigen an den LED´s LED1 = Pumpe1 LED2 = Pumpe2 LED3 = Luft LED4 = UVC '-------------------------------------------------------------------------------------------------- ' Tastenabfrage an der C-Control Station if F1 then F1gedrueckt = OFF ' F1 losgelassen merken if F1 or F1gedrueckt then goto NotF1 ' F1 neu gedrueckt? F1gedrueckt = ON ' F1 gedrueckt merken tog Pumpe1 ' Zustandswechsel nur einmal, bis F1 wieder losgelassen wait 1 ' Taste entprellen #NotF1 if F2 then F2gedrueckt = OFF ' F2 losgelassen merken if F2 or F2gedrueckt then goto NotF2 ' F2 neu gedrueckt? F2gedrueckt = ON ' F2 gedrueckt merken tog Pumpe2 ' Zustandswechsel nur einmal, bis F1 wieder losgelassen wait 1 ' Taste entprellen #NotF2 if F3 then F3gedrueckt = OFF ' F3 losgelassen merken if F3 or F3gedrueckt then goto NotF3 ' F3 neu gedrueckt? F3gedrueckt = ON ' F3 gedrueckt merken tog Luft ' Zustandswechsel nur einmal, bis F3 wieder losgelassen wait 1 ' Taste entprellen #NotF3 if F4 then F4gedrueckt = OFF ' F4 losgelassen merken if F4 or F4gedrueckt then goto NotF4 ' F4 neu gedrueckt? F4gedrueckt = ON ' F4 gedrueckt merken tog UVC ' Zustandswechsel nur einmal, bis F4 wieder losgelassen wait 1 ' Taste entprellen #NotF4 IF Überlauf=ON then Pumpe1=OFF if überlauf=on and second mod 2=1 then led1=on else led1=off if rxd then gosub loop12 'Kommandosignal vom Leitrechner abfragen '-------------------------------------------------------------------------------------------------- '-------------------------------------------------------------------------------------------------- ' Meßwerte der Analogen Eingänge und der Frequenzmessung im Epprom speichern 'minute = Minuten if minute = Minuten then goto messen goto Loop ' Anfang #messen open# for append if filefree then print# AD5 'Lufttemperatur if filefree then print# AD6 'Wassertemperatur if filefree then print# AD7 'Akkuspannung if filefree then print# AD8 'Netzspannung if filefree then print# freq 'Durchfluß if filefree then print# minute 'Zeit bei Messung close# Minuten = Minuten + 15 if Minuten = 60 then Minuten = 0 goto Loop '---------------------------------------------------------------------------------------- 'Kommunikation mit Leitrechner #loop12 get Kommando if Kommando = 27 then gosub Auslesen Gruppe = Kommando / 16 on Gruppe gosub G0, G1, G2, G3, G4, G5 return 'Endlosschleife #G0 'keine Aktion return #G1 'digitale Ausgabe get Ausgang return #G2 'digitale Eingabe put Eingang return #G3 'analoge Eingaben if Kommando = 48 then put AD1 if Kommando = 49 then put AD2 if Kommando = 50 then put AD3 if Kommando = 51 then put AD4 if Kommando = 52 then put AD5 if Kommando = 53 then put AD6 if Kommando = 54 then put AD7 if Kommando = 55 then put AD8 if Kommando = 56 then put hour if Kommando = 57 then put minute if Kommando = 58 then put second if Kommando = 59 then put freq2 return #G4 'analoge Ausgaben if Kommando = 64 then get second if Kommando = 65 then get day return #G5 'Freuquenz Hi, Lo put freq / 256 put freq mod 256 return '---------------------------------------------------------------------------------------- #Auslesen 'close# open# for read #Next input# Wert put Wert if not EOF then goto Next close# return '------------------------------------------------------------------------------------- '------------------------------------------------------------------------------------- ' SPS Teichfilter Steuerungsprogramm ' Geschrieben in der Basic-Entwicklungssoftware 1.33 ' Abgespeichert unter Steuerprogramm für die SPS-Teich.bas > Hallo Björn, > das Projekt sollte in einzelne Module zerlegt werden. Es macht keinen Sinn, alle Funktionen zur gleichen Zeit zu erstellen. Am besten auf eine Sache erstmal konzentrieren (z.B. das zeitabhängige Schalten der Relais (Pumpen) oder das Abspeichern der Temperaturen etc). > Das Projekt ist im Grunde nicht schwierig und sollte gut mit der CC1 Station zu lösen sein. Allerdings macht die Fülle an Funktionen die Realisierung u.U. unübersichtlich. > > Was hast Du denn schon für das Projekt vorentwickelt? Gibt es schon weitere Überlegungen oder sogar schon ein erstes Programm? > Muss das Visual Basic als stand-alone laufen oder kann es auch VBA in Excel sein? > > Grüsse, > Mak > > > Hallo, > > > > ich habe folgendes Projekt vor und vielleicht kann mir ja jemand hier helfen. > > Das wäre echt Super !!! > > > > > > Folgendes soll realisiert werden mit einer C-Control Station Vers. 1 > > Programmierung mit Basic > > > > > > Die Steuerung soll 2 Förderpumpen nach Zeit Ein- und Ausschalten (2x am Tag) > > Ausserdem sollen die Werte der beiden Temperaturfühler gespeichert werden (alle 15 min. Messung). > > Die Taster an der CC- Station sollen für das Ein- und Ausschalten der beiden Pumpen sein (je Pumpe einen Taster belegen) > > > > Die Anderen beiden Taster sollen aufgeteilt werden für: Zeitgesteuerte Pumpensteuerung und Alles Aus bis auf die Messwertspeicherung. > > > > > > > > Soweit so gut.. > > > > Nun soll das ganze über Visual Basic auch noch steuerbar sein. > > > > Ich möchte direkt vom PC aus: > > - die Pumpen Ein- und Ausschalten können > > - die Ein- und Ausschalt - Zeiten in der CC-Station ändern können > > - die Onlinewerte der beiden Temperaturfühler anzeigen lassen > > - die gespeicherten Messwerte aus der CC Station auslesen können und in einem Liniendiagramm darstellen können. > > > > Das ganze soll ein eigenständiges Programm sein das mit Visual Basic erstellt werden soll. > > > > > > Für jede Hilfe zur Realisierung dieses Projektes wäre ich sehr dankbar! > > Auch gerade was die Programmierung in Visual-Basic angeht. > > > > mfg > > Björn |
Antwort schreiben |