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

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 34

Thema: Migration von Funktionsbausteinen (STEP 7 V5.5 >> STEP 7 V13 Professional)

  1. #1
    Registriert seit
    06.06.2012
    Ort
    51597 Morsbach, NRW
    Beiträge
    73
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Böse


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    kurze Frage:

    Ist es im TIA Portal generell nicht mehr möglich, OUT-Parameter eines FBs, innerhalb des FBs einzulesen oder kann man da irgendwo etwas einstellen (Syntaxprüfung o. ä.?)?

    Wenn es nicht mehr geht, warum? - Der alte Wert des OUT-Parameters (aus der letzten Bearbeitung des FBs im vorherigen Zyklus) sollte doch, mit erneuter Übergabe des Instanzdatenbausteins, aktuell wieder zur Verfügung stehen oder hat sich an der generellen Arbeitsweise von FBs etwas geändert?

    Oder ist es einfach so, das BigS uns ärgern will?


    Gruß Kai
    Zitieren Zitieren Migration von Funktionsbausteinen (STEP 7 V5.5 >> STEP 7 V13 Professional)  

  2. #2
    Registriert seit
    03.07.2006
    Beiträge
    1.725
    Danke
    515
    Erhielt 303 Danke für 223 Beiträge

    Standard

    Möglich ist das schon aber TIA gibt dafür eine Warnung raus beim übersetzen.
    Da man aber am liebsten 0 Fehler / 0 Warnungen haben möchte muß Du hier deine Bausteine etwas modifizieren.

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

    Kai Schulz (28.08.2015)

  4. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.184
    Danke
    923
    Erhielt 3.290 Danke für 2.659 Beiträge

    Standard

    Zitat Zitat von Kai Schulz Beitrag anzeigen
    Der alte Wert des OUT-Parameters (aus der letzten Bearbeitung des FBs im vorherigen Zyklus) sollte doch, mit erneuter Übergabe des Instanzdatenbausteins, aktuell wieder zur Verfügung stehen oder hat sich an der generellen Arbeitsweise von FBs etwas geändert?
    Da ist leider nicht sicher. Der OUT-Parameter ist eine öffentliche Variable und kann außerhalb des FB verändert worden sein.


    Zitat Zitat von Kai Schulz Beitrag anzeigen
    Oder ist es einfach so, das BigS uns ärgern will?
    BigS passt die Warnungen ans Niveau der Programmierer an

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #4
    Registriert seit
    06.06.2012
    Ort
    51597 Morsbach, NRW
    Beiträge
    73
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Harald,

    Du schriebst:

    "Da ist leider nicht sicher. Der OUT-Parameter ist eine öffentliche Variable und kann außerhalb des FB verändert worden sein."

    Ja, der OUT-Parameter wird auf eine "öffentliche" Variable geschrieben. Aber eben nur geschrieben(!), er wird nicht im FB eingelesen! - Daher ist es vollkommen wurscht, ob er außerhalb des FBs verändert wird. Auf die Instanzdaten selber greife ich außerhalb der FBs nicht zu. Eventuell meinst Du "IN-/OUT-Parameter" (>> die werden auch eingelesen) oder "FCs" (>> da werden nur Zeiger auf die jeweiligen Adressen gebildet)?

    "BigS passt die Warnungen ans Niveau der Programmierer an "

    Ja, man sieht, dass das auch nötig ist !!!


    Gruß Kai

  6. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.184
    Danke
    923
    Erhielt 3.290 Danke für 2.659 Beiträge

    Standard

    Die OUT-Parameter werden nicht in den FB eingelesen - soweit scheint noch alles in Ordnung.
    Doch nun willst Du im FB den OUT lesen und gehst davon aus, daß der noch den Wert vom letzten Durchlauf hat - was aber nicht sicher ist. Deshalb warnt TIA. Das war auch schon in Step7 classic falsch.

    Der OUT-Parameter selber ist die öffentliche Variable und kann gelesen und auch beschrieben werden. Der Parameter muß noch nichtmal beschaltet sein. Siehe dieses Beispiel:
    Code:
    CALL "MyFB", "IDB"
     Out1 := M12.3
    
    U "irgendwas"
    = M12.3          //das hat keinen Einfluß auf die Instanz
    = "IDB".Out1     //das verändert den Out1 der Instanz!
    (Das auch die STAT-Variablen von außerhalb verändert werden können steht hier nicht zur Debatte.)

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #6
    Registriert seit
    06.06.2012
    Ort
    51597 Morsbach, NRW
    Beiträge
    73
    Danke
    10
    Erhielt 1 Danke für 1 Beitrag

    Standard

    Hallo Harald,

    Du schriebst:

    "Der OUT-Parameter selber ist die öffentliche Variable und kann gelesen und auch beschrieben werden."

    Das weiß ich, tue es aber (bewusst) niemals! - Ich hatte das allerdings auch schon geschrieben:

    "...Auf die Instanzdaten selber greife ich außerhalb der FBs nicht zu. ..."

    Ich halte das "externe" Ändern von Instanzdaten für logisch unschlüssig!


    Gruß Kai

  8. #7
    Registriert seit
    09.08.2006
    Beiträge
    3.627
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard

    ich glaube Ihr redet aneinander vorbei Poste doch mal den genauen Wortlaut der TIA-Warnung.

    Ich denke TIA warnt davor, dass, wenn woanders der M12.3 nochmal verändert wurde, MyFB das intern nicht mitbekommt, da der Wert im IDB nicht geändert wird...

    Gruß.

  9. #8
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.184
    Danke
    923
    Erhielt 3.290 Danke für 2.659 Beiträge

    Standard

    Zitat Zitat von Kai Schulz Beitrag anzeigen
    Das weiß ich, tue es aber (bewusst) niemals!
    TIA weiß aber nicht, daß Du einer von den Guten bist und warnt nun eben generell.

    Die Warnung ist schon richtig so. Das Zugreifen und auch Schreiben der öffentlichen und der nichtöffentlichen Instanzdaten von außerhalb kann schnell versehentlich passieren oder ist sogar das Konzept von HMI (wie z.B. PCS7 und viele selbstgestrickte "geniale" Sachen). Als Programmierer kann man nicht wissen, was der Anwender später mit der SPS noch tut - also solche Unsauberkeiten besser generell vermeiden.

    Und: "ich greife niemals zu" - hast Du noch nie IEC-Timer ala #Timer1.Q abgefragt oder die E/A-Parameter von Regelbausteinen außerhalb des Bausteinaufrufs manipuliert? Viele "clevere" SPS-Programmierer verzichten völlig auf das lästige Beschalten von FB-Übergabeparametern und greifen nur direkt drauf zu (besonders in textuellen Programmiersprachen wie SCL) ... lustig wird das dann, wenn der FB und der Zugreifer in verschiedenen Tasks (OB-Ebenen) liegen. Man könnte endlos diskutieren...

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    ducati (28.08.2015)

  11. #9
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.184
    Danke
    923
    Erhielt 3.290 Danke für 2.659 Beiträge

    Standard

    Zitat Zitat von ducati Beitrag anzeigen
    ich glaube Ihr redet aneinander vorbei Poste doch mal den genauen Wortlaut der TIA-Warnung.
    TIA warnt, wenn im FB ein OUT-Parameter gelesen wird. Legt man den Parameter in STAT und gibt eine Kopie an einen OUT dann ist TIA zufrieden.

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  12. #10
    Registriert seit
    09.08.2006
    Beiträge
    3.627
    Danke
    912
    Erhielt 656 Danke für 542 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Kai Schulz Beitrag anzeigen
    Ich halte das "externe" Ändern von Instanzdaten für logisch unschlüssig!
    Gruß Kai
    Kann man So oder so sehen Wenn ich's mache (z.B. durch WinCC) dann versuche ich es zumindest auf IN-Signale zu beschränken

    AS/OS übersetzen basiert darauf, die IDBs in WinCC anzulegen und dann natürlich auch von WinCC aus zu beschreiben. Aber das hat was mit dem generellen Programmierstil zu tun.
    Das Lesen von OUT Werten im FB, erst recht wenn sie vorher im FB noch nicht beschrieben wurden, halte ich auch für nicht ganz sauber. Ich verwende dort immer STAT und mache am Bausteinende die Zuweisung aller OUT...

    Aber alles Ansichtssache

    Gruß.

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

    PN/DP (28.08.2015)

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.04.2012, 07:21
  2. Step 7 Professional für Windows 7?
    Von egger im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 21.12.2010, 22:23
  3. Antworten: 10
    Letzter Beitrag: 29.10.2010, 17:06
  4. Step 7 Professional 2006
    Von Simaticfuzzy im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 21.12.2009, 11:23
  5. Fehlermeldung bei Step 7 Professional
    Von bwink68 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 14.11.2007, 14:58

Stichworte

Lesezeichen

Berechtigungen

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