Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Programmierhilfe AWL

  1. #1
    Registriert seit
    16.09.2013
    Beiträge
    4
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Unglücklich


    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
    Zitieren Zitieren Programmierhilfe AWL  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.192
    Danke
    925
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    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"
    
    // unnötige "AngstKlammer" entfernen
    // 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"
    
    // Timer-Aufruf FUP-gerecht vervollständigen
    U(
    U "HM_Start_Produktion"
    U "ZRSA_Auto"
    L DB4.DBW 66
    SE T 27
    NOP 0
    NOP 0
    NOP 0
    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"
    
    //CLR ersetzen durch False-Merker
    U(
    O "HM Handbetrieb"
    O "HM Automatikbetrieb"
    )
    U "ZRSA_R1"
    U "IMMER0"  //CLR
    = "Magnetventil ZRS Aufg. 2"
    = "Vorwahl Aufgabe 2"
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. Folgender Benutzer sagt Danke zu PN/DP für den nützlichen Beitrag:

    Mav26 (08.10.2013)

  4. #3
    Registriert seit
    22.06.2010
    Beiträge
    21
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Was hat dieser code mit einer großen anlage zu tun?

  5. #4
    Mav26 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.09.2013
    Beiträge
    4
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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??

  6. #5
    Mav26 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.09.2013
    Beiträge
    4
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard

    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"

  7. #6
    Registriert seit
    10.09.2010
    Beiträge
    72
    Danke
    22
    Erhielt 2 Danke für 2 Beiträge

    Standard

    Zitat Zitat von Mav26 Beitrag anzeigen
    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.

  8. Folgender Benutzer sagt Danke zu AlexTh für den nützlichen Beitrag:

    Mav26 (08.10.2013)

  9. #7
    Registriert seit
    10.09.2010
    Beiträge
    72
    Danke
    22
    Erhielt 2 Danke für 2 Beiträge

    Standard

    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.

  10. #8
    Registriert seit
    27.06.2009
    Ort
    am Nordharz
    Beiträge
    3.717
    Danke
    443
    Erhielt 919 Danke für 740 Beiträge

    Standard

    Zitat Zitat von PN/DP Beitrag anzeigen
    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.
    Zitat Zitat von AlexTh Beitrag anzeigen
    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.

  11. #9
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.733
    Danke
    317
    Erhielt 1.522 Danke für 1.283 Beiträge

    Standard

    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
    Warum denn einfach, wenn man auch Siemens einsetzen kann!

    Wer die grundlegenden Freiheiten aufgibt, um vorübergehend ein wenig Sicherheit zu bekommen, verdient weder Freiheit noch Sicherheit (B. Franklin).

  12. Folgender Benutzer sagt Danke zu MSB für den nützlichen Beitrag:

    Mav26 (08.10.2013)

  13. #10
    Mav26 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    16.09.2013
    Beiträge
    4
    Danke
    4
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von AlexTh Beitrag anzeigen
    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???

Ähnliche Themen

  1. Step 7 Programmierhilfe FUP
    Von EMZ im Forum Simatic
    Antworten: 97
    Letzter Beitrag: 20.07.2015, 15:31
  2. programmierhilfe
    Von holschin im Forum Suche - Biete
    Antworten: 1
    Letzter Beitrag: 09.12.2009, 09:31
  3. Suche Programmierhilfe S5
    Von Sarah2000 im Forum Suche - Biete
    Antworten: 1
    Letzter Beitrag: 21.07.2005, 09:29
  4. Programmierhilfe für S7
    Von Joe.Baer im Forum Simatic
    Antworten: 7
    Letzter Beitrag: 26.04.2005, 13:29
  5. Programmierhilfe: Pumpensteuerung
    Von xpert im Forum Programmierstrategien
    Antworten: 4
    Letzter Beitrag: 28.01.2005, 13:33

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •