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

Ergebnis 1 bis 3 von 3

Thema: IO Adresse dymanisch zuweisen

  1. #1
    Registriert seit
    14.06.2012
    Beiträge
    53
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,
    wie lässt sich eine Zuweisung der IO-Adresse zur Laufzeit realisieren (in ST)?
    Bei jedem Neustart soll die Adresszuweisung je nach Bedingung neu erfolgen.

    Pseudo-Code
    GLOBAL_VAR
    SensorI01
    SensorI02
    SensorVoll
    SensorVoll
    AktorQ01 at %QW1
    AktorQ02 at %QW2
    VentilVoll
    VentilLeer
    ...
    PLC_POWER_ON
    IF Bedingung = TRUE THEN
    SensorVoll := SensorI01;
    SensorVoll := SensorI02;
    AktorQ01 := VentilLeer;
    AktorQ02 := VentilVoll;
    ELSE
    SensorVoll := SensorI02;
    SensorVoll := SensorI01;
    AktorQ02 := VentilLeer;
    AktorQ01 := VentilVoll;
    END_IF
    ...
    PLC_MAIN

    Ist der Ansatz richtig oder muss mit Pointern gearbeitet werden?

    Für sinnvolle Tipps und Hilfe wäre ich dankbar,
    Peter
    Zitieren Zitieren IO Adresse dymanisch zuweisen  

  2. #2
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard

    Hallo Peter!

    Vorab: Mit Pointern braucht man zum Glück so gut wie nie arbeiten. Das Leben kann man sich auch anderweitig schwer machen im Bereich des Debugging.

    Zu deinem Code:
    Was du da programmiert hast, ist ja eine in Abhängigkeit der IF-Bedingung entsprechende Zuweisung auf Ausgänge.
    Adressen werden da nicht dynamisch zugewiesen. Wenn es wirklich um Adresszuweisungen geht, muss tatsächlich mit Pointern gearbeitet werden.
    In deinem Code-Sniple sehe ich aber keine Veranlassung dazu.
    -->Ist also so möglich, wenn es darum geht zur Laufzeit auf die Ausgänge WertA oder WertB zu schreiben.

    Generell würde ich aber davon abraten eine Allokation AT%QW zu nutzen. Egal welcher Datentyp dahinter steckt, nutze immer B.
    Viele haben beim Umstieg von Tc2 auf Tc3 genau an der Stelle Probleme.
    Hintergrund: Tc3 verhält sich beim Speicherhandling nun so, wie man es erwarten würde bezogen auf doppelte Allokation z.B eines INT QB/W2 usw.

    Gruß,
    mac203

  3. #3
    Registriert seit
    14.06.2012
    Beiträge
    53
    Danke
    2
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Zusammen,

    das Zuweisen zur Laufzeit funktioniert und reicht für meine Zwecke.
    Habs eben mal implemntiert und getestet.

    Was die Allokation angeht. Das ist mir neu. Ich werde mal drauf achten.

    Grüße,
    Peter

Ähnliche Themen

  1. Step 7 ProfiNET Adresse einem neuen Teilnehmer zuweisen
    Von SY50 im Forum Simatic
    Antworten: 6
    Letzter Beitrag: 24.06.2014, 15:19
  2. Step 7 Neue IP-Adresse zuweisen
    Von Earny im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 28.01.2014, 15:47
  3. Step 7 IP-Adresse von SPS CPU 315-2DP/PN zuweisen
    Von TMaroni im Forum Simatic
    Antworten: 25
    Letzter Beitrag: 25.06.2013, 16:04
  4. IP-Adresse über DHCP zuweisen
    Von iso8859 im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.02.2012, 14:07
  5. Antworten: 15
    Letzter Beitrag: 09.09.2011, 10:56

Lesezeichen

Berechtigungen

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