Twincat 3 - Zugriff auf E/A-Geräte

Koslovski

Level-2
Beiträge
51
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich arbeite mich gerade in Twincat 3 ein und bekomme es einfach nicht hin, Ein- oder Ausgänge über den symbolischen Namen anzusprechen.

Gibt mit da mal einer einen Tip?

:confused:

2017-04-17 19_42_52-TwinCAT Projekt1 - Microsoft Visual Studio.jpg


Gruß

Koslovski
 
Moin,

Du wunderst dich warum die Variable deklariert werden soll? Liege ich damit richtig?
Steht in deiner GVL zufällig
{attribute 'qualified_only'}
drin?

Wenn ja, musst du auf die Variable immer auch den GVL namen angeben, in deinem Fall GVL.DE_0 als Variable, oder du entfernst das Attribut aus deiner GVL ;)


Sven
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wo kommt denn Deine EA-Task mit dem Prozessabbild her?
Der normale Weg wäre, Deine MAIN-Variable DummyDig01 als HW-Input anzulegen.
Code:
DummyDig01 AT %I*:BOOL;
Dann taucht sie im DS0001 Instance Ordner im Prozessabbild PlcTask Inputs auf und Du kannst sie dann per Rechtsklick mit einem HW-Eingang, z. B. von Klemme2 ( EL1008 ) verknüpfen.
Oder Du machst einen Rechtsklick auf einen Eingang der Klemme, um sie mit einer Variablen des PLC-Prozessabbilds zu verknüpfen.
 
Das steht in der GVL.

Allerdings ist der DE_0 nicht in der GVL definiert, sondern nur im EA_Task als Link auf die Klemme 2, Channel 1, Input(siehe links oben im Screenshot).

Wie kann ich darauf zugreifen? In der GVL hab ich es nicht geschafft, eine Verknüpfung ala AT%DE_0 anzulegen.



Gesendet von meinem Nexus 7 mit Tapatalk
 
@StructuredTrash:
Das mit dem AT %I geht, allerdings muss ich die Task (mit Image) anlegen, damit keine Fehlermeldung beim Erstellen auftritt. Dort kann ich dann auch die Symbole anlegen.

Gesendet von meinem Nexus 7 mit Tapatalk
 
Ich lege meine PLC-IO-Variablen immer in den POUs an, so dass sie automatisch im IO-Abbild der zugehörigen Task erscheinen. Deshalb habe ich mir noch nie die Frage gestellt, welcher Task globale IO-Variablen zugeordnet werden. Ich habe es gerade mal ausprobiert, mit einem Projekt mit 3 PLC-Tasks, alle als Task ohne Image angelegt. Ergebnis: Globale IOs werden der höchstpriorisierten Task zugeordnet, deren Programm die IOs verwendet, was ja auch Sinn macht.
Nicht verwendete IOs werden automatisch der am niedrigsten priorisierten Task zugeordnet. Das gilt übrigens auch für IOs, die in Programmen oder FBs deklariert sind. Beim ersten mal habe ich ganz schön lange gebraucht, um die wiederzufinden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
OK, hat so funktioniert, wie vorgeschlagen mit %I* usw.

Für mich stellt sich aber trotzdem die Frage, warum Beckhoff auch in der Doku einen Task mit Image anlegt.
Dann sollte man doch auch irgendwie auf die Symbole zugreifen können :confused:.
 
...Ergebnis: Globale IOs werden der höchstpriorisierten Task zugeordnet, deren Programm die IOs verwendet, was ja auch Sinn macht.
Nicht verwendete IOs werden automatisch der am niedrigsten priorisierten Task zugeordnet. ...

Per Automatismus ja, dass kann man aber beeinflussen. Per Attribute Pragma 'TcContextName' kann man eine Variable oder eine ganze GVL einem bestimmten Task zuordnen. In letzterem Falle kann man über einzelnen Variablen in der GVL diese nochmals jemand anderem zuordnen :).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das stimmt doch so gar nicht! Hier ist der Link zur Schnellstart-Doku: https://infosys.beckhoff.com/conten...18014398645404299.html?id=4650981897584450106

Da steht nix davon, dass ein Task mit IO Image angelegt werden soll! Der ist für andere Dinge gedacht.

Ich habe mich an diese Anleitung gehalten:
https://infosys.beckhoff.com/content/1031/tc3_base_overview/2879471755.html?id=8337238167315253658

Da steht es dann wohl, und dann kam ich halt nicht weiter.:confused:
 
Ich habe mich an diese Anleitung gehalten:
https://infosys.beckhoff.com/content/1031/tc3_base_overview/2879471755.html?id=8337238167315253658

Da steht es dann wohl, und dann kam ich halt nicht weiter.:confused:
Stimmt, nur ist die Anleitung nicht dafür gedacht, um die IOs mit einem SPS-Programm anzusteuern, sondern lediglich mit TwinCAT IO, darum ist das Beispiel ja auch unter TC1100|TC3 IO zu finden. Für Deinen Fall musst Du die von KGU vorgeschlagene Anleitung nehmen.
 
Zurück
Oben