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

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

Thema: Lokaldaten-Zugriff in TIA (FB)

  1. #1
    Registriert seit
    27.05.2014
    Beiträge
    114
    Danke
    43
    Erhielt 4 Danke für 4 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    N'Abend,

    in meinem Programm habe ich einen FB mit (bis jetzt) den folgenden Code:
    Code:
    //Einlesen der Daten via Profibus#Status.ERR_REC := DPRD_DAT(LADDR:=#LADDR, RECORD=>#DP_RD_1);
    
    
    "Tag_1"  := #DP_RD_1.BYTE1;
    "Tag_2"  := #DP_RD_1.BYTE2;
    "Tag_3"  := #DP_RD_1.BYTE3;
    "Tag_4"  := #DP_RD_1.BYTE4;
    "Tag_5"  := #DP_RD_1.BYTE5;
    "Tag_6"  := #DP_RD_1.BYTE6;
    "Tag_7"  := #DP_RD_1.BYTE7;
    "Tag_8"  := #DP_RD_1.BYTE8;
    "Tag_9"  := #DP_RD_1.BYTE9;
    "Tag_10" := #DP_RD_1.BYTE10;
    "Tag_11" := #DP_RD_1.BYTE11;
    "Tag_12" := #DP_RD_1.BYTE12;
    "Tag_13" := #DP_RD_1.BYTE13;
    "Tag_14" := #DP_RD_1.BYTE14;
    "Tag_15" := #DP_RD_1.BYTE15;
    "Tag_16" := #DP_RD_1.BYTE16;
    "Tag_17" := #DP_RD_1.BYTE17;
    
    
    //Empfangsdaten zuordnen
    #DP_RD.SV := #DP_RD_1.BYTE1; //Statusvorgabe
    #DP_RD.Temp_IW := SHR(IN := "%LD0", N := 8);
    Wenn ich nun auf die Lokaldaten über %LD0 zugreifen möchte, kommt die Fehlermeldung, dass die Variable nicht definiert ist. Was mache ich falsch?



    LG Bob
    Geändert von Bobbybau91 (16.01.2015 um 11:54 Uhr)
    Zitieren Zitieren Lokaldaten-Zugriff in TIA (FB)  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Was für eine CPU willst Du programmieren?
    Bei einer S7-1500 muß für absolute Zugriffe auf L-Adressen der "optimierte" Zugriff ausgeschaltet sein.

    Eigentlich ein guter Grund, diese vorsintflutliche Art der Programmierung ala "Schmiermerker" endlich über Bord zu werfen ...

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

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    Bobbybau91 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    27.05.2014
    Beiträge
    114
    Danke
    43
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Ich habe eine S7-1200. Ich konvertiere ein Programm von einer S7-300 auf eine S7-1200 und bei der 300 funktioniert das so, wie ich es gemacht habe (in AWL).
    Den optimierten Zugriff habe ich schon deaktiviert

  4. #4
    Bobbybau91 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    27.05.2014
    Beiträge
    114
    Danke
    43
    Erhielt 4 Danke für 4 Beiträge

    Standard

    2015-01-16_12-01-19.jpg
    So sieht es bis jetzt aus...

  5. #5
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    Optimierter Zugriff, deaktiviert... OK.
    Zitat Zitat von Bobbybau91 Beitrag anzeigen
    Code:
    #DP_RD.Temp_IW := SHR(IN := "%LD0", N := 8);
    Es hat sich ab ein kleiner Fehler eingeschlichen.

    Du verwendest "%LD0". Das ist ein Symbol.
    Du willst aber absolut addressiern, heißt - %LD0.
    Weg mit den Anführungszeichen.

    Ein Warnung beim Übersetzen wirst du aber trotzdem bekommen.
    TIA hat es als Dogma verankert solche Dinge aus-zu-buhen.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  6. #6
    Bobbybau91 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    27.05.2014
    Beiträge
    114
    Danke
    43
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Zitat Zitat von RONIN Beitrag anzeigen
    Optimierter Zugriff, deaktiviert... OK.

    Es hat sich ab ein kleiner Fehler eingeschlichen.

    Du verwendest "%LD0". Das ist ein Symbol.
    Du willst aber absolut addressiern, heißt - %LD0.
    Weg mit den Anführungszeichen.

    Ein Warnung beim Übersetzen wirst du aber trotzdem bekommen.
    TIA hat es als Dogma verankert solche Dinge aus-zu-buhen.
    Ich hatte es schon mal ohne Anführungszeichen, ich hatte mich da schon dumm-und-dämlich-versucht
    Dann sieht es so aus:
    2015-01-16_12-14-39.jpg2015-01-16_12-15-47.jpg

  7. #7
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    OK, sorry. Das wie ich es oben in beschreiben hab geht in FUP. (grad probiert)

    In SCL scheint es gar nicht zu gehen.
    Musst wohl die AT-Sicht nehmen.
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  8. #8
    Bobbybau91 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    27.05.2014
    Beiträge
    114
    Danke
    43
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Zitat Zitat von RONIN Beitrag anzeigen
    OK, sorry. Das wie ich es oben in beschreiben hab geht in FUP. (grad probiert)

    In SCL scheint es gar nicht zu gehen.
    Musst wohl die AT-Sicht nehmen.
    AT-Sicht? Was ist denn das?
    Muss ich den Umweg über einen extra Datenbaustein gehen oder lässt sich das eleganter lösen?
    Geändert von Bobbybau91 (16.01.2015 um 12:47 Uhr)

  9. #9
    Registriert seit
    23.07.2009
    Ort
    Österreich
    Beiträge
    2.330
    Danke
    448
    Erhielt 687 Danke für 512 Beiträge

    Standard

    Mit der AT-Sicht kann man Variablen überlagern.
    Man deklarierte eine symbolische Variable die (wie üblich) eine Speicherplatz zugewiesen bekommt.
    Danach wir eine zweite symbolische Variable deklariert der man über das AT-Attribut mitteilt dass diese am selben Speicherplatz liegt wie die erste.
    Prinzipbedingt geht das natürlich auch nur wenn der Baustein nicht optimiert ist.

    Beispiel:
    AT-Sicht_TIA.jpg

    Details dazu in der TIA-Hilfe unter: "Variablen mit AT überlagern"

    Die Deklaration ist ein wenig umständlich. Zuerst bei der zweiten VAR den Datentyp "AT" wählen und dann den wirklichen Datentyp.
    Geändert von RONIN (16.01.2015 um 12:58 Uhr)
    If at first you don't succeed, you're not Van Damme!
    ... or maybe using TIA!

  10. #10
    Registriert seit
    09.01.2012
    Beiträge
    466
    Danke
    25
    Erhielt 38 Danke für 35 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Die 1200 und die 1500 werden nicht mehr so Programmiert da komplett Symbolisch...

    Lest euch doch kurz in das Thema ein und ihr müsst nicht mehr solche Umstände über den Lockaldatenstack mehr machen...

Ähnliche Themen

  1. Zugriff auf Lokaldaten
    Von Züttu im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 19.07.2010, 12:07
  2. Antworten: 3
    Letzter Beitrag: 07.10.2009, 16:12
  3. Zugriff auf Lokaldaten in einem FC/FB
    Von Move im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 02.03.2009, 11:29
  4. Antworten: 0
    Letzter Beitrag: 13.11.2008, 12:39
  5. Indirekter Zugriff auf Lokaldaten des Vorgänger
    Von Senator42 im Forum Simatic
    Antworten: 1
    Letzter Beitrag: 24.03.2007, 14:17

Lesezeichen

Berechtigungen

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