![]() |
|
|||||||
| Simatic Step7 Programmierung Alles zu Step7 Programmierung |
![]() |
|
|
Themen-Optionen |
|
#1
|
|||
|
|||
|
Hi Leute
Anwendung: Es geht hier um eine bestehende Anlage die eine komplette Softwareüberarbeitung bekommt. Die ursprüngliche Software stammte jedoch von einer anderen Firma und wurde in C basierend auf Industrie-PC geschrieben. Auf dieses Programm habe ich leider keinen Zugriff. Die verwendeten Zählermodule sind daher nicht die neuesten Versionen. Zur Wegerfassung zweier Antriebe (24VDC A/B Inkrementalgeber) werden die Zählerbaugruppen 6ES7350-1AH02-0AE0 verwendet. Der Starteingang des FU's die diese Motoren antreiben werden über den DO0 des Zählerbaugruppe angesteuert (Dies ist bereits bestehend und kann nicht geändert werden). Sollziel: Es geht und 2 Bandantriebe. Bei beiden soll immer ein gewisser Bandweg gefahren werden. Bei einem nur in eine Richtung beim anderen aber in beide. Ich möchte die Ausgänge gern über den internen Komperator steuern um eine möglichst höhe Genauigkeit zu erzielen. Programmaufbau: Ich verwende den FC2 CNT_CTL1 (hier umbenannt in FC3) aus der FMx50lib mit zugehörigem Datenbaustein basierend auf UDT2 CNT_CHANTYPE1. Den Programmteil mit dem FC und die Hardwarekonfig könnt ihr im Anhang sehen. Problembeschreibung: Bei Band 1 das sich nur in eine Richtung dreht habe ich in der Hardwarekonfig das Ausgangsverhalten fix auf "Aktiv von Unterlauf bis Vergleichswert gestellt". Wenn ich nun über den FC2 einen Vergleichswert höher als den Istwert lade, wird der Ausgang solange gesetzt bis der Vergleichswert erreicht wurde. Funktioniert toll. Das Problem habe ich nun bei Band 2: Hier habe ich in der Hardwarekonfig zunächst die Ausgänge auf inaktiv geschaltet. Nun möchte ich online über die Funktion C_DOPARA und dem entsprechenden Wert in der Variable LOAD_VAL (besser gesagt im Byte 0 von LOAD_VAL) das Verhalten der Ausgangs DO0 abhängig von der Bewegungsrichtung des Bandes zwischen "Aktiv von Unterlauf bis Vergleichswert" und "Aktiv von Vergleichswert bis Überlauf" hin und herschalten. Hier beginnen nun meine Problem mit dem Zähler und dem FC2. Wie ihr oben entnehmen könnt, zählt der Zähler korrekt, ich kann den Zählerstand setzen und auch Vergleichswerte laden. Was ich nicht kann ist das ändern der Verhaltensweise der Ausgänge über C_DOPARA. Wenn ich in Byte 0 von LOAD_VAL die Zahl W#16#1 lade (Sollte laut Hanbuch "Aktiv von Vergleichswert bis Überlauf sein") und dann M60.3 (Menker an Eingang C_DOPARA, Siehe Anhang) setzte dann sollte dieser Merker nach erfolgreichem Abschluss der Aktion automatisch rückgesetzt werden. Bei mir bleibt der Merker aber immer gesetzt und das Verhalten der Ausgänge ändert sich nicht. Ich bekommen aber auch keinen Bedienfehler. Und der Diagnosebaustein aus der FMx50lib liefert auch kein Ergebnis. :confused Dazu kommt noch ein viel grundsätzlicheres Problem! Ich kann die Ausgänge auch nicht über den Eingangsparamter SET_DO0 am FC2 steuern, was eingentlich immer gehen sollte. (Natürlcih wurde der Ausgang zuvor über CTRL_DO0 freigegeben). ![]() So ich danke euch schon mal im vorraus das ihr diese langen Text überhaupt gelesen habt. Aber ich habe versucht euch mein Problem und die Gegebenheiten so genau wie möglich zu beschreiben damit ihr es einfacher habt mein Probelm zu verstehen. Meíne Frage daher an euch was mache in bei der Verwendung des FM350 oder des FC2 falsch dass solche Probleme auftreten können. Hoffe wirklich dringend das ihr mir helfen könnt. mfg Heinz |
|
#2
|
|||
|
|||
|
Hier noch wie versprochen Bilder der Hardware-Konfig
|