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

Ergebnis 1 bis 9 von 9

Thema: Variable bei Deklaration initialisieren.

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

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo Leute,

    Wie kann man einer Variable Im Bereich VAR END_VAR initialisieren ?

    Funktioniert nicht:
    VAR
    wHeightSensor1: WORD := Meas.wHeight;
    END_VAR

    Danke für eure Antworten
    Zitieren Zitieren Variable bei Deklaration initialisieren.  

  2. #2
    Registriert seit
    15.01.2005
    Ort
    In der Mitte zwischen Bayreuth/Weiden
    Beiträge
    6.732
    Danke
    314
    Erhielt 1.520 Danke für 1.282 Beiträge

    Standard

    Naja das Problem wird sein, das du eine Variable nicht mit einer Variable initialisieren kannst.

    Dann musst du halt eine eigene Init-Routine schreiben.
    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).

  3. #3
    Registriert seit
    21.02.2014
    Ort
    Sachsen-Anhalt
    Beiträge
    1.511
    Danke
    268
    Erhielt 250 Danke für 226 Beiträge

    Standard

    Welchen Anfangswert hat denn Meas.wHeight? Wird diese Variable vorher initialisiert?
    Kommt im Programm sowas hier vor :
    Code:
    Meas.wHeight:=wHeightSensor1;
    Zumindest implizieren die Variablennamen sowas bei mir...
    Darüber hinaus, falls wHeightSensor1 ein verknüpfter Eingangswert ist ist das für mich relativ sinnfrei.

    Es kann natürlich auch MSB recht haben. Ich hab sowas noch nicht konstruiert. Im Zweifel könnte Remanenz für Meas.wHeight auch eine Alternative darstellen.

  4. #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

    Variablen-Initialisierungen bei der Deklaration können nur mit Werten gemacht werden, welche dem Compiler während der Übersetzung bekannt sind.
    Einer Variable den Wert einer anderen Variablen zuweisen kann nur zur Laufzeit gemacht werden - benötigt also einen Zuweisungs-Programmcode außerhalb der Deklaration.
    Code:
    VAR
      wHeightSensor1 : WORD;
    END_VAR
    
      wHeightSensor1 := Meas.wHeight;
    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

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

    Standard

    Zitat Zitat von weißnix_ Beitrag anzeigen
    Welchen Anfangswert hat denn Meas.wHeight? Wird diese Variable vorher initialisiert?
    Kommt im Programm sowas hier vor :
    Code:
    Meas.wHeight:=wHeightSensor1;
    Zumindest implizieren die Variablennamen sowas bei mir...
    Darüber hinaus, falls wHeightSensor1 ein verknüpfter Eingangswert ist ist das für mich relativ sinnfrei.

    Es kann natürlich auch MSB recht haben. Ich hab sowas noch nicht konstruiert. Im Zweifel könnte Remanenz für Meas.wHeight auch eine Alternative darstellen.
    Meas.wHeight kommt von einem PRG Meas.
    Meas.wHeight := wHeightSensor1 kommt nicht vor.

  6. #6
    Registriert seit
    13.10.2013
    Ort
    shertogenbosch niederlande
    Beiträge
    120
    Danke
    0
    Erhielt 8 Danke für 6 Beiträge

    Standard

    wenn man die im global als constant setzt geht das.

  7. Folgender Benutzer sagt Danke zu computershooter für den nützlichen Beitrag:

    RobiHerb (27.03.2015)

  8. #7
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Standard

    Zitat Zitat von computershooter Beitrag anzeigen
    wenn man die im global als constant setzt geht das.
    Das ist besonders interessant bei der Festlegung von Array Grenzen, so kann man an einer Stelle eingreifen und muss z.B. nicht befürchten, dass irgendwo im Programm plötzlich mach einer Änderung über die Grenzen rausgeschrieben wird.
    Als Freelancer immer auf der Suche nach interessanten Projekten.

  9. #8
    Registriert seit
    25.03.2015
    Beiträge
    5
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Was ist eine Init Routine ?

  10. #9
    Registriert seit
    13.10.2013
    Ort
    shertogenbosch niederlande
    Beiträge
    120
    Danke
    0
    Erhielt 8 Danke für 6 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    als der PLC started soll erstmalls alle variablen und settings eingelesen werden.
    also ein program das erst und nur einmal lauft.
    paul deelen
    shooter@home.nl
    +31736139136

Ähnliche Themen

  1. Enum Deklaration als Variable übergeben
    Von shrimps im Forum CODESYS und IEC61131
    Antworten: 0
    Letzter Beitrag: 12.12.2014, 11:50
  2. Probleme bei der deklaration in Codesys
    Von Lockemotive im Forum CODESYS und IEC61131
    Antworten: 10
    Letzter Beitrag: 29.07.2014, 21:43
  3. ST:mehrere Arrays bei Deklaration initialisieren
    Von zabex im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 21.02.2013, 11:38
  4. array bei deklaration initialisieren
    Von alb im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 01.12.2011, 15:50
  5. WinCC Flex - Variable initialisieren
    Von ssound1de im Forum HMI
    Antworten: 24
    Letzter Beitrag: 03.08.2010, 08:49

Stichworte

Lesezeichen

Berechtigungen

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