Autor Thema: Deklaration von Ein/Ausgängen eines EC4E-221-6D4R1 CANopen Moduls  (Gelesen 6605 mal)

Offline SaniElektro_1

  • Newbie
  • *
  • Beiträge: 2
Deklaration von Ein/Ausgängen eines EC4E-221-6D4R1 CANopen Moduls
« am: Oktober 10, 2010, 19:41:23 Nachmittag »
Hallo, ich habe folgendes Anfängerproblem: ich möchte über ein MFD4 xrc 30 Touchscreen, an einem CANopen Bus mit 5 (oder auch mehr) Knoten
verschiedene Aktoren ansteuern... welche an EC4E-221-6D4R1 CANopen Modulen von Moeller angeschlossen sind.

Nun habe ich mich total mit der Syntax verzettelt, welche notwendig ist um Einzelne/Bestimmte Eingänge/Ausgänge zu deklarieren
und somit einer bestimmten Funktion zuordnen zu können..

z.B. soll ein Impuls von einem Taster an Eingang 1 des Knoten Nr. 1, ein Einschalten (für bestimmte Zeit) der Ausgänge Q1 & Q3 zur Folge
haben.

Das Anwendungsbeispiel in der EC4E Dokumentation h1614de.pdf (Seite 43) hat mir leider nicht viel geholfen! - kann mir hier jemand vielleicht
auf die Sprünge helfen?

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Re: Deklaration von Ein/Ausgängen eines EC4E-221-6D4R1 CANopen Moduls
« Antwort #1 am: Oktober 11, 2010, 09:22:39 Vormittag »
Hallo SaniElektro_1
 
Meinst du das hier  ( Eingang_1_EC4E  AT%IX2.0: bool; )
Du must in der Hardwarekonfiguration nachschauen welcher Adressbereich dem EC4E zugewiesen ist.
Ausgänge wären dann z.B. ( Ausgang_Q1  AT%QX1.0: bool;  Ausgang_Q2  AT%QX1.1: bool; )
Schreibe die Syntax in die GLOBAL_VAR, jetzt kann man beim programmieren (Leeres Eingangssymbol
einfügen) über F2 den Eingang zuweisen.
Wenn du eine Erweiterung an das EC4E steckst musst du beachten, das diese Ein- und Ausgänge nur als Byte gelesen bzw. geschrieben werden können.

Gruß Thomas
Weil Einfach einfach Einfach ist!

Offline SaniElektro_1

  • Newbie
  • *
  • Beiträge: 2
Re: Deklaration von Ein/Ausgängen eines EC4E-221-6D4R1 CANopen Moduls
« Antwort #2 am: Oktober 17, 2010, 22:41:23 Nachmittag »
Hallo radar17892,

danke für die schnelle Antwort.. und 'tschuldigung das ich mich eine woche nicht gerührt habe.. aber ich war verhindert...

mein problem ist immer noch nicht gelöst.. folgender Stand

ich habe 5 module mit den (an den Dipschaltern eingestellten) knotenadressen 2,3,4,5 und 6

-ich hänge die 5 EC4e-221-6D4 module in der Moeller CodeSys Software im Untermenü Resourcen/Steuerkonfiguration an den CanMaster (MFD5.7) an..

-nun zeigt mir die moeller CodeSys Software folgende Daten für die Konfiguration an:
  für den  mfd 5.7 CanMaster:unter Basisparameter= Modul-Id: 5,Knotennnummer:0, Eingabeadresse: %IB0,Ausgabeadresse:%QB0
                                              unter CAN Parameter= Node-Id:1
 
  für das erste EC4E-221 Modul:unter Basisparameter= Modul-Id: 693734,Knotennnummer:0, Eingabeadresse: %IB0,Ausgabeadresse:%QB0
                                              unter CAN Parameter= Node-Id:2

  für das zweite EC4E-221 Modul:unter Basisparameter= Modul-Id: 693734,Knotennnummer:1, Eingabeadresse: %IB4,Ausgabeadresse:%QB1
                                              unter CAN Parameter= Node-Id:3

  für das dritte EC4E-221 Modul:unter Basisparameter= Modul-Id: 693734,Knotennnummer:2, Eingabeadresse: %IB8,Ausgabeadresse:%QB2
                                              unter CAN Parameter= Node-Id:5

  für das vierte EC4E-221 Modul:unter Basisparameter= Modul-Id: 693734,Knotennnummer:2, Eingabeadresse: %IB12,Ausgabeadresse:%QB3
                                              unter CAN Parameter= Node-Id:4

  für das fünfte EC4E-221 Modul:unter Basisparameter= Modul-Id: 693734,Knotennnummer:4, Eingabeadresse: %IB16,Ausgabeadresse:%QB4
                                              unter CAN Parameter= Node-Id:6

wenn ich nun die Eingänge/Ausgänge der 5 Module global oder lokal deklarieren will, nach folgendem muster/Syntax:

Modul 2,3,4,5,6 entspricht node id 2,3,4,5,6 ;Eingang I1,I2,I3,I4/Ausgang Q1,Q2,Q3

ein_m2_I1 AT%IX0.0: bool;
ein_m2_I2 AT%IX0.1: bool;
ein_m2_I3 AT%IX0.2: bool;
ein_m2_I4 AT%IX0.3: bool;

aus_m2_Q1 AT%QX0.0: bool;
aus_m2_Q2 AT%QX0.1: bool;
aus_m2_Q3 AT%QX0.2: bool;


