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

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

Thema: Win CC Flex Variable Anzeigen

  1. #1
    Registriert seit
    03.09.2006
    Ort
    bei Ulm
    Beiträge
    210
    Danke
    82
    Erhielt 8 Danke für 8 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo WinCC Flex Gemeinde
    Auch auf die Gefahr hin daß das Thema schon behandelt wurde.
    Ich will in einen Bild zu Diagnosezwecken Bytefelder anzeigen, wie in der 840D unter Diagnose / PLC möglich
    Also EB 0 eintippen und der Status vom Byte wird angezeigt.
    Oder MW 112 anwählen Bits setzen und mit Enter schreiben. etc.
    Ist hier in WinCC Flex schon was vorgesehen oder muß ich es händisch erstellen.
    Gruß aus dem Ländle

    Guste
    Zitieren Zitieren Win CC Flex Variable Anzeigen  

  2. #2
    Registriert seit
    06.10.2004
    Ort
    Kopenhagen.
    Beiträge
    4.626
    Danke
    377
    Erhielt 801 Danke für 642 Beiträge

    Standard

    Es gibt schon.
    Unter die Tools ... Enhanced Objects (Erweiterte Objekte ?) ... findest du den Status Force.
    Damit kann man beliebige SPS Adressen beobachten und sogar ändern.
    Es ist dafür auch etwas gefährlich. Wenn du sperren willst das man Werte ändern kann, dann kannst du abwählen das die "schreiben" Taster dafür angezeigt wird.
    Jesper M. Pedersen

  3. Folgender Benutzer sagt Danke zu JesperMP für den nützlichen Beitrag:

    Guste (03.02.2014)

  4. #3
    Guste ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.09.2006
    Ort
    bei Ulm
    Beiträge
    210
    Danke
    82
    Erhielt 8 Danke für 8 Beiträge

    Standard

    Danke Jesper das schau ich mir doch gleich an.
    Ich finde aber unter Werkzeuge / Erweiterte Objekte nur Benutzeranzeige , Kurvenanzeige, Rezepturanzeige, Meldeanzeige

    Guß Guste
    Geändert von Guste (03.02.2014 um 14:00 Uhr) Grund: Frage

  5. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Im deutschen WinCCflexible heißt das Objekt "Status/Steuern". Das gibt es aber nicht bei allen Panels.
    Was hast Du denn für ein Panel? Und was für eine CPU?

    Im Notfall kann man sich so ein Status_Variable schnell selber programmieren, wenn die CPU indirekte Adressierung auf absolute Adressen unterstützt.
    Dann sollte man aber unbedingt die OB121 und OB122 in der CPU haben.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  6. #5
    Guste ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.09.2006
    Ort
    bei Ulm
    Beiträge
    210
    Danke
    82
    Erhielt 8 Danke für 8 Beiträge

    Standard

    Hallo Harald
    TP177B denke das TP kann das nicht
    Als CPU verwende ich 313 2 DP
    OB121 und OB 122 müsste die haben. Denk da muß ich doch selber was stricken

  7. #6
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Das wird wohl eher ein TP177A sein.
    TP177B hat das Status/Steuern, TP177A hat es nicht.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    Guste (04.02.2014)

  9. #7
    Guste ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    03.09.2006
    Ort
    bei Ulm
    Beiträge
    210
    Danke
    82
    Erhielt 8 Danke für 8 Beiträge

    Standard

    Danke Harald
    Habe 177B und A zur Hand dachte nicht daß hier der Unterschied so gross ist.
    Ist ja eine feine Sache am TP 177B.
    Für den TP177A sollete s ja auch einen Weg geben.
    Ich habe mir die Syntax DB123.DBW2 auf einem DB als Zeichenfolge angelegt. Wollt dann dies Zeichenfolge als Variable verwenden


    //L DB200.DBW2 //
    L P#DB160 DBX3.0 Byte 13 // Variable
    T DB160.DBW16 // Anzeige

    Das haut so erstmal nicht hin

    Gruß Guste

  10. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard

    Brauchst Du wirklich die Möglichkeit, jede Adresse in der SPS zu lesen und zu beschreiben? Damit kann man mehr Schaden anrichten als es nützt. Zu Zeiten der S5 war ein Bild mit SteuernVariable üblich, weil man damit preiswert eine Möglichkeit hatte, mit einfachsten Text-OP vorgesehene und nicht vorhergesehene Eingriffe in das Programm zu machen. Heutzutage nimmt man ein HMI/Grafikpanel und macht ein Bild mit übersichtlich angeordneten E/A-Feldern und Klartextbeschreibung.

    Andererseits ist so ein universelles SteuernVariable natürlich eine nette Programmieraufgabe mit hohem Lernfaktor.
    Die löst man aber nicht mit ANY-Pointern sondern per indirekter Adressierung (speicherindirekt oder registerindirekt mit AR-Register, siehe AWL-Hilfe). Adressierung von Bytes oder Words reicht, Adressierung von einzelnen Bits ist in der Regel nicht notwendig.
    Das geht kurz gefasst ungefähr so: man nehme
    - ein symbolisches EA-Feld zum Auswählen des Speicherbereichs (E, A, M, DB, ggf. auch T und C)
    damit steuert man die Bereichskennung im AR-Register oder verzweigt das Programm ala SWITCH CASE...
    - ein Eingabefeld für die DB-Nummer (UINT)
    der Wert geht an ein "AUF DB [dbnr]"
    - ein Eingabefeld für die Adresse/Offset (UINT)
    der Wert wird mit 8 multipliziert (SLD 3) für die indirekte Adressierung verwendet: z.B. "MB [adresse]" oder "B [AR1, P#0.0]"
    - ein Ein/Ausgabefeld für den Wert, der aus der Adresse gelesen bzw. in die Adresse geschrieben werden soll, möglichst hexadezimal formatiert (WORD)

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    Guste (06.02.2014)

  12. #9
    Registriert seit
    25.11.2008
    Ort
    Westpfalz
    Beiträge
    1.550
    Danke
    187
    Erhielt 212 Danke für 186 Beiträge

    Standard

    Wenn es nur zur Diagnose dient, warum nicht nur in WinCCflex indirekt adressieren.
    Jeweils Eingabefelder für E/A/M/DB und das Byte. Diese unter Eigenschaften/Adressierung angeben, anstelle der Konstanten.

    mfG Sinix
    and we all support the team (S.King - Die Arena)

  13. Folgender Benutzer sagt Danke zu Sinix für den nützlichen Beitrag:

    Guste (06.02.2014)

  14. #10
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.191
    Danke
    923
    Erhielt 3.292 Danke für 2.661 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ach ja, direkt in WinCCflex geht es auch, das nennt sich Adress-Multiplexen

    Falls es in der SPS programmiert werden soll, weil man da flexibler Variablen-Prüfungen und Adressbeschränkungen realisieren kann, hier mal ein
    Grundgerüst StatusVariable
    Code:
    //DB-Nummer mit 0 vorbelegen für Zugriffe auf E/A/M
          L     0
          T     #iTmp_DB_No                 //(INT in TEMP)
    
    //Verteiler gewünschter Speicherbereich --> Bereichskennung
          L     "DB_OP".StVar_Typ           //symbolisches Auswahlfeld: Speicherbereich
          SPL   ETYL
          SPA   MTYE                        // 0: E
          SPA   MTYA                        // 1: A
          SPA   MTYM                        // 2: M
          SPA   MTYD                        // 3: DB
    ETYL: L     0                           //ungültige Auswahl!
          T     "DB_OP".StVar_Typ           //symb.Auswahlfeld auf "E" initialisieren
    
    MTYE: L     P#E 0.0                     //Bereichskennung E in AKKU1 für AR1
          SPA   MADD
    
    MTYA: L     P#A 0.0                     //Bereichskennung A in AKKU1 für AR1
          SPA   MADD
    
    MTYM: L     P#M 0.0                     //Bereichskennung M in AKKU1 für AR1
          SPA   MADD
    
    MTYD: L     "DB_OP".StVar_DB            //Eingabefeld: DB-Nummer
          T     #iTmp_DB_No
    
          L     P#DBX 0.0                   //Bereichskennung DB in AKKU1 für AR1
    
    //    hier Pointer 0.0 + Speicherbereichskennung in AKKU1
    MADD: L     "DB_OP".StVar_Adresse       //Eingabefeld: Adresse (Offset)
          SLD   3                           //--> P#offset.0
          +D                                //Bereichskennung zufügen aus Verteiler
          LAR1                              //Zieladresse in Adressregister
    
    //Schreiben oder Lesen?
    //...
    
    //adressiertes Byte auslesen für Anzeige auf Panel
          AUF   DB [#iTmp_DB_No]            //DB-Nummer oder 0 bei E/A/M
          L     B [AR1,P#0.0]               //das adressierte Byte auslesen
          T     "DB_OP".StVar_Wert          //Ausgabefeld: Wert
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet
    Zitieren Zitieren Grundgerüst StatusVariable in AWL  

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

    Guste (06.02.2014)

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 14.12.2012, 08:16
  2. Variable in Fehlermeldung anzeigen
    Von Andy AC im Forum HMI
    Antworten: 5
    Letzter Beitrag: 25.10.2010, 14:34
  3. Antworten: 19
    Letzter Beitrag: 30.06.2010, 23:15
  4. Antworten: 14
    Letzter Beitrag: 02.02.2010, 15:06
  5. Win CC Flexible Rezeptnamen anzeigen
    Von Rafikus im Forum HMI
    Antworten: 6
    Letzter Beitrag: 07.07.2009, 12:38

Stichworte

Lesezeichen

Berechtigungen

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