exceltabelle s7 einfügen

verona

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
hallo leute

hätte mal ne frage ob es möglich ist eine excel tabelle mit einem s7 programm zu verbinden. in der excel tabelle sind winkel horizontal und vertikal für jeden tag und stunde angegeben die den genauen sonnenstand anzeigen. eine solar panel mit 2 motoren für horizontal und verikal soll diese winkel anfahren. die anlage wird über eine s7 angesteuert.

vielen dank schonmal
 
Möglich ist das schon. Ich glaube mit ACCON AgLink www.deltalogic.de müßte es gehen. Wahrscheinlich mußt du ein bißchen VBA schreiben, um die Werte rüberzuschieben.

Aber willst du nur einmalig die vorberechneten Winkel in einen DB schreiben? ->sehr großer DB (365*24=8760 Stunden)
Oder jeden Tag einmal die Tageswerte? ->das muß dann einer machen
Oder online immer die aktuellen Winkel?->PC und EXCEL müssen immer laufen.

Ich würde eher versuchen, die in EXCEL durchgeführte Berechnung auf die SPS zu übertragen. Ich bin kein Astronom, aber ich glaube, es reicht der Winkel am Mittag und der Auf- und Untergangszeitpunkt, um Stunden und Minutenwinkel auszurechnen. Die Mittagswinkel sollten wiederum aus der laufenden Nummer des Tages und der geographischen Breite errechenbar sein.

Die Anlage läuft dann autonom und du mußt auch nicht zwischen den Stunden interpolieren. Außerdem wird die Sache "Schaltjahrfest", wenn du en Jahresumlauf mit der richtigen Länge annimst (ca 365,23... Tage).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
wie übertrage ich denn die werte von der excel tabele in mein s7 programm? habe in der excel tabelle fast jeden winkel für alle par minuten. wäre doch bestimmt auch möglich wenn man nur für jeden tag den aufgang,mittags und abends stand hat und es dann berechnen lassen würde( ich glaube so hast du das gemeint) hättest du da einen ansatz wie man das realisieren kann??????
 
Ist deine EXCEL-Tabelle statisch, d.h. eine Liste ohne Formeln?
Häufig sind so Tabellen ja so gemacht, daß in jeder Zeile wieder dieselebe Formel auf einen hochgezählten Wert angewendet wird. Dann bräuchtest du die Formel nur in Step7 zu programmieren.

[url]http://lexikon.astronomie.info/zeitgleichung/index.html
[/url]
Hat Formeln zur Berechnung von Höchststan, Auf und Untegangszeitpunkt.

Das folgende ist meine persönliche Überlegung ohne Gewähr:

Zwischen Auf- und Untegang durchläuft die Sonne eine Kreisbahn.
Wenn es zwölf Stunden dauert (b.z.w. die astronomischen 23:56:04 oder so), ist das ein Halbkreis=180 Grad. (und schneidet den Horizont bei genau West und Ost?).

Dauert es länger oder weniger lang, so werden proportional mehroder weniger Grade durchlaufen. (und die Schnittpunkte mit dem Horizont liegen gleichiel von genau West und genau Ost weg?).

Der Drehwinkel beginnt beim Horizontschnitt Ost, läuft bis zum Horizontschnitt West, der Höhenwinkel nimmt proportionel zum Drehwinkel mit dem Faktor Bahnwinkel/2/Höhenwinkel zu und dann wieder ab.
 
Aber noch ne ganz andere Idee:
Warum führst du das Panel nicht einfach so nach, daß es dem maximalen Lichteinfall folgt:
Belichtungsmesser am Grunde eines Rohres anbringen. Parallel zum Panel. Hat nur dann ganze Fläche beleuchtet, wenn Strahlen senkrecht einfallen. Anfängliche Ausrichtung muß grob stimmen. Nun einfach eine kleine Schwenkbewegung machen, gucken ob mehr Licht kommt, wenn nicht zurück, andersherum probieren. Anderen Winkel optimieren. Pause einlegen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
erst mal vielen dank zottel. ich wirklich ein nettes forum hier.

habe eine statische liste ohne formeln. hat mir jemand als excel file gegeben. deine idee ist sehr gut. weis aber überhaupt nicht wie ich das in s7 realisiere. habe bis jetzt nur mit den einfachen dingen zu tun gehabt und,oder,rücksetzen setzen, merker usw.. werde mich ermal ordentlich damit beschäftigen. wenn du noch irgendwelche ideen hast immer her damit. das projekt ist ausserdem für meine techniker prüfung.

