Step 7 Programmierhilfe AWL

Mav26

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute bin ein Amteur auf dem Gebiet der SPS wollte fragen ob mir jemand diese AWL anweisungen in FUP übersezten kann!!
Ich blicke da leider nicht so richtig durch!!

U DB4.DBX 40.0
U "HM Handbetrieb"
= "ZRSA_Hand"
UN "HM Handbetrieb"
R DB4.DBX 40.0
U DB4.DBX 44.1
U "Komp.UNLOAD"
U "HM Automatikbetrieb"
UN "Störung Allgemein"
S "ZRSA_Auto"
R "ZRSA_Auto_Start"
S "Produktion läuft"
O(
U "Weg Filter 1 aktiv"
U DB2.DBX 16.6
U "HM Filter 1 max max"
O
U "Weg Filter 2 aktiv"
U DB2.DBX 16.7
U "HM Filter 2 max max"
)
O "STO ZRS Aufgabe"
O DB4.DBX 45.1
O "Abschaltung Aufgabe leer"
O DB2.DBX 16.5
O "Time Stop"
O "STO Filter Steuergerät"
O "STO Kompressor"
O "ZRSA_Auto_Stopp"
O "Störung Allgemein"
O "HM Schnellstopp"
ON "HM Automatikbetrieb"
R "ZRSA_Auto"
R "ZRSA_Auto_Stopp"
R "Produktion läuft"
U "HM_Start_Produktion"
U "ZRSA_Auto"
L DB4.DBW 66
SE T 27
U T 27
FP M 100.7
S "KomL_Auto_Start"
O "ZRSA_Auto"
O "ZRSA_Hand"
= "ZRSA_R1"
CALL "FU Aufgabe"
U "ZRSA_R1"
= "Magnetventil ZRS Aufg. 1"
O "HM Handbetrieb"
O "HM Automatikbetrieb"
= "Vorwahl Aufgabe 1"
O "HM Handbetrieb"
O "HM Automatikbetrieb"
U "ZRSA_R1"
CLR
= "Magnetventil ZRS Aufg. 2"
= "Vorwahl Aufgabe 2"

danke
 
Dafür, daß Du Dich als Amateur bezeichnest, beschäftigst Du Dich mit ganz schön großen Anlagen. Ich hoffe, Du hast da jemanden dabei, der sich auskennt und der die Verantwortung für Dein Tun übernimmt.


Zur FUP-Umwandlung:
Zuerst zerlege den Code in mehrere Netzwerke: immer da wo eine neue Verknüpfung anfängt und bei dem CALL.

Dann die Editor-Ansicht nach FUP umschalten. Die Netzwerke, welche noch in AWL angezeigt werden, müssen nachbearbeitet werden - das ist jetzt der Zeitpunkt, wo man sein Gehirn einschalten sollte ;)

Entweder es sind noch zuwenige oder zuviele "Angstklammern" vorhanden - diese ergänzen oder entfernen.
Bestimmte Bausteine (z.B. Timer) benötigen für FUP-Darstellbarkeit noch NOP's und Klammern - diese vervollständigen.
Ganz am Ende ist noch deaktivierter (Reserve-)Code - erkennbar an dem CLR. Den kann man evtl. löschen oder besser umformen durch Verknüpfen mit einem False-Merker.

Code:
U DB4.DBX 40.0
U "HM Handbetrieb"
= "ZRSA_Hand"

UN "HM Handbetrieb"
R DB4.DBX 40.0

U DB4.DBX 44.1
U "Komp.UNLOAD"
U "HM Automatikbetrieb"
UN "Störung Allgemein"
S "ZRSA_Auto"
R "ZRSA_Auto_Start"
S "Produktion läuft"

[COLOR="#FF0000"]// unnötige "AngstKlammer" entfernen
// O([/COLOR]
U "Weg Filter 1 aktiv"
U DB2.DBX 16.6
U "HM Filter 1 max max"
O
U "Weg Filter 2 aktiv"
U DB2.DBX 16.7
U "HM Filter 2 max max"
[COLOR="#FF0000"]// )[/COLOR]
O "STO ZRS Aufgabe"
O DB4.DBX 45.1
O "Abschaltung Aufgabe leer"
O DB2.DBX 16.5
O "Time Stop"
O "STO Filter Steuergerät"
O "STO Kompressor"
O "ZRSA_Auto_Stopp"
O "Störung Allgemein"
O "HM Schnellstopp"
ON "HM Automatikbetrieb"
R "ZRSA_Auto"
R "ZRSA_Auto_Stopp"
R "Produktion läuft"

