EtherCat Grundsätzlich (I/O Transfer)

mkersch

Level-1
Beiträge
111
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forenmitglieder,

seit 2 Jahren beschäftige ich mich mit Beckhoff Systemen. Leider sind mir die Zusammenhänge bezüglich EtherCat Datentransfer noch nicht ganz klar.

In meinem Projekt möchte ich mit TWINCAT 3 ein Testsystem aufbauen, welche verschiedene Kommunikationskarten (PROFIBUS,PROFINET,ETHERNETIP.IO-LINK usw. bedient. Außerdem simuliere ich mit zwei EL6002 Karten vier unabhängige LIN-Bus Systeme.
Da diese Kommunikation sehr zeitkritisch ist, muss ich mit einer Zykluszeit von 333ys arbeiten.

Leider bekomme ich jetzt immer wieder beim starten des System folgenden Fehler:

Fehler beim Starten des TwinCAT Systems!
Init12\IO: Set State TComObj SAFEOP: Set Objects (2) to SAFEOP
AdsWarning: 1823 (0x71f, ADS ERROR: device aborted the action)
Für weitere Informationen starten Sie bitte die Ereignissanzeige und
wählen Sie das Anwendungsprotokoll an. Die Ereignissanzeige finden Sie
über die Startleiste mit Start/Programme/Verwaltung(allgemein).

Laut Aussage der Hotline hat dies mit der schnellen Zykluszeit zu tun, die einige Karten wie z.B. die ProfiNet Karte nicht verarbeiten kann.

Im Moment habe ich zwei Task's integriert. Eine schnelle (333ys) welche nur die EL6002 bedient. Und eine langsame (6,666 ms) welche den
Rest bedient.

Mittels einer Pragma Anweisung habe ich bereits die I/O Variablen für die EL6002 der schnellen Task zugeordnet. Den Rest
der I/O Variablen habe ich der langsamen Task zugewiesen.VAR_GLOBAL
{attribute 'TcContextName':='PLCTask_1_schnell'}
EL6002_var1 AT%Q* : BOOL;
{attribute 'TcContextName':='PLCTask_2_langsam'}
Rest_var2 AT%Q* : BOOL;
END_VARNach dieser Zuweisung müsste eigentlich der I/O Bereich der EL6002 alle 333ys aufgefrischt werden und der Rest dürfte eigentlich
nur alle 6,666 ms aktualisiert werden. Somit dürfte das Problem mit den schnellen Zugriffen auf die ProfiNet Karte gelöst sein.
Leider habe ich auch nach dieser Änderung sporadisch die oben genannte Fehlermeldung bekommen.

Im Systemmanager hatte ich noch eine Idle Task mit 666ys, von der ich auch nicht weiß für was diese zuständig ist.

Wie sind bei den EtherCat System (TWINCAT 3) die Zusammenhänge beim auffrischen der einzelnen EL-Klemmen (I/O Transfer) ?

mfg.

mkersch
 
Zurück
Oben