easy-forum
Deutsch - Software => easySoft => Thema gestartet von: Kilian am Oktober 09, 2008, 17:40:49 Nachmittag
-
Hallo zusammen,
schon wieder eine Frage.
Ich hab ein Programm aus einer alten xxx-Steuerung ausgelesen und umgeschrieben.
Das Programm war schon ziemlich ähnlich wie easy geschrieben.
Das werden wohl an die 450 Zeilen in easy-soft.
Und einige werden sagen: laß das, das ist zu viel für easy.
Sollte trotzdem klappen, auch wenn ich mich noch reinbeißen muß. ;D
Das Programm steht jetzt auf dem Papier, und morgen will ich die komplette Hardware bestellen.
Ich muß das Programm aufteilen übers Easy-Net.
Projekt: 2x (821 mit E/A Erweiterungen) und als Anzeige und HMI: 1 x MFD
Projekt wird "Einzelstück", aber "Einzelstücke" wirds dann öfter geben.
Kann ich das Programm am Stück schreiben, nach 256 Zeilen gehts auf der nächsten Easy weiter?
(z.B.Sprungbefehl )
Das war die erste Idee, ich hab jetzt gelernt, daß ich die Ausgänge direkt nur von der jeweiligen SPS ansteuern kann.
Also werde ich wohl das Programm in Teile zerlegen und die, je nach Ausgang in die verschiedenen Easy verteilen. Ist das so richtig?
Oder was sind Eure Vorschlage?
(Bisher bin ich oft Logo-Nutzer, der die FUP-Darstellung liebt.
Da kann ich dem Strom einfach hinterherlaufen. Die fehlt mir hier schon gewaltig.;)
Aber die Anzahl der Ausgänge hat halt nicht gereicht)
Ietzt bin ich gespannt auf Eure Vorschläge und Tipps.
Gruß, kilian
-
daß ich die Ausgänge direkt nur von der jeweiligen SPS ansteuern kann
Nicht richtig. Du kannst mit
SN (Bit Ausgang via NET)
RN (Bit Eingang über NET)
alle E/A's im Netz bedienen
Mit PUT kann man Daten in das Netz schreiben
Mit GET kann man diese Daten in jedem beliebigen Teilnehmer einlesen
Allerdings, die Programmübersicht geht dabei etwas verloren. Daher wie Du selber schreibst, Logische programmeinheiten nicht auf 2 Steuerung aufteilen.
Gruss
Hermann
-
Wenn man eine Net-Konfiguration mit mehreren aktiven Programmen schreibt, beachte man bei der Inbetriebnahme das oben angenagelte Papier von Knodelpa.
Man kann alle Eingänge und Ausgänge im Netz direkt lesen, man kann pro Netzteilnehmern 32 Sendebitmerker zyklisch beschreiben und diese im nächsten Programm einlesen und dann z.B. auf einen Ausgang schreiben.
Bytes und (D)Wörter kann man nur azyklisch putten und getten.
Lässt sich das Programm nicht logisch aufteilen, ist das affig, unprofessionell oder eine besondere Herausforderung, je nach Perspektive.
Lässt es sich halbwegs vernünftig aufteilen, so steht dem nichts im Wege.
-
Hallo Lutz,
Lässt sich das Programm nicht logisch aufteilen, ist das affig, unprofessionell oder eine besondere Herausforderung, je nach Perspektive.
Das ist deine Meinung.
Ich bin der Meinung jedes Programm beseht aus mehreren Teilen. Es kommt nur darauf an ob in einem Zyklus Informationen erforderlich sind die aus dem Zyklus relustieren. Sonst wären die höherwertigen SPS nicht in Bearbeitungsstrukturen gegliedert.
Wenn jemand sich aber schon in ein Projekt reinbeissen will sollte man ihn nur aufhalten wenn man absehen kann das er kpl. auf dem falschen Weg ist, sonst sollte man vielleicht erstmal nachfragen.
Ich kann nur von meiner Person sagen, das ich für ein Projekt etliche Stunden verbraten habe, was am Anfang mir und andern ganz schön auf den Zeiger ging und aussichtslos erschien, jedoch heute ca. 200 Anlagen mit diesem Programm, teilweise in Abwandlung, laufen. Das ganze besteht in der Ur-Version aus 1xMF + 3x822 mit Erweiterung und wurde ausgebaut auf 1 MF + 6x822 und Erweiterungen.
Diese Ausführung nur um Kilian nicht den Mut zu nehmen.
Gruss
Jürgen
Hab ich noch vergessen, man hat das ganze schon mit Siemens S7 nachgebaut, kam aber preislich nie in die Richtung.
-
Danke erst mal,
und - solange ich nicht sicher bin, daß es NICHT geht, nimmt mir noch keiner den Mut.
Ich bin am aufteilen.
Gruß, Kilian
-
beachte man bei der Inbetriebnahme das oben angenagelte Papier von Knodelpa.
@Lutz
Wie meinst Du das mit dem oben angenagelten Papier? Ich kann nichts finden.
Gruss
Hermann
-
@kressswiss: http://easy-forum.net/index.php?topic=1532.0
@ alii: Ich verstehe wirklich, warum sich hier jemand aufregt. Es ist völlig in Ordnung, wenn jemand ein verteiltes Easy-Programm als sportliche Herausforderung begreift, wie ich es oben unter anderem vorgeschlagen habe.
Ich habe selbst einmal zu der Zeit, als es noch keine 341 gab, ein Sucosoft-Programm mit einem einzigen logischen Strang auf zwei 200er-Maschinen verteilt. Natürlich geht es, aber die Wartung ist einfach teurer, vor allem wenn später andere daran arbeiten müssen, und nach ein paar Jahren sind dann die paar hundert Euro Ersparnis bei der Hardware durch Wartungsmehraufwand mehr als aufgefressen.
-
Hallo miteinander.
Hat schon mal jemand dieses Forum gelobt? Kann man nicht oft genug machen!!!
Ich habs komplett (ohne zip.Dateien, leider)aufs Laptop gezogen und verwends auch unterwegs immer wieder.
Besser kanns kaum sein, dank an Euch alle !
So jetzt zum Thema:
Ich hab ja oben schon beschrieben: Ich hab ein Programm auf 2 - 821er aufgeteilt.
Dabei muß ich viele Merker übergeben: 33-96 und dann auch remanent machen.
Ich hab mir jetzt ein "kleines" Programm geschrieben, mit dem das klappt.
Habs angehängt, das eigendliche Programm von mir hab ich Euch nicht antun wollen.
Bisher ist noch ein Schönheitsfehler drin:
Ich sende die Merker als WD und das nur, wenn die sich geändert haben.
Wenn ich das Programm einschalte, bleiben die alten Merker in Net 1 erhalten, solange sich nix ändert, werden die aber dann nicht in Net2 gesendet. Einen Merker der sich immer ändert als Taktgeber, find ich ziemlich unschön, aber damit wirds "notfalls" klappen.
Fällt Euch was besseres ein, habt Ihr Kommentare oder seht Ihr Probleme in dem Programm?
Wenns komplett ist, kommts wieder hier rein. Vielleicht findet sich noch ab und an ein verrückter, der die Easys genauso wie ich für größere Sachen misbraucht.
Gruß, Kilian
und zu guter letzt an alle, die meinen, das ist doch nicht die richtige SPS.
Einer der Vorteile der Easy ist, daß man ohne Laptop an dem Display Programmänderungen machen kann. Ohne Lizenzkosten und Rechner vor Ort, kann so auch der Endnutzer Änderungen machen.
Ja, es gibt welche, die darauf Wert legen, und lernen damit umzugehen!
Es ist ja auch deren Anlage. Da gibts bei mir auch keine verschlüsselten Programme.
Das geht nicht bei S7 und wie die alle heißen.
Schön ist auch das MFD mit Silikonhülle.
Richtig ist auch, mit ner S7 wär ich viel schneller am Ziel gewesen!
Zwischendrin hab ich schon gelernt, daß ich noch fluchen kann.
Jetzt ists fast fertig, und ich hoff daß nachher alle zufrieden sind.
-
Hallo Kilian,
dein Programm habe ich mir nicht bis ins Detail angesehen, ist mir jetzt einfach zu anstrengend. Was mir aber aufgefallen ist und du ja schon im Vorfeld geschrieben hast, das Netzübergreifend Ausgänge geschaltet werden. Aus Sicherheitsgründen solltest du dann I14 und ID auswerten. Zum Verständnis in der Werkzeugkiste I anklicken, F1 drücken, gleiches bei ID. Ich setze diese Sicherheit immer ans Programmende und bringe damit MR1 und Mr2, die ich mit einem Merker toggele (Taktmerker der dir nicht so gefällt). In den Handbüchern der Easy wird auch immer darauf hingewiesen, da bei dieser Verwendung (dein Programm) bei Netz- oder Erweiterungsausfall, Betriebszustände auftreten können die zu gefährlichen Situationen führen.
Gruss
Jürgen
-
@ Jürgen
I14 hatte ich nicht gekannt. Danke!
ID sollte sowiso noch rein.
Merker am Programmende toggeln scheint die einzig gute Lösung zu sein.
Aber Du nimmst MasterReset?
Ich will doch meine gesetzten Merker behalten --- grübel---
----ich übertrag sie ja und krieg sie wieder, aber - - - ???
Da sinn ich noch drüber nach, aber das wird ein Job für heute Abend....
erst mal vielen Dank, :)
Gruß und guten Morgen, kilian
-
Hallo Kilian,
du kannst mit MR auch nur die Ausgänge (Q,S,SN,QA) zurücksetzen und wenn alles wieder ok und ev. neue Übertragung erfolgt ist freigeben.
Gruss
Jürgen
-
Morgen Jürgen,
ich hab die Ausgänge alle über Merker definiert. Kann ich auch für gemensames Schalten wortweise brauchen.
Bei Stromausfall remanent schalten kann ich die Ausgänge aber nicht?
Danke und Gruß, Kilian
-
Hallo Kilian , Hallo Jürgen
Morgen Jürgen,
ich hab die Ausgänge alle über Merker definiert. Kann ich auch für gemensames Schalten wortweise brauchen.
Bei Stromausfall remanent schalten kann ich die Ausgänge aber nicht?
Ausgänge: NEIN!
1) Aber die Ausgänge werden in diesem Progr. doch ausschließlich über Merker angesteuert und die kann ich remanent schalten.
2) Die MD2/3 zwecks Datenübergabe von NET1 kann ich auch remanent schalten,
d.h. beim EIN-Schalten von NET2 stehen dann die letzten Daten von NET1 zur Verfügung.
Gruss Kurt
-
Hallo KurtH,
danke, ich wollte die Merker nicht in Net2 speichern, aus Angst, es könnte beim Stromausfall in Net1 und Net2 verschiedene Daten gespeichert sein.
Wenn ich aber MD2/3 remanent schalte, und dann nix ändere, werden die Daten bei Net2 von 22 auf 2 nicht überschrieben. Für den GT-befehl hat sich ja auch der Wert im netz nicht geändert.
Aber mit dem toggeln sollte alles klappen. Werds bis heute abend getestet haben.
Gruß, Kilian
-
Hallo Kurt, hallo Kilian,
weil alles über Merker remanent geschaltet wird meint ich ja, das z.B. bei Ausfall Net2 im Merker Heben noch eine 1 im Net1 steht, obwohl dies vielleicht garnicht mehr relvant ist. Deshalb war meine Empfehlung bei Netz- oder Erweiterungsmulausfall, alle Ausgänge abschalten. Gewiss hängt in der Hardware Heben noch einmal eine Verriegelung drin, aber währed den Anfängen.
Gruss
Jürgen
-
Hallo Jürgen,
jetzt hab ichs verstanden:
Bei Netz und Erweiterungsausfall schalt ich ab, alles außer Meldetext und Hupe.
Sonst fährt sich die Anlage gegen die Wand,
Gruß und schönes Wochenende.
Kilian
-
So, zu guter letzt hier noch mein Ende der Geschichte:
Ich wollte ein Programm auf zwei SPS verteilen, und zyklisch abarbeiten lassen.
Mit put / get die Merker übergeben und die jeweilige SPS anhalten, bis alle Daten da sind. dann erst starten........
Ich konnte nie sicher sagen welche Daten der verschiedenen put Befehle schon da sind, welche nicht.
Ich hab dann das Projekt - so - schweren Herzens abgebrochen.
Dank der Beratung, und wirklich ergiebigen Hilfe, von Paul Knodel (Knodelpa) hab ich dann die Notbremse gezogen und eine Control als Net1 eingesetzt.
-- Danke Paul ! --
Jetzt hab ich halt auch noch CoDeSys (teils) gelernt und hab für mich folgendes Resultat gezogen:
Mit meinen jetzigen Informationen ist es nicht sinnvoll, ein Programm, das nicht in unabhängige Teile geteilt werden kann, in zwei SPS zu verteilen.
Ich denke immernoch, es muß ! einen Weg geben. Ich hab aber keine Zeit mehr gehabt zu probieren ! Vielleicht werd ich das aber nochmal in Angriff nehmen.
Gruß und nochmal danke für Eure Hilfe, Kilian
P.S. Jetzt hab ich nur noch ein fettes Problem mit dem Ausdruck: "You never get what you see."
Aber das hab ich schon zum eigenen Thema gemacht.