[COLOR="#FF0000"]// Timer-Aufruf FUP-gerecht vervollständigen
U([/COLOR]
U "HM_Start_Produktion"
U "ZRSA_Auto"
L DB4.DBW 66
SE T 27
[COLOR="#FF0000"]NOP 0
NOP 0
NOP 0[/COLOR]
U T 27
[COLOR="#FF0000"])[/COLOR]
FP M 100.7
S "KomL_Auto_Start"

O "ZRSA_Auto"
O "ZRSA_Hand"
= "ZRSA_R1"

CALL "FU Aufgabe"

U "ZRSA_R1"
= "Magnetventil ZRS Aufg. 1"

O "HM Handbetrieb"
O "HM Automatikbetrieb"
= "Vorwahl Aufgabe 1"

[COLOR="#FF0000"]//CLR ersetzen durch False-Merker
U([/COLOR]
O "HM Handbetrieb"
O "HM Automatikbetrieb"
[COLOR="#FF0000"])[/COLOR]
U "ZRSA_R1"
[COLOR="#FF0000"]U "IMMER0"  //[/COLOR]CLR
= "Magnetventil ZRS Aufg. 2"
= "Vorwahl Aufgabe 2"

Harald
 
Also die umwandlungen haben super Funktioniert, danke jetzt kann ich den Code auch lesen!!

Jetzt noch eine frage wie kann ich herausfinden wie die Visu (ProTool) und die SPS zusammenarbeiten!!

z.B.: DB4.DBX 40.0 = "DB Kommunikation Visu".STAT51.STAT52 woher kann ich erfahren welcher Button von der Visu mit diesem Bit verknüpft ist, und wie ich ein weiteres auf die SPS schicken kann und umgekehrt??
 
Kann man auch Sprungbefehle umwandeln??

U "DB Kommunikation Visu".STAT67.STAT72
U "HM Handbetrieb"
= "KomL_Hand"
ON "HM Handbetrieb"
R "DB Kommunikation Visu".STAT67.STAT72
U "KomL_Auto_Start"
U "HM Automatikbetrieb"
UN "Störung Allgemein"
S "KomL_Auto"
R "KomL_Auto_Start"
O(
U "Weg Filter 1 aktiv"
U DB2.DBX 16.6
U "HM Filter 1 max max"
O
U "Weg Filter 2 aktiv"
U DB2.DBX 16.7
U "HM Filter 2 max max"
)
O "DB Kommunikation Visu".STAT67.STAT77
O "Abschaltung Aufgabe leer"
O DB2.DBX 16.5
O "Time Stop"
O "HM_Stopp_Produktion"
O "STO Kompressor"
O "Störung Allgemein"
O "KomL_Auto_Stopp"
O "HM Schnellstopp"
ON "KomS_Auto"
ON "HM Automatikbetrieb"
R "KomL_Auto"
R "KomL_Auto_Stopp"
R "Produktion läuft"
O "DB Kommunikation Visu".STAT67.STAT77
O "Time Stop"
O DB2.DBX 16.5
O "Abschaltung Aufgabe leer"
R "Produktion läuft"
U "HM_Stopp_Produktion"
UN "KomL_Auto"
L "DB Kommunikation Visu".STAT106.STAT107
SE T 36
U T 36
FP M 101.6
S "ZRSA_Auto_Stopp"
L "DB Kommunikation Visu".STAT127.STAT128
L 999
>I
SPBN M001
L 999
T "DB Kommunikation Visu".STAT127.STAT128
M001: NOP 0
L "DB Kommunikation Visu".STAT127.STAT128
L 0
<I
SPBN M002
L 0
T "DB Kommunikation Visu".STAT127.STAT128
M002: NOP 0
L "DB Kommunikation Visu".STAT127.STAT128
ITB
T MW 64
SET
S M 64.5
O "KomL_Hand"
O "KomL_Auto"
L MW 64
SE T 37
O "KomL_Hand"
O "KomL_Auto"
L MW 62
SA T 8
U T 8
UN "KomL_Hand"
UN "KomL_Auto"
O T 37
= "Kompressor _laden"
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Also die umwandlungen haben super Funktioniert, danke jetzt kann ich den Code auch lesen!!

Jetzt noch eine frage wie kann ich herausfinden wie die Visu (ProTool) und die SPS zusammenarbeiten!!

z.B.: DB4.DBX 40.0 = "DB Kommunikation Visu".STAT51.STAT52 woher kann ich erfahren welcher Button von der Visu mit diesem Bit verknüpft ist, und wie ich ein weiteres auf die SPS schicken kann und umgekehrt??

Dafür musst du das ProTool Projekt öffnen und dort im Variablenhaushalt schauen, meist ist dort ein Verweis auf deinen DB4 oder das einzelne Bit zu finden. Bei solchen Signalen kann jedoch auch ein Bereichszeiger definiert sein.
 