vielen dank
 
das mit lichteinfall dürfen wir nicht. ist ja ein projekt wo wir etwas vorgegeben bekommen soll also mit einer tabelle oder einer formel der passende winkel für horizontal und vertikal berechnet werden mit lichteinfall hat schon einer von meinen vorgängern gemacht. war aber irgendwie nicht so erfolgreich
 
Eigentlich sollte ja vor einer Prüfungsaufgabe ein Unterricht stattgefunden haben, der die nötigen Fähigkeiten zur Lösung vermittelt...

Um mit einer S7 SPS zu rechnen, hier die Grundlagen in aller Kürze:
Beim Setzen, Rücksetzen hast du Merker in Form von Bits kennengelernt. Diese sind immer 0 oder 1.

Gruppen mehrerer Bits können zur Darstellung von Zahlen benutzt werden.

Typische Gruppen sind Bytes( 8 ),Worte(16) oder Doppelworte(32 Bits).

Ein Byte kann mit den 8 Bits Zahlen von 0 (alle Bits 0) bis 255 (alle 1) darstellen.

00000001=1
00000001=2
00000011=3

011111111=127

111111111=255

Zur Darstellung negativer Zahlen wird das erste Bit häufig als Vorzeichen interpretiert. (Zweierkoplement)

111111111=-127
111111110=-126

Wie du siehst, kann ein und dieselbe Kombination verschiedene Bedeutungen tragen. Diese sind keine Eigenschaft der Bitkombination, sondern werden hineininterpretiert, indem ein Programm sie an jeder Stelle auf dieselbe Weise interpretiert.

Nun kann man negative und positive, aber weder gebrochene (rationale) noch reelle Zahlen darstellen.

Für reele Zahlen kann eine Gruppe von 32 Bits so interpretiert werden, daß die ersten 8 bit den Exponenten, der Rest die Mantisse einer Zahl in der Darstellung

Mantisse * 2^Exponent enthalten.

Dies entspricht weitgehend der wissentschaftlichen Darstellung von Zahlen wie in 1,234*10^19, nur daß die Basis eben 2 ist und Menschen das sehr schwer lesen können...

Damit kann nun ein Computer (oder eben die SPS) Berechnungen mit gebrochenen Zahlen ausführen, wie sie für die Winkelbestimmung nötig sind.

Die Befehle in Step7 sehen z.B. so aus:

L MD4 // ein Doppelwort, bis jetzt nur ein Bitmuster
L 1.2345 // eine Konstante. Diese wird von Step7 in das
// passende Bitmuster gewandelt
*R // multipliziert die beiden zuletzt geladenen Werte
T MD8 // legt das Ergebnis in MD8 ab.

Mit Rechenbefehlen dieser Art implementierst du die Formeln.

Wie du siehst verbraucht das Merker gleich in 32er-Paketen.
Da der Speicher so schnell knapp wird, gibt es zusätzliche Speicherbereiche in Form von Datenbausteinen. Wie du die anlegst und nutzt entnimm bitte einer Anleitung zu Step7.

So ein Datenbaustein würde die Zahlen deiner Excel-Tabelle aufnehmen können. Wenn die Zahlen schon bei Programmbeginn feststehen, kannst du sie "einfach" per copy&paste in den DB-Editor kopieren (könnte ne´ Riesenarbeit machen). Da einzelnen DBs nur eine gewisse Größe haben dürfen, brauchst du vielleicht auch mehrere.


Nun wieder ein bißchen mehr zu deinem Projekt:

Wenn du einen vorgegebenen Winkel anfahren willst, muß dein Programm wissen, wo das Panel gerade steht (ist-Winkel). Dazu brauchst du irgendeinen Geber. Ist der vorhanden/vorgegeben?

2. Du hast irgeneinen Antrieb. Im einfachsten Fall schaltest du zwischen vorwärts/rückwärts/Stillstand. Ist der vorhanden/vorgegeben? In Werkzeugmaschinen verwendet man häufig auch Antriebe mit verstellbarer Geschwindigkeit um:
a) Eine Position schneller zu erreichen
b) Bahnen abfahren zu können.


Wenn du das hast, fährst du bei Istwinkel <Sollwinkel vorwärts, bei Istwinkel > Sollwinkel rückwärts.

