Sonnennachlaufsteuerung

chiko218

Level-1
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Ich habe eine Solaranlage gebaut mit 2 Solarmodule als vergleicher.. d.h die 2 Solarmodule vergleichen beidseitig die Lichtstärke und wenn das eine Solarmodul weniger Licht bekommt als der andere so dreht sich es dementsprechend bis sie wieder gleich sind.

Die Werte werden über die Analogwertverarbeitung in die S-7 300 cpu 312 eingelesen und verglichen.

Ich habe zwar etwas rumgebastelt am Programm, habe aber kein eindeutiges Signal.

Bräuchte Hilfe bei dem Programm mit dem Simatic manager !
 
Wo liegt jetzt genau Dein Problem?

Bekommst Du keinen Analog-Wert ausgelesen?
Hast Du Schwierigkeiten bei der Weiterverarbeitung?
Welche Harware benutzt Du genau? Typ Analogkarte?
...?

Bitte in Zukunft die Frage genauer stellen, umso leichter können wir helfen!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Analogwerte bekomme ich ausgelesen.
Ich habe eher Schwierigkeiten mit der Weiterverarbeitung, sodass die Werte verglichen und mittels 2 Steuerrelais in den Motor weitergegeben werden.

Die Hardware ist selbstgebaut; ich habe grad nicht die Möglichkeit ein Bild ins Internet zu stellen.. aber ganz banal gebaut sag ich mal, da es ein schulprojekt ist !

es ist ein SM 331 6 x 13 bit
 
Ich stelle mir das Ganze wie folgt vor:

-Regelabweichung e (= Wert Modul 1 - Wert Modul 2) bilden

-Wenn e positiv, fahre eine gewisse Zeit in die eine Richtung
-Beginne von vorn

-oder:

-Wenn e negativ, fahr eine gewisse Zeit in die andere Richtung
-Beginne von vorn

Hilft Dir das weiter?
 
Zuletzt bearbeitet:
Eigentlich isses ja relativ banal.

erst bräuchtest du einen Entscheidungsfinder in welche Richtung die Anlage laufen soll REL1 oder REL2.

Das unterscheidest du so

IF SOL1 > SOL2 THEN
RICHTL := TRUE
ELSE
RICHTR := TRUE

Damit wäre die Richtung erschlagen.

Jetzt brauchst du die Differenz ab welcher die Nachsteuerung ausgelöst wird.

IF RICHTL AND ((SOL1 - SOL2) > AUSLOESEWERT) THEN
REL1 := TRUE
ELSIF RICHTL AND ((SOL1 - SOL2) < (AUSLOESEWERT - HYST))
REL1 := FALSE
END_IF

Damit hättest du eine Richtung erschlagen. Das wäre ne einfache Nachführung.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
ich seh in dem ganzen noch keine logik.
woher soll das eine panel wissen in welche richtung
es drehen muss? die position des anderen panel ist doch unbekannt!

müssten die panel nicht beide (jedes für sich) leicht pendeln
(ständig) um den optimalen punkt zu finden?

oder wie es die großen machen: sonnenposition berechnen und dann
die stellung exakt positionieren (setzt aber einen geber für die
position der panel voraus)
 
nein die panele sehen in die entgegengesetzte richtung, damit wenn die sonne genau in die mitte der beiden scheint das die logischerweise den gleichen wert haben ..

Also ich mag mich ja irren. Aber ist das Ziel normal nicht das die Panele Richtung Sonne schauen? Wenn die entgegengesetzt montiert werden schaut ja im ausgeglichenen Fall keines direkt in die Sonne sondern dran vorbei.

Achja das Programm ist Siemenskompatibel, musst es nur noch fertigschreiben. Soll ja nur als Lösungsansatz dastehen. :)
 
Also, mein Fehler das ich es nicht am Anfang gesagt habe;

Ich habe 3 Solarpanels,

2 entgegengesetzte für die seuerung des Ganzen

und 1 das in die Sonne schaut, an einen Verbraucher später angesclossen wird.. :)

ya von einer Programmiersprache in eine andere zu hübfen ist ya wohl auch nicht das einfachste :ROFLMAO:
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jähso. die sind wirklich nur zum Steuern. Nadenn das Programm dürfte trotzdem das machen was du willst.

Kann in AWL z.B. so aussehen

IF SOL1 > SOL2 THEN
RICHTL := TRUE
ELSE
RICHTR := TRUE

Code:
L SOL1
L SOL2 
>I
= RICHTL
usw.
 
Jawoll jetzt gehts :p

aber nun bleibt die Anlage nur stehen, wenn beide werte exakt dieselben sind.. und das ist fast niiee der Fall !

brauche ich da nun eine größere Schalthysterese ? Schwellenwertschalter ?
ooch maannn...
 
Jawoll jetzt gehts :p

aber nun bleibt die Anlage nur stehen, wenn beide werte exakt dieselben sind.. und das ist fast niiee der Fall !

brauche ich da nun eine größere Schalthysterese ? Schwellenwertschalter ?
ooch maannn...

Jetzt schaust du halt warum sie wann weiterläuft. Dann weisst du wie hoch der Einschalt wert sein muss.

Und wie lange gefahren werden soll, also ab welcher differenz wieder abgeschaltet werden soll. Das subtrahierst du dann von dem Einschaltwert und schon hast du deine Wunschhysterese.

Der Code in AWL von oben der gibt ja nur die Richtung vor. Weiter vorne habe ich ja den SCL Code mit dem du dann das Verfahren freigibst noch gepostet. Das musst du dir jetzt halt noch in AWL umbiegen. Viel Spass. :)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
mal einen andere lösung...

habe mich ja schon gefragt für was es dies gibt^^
in der oscat bib gibt es doch einen baustein der aus dem aktuellen datum/uhrzeit und standpunkt exakt den winkel der sonne ausgibt ;)
nun bräuchte man nurnoch einen referenzpunkt für die panels und diese richtigen sich immer mit der uhrzeit aus :) *ROFL*
 
mal einen andere lösung...

habe mich ja schon gefragt für was es dies gibt^^
in der oscat bib gibt es doch einen baustein der aus dem aktuellen datum/uhrzeit und standpunkt exakt den winkel der sonne ausgibt ;)
nun bräuchte man nurnoch einen referenzpunkt für die panels und diese richtigen sich immer mit der uhrzeit aus :) *ROFL*

Hehe jo das Teil ist geil. Ich nehm das immer um einen Lichtwert zu simulieren wenn der Lichtsensor ausfällt um die Beleuchtung zu steuern.
 
ok..ich habe jetzt alles soweit fertig programmiert. Das einzige Problem ist nur noch das der Motor nur stehen bleibt, wenn beide Werte exakt gleich sind. Dies ist jedoch sehr selten. Deswegen zappelt es immer hin und her. HILLFFEEEEE :-D
 
Zurück
Oben