TIA Wechsler programmieren

Also keine Ahnung warum bei euch TIA einen Fehler beim übersetzen macht......... aber bei mir ist das nicht der Fall

nicht in AWL
nicht in KOP
und als FC mit Eingangsparametern auch nicht wenn man alles richtig macht.

Ich finde auch keine Begründung warum man auf einen Ausgang nicht lesend zugreifen soll..... mache ich in der Praxis auch nicht oder vielleicht mal unbewußt
aber verboten oder das als schlechten Stil hinstellen ist eher eine persönliche Geschmacksfrage ..... Wenn jemand für mich mal eine plausible Erklärung hat dann bitte her damit
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Problem bei FC ist, das es vor einer Zuweisung an einen OUT-Parameter einfachen Datentyps sinnlos ist, diesen zu lesen, weil der Zustand da noch unbestimmt ist. Danach ist es selbstverständlich kein Problem, darauf lesend zugreifen, um festzustellen, welcher Wert bereits zugewiesen wurde.

Der Compiler müßte in der Programmlogik prüfen, ob vor dem Lesezugriff garantiert eine Zuweisung stattgefunden hat. Da eine solche Aussage aber oft nicht möglich ist, warnt der Compiler eben immer.

Bei TIA sieht man immer mehr, auf welch niedriges Level an Wissen und Können der SPS-Programmierer diese klicki-bunti-Software zugeschnitten wird - da muß TIA mit allem möglichen und unmöglichen Schwachsinn des Programmierers rechnen und überall (helfend) eingreifen.
Hier im Forum merken wir ja auch, daß so viele eigentlich unnötige Standard-Hinweise eben doch immer wieder nötig sind.

Zurück zu dem Wechsler hier:
sollte der Code in einen Baustein verpackt werden, dann muß zumindest der toggelnde Ausgang1 als INOUT deklariert werden.

Harald
 
AG Abzug Werkzeugmaschine

Ein Ausgang wird nur geschrieben, nie gelesen.
Stil sollte auch vom Handy aus gehen.

Nach dem ich gestern diese Bemerkung gelesen hatte.
Dachte ich mir gehste mal zum Nachbarn und machst eine AG Abzug bei einer Maschine (Bj. 2010), vom größten deutschen Werkzeugmaschinen Hersteller.

Das fand ich.
A_REF.JPGE_REF.JPG

FC 43 NW15 Lesen von Ausgang
Code:
  U(    
      UN    M    414.7
      U     M     42.1
      UN    DB62.DBX  211.5
      ZR    Z      4
      BLD   101
      U(    
      O     E      3.7
      O     M     40.1
      O     M     52.3
      )     
      U     M    414.7
      L     C#300
      S     Z      4
      NOP   0
      NOP   0
      NOP   0
      U     Z      4
      )     
      NOT   
      =     L      4.0
      U     L      4.0
      BLD   102
      =     DB62.DBX  211.5
      U     L      4.0
      UN    A      0.3
      S     M     27.0




FB60 NW54 Schreiben von Eingang
Code:
  U     #STAT12
      U     #STAT9
      R     #STAT9
      S     #STAT10
      S     E      0.0


FC224 NW6 Find ich am besten
Code:
    U     E      0.0
      =     DB11.DBX    0.0
      U     E      0.1
      =     DB11.DBX    0.1
      U     M     20.7
      U     DB21.DBX   35.7
      O     E      0.2
      =     E      0.2
      U     E      0.2
      =     DB11.DBX    0.2
      =     DB11.DBX    2.6
 
Naja toll ist das nicht.....

Ändert aber nichts daran das eine lesende Abfrage von einem Ausgang ok ist und nicht verboten.
Schreiben vom Eingang habe ich schon öfters in Programmen gesehen besonders bei Serie und unterschiedlichen Ausführungen..... würde ich nie machen gibt es aber oft.
Zum dritten Bild fällt mir erstmal nichts ein
 
Hallo Gdöns,
gut dass es dich gibt. :p

Wir haben noch nicht alle Programme neu für S7 geschrieben.
Früher mussten wir Eingänge als Merker verwenden, da es zu wenig Merker gab.

Kannst du den FC223 einmal hier reinstellen?
Denn ich wüsste gern wo du das findest, denn bei den den HBZ ist es nicht mehr so.

Und der Supenkluge Moderator sollte wissen, dass die Vorgaben nicht von mir, sondern von den Entwicklern hier erstellt werden.
Außerdem gibt mehr als ein Werk.
Aber schön, dass er etwas zu schreiben hat. :ROFLMAO:


bike
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja toll ist das nicht.....

Ändert aber nichts daran das eine lesende Abfrage von einem Ausgang ok ist und nicht verboten.
Schreiben vom Eingang habe ich schon öfters in Programmen gesehen besonders bei Serie und unterschiedlichen Ausführungen..... würde ich nie machen gibt es aber oft.
Zum dritten Bild fällt mir erstmal nichts ein

Alles was nicht verboten ist richtig? :ROFLMAO:
Versuch doch einmal in einem F-Programm einen Ausgang zu lesen bzw Eingang zu schrieben.


bike
 
Hallo Gdöns,
gut dass es dich gibt. :p


Früher mussten wir Eingänge als Merker verwenden, da es zu wenig Merker gab.


bike

Früher haben wir auch alle unbenutzten Ausgänge wie Merker benutzt weil nicht genug da war.....
Deshalb spielt die Abfrage von Ausgängen auch keine Rolle

Alles was nicht verboten ist richtig? :ROFLMAO:
Versuch doch einmal in einem F-Programm einen Ausgang zu lesen bzw Eingang zu schrieben.


bike

Nein da gebe ich dir recht..... Ist nicht schön und bewusst würde ich so was auch nicht programmieren.
In einem F-Programm geht das zum Glück nicht...... Aber in einem F-Programm gehen viele Sachen nicht ... kein AWL Kram .... kein SCL Mist.....
 
Hallo Gdöns,
gut dass es dich gibt. :p

Dass Du zu dieser Erkenntnis kommst hätte ich nicht erwartet.

Kannst du den FC223 einmal hier reinstellen?
Denn ich wüsste gern wo du das findest, denn bei den den HBZ ist es nicht mehr so.
Welchen FC223 ?

Der Nachbar hat auch ein HBZ allerdings mit 840Dpl die erschien mir zu alt um deine Aussage zu Programmierstil zu untermauern.
Und da ich jetzt unterwegs bin zu meiner Hacienda. Kann ich da nicht mal gerade eine AG Abzug machen.




Und der Supenkluge Moderator sollte wissen, dass die Vorgaben nicht von mir, sondern von den Entwicklern hier erstellt werden.
bike


Durch Deine anderen Postings hier wahr ich , wohl fälschlicher Weise, davon ausgegangen Du seist der Chef Entwickler.
Möglicherweise unterlag der Superkluge Moderator dem gleichem Irrtum.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Chef von unserem Haufen sein?
Dann besser Klapperschlangen dressieren.

Der FC223 ist der IO Rangierer.
Damit werden die Ausbaustufen aktiviert und deaktiviert.

Im DB99 steht der Softwarestand,
Diese Information wäre interessant, um den Ausgabestand der Software zu finden.

bike
 
Danke für die Tollen Antworten

Das Programm funktioniert. Mir ist jetzt eine Erweiterung eingefallen.

Wenn ich die SPS anfange zu simulieren dann möchte ich mit einem Zufallsgenerator einen Ausgang ermitteln und nach dem betätigen der Taste immer hin und her wechselt.

Wie kann ich ein Zufallsgenerator programmieren?

Gruss
 
Zurück
Oben