easy-forum
Deutsch - Hardware => easyE4 => Thema gestartet von: ernst123 am Juni 02, 2019, 09:03:26 Vormittag
-
möchte gerne eine Schrittkette mit Zähler (die aktuelle Schrittzahl soll am Display angezeigt werden) in FUP programmieren.
hat jemand sowas schon fertig ?
-
Hallo ernst123,
sicher ist es möglich mit einem Zähler.
Es müssten aber vorher einige Fragen geklärt werden:
- soll die Schrittkette auch eine Handbedienung haben? Hand/Auto-Betrieb
- muss mann irgendwelche Sicherheiten beachten? (bestehen Gefährdungen durch den Abbruch der SK für die Hardware oder Menschen)
- wie viele Schritte?
Der Zähler hat IMHO mehr Nach- als Vorteile. Mann muss ehe Schrittmerker(Byte/Word/DW) haben und diese dann mit Flanken auf den Zähler schalten.
Wäre es da nicht besser, das Schrittmerker(Word) abzufragen und daraus die Schrittnummer zu bilden und anzuzeigen.
Das würde ganz einfach in der Kette selbst passieren. Wenn Schrittmerker X aktiv, dann SchrittNr:= n.
Gruß Thomas
-
Ja es soll unbedingt mit einem Zähler gemacht werden - dieser lässt sich Reseten, gegenüber einem Schieberegister gibt es garantiert nur einen Wert, die aktuelle Schrittstufe ist eindeutig, eine Permanent - Speicherung des letzten Schrittes ist möglich.
Ja, es muss eine Hand/Automatikfunktion haben (als Einzelschritte müssen möglich sein)
Sicherheit wird Hardwaremäßig gemacht - Reset auf Step 0 ist ohnehin ok.
So 10 Schritte würden für die meisten Projekte reichen … muss aber erweiterbar sein!
In LOGO verwende ich so eine Schrittkette mit Start / Zyklus beenden - Funktion für verschiedene Ablaufsteuerungen (Verpackungsmaschine, Waschanlage usw.)
-
OK, du hast also schon ein Schema wie du es umsetzen willst. Wie machst du im Programm die Schritte? Machst du immer einen Vergleich auf den Zählerwert und springst dann zu den Anweisungen des Schrittes?
Wenn eine Transistion(Weiterschaltbedingung) erreicht ist musst du, um den Counter hoch zu zählen, eine Flanke mit einer Merkerspule erzeugen. Das wird dann im jeweiligen Schrittcode gemacht. Bei Hand dann Taste auf Flankenmerker -> Counter = einen Schritt weiter.
-
In einem Schritt werden u.U. Bedingungen abgefragt bzw. auf zB Endschalter gewartet, dann weitergeschalten auf nächsten Schritt.
Schritt 0 ist die Stoppfunktion … zum nächsten Schritt 1 geht es, sofern "Automatik" Betrieb durch Starttaste aktiviert wurde - Prüfung der Ausgangsstellung (zB alle Zylinder in Ausgangsstellung usw.) - Step 2 erster Arbeitsschritt - wenn erledigt (durch Zeitablauf oder Endschalter) dann weiter... Im Handbetrieb wird die Weiterschaltung nur durch zusätzlichen druck auf die "Einzelschritttaste" gemacht.
Wenn dieses Basis Gerüst fertig ist, so kann eine einfache Ablaufsteuerung rasch programmiert werden. Das hier unzählige Merker und unzählige Netzwerkzeilen erforderlich sein werden erschreckt mich etwas - andererseits vor zwanzig Jahren hat man halt auch so Programmiert.
-
Hallo ernst123
hatte hier http://easy-forum.net/index.php?topic=6732.30 (http://easy-forum.net/index.php?topic=6732.30) mal eine Schrittkette für eine Maschine mit einer 819 geschrieben (KOP).
Kannst du dir evl als Beispiel mal anschauen.
Schrittketten kann man in der Easy/E4 wie auch bei richtigen SPS mit Merkerworten machen. das ist der Vorteil zu einer LOGO!, das ich auf einen richtigen Merkerbereich zugreifen kann. Auch musst du es nicht mit Schieberegister machen sondern einfach: aktiver Schrittmerker2 im MWSchrittkette und Transistion -> set Merker3 im MWSchrittkette; reset aktiver Schrittmerker; set MB-SchrittNr:=3;
Alles was in diesem Schritt zu tun ist wird nun mit diesem Merker verknüpft.
Es ist keine stehende Kette und immer nur 1 Bit im Wort aktiv. Du brauchst keine Flanken etc....
Gruß Thomas
-
Sehr interessant ... habe in Einzelschritt Simuliert: wenn zB M265 gesetzt wurde, auf der gleichen Leitung weiter unten der M264 liegt - warum ist im nächsten Zyklus M265 high und M264 Low (beide haben Einstellung "Schütz") ... wäre Einstellung setzen bzw. rücksetzen wäre das erklärlich ?
-
Hallo Ernst123,
vermute mal M264 ist nochmal vorhanden und wird noch weiter unten im Programm wieder Null.
Gruß
Jürgen
-
Hallo Ernst123,
vermute mal M264 ist nochmal vorhanden und wird noch weiter unten im Programm wieder Null.
Gruß
Jürgen
Danke Jürgen ... genau so ist es der ebenso gesetzte M30 resetet dann den M264
LG Ernst
-
..... set MB-SchrittNr:=3;
Gruß Thomas
Danke Thomas, bin schon einiges weiter.
Neue Frage:
Wie kann ich in FUP ein Merker Byte (die aktuelle Schrittzahl) setzen ? Analogspule kann ich nicht an Digital Ausgang anhängen ?
-
Hallo, wenn du einen Datenbaustein verwendest, kannst du ein Wert in ein MW oder Byte senden
-
Anbei ein Muster für eine einfache Schrittkette mit Anzeige der aktuellen Schrittzahl.
Anstelle der Zeitrelais gehören dann die "Schritt" - Anweisungen.
noch nicht enthalten: Einzelschritt Möglichkeit.
Ist viel einfacher als ich befürchtet habe.
-
Danke für dein Beispiel.
Eine andere Möglichkeit ist, einfach für jeden Schritt eine eigene Textanzeige zu nehmen
-
Hallo :) ich habe mal mein Beispiel aus deinem Programm gemacht.
Meines ist eine Motorsteuerung
Den Merker 100 für die Schrittkette habe ich etwas geändert. Der Braucht nicht von Hand gesetzt werden.
Es ist üblich den auf Nicht in der Grundstellung abzufragen.
Hier ist dein Schritt 0 bei M 100 Aus
Jeder Schritt mit eigener Textanzeige. Hat den Vorteil ,das für einen Schritt mehr Infos Angezeigt werden können.
Auch entfallen die MB und die Datenbausteine
Wenn du nicht soviel Infos in der Textanzeige Anzeigen möchtest, kannst du auch alles in einer Darstellen
Dazu die Version 2
Sowie mit der Anzeige gespielt Version 3
Version 6
So ,hab noch mal Versuche gemacht und eine neue Lösung gefunden.
Habe die neue Easy selber noch nicht lange.
Dafür habe ich die Merker anders belegt um Zahlenwerte abzufragen.
Merker Byte 13 mit Merker 97 bis 104 Diese nur für Schrittmerker verwenden Auch MW 7 nicht Verwenden
M96 in MB 12 nur als Merker Schrittkette Aktiv, Kein Schrittmerker
Merker 97 Zahlenwert 1 Abfrage in der Textanzeige für Schritt 1
Merker 98 Zahlenwert 2 Abfrage in der Textanzeige für Schritt 2
Merker 99 Zahlenwert 4 Abfrage in der Textanzeige für Schritt 3
und so weiter wenn benötigt mit 8 für Schritt 4 und 16 für Schritt 5 ....
Alle Merker aus MB 13 nicht Aktiv = Zahlenwert 0 Schritt 0
Ich finde eine gute Easy Lösung ohne Datenbausteine ... Mit Notaus
Alle Versionen können je nach Anwendung eine Lösung sein.
-
Vielen, vielen Dank Jürgen - perfekt.
Jetzt verstehe ich auch den Zusammenhang Merkerbit - Merkerbyte und die Wichtigkeit der Merkertabelle.
Es ist eine völlig andere Programmierung wie in der LOGO - trotzdem relativ übersichtlich.
Die Mängel in den Graphik Funktionen sind aber gravierend -
Nicht möglich (bzw. schaffe ich nicht) ist:
Verschieben von Verbindungsleitungen
Kopieren von mehreren Blöcken samt Verbindungen
Nicht alle Ausgänge können mit einem Gatter verbunden werden (bei Vergleicher kann der wichtige Ausgang EQ nur an einen Merker gehen).
Austauschen von Funktionsblöcken ist meist nur durch Totallöschen (alle Eingänge müssen vorher gelöscht werden ) möglich.
Lästig ist das erforderliche runterblättern in den Nummernauswahlen ... wenn ich Merker 400 möchte muss ich viele Bild unten drücken
Also "Graphische Programmiersprache" verdient das nicht.
-
Hallo,
da die Möglichkeiten im Netzwerk eingeschränkt sind, ist ein Verschieben der Verbindungen nicht nötig.
Verbindungen werden Automatisch erstellt
Zum Vergleicher, da kann sowohl ein Ausgang wie die Funktionsbausteine ausgewählt werden,
Siehe Bild
-
Kopieren von mehreren Blöcken samt Verbindungen
-
Eingabe von Merker Nummer. Möglichkeiten im Schaltplan. Siehe Bilder
-
Baustein im Netzwerk ändern. Passt nur nicht immer ....
-
Hallo,
auch Operanden wie Merker, Ausgänge, Timer können mit Nummer direkt mit der Tastatur eingegeben werden.
An Eaton bitte die Zeit für die Eingabe verlängern. Bei 3 Stellen schaffe ich das nicht
Alternativ die Eingabe Taste zum Übernehmen
-
Hallo Ernst,
Lästig ist das erforderliche runterblättern in den Nummernauswahlen ... wenn ich Merker 400 möchte muss ich viele Bild unten drücken
Nachdem Du z.B. einen Schließer in die Programmieroberfläche gezogen hast, einfach über die Tastatur M400, I324, Q167 oder was auch
immer eingeben. Das geht auch bei Objekten, die schon gesetzt worden sind. Einfach anklicken und dann über die Tastatur den gewünschten
Operanden eingeben.
Nicht alle Ausgänge können mit einem Gatter verbunden werden (bei Vergleicher kann der wichtige Ausgang EQ nur an einen Merker gehen).
Das ist unschön, da gebe ich dir recht. Du brauchst aber nicht unbedingt einen Merker. Folgender Vorschlag
1. Mit Strg*T eine neues Netzwerk anlegen.
2. Einen Schließer in das Netzwerk ziehen.
3. Über die Tastatur ;) "CP01EQ" eingeben.
4. Damit ein UND-Gatter verknüpfen.
Gruß Ralf
-
Hallo Ralf, ich schaffe es nicht, mit der Tastatur wie von dir beschrieben den CP01 EQ einzugeben. Fehlermeldung oder ich bin zu langsam.
Edit
Es geht wenn ich sehr schnell bin. Das schaffe ich nur mit vielen versuchen. Das gleiche wie zuvor. Zeit zur Eingabe verlängern. Ich kann nur 2 Finger Bedienung. Bin da sicher nicht der Einzige
,
Ich habe hier die Lösung mit der Maus
Kontakt einfügen.Ist zuerst auf I1 dann ändern wie im Bild
-
Da war ich wohl Vorschnell mit der Kritik - Danke für die Aufklärung
-
Hallo ernst123 :) hast du auch Probleme mit der Zeit für die Tastatur Eingabe?
-
Hallo ernst123 :) hast du auch Probleme mit der Zeit für die Tastatur Eingabe?
ja, das ist viel zu kurz