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

Ergebnis 1 bis 9 von 9

Thema: Input- Variablen von außen lesbar

  1. #1
    Registriert seit
    13.01.2010
    Beiträge
    56
    Danke
    11
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    laut Doku sollen Input- Variablen nur bei Bausteinaufrufen von außen beschreibbar sein. Ist ja auch nachvollziehbar, denn mit ihnen will ich ja von außen das Verhalten der FB's beeinflussen. Tatsächlich kann man diese Input- Variablen aber im Baustein intern überschreiben und dieser Wert wird auch nach draußen gegeben.
    Das sollte eigentlich nicht so sein. Leider fördert das bei einigen Programmierern Programmierfehler. Hat jemand ein Argument für das nach draußen geben der Werte von Input- Variablen?

    mfg

    Dax
    Zitieren Zitieren Input- Variablen von außen lesbar  

  2. #2
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    745
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard

    Ich mache so etwas ab und zu. Dabei geht es mir in der Regel jedoch nicht darum, etwas in einer INPUT-Variablen zurückzumelden, sonden die Variable hat eigentlich OUTPUT-Charakter, soll aber auch von aussen beschrieben werden können, um sie z. B. beim Programmstart mit einem zuvor persistent gespeicherten Wert zu initialisieren.
    Auch sonst habe ich eine etwas andere Sichtweise auf INPUT-Variablen als die IEC. Von aussen betrachte ich sie als VAR_PUBLIC, von innen als VAR_INPUT, d. h. der FB darf seine INPUT-Variablen nur lesen. Dann kann der Aufrufer sicher sein, diese Variablen nach dem FB-Aufruf unverändert vorzufinden, muss also nicht bei jedem FB-Aufruf zwangsläufig alle INPUT-Variablen beschreiben. Auf diese Weise sind die INPUT-Variablen das genaue Gegenstück zu den OUTPUT-Variablen, bei denen der FB sicher sein kann, sie bei seinem nächsten Aufruf unverändert vorzufinden.

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

    Daxgehtsteil (08.05.2015)

  4. #3
    Registriert seit
    13.01.2010
    Beiträge
    56
    Danke
    11
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Danke dir!

    Ich teile deine Meinung, innerhalb von FB's INPUT- Variablen NICHT zu beschreiben. Dennoch ist es leider möglich. Ich sehe Programme wo Programmierer INPUT- Variablen im FB beschreiben und diesen außerhalb wieder abfragen. Totales Durcheinander. Sollte eigentlich verhindert werden durch den Compiler. Naja, ich nehm es jetzt mal so hin.

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

    Standard

    Hallo zusammen,

    generell lassen die verschiedenen IEC-Editoren (wovon ist hier eigentlich die Rede??) viele Dinge zu, die in anderen (richtigen) Hochsprachen nicht möglich sind.
    Aber wo ist das Problem daran, wenn man Vorgaben macht, wie zu programmieren ist?
    Ich erkläre immer wie ich die IEC interpretiere und wie ich sehe bzw. finde, wie etwas umgesetzt werden sollte.
    Ist doch dasselbe wie mit der Geschwindigkeitsbeschränkung auf der Straße: man kann sie immer umgehen und oft geht es gut....aber eben nicht immer!
    Also warum nicht einfach dran halten.

    Ich sehe also nicht wirklich ein Problem.
    @Daxgehtsteil: Warte mal ab, bis du erst mal die ganzen anderen Möglichkeitenn entdeckt hast, die eigentlich so nicht sein sollten


    mac203

  6. #5
    Registriert seit
    13.01.2010
    Beiträge
    56
    Danke
    11
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo Mac,

    ich gebe dir da völlig Recht das man sich einfach dran halten sollte sauber zu programmieren. Doch leider tut dies nicht jeder. Ist genau so wie auf der Straße: Manche halten sich an Tempo- Limits, manche eben nicht.
    Da ist es doch sinnvoll hier und da einen Blitzer aufzubauen, oder Bodenwellen in den Straßen. Der Blitzer wäre dann der Compiler, der eben doch merkt das die Zuweisung falsch ist So ist es ja auch in der Hilfe dokumentiert, das Input- Variablen außer über Pointer nicht nach außen gegeben werden können. Dennoch geht es. Ich möchte auch nur ein paar Denkanstöße an die Compiler- Entwickler geben.
    Und lass dir gesagt sein: Ich habe schon einiges entdeckt, was eigentlich nicht sein sollte.

    Dax

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

    Standard

    Hallo Dax,

    du hast aber noch immer nicht verraten um welchen Hersteller es bei deiner Anfrage geht.....sonst können die Denkanstöße ja nicht in die richtige Richtung fließen, wenn sich niemand direkt angesprochen fühlt

    mac203

  8. #7
    Registriert seit
    13.01.2010
    Beiträge
    56
    Danke
    11
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Hallo Mac,

    da wir hier im Codesys- Thread sind, und die grundsätzlichen Compiler- Funktionen meines Wissens nach unabhängig vom SPS- Hersteller von "3S" kommen,
    meine ich natürlich die damit. Kann aber sein das ich mich hier irre. Jedenfalls ist es bei Bosch Indraworks, Beckhoff, und Codesys 3S gleichermaßen möglich.

    viele Grüße

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

    Standard

    Okay....ich werde der Sache mal nachgehen und mal schauen, was man mir dazu sagt

  10. Folgender Benutzer sagt Danke zu mac203 für den nützlichen Beitrag:

    Daxgehtsteil (11.05.2015)

  11. #9
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    745
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von mac203 Beitrag anzeigen
    Okay....ich werde der Sache mal nachgehen und mal schauen, was man mir dazu sagt
    Hm, bitte keine schlafenden Hunde wecken.
    Manchmal ist es ganz praktisch, dass man gerade bei CoDeSys den Pfad der Tugend an einigen Stellen verlassen kann. Solange man das mit Verstand tut und ordentlich kommentiert, sehe ich darin auch keine Sünde.

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 28.01.2013, 16:05
  2. F_DB´s von außen beschreibbar??
    Von thorsten im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 27.08.2009, 18:58
  3. Antworten: 4
    Letzter Beitrag: 18.03.2009, 16:12
  4. Zählwert ändern von "Außen"
    Von Anonymous im Forum HMI
    Antworten: 9
    Letzter Beitrag: 27.04.2005, 08:59
  5. ProTool-Runtime "von außen" starten
    Von Anonymous im Forum HMI
    Antworten: 1
    Letzter Beitrag: 12.01.2004, 10:56

Lesezeichen

Berechtigungen

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