E/A Zugriff während des laufenden Programmzyklus?

nar21
2011-06-20
2011-06-22
  • nar21 - 2011-06-20

    Hallo,

    gibt es eine Möglichkeit unter CoDeSys im laufenden Programmzyklus auf Aus- und Eingänge zuzugreifen? Bei Moeller in der PS4 Serie gab es dafür FBs (ReadDirect, WrtiteDirect).

    Gruß,
    M

     
  • Erik Böhm - 2011-06-21

    Moin

    1. Wenn du fundierte Antworten haben willst, dann wäre die verwendete Hardware sehr hilfreich.
    2. Im Normalfall greifst du auf die IO's ja direkt über Adressen zu (IX oder QX).
      Das geht natürlich an jeder Stelle im Programm. Wann deine Steuerung diese Änderungen dann an die Hardware übergibt, ist eine Frage die dir vermutlich nur der Hersteller exakt beantworten kann.

    Gruß Erik

     
  • nar21 - 2011-06-21

    Meine Frage war, ob CoDeSys von Haus aus die Möglichkeit bietet zwischen PAE und PAA E/As zu bedienen. Ich ziehe meine Frage zurück, da vmtl. die E/A Behandlung von jedem Hersteller unterschiedlich gehandhabt wird und man bei der eigenen Laufzeitimplementierung eine Direktzugrifsfunktion berücksichtigen müsste.

    "Im Normalfall greifst du auf die IO's ja direkt über Adressen zu (IX oder QX).
    Das geht natürlich an jeder Stelle im Programm." Sonst wäre mein Quellcode die letzten 10 Jahre ja Murks gewesen...

     
  • Erik Böhm - 2011-06-21

    Servus

    Zu 1. Da hast du wohl recht.

    Zu 2. Wir machen das generell so, dass auf die EA's (also auf die Adressen) AUSSCHLIESSLICH am PAE und am PAA zugegriffen wird.
    Das verhindert Verwirrungen...

    Gruß Erik

     
  • Anonymous - 2011-06-22

    Originally created by: jl

    Hallo !

    Ich denke mal das die Programmabarbeitung nach dem Prinzip des Prozessabildes funktioniert, d.h.
    Eingangsbearbeitung --> Programmabarbeitung --> Ausgangszuweisung.

    Bei einigen SPSen gibt es die Möglichkeit Eingängen die Funktionalität eines sg. Interrupt zuzuweisen. Dann wird wenn ein solcher Interrupt-Eingang TRUE wird sofort darauf reagiert und ein entsprechendes Interruptprogramm ausgeführt. Dann wird das Hauptprogramm fortgesetz. Bei CoDeSys ist mir soetwas allerdings nicht bekannt. Möglicherweise ist dies Funktionalität realisierbar, indem man in der Taskkonfiguration einem Task die Eigenschaft "Ereignisgesteuert" zuweist, habe ich allerdings noch nicht gemacht.

     
  • Erik Böhm - 2011-06-22

    Servus

    In der Taskkonfiguration gibts dafür Systemereignisse
    Die sind aber zielsystemabhängig.

    Gruß Erik

    IMG: Systemevents.jpg

     

Log in to post a comment.