ein_m3_I1 AT%IX4.0: bool;
ein_m3_I2 AT%IX4.1: bool;
ein_m3_I3 AT%IX4.2: bool;
ein_m3_I4 AT%IX4.3: bool;

aus_m3_Q1 AT%QX1.0: bool;
aus_m3_Q2 AT%QX1.1: bool;
aus_m3_Q3 AT%QX1.2: bool;


ein_m5_I1 AT%IX8.0: bool;
ein_m5_I2 AT%IX8.1: bool;
ein_m5_I3 AT%IX8.2: bool;
ein_m5_I4 AT%IX8.3: bool;

aus_m5_Q1 AT%QX2.0: bool;
aus_m5_Q2 AT%QX2.1: bool;
aus_m5_Q3 AT%QX2.2: bool;


ein_m4_I1 AT%IX12.0: bool;
ein_m4_I2 AT%IX12.1: bool;
ein_m4_I3 AT%IX12.2: bool;
ein_m4_I4 AT%IX12.3: bool;

aus_m4_Q1 AT%QX3.0: bool;
aus_m4_Q2 AT%QX3.1: bool;
aus_m4_Q3 AT%QX3.2: bool;


ein_m6_I1 AT%IX16.0: bool;
ein_m6_I2 AT%IX16.1: bool;
ein_m6_I3 AT%IX16.2: bool;
ein_m6_I4 AT%IX16.3: bool;

aus_m6_Q1 AT%4.0: bool;
aus_m6_Q2 AT%4.1: bool;
aus_m6_Q3 AT%4.2: bool;


..blinkt die Can Led auf den EC4e modulen regelmäßig, was laut awb2724-1614de/seite41 dem Zustand betriebsbereit(preoperational) entspricht, aber in meinem programm
werden weder die Signale an den eingängen erkannt noch werden die entsprechenden ausgänge geschaltet..

was auch nicht verwunderlich ist, da die Can Led eigentlich permanent leuchten müßte.. (das programm wird ohne fehler übersetzt)

was mache ich falsch?

Offline ALU

  • Newbie
  • *
  • Beiträge: 8
Re: Deklaration von Ein/Ausgängen eines EC4E-221-6D4R1 CANopen Moduls
« Antwort #3 am: Oktober 19, 2010, 10:40:37 Vormittag »
Hi SaniElektro_1,

kannst Du bitte einmal folgendes Prüfen:
Sind im Bibliotheksverwalter die Bibliotheken
- 3S_CANopenMaster.lib
- 3S_CANopenManager.lib
- 3S_CanDrv.lib
eingebunden ? Wenn nicht, dann bitte hinzufügen.

Hast Du Nodeguarding-Werte eingetragen ? (z.B GuardingTime=300, LifeTime Factor = 3)

Werden CAN-Telegramme gesendet und empfangen ? (Online unter Ressourcen/Bibliothek 3S_CANopenManager/Globale Variablen/gCanInterface[0].nRx_Index_DRV bzw. ...nTx_Index_DRV --> diese Variablen werden bei Empfang/Versand von CAN-Telegrammen hochgezählt.)

Unter welchem Status sieht der CANopen Manager die Teilnehmer ?
(Online unter Ressourcen/Globale Variablen/CanPpen implicit Variables pCanOpenNode[ x ].nStatus . Mögliche Werte: 3= Sende SDOs, 4= warte auf Start, 5 Gestartet, 9x=Fehler.)

Ich hoffe, das bringt Dich 'ne Runde weiter.

Mfg
ALU

Offline radar17892

  • Sr. Member
  • ****
  • Beiträge: 788
  • Think easy!
    • mollgruppe
Re: Deklaration von Ein/Ausgängen eines EC4E-221-6D4R1 CANopen Moduls
« Antwort #4 am: Oktober 19, 2010, 21:27:58 Nachmittag »
Hallo SaniElektro_1

mir ist zu ALU`s Angaben noch was eingefallen. Schau doch mal beim CAN-Master auf die Baudrateneinstellung, die steht default immer auf 125000, das ec4e kann aber maximal 500 kBit.
->AWB Seite 27  (aber in der Info der EDS-Datei 10-1000kBit)
Die Busabschlüsse müssten ja richtig stehen, sonst würde die can led rot sein.

Die Betriebszustände eines CAN-Knotens
Initialisation
Dies ist der Zustand, den der Knoten nach dem Einschalten durchläuft. Innerhalb dieser Phase erfolgt die Autobaud-Erkennung, Initialisierung der Geräte-Applikation sowie der Geräte-Kommunikation. Anschließend geht der Knoten selbstständig in den Zustand „Pre-Operational“.

Pre-Operational
In diesem Zustand kann mit dem Knoten über SDOs kommuniziert werden (z. B. Einstellen der Guard-Time, Lifetime-Faktor). Der Knoten ist nicht in der Lage, eine PDO-Kommu-
nikation durchzuführen und sendet auch keine Emergency-Botschaften aus.

Operational
In diesem Zustand hat der CANopen-Knoten die volle Betriebsbereitschaft und kann selbstständig Nachrichten übertragen (PDOs, Emergency).

Lies auch mal hier ab Seite 20 ftp://ftp.moeller.net/AUTOMATION/DOWNLOAD/APPLICATION-EXAMPLES-NOTES-MODULES/XCONTROL/XION/XION_CANOPEN_XC100_200/DEUTSCH/AN2700K18D.pdf

mfg Thomas
Weil Einfach einfach Einfach ist!