Da die Winkel nie EXAKT gleich sein werden, fährt dein Panel nun ständig hin und her und verbraucht mehr Strom als es erzeugt :-(

Man definiert einen Winkelbereich (Hysterese) so daß der Antrieb stillgesetzt wird, wenn der Winkelfehler kleiner als dieser ist.

Da du 2 Achsen hast, packst du dieses Programm in einen Funktionsbaustein und rufst ihn für beide Achsen mit den jeweiligen Werten auf.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
S7 <--> M$ Excel

Hallo,
Um auf die eigentliche Frage zurückzukommen :
ob es möglich ist eine excel tabelle mit einem s7 programm zu verbinden
Antwort : Ja.
Siehe http://www.opcfoundation.com
oder http://www.opcconnect.com
Problemlos über das OPC Automation Interface mit M$ Excel kann eine Verbindung zu jeder SPS (herstellerunabhängig) aufgebaut werden. Bei Simatic S7 würde ich den OPC-Server von Siemens empfehlen. Den OPC-Client dann in VBA (wegen Excel) erstellen. Das ist auch mit geringen VBA Kenntnissen leicht möglich, Beispiele dazu kann man von der Siemens-Homepage kostenlos herunterladen.
Ich wette zwei Kästen Bier (mit Flaschenöffner) und 10 Frikadellen (mit Senf natürlich) dass in Kürze zum Thema OPC hier noch eine Werbesendung von Deltalogic eintrudelt.
Gruss
Question_mark
 
Re: S7 <--> M$ Excel

Question_mark schrieb:
Hallo,
...
Ich wette zwei Kästen Bier (mit Flaschenöffner) und 10 Frikadellen (mit Senf natürlich) dass in Kürze zum Thema OPC hier noch eine Werbesendung von Deltalogic eintrudelt.
Gruss
Question_mark

Dem will ich jetzt zuvorkommen. indem ich darauf hinweise, daß man natürlich auch:
1. Linux nehmen
2a. Die Tabelle in Star-Office laden
2b. Ein Perl-Modul nehmen kann, daß Excel liest
3. Die Verbindung zur SPS mit
[url]http://libnodave.sf.net
[/url]
herstellen und
4a. das ganze mit ein paar Zeilen JAVA
4b. das ganze mit ein paar Zeilen Perl
zusammenbinden kann...
 
Re: S7 <--> M$ Excel

Question_mark schrieb:
Ich wette zwei Kästen Bier (mit Flaschenöffner) und 10 Frikadellen (mit Senf natürlich) dass in Kürze zum Thema OPC hier noch eine Werbesendung von Deltalogic eintrudelt.

Weiter oben steht schon von Zottel ein Hinweis auf AGLink, den
könnte man tatsächlich noch um einen Download-Link erweitern: :)

http://www.deltalogic.de/download/aglink.htm

Dort gibt es auch Beispiele für den Zugriff auf die Daten über Excel.

Wer auch immer hier OPC ins Spiel gebracht hat, Sinn macht das
aber nur wenn man eine universelle Lösung haben möchte weil
man z. B. auf die Steuerungen verschiedener Hersteller
zugreifen möchte.

Wenn man dabei auch noch den genannten OPC-Server
empfiehlt sind Bier und Burger gestrichen - dafür gibt es
höchstens Wasser und Brot. :p

Guten Nacht
 
vielen dank für die ganzen infos. muss das erst mal alles verarbeiten. meld mich bestimmt noch mal wieder.

vielen dank!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
Hi Verona,

Laß die Winkel besser in der S7 dynamisch berechnen. Dadurch bleibst Du unabhängig von einem PC.

falls Interesse besteht, könnte ich heut abend ein S7-Proggi hier anfügen, welches aus Datum/Uhrzeit/Längen/Breitengrad den Zenith- und Azimutwinkel ausgibt.

Diese gibst Du dann als Soll-Stellungen auf Deine Motorpositionierung.

Ich nutze es zur sonnenstandabhängigen Rolladensteuerung zu Hause (Beschattung im Sommer)

Gruß Jörg
 
so, hier isses :wink:

bitte achte darauf, daß in der Funktion die FC's 6 und 8 aus der Standard-Bibliothek aufgerufen werden. Die musst Du dann also auch in Dein Projekt kopieren.

und noch ein kleiner Hinweis:
Die Fehlerfreiheit ist NICHT garantiert. :oops:

Gib mir bitte nicht die Schuld, wenn sich Deine Solar-Panels um den Mast wickeln :ROFLMAO:

Gruß Jörg
 

