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

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

Thema: Schnittstelle zwischen IO´s und Programm

  1. #1
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo alles zusammen

    Habe mal eine Grundsätzliche Frage.
    Bei größeren Maschinen kann es schon bei kleineren Änderungen in der elektrischen Hardware schon mal größere daraus folgende IO änderungen geben
    um dieser Geschichte zu entkommen, hatte ich es bis jetzt immer so gehandhabt (Mit Siemens), dass ich als erstes in meinem Programm die eingänge eingelesen habe, diese Variablen zugewiesen habe
    und die entsprechenden ausgänge am zyklusende ausgehend von den entsprechenden Variablen zugewiesen wurden.

    So musst eich bei einer Hardwareänderung nur die zuordnung einmalig anpassen und nicht noch überall im programm was tun.
    as haltet ihr von einem solchen System? Gibts da bei codesys noch was eleganteres?

    Bzw. wie verhält sich soetwas bei schnellen ein bzw. ausgängen?

    hat jemand ne idee, was da so die beste vorgehensweise ist?
    doch imer direkt io´s verwenden? oder was genau muss ich machen?
    Zitieren Zitieren Schnittstelle zwischen IO´s und Programm  

  2. #2
    Registriert seit
    22.03.2007
    Ort
    Detmold (im Lipperland)
    Beiträge
    11.726
    Danke
    398
    Erhielt 2.402 Danke für 2.001 Beiträge

    Standard

    Hallo,
    direkt mit den IO's zu arbeiten ist mit Sicherheit der beste Weg.
    Man könnte z.B. für E/A's mit gleicher Funktion immer den gleichen symbolischen Namen vergeben. Dann übernimmt das System den Rest - das ginge auch mit Siemens ...

    Gruß
    Larry

  3. #3
    Registriert seit
    19.12.2006
    Beiträge
    185
    Danke
    25
    Erhielt 26 Danke für 21 Beiträge

    Standard

    Ich kann mich Larry nur anschließen.
    Wo ist bei symbolorientierter Programmierung das Problem ?

    Wir Verknüpfen im Sys Manager nur ganze Bytes, die Zuweisung der einzelnen Bits geschieht dann nur noch in der PLC Variablendeklaration.

    Code:
    InputByte0 AT %IB0:BYTE; (*Verknüpft im System Manager*)
    
    eTasterStart AT %IX0.0: BOOL;
    eTasterStopp AT %IX0.1: BOOL;
    Wenn jetzt die Taster elektrisch vertauscht werden, muss man nur die Deklaration der Symbole im Programm ändern.

  4. #4
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Sorry hatte falsch gedacht. Klar bei symbolisch ist das ja bei codesys gar kein Thema. Bei Siemens hatten wir das damals gemacht, weil Manche die adressierte Ansicht hatten und dadurch gab es dann Probleme. Denn auch wenn man es auf symbolisch hatte, wurde der symbolname ersetzt, wenn man ihn in der Deklaration geändert hat.
    Zitieren Zitieren Falsch gedacht  

  5. #5
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard

    Denn auch wenn man es auf symbolisch hatte, wurde der symbolname ersetzt, wenn man ihn in der Deklaration geändert hat.
    Der Operandenvorrang läßt sich einstellen, dann passiert das nicht mehr. Nachteil ist dann nur noch dass man bei manchen Änderungen die ganze Scheiße wieder übersetzen muss weill sonst die Konsistenzprüfung rum meckert.

  6. #6
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard

    Ok lässt sich einstellen, aber jetzt hat jemand anders das Projekt im Step 7 geöffnet der das nicht hat und schon zerschießt er das Projekt. Egal habe ja jetzt eh codesys. 😉
    Zitieren Zitieren Ok  

  7. #7
    Registriert seit
    23.10.2009
    Beiträge
    391
    Danke
    58
    Erhielt 113 Danke für 87 Beiträge

    Standard

    Zitat Zitat von Bensen83 Beitrag anzeigen
    Ok lässt sich einstellen, aber jetzt hat jemand anders das Projekt im Step 7 geöffnet der das nicht hat und schon zerschießt er das Projekt.
    Falsch.
    Wenn nach Änderung der Adresszuordnung das Projekt einmal mit Operandenvorrang symbolisch übersetzt wurde, passt wieder alles, egal was der nächste als Operandenvorrang eingestellt hat.
    Gruß
    Erich

  8. #8
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard

    Falsch.
    Wenn nach Änderung der Adresszuordnung das Projekt einmal mit Operandenvorrang symbolisch übersetzt wurde, passt wieder alles, egal was der nächste als Operandenvorrang eingestellt hat.
    abgesehen davon wird die Einstellung zusammen mit dem Projekt abgespeichert, der nächste der das Projekt öffnet hat die "richtige" Einstellung

  9. #9
    Registriert seit
    19.07.2008
    Ort
    Aachen
    Beiträge
    270
    Danke
    2
    Erhielt 21 Danke für 20 Beiträge

    Standard

    Ich weiß ja nicht, was du konkret mit "größere I/O-Änderungen" meinst, jedoch würde ich folgendes Vorschlagen, gesetzt den Fall, wir reden über TwinCAT:

    1. Deklaration im SPS-Programm mit AT %I* bzw. AT %Q*
    2. Zuweisung der entsprechenden Variablen zu den I/O-Punkten im System-Manager
    3. Bei Änderung: System-Manager auf, Verknüpfung der betroffenen I/O-Punkte anpassen, Konfiguration speichern, übersetzen, laden. Fertig.

    Ob man den "Umweg", im Projekt Byteweise zu deklarieren, gehen will, weiß ich nicht. Finde das eher unpraktisch, weil man damit dann doch wieder eine nicht zwingend notwendige absolute Adressierung erschafft. Wenn sich im o.g. Beispiel von mkd nämlich ein Taster von einer Eingangsklemme in eine andere verschiebt (warum auch immer), dann müsste er erstens im Programm den Taster aus dem einen Byte rausnehmen, dann schauen, in welchem Byte er nun liegt und diese Verknüpfung wieder anfassen. Mit "meiner" Variante spart man sich in dem Fall Arbeit, weil man einfach nur im SysMan die Verknüpfung der PLC-Variablen anfasst.

    Wenn natürlich Verschiebungen nur Byteweise auftreten, ist mkd's Version schneller.

    Ich persönlich bevorzuge es, mich eben nicht mehr um irgendwelche Adressen zu kümmern. Wozu auch? Mich interessiert letztlich nur, dass meine Variable auf die richtige Klemme reagiert. Wo das im Arbeitsspeicher rumliegt oder im ESC oder sonstwo juckt mich weniger xD
    "Always code as if the guy, who ends up maintaining your code, is a violent psychopath who knows, where you live."
    -------------------------------------------------------------------------------------------------------------------------------------------------------
    Youtube-Channel

  10. #10
    Bensen83 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    29.08.2009
    Beiträge
    776
    Danke
    25
    Erhielt 3 Danke für 3 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich hatte von Siemens gesprochen.

    Sorry, aber da kann jemand schreien dass es funktioniert und ich Sage es funktioniert nicht. Wir habe uns so schon mal ein s7 Projekt zerschossen. 😉
    Zitieren Zitieren Siemens  

Ähnliche Themen

  1. Schnittstelle zwischen PC und S7
    Von Kodan im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 11.10.2012, 08:01
  2. Antworten: 0
    Letzter Beitrag: 17.09.2009, 08:58
  3. Antworten: 14
    Letzter Beitrag: 31.01.2009, 16:36
  4. Schnittstelle zwischen Abas EKS und SPS (Delphi)
    Von Tihalc im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 05.05.2006, 16:08
  5. Schnittstelle zwischen S7 - C Programm
    Von Keule1th im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 14.03.2006, 22:07

Lesezeichen

Berechtigungen

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