Wenn du die AWL-Sprache nicht beherrscht, dann empfehle ich dir, dass du erst Mal deine obige AWL in einzelne Netzwerke schreibst (der Übersicht halber).

Willst du sie dann grafisch darstellen, dann werden zwar einige Netzwerke noch nicht angezeigt, jedoch könntest du dir diese mit dem Objektkatalog (unter Ansicht) selber zusammen basteln. Lass einfach das originale Netzwerk stehen und füge darunter ein Neues ein > zum herumprobieren.

Oftmals hilft auch einfach nur ein "NOP 0" unter der letzten Anweisung. ;)
 
Zur FUP-Umwandlung:
Zuerst zerlege den Code in mehrere Netzwerke: immer da wo eine neue Verknüpfung anfängt und bei dem CALL.

Dann die Editor-Ansicht nach FUP umschalten. Die Netzwerke, welche noch in AWL angezeigt werden, müssen nachbearbeitet werden - das ist jetzt der Zeitpunkt, wo man sein Gehirn einschalten sollte ;)

Entweder es sind noch zuwenige oder zuviele "Angstklammern" vorhanden - diese ergänzen oder entfernen.
Bestimmte Bausteine (z.B. Timer) benötigen für FUP-Darstellbarkeit noch NOP's und Klammern - diese vervollständigen.
Ganz am Ende ist noch deaktivierter (Reserve-)Code - erkennbar an dem CLR. Den kann man evtl. löschen oder besser umformen durch Verknüpfen mit einem False-Merker.
Wenn du die AWL-Sprache nicht beherrscht, dann empfehle ich dir, dass du erst Mal deine obige AWL in einzelne Netzwerke schreibst (der Übersicht halber).

Willst du sie dann grafisch darstellen, dann werden zwar einige Netzwerke noch nicht angezeigt, jedoch könntest du dir diese mit dem Objektkatalog (unter Ansicht) selber zusammen basteln. Lass einfach das originale Netzwerk stehen und füge darunter ein Neues ein > zum herumprobieren.

Oftmals hilft auch einfach nur ein "NOP 0" unter der letzten Anweisung. ;)
@AlexTh,
schön, dass Du mit PN/DP überein stimmst.
;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
L "DB Kommunikation Visu".STAT127.STAT128
L 999
>I
SPBN M001
L 999
T "DB Kommunikation Visu".STAT127.STAT128
M001: NOP 0
L "DB Kommunikation Visu".STAT127.STAT128
L 0
<I
SPBN M002
L 0
T "DB Kommunikation Visu".STAT127.STAT128
M002: NOP 0

Letzten Endes wird hier nur ""DB Kommunikation Visu".STAT127.STAT128" auf einen Min / Max Wert überprüft 0 bzw. 999.

Die Wirkung davon ist im Gesamtkontext schon interessanter.
L "DB Kommunikation Visu".STAT127.STAT128
ITB
T MW 64
SET
S M 64.5
Hier wird im wahrscheinlich Schmiermerkerwort MW64 die Zeitbasis festgelegt, also im letzten Nibble dann 0010 = 0x2 = Sekunden.

Das ist doch eigentlich ein wirklich schönes AWL-Beispiel, welches eigentlich relativ leicht verständlich ist.
Bevor du dir jetzt hier jede Zeile einzeln ausdeutschen lässt, wäre es vielleicht erheblich zweckmäßiger, das du dir selbst mal Gedanken machst was hier passiert.

Mfg
Manuel
 
Dafür musst du das ProTool Projekt öffnen und dort im Variablenhaushalt schauen, meist ist dort ein Verweis auf deinen DB4 oder das einzelne Bit zu finden. Bei solchen Signalen kann jedoch auch ein Bereichszeiger definiert sein.

Danke

Die Verweiße auf die einzelnen DB's sind gefunden jetzt bleibt nur noch die Frage was ein Bereichszeiger ist und was er macht???
 
.
Jetzt noch eine frage wie kann ich herausfinden wie die Visu (ProTool) und die SPS zusammenarbeiten!!

z.B.: DB4.DBX 40.0 = "DB Kommunikation Visu".STAT51.STAT52 woher kann ich erfahren welcher Button von der Visu mit diesem Bit verknüpft ist, und wie ich ein weiteres auf die SPS schicken kann und umgekehrt??


Danke

Die Verweiße auf die einzelnen DB's sind gefunden jetzt bleibt nur noch die Frage was ein Bereichszeiger ist und was er macht???


Bereichszeiger sind z.B. HIER im Kapitel 4.7 erklärt.
 
Zurück
Oben