Anhänge

  • sunpos.zip
    24,9 KB · Aufrufe: 310
S7 <--> Excel

Hallo Zottel,
1. Linux nehmen
2a. Die Tabelle in Star-Office laden
2b. Ein Perl-Modul nehmen kann, daß Excel liest
3. Die Verbindung zur SPS mit
[url]http://libnodave.sf.net
[/url]
herstellen und
4a. das ganze mit ein paar Zeilen JAVA
4b. das ganze mit ein paar Zeilen Perl

Also Linux, Star-Office, Perl-Modul, libnodave, JAVA, Perl. Eine ganze Menge ziemlich exotischer Sachen (ausser vielleicht JAVA), die zum grössten Teil kostenlos oder sehr preiswert zu erwerben sind. Nach meiner Kenntnis kann libnodave nur über die MPI-Schnittstelle mit einer S7 kommunizieren (Korrigiere mich bitte, wenn das jetzt falsch war, Du weisst es als Autor sicher besser). Eigentlich will ich kein JAVA und Perl und Linux lernen, wenn ich mir das ganze unter M$-Windoof zusammenklicken kann. Aber wie dem auch sei, dein Vorschlag ist natürlich kostengünstig, manche Kunden (allerdings < 3%) wenden auch Linux an. Ich persönlich werde mir das nicht antun, aber wie gesagt, es ist wesentlich billger als M$ Windoof & Co.

Gruss
Question_mark
 
Zuviel Werbung?
-> Hier kostenlos registrieren
S7 <--> Excel

@Deltalogic,
und 10 Frikadellen (mit Senf natürlich)
die Wette habe ich gewonnen, seinen Senf dazugegeben ein anderer.
Ich denke aber, das gehört hier nicht in diesen Thread, sondern in "Werbung und Produktneuheiten", sofern es wirklich Neuheiten gibt.
Ich würde mich wirklich freuen, wenn Anwender Ihrer Produkte hier Ihre Erfahrungen (ob nun negativ oder positiv) mitteilen würden, aber wenn ich nur ein Stichwort (z.B. OPC) loslasse, kommt hier eine Werbesendung auf. Hier erwarte ich eigentlich Erfahrungen und Tips von unabhängigen Anwendern mit Produkten aus dem Bereich SPS, Visualisierung und Bussystemen. Auch der "ewig nuschelnde, schlecht gelaunte Mitarbeiter der Simatic-Hotline" (so hat, ich glaube es war Zottel, vor kurzem geschrieben) geht mir genauso auf den Nerv, aber bis dato ist jedes Problem gelöst worden. Damit sollten wir das Thema beenden, da nur der Austausch unter uns Anwendern irgendwie den Teilnehmern weiterhilft.
Gruss
Question_mark
 
Re: S7 <--> Excel

Also Linux, Star-Office, Perl-Modul, libnodave, JAVA, Perl. Eine ganze Menge ziemlich exotischer Sachen (ausser vielleicht JAVA), die zum grössten Teil kostenlos oder sehr preiswert zu erwerben sind.
Alle kostenlos. Zum "exotisch": Linux hat schon eine starke Stellung im Server-Bereich. Auf dem Desktop haben die Leute immer noch lieber Windows. Weiß der Geier warum.
Vermutungen:
1. Weil sie nix anderes kennen.
2. Weil die Kids, die spielen wollen, bestimmen welches Betriebssystem zuhause läuft.
3. Weil für die geile neue Digitalkamera/Grafikkarte/egal was, immer zuerst nur windows-treiber da sind.
4. Weil sie immer noch nicht genug Viren und Würmer haben.

Meine persönliche Meineung zu Maus und Kommandozeile: Wenn ich in einer lange nicht gebrauchten oder upgedateten Applikation erst durch 10 Menüs blättern muß, um was zu finden, von dem ich denke oder weiß, daß es das geben muß, komme ich mir vor, wie einer, der im Ausland die Sprache nicht kann und so lange auf die Dinge zeigen muß, bis jemand halbwegs verständig reagiert. Da lerne ich lieber die Sprache.

Automatisierungsanwendungen liegen eigentlich "charakterlich" näher an Serveranwendungen, d.h. sie sollen extrem zuverlässig laufen, brauchen aber nur eine überschaubare Anzahl verschiedener Interaktionen mit dem Benutzer. Also müßte Linux da genauso siene Stärken ausspielen können, wären nicht quasi alle Großen der Branche auf dem Windows Trip.

Das Ergebnis kannst du auch hier im Forum in einigen Threads sehen: Step7 5.x läuft nicht mit XP, das upgrade micht mit dem CP, der mehr kostet als ein preiswerter Rechner, Protool läuft nicht mit XP. Um es hinzukriegen, muß man irgendwo einen Registry-Schlüssel namens "TuNichtLadenDeineEigeneTastatur" oder so setzen. (Alles nur die flüchtige Erinnerung an überflogenen Beiträge).
Was ist exotischer als die Windows-Registry?

Da gibt es Leute, die argumentieren gegen Linux, daß es einen Haufen kryptischer Konfigurationsdateien gibt. Aber die sind 10x besser als die Registry: jede ist für ein Programm da und beeinflußt nur dieses (und davon abhängige). Von X11 sind natürlich viele abhängig. Aber sie sind Text, man kann sie lesen! Und die meisten sind so angelegt, daß die Standard-Einstellungen einschließlich gebräuchlicher Varianten vorhanden sind. Man muß dann nur die Kommentarzeichen entfernen.
Wenn man den in den Threads erwähnten Ärger mit einem Protool oder einem Step7 für Linux hätte, würde alleine der Aufruf:
strace Step7 oder
strace Protool
schon zeigen, welche Dateien gesucht werden, was daraus gelesen wird, wo abgebrochen wird, mit wem oder was kommuniziert werden soll. Damit kann man eventuell Programme zum Laufen bringen, über deren innere Struktur man nix weiß.


Perl: Perl war vor 5 Jahren die Standardsprache allerinteraktiven Web-Anwendungen, Perl gibt's auch für Windows und viele Sachen kann man auf keine Weise so schnell tun, wie mit 5 bis 10 Zeilen Perl. Ich habe es erwähnt, weil es halt ein Modul zur Ein- Ausgabe auf EXCEL-Dateien gibt und weil ich das gerade im Kopf hatte.

Star- (oder Open-)Office ist vielleicht nicht so exotisch: Es gibt es auch für Win und MAC, ist umsonst und kann alles außer VBA. Es öffnet mehr Excel-Dateien als Excel, was manchmal meinen Kollegen hilft, wenn sie ihre hochwichtige Excel-Datei mit Excel nicht mehr aufkriegen

Die Sprache zur Automatisierung von Star-Office ist halt JAVA.

Nach meiner Kenntnis kann libnodave nur über die MPI-Schnittstelle mit einer S7 kommunizieren (Korrigiere mich bitte, wenn das jetzt falsch war, Du weisst es als Autor sicher besser).
PPI, ISO over TCP. Es fehlen noch: RK512, RK3964(R) und MPI/Profibus über CP55xx.
Eigentlich will ich kein JAVA und Perl und Linux lernen, wenn ich mir das ganze unter M$-Windoof zusammenklicken kann.
...Bis die nächste Version von was-auch-immer-mit-hineingeklickt-wurdekommt, und der Scheiß nicht mehr läuft.
Aber wie dem auch sei, dein Vorschlag ist natürlich kostengünstig, manche Kunden (allerdings < 3%) wenden auch Linux an. Ich persönlich werde mir das nicht antun, aber wie gesagt, es ist wesentlich billger als M$ Windoof & Co.
Nicht kostengünstig, kostenfrei.
Wenn du jetzt anführst, daß es Geld kostet, sich in den Kram einzuarbeiten, ziehe ich mich darauf zurück, daß der Vorschlag an sich garantiert kostenfrei ist: Ich habe nix dafür genommen.
Im Übrigen war es kein ernst gemeinter Vorschlag, zumal auf die Anfrage eines Newbie, ich wollte einfach nur eine (theoretische?) Möglichkeit zeigen, bevor OPC die Lufthoheit erringt.
Meine Ansichten zu OPC findest du unter:

[url]http://www.control.com/1026183428/index_html#1026183651
[/url]
 
Komm Zottel, schnapp nicht gleich ein.
Die Diskussion ist uralt und wird wohl noch laaaaaange dauern.
Ist alles eine reine Ansichtssache. Ich persönlich komm mit Windows besser klar. Wenn irgendwas nicht funtioniert ist es immer schwer, die Ursache herauszufinden, egal ob Linux oder Windows.

PS: Nach einem Jahr kenn ich weder den Ort im 10. Untermenü, noch die 527 Kommandozeilenparameter, die ich eingeben muß. :lol:
 
Zurück
Oben