EnOcean Anbindung mit IB IL RS485/422-PRO und Thermokon SRC65-RS485 EVC

marc_76

Level-1
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich möchte in meine vorhandene Phoenixcontact-Steuerung mit einem ILC191ETH eine Erweiterung vornehmen. Es sollen EnOcean Teilnehmer im Programm verarbeitet werden. Ich habe mir die verfügbare Dokumentation von Phoenixcontact zur Hilfe genommen und folgende Komponenten angeschafft:

IB IL RS485/422-PRO (Das Modul ist bereits im Busaufbau eingebunden und läuft!)

Thermokon SRC65-RS485 EVC (Das Modul ist bereits mit 24V versorgt und mit der seriellen Klemme verbunden! Die LED für die Spannungsversorgung leuchtet. Sobald ein EnOcean Teilnehmer sendet, blinkt die EnOcean LED. Das sieht, soweit ich es beurteilen kann, sehr gut und normal aus. )

Ich habe mir ein Beispielprojekt aus der BACL_V0_23f angesehen und in mein Projekt kopiert. D.h. mein Programm ist soweit fertig und geladen. Der Baustein BACL_EnOceanSvr ist angeschlossen inkl. Datei im FTP Bereich und I/O Adresse des seriellen Moduls. Status Server Ready ist true!

Nun das eigentliche Problem!
Die Kommunikation zwischen den Modulen funktioniert nicht. Es blinkt nicht mal eine LED an dem IB IL RS485/422-PRO Modul.
 

Anhänge

  • 4.jpg
    4.jpg
    69,5 KB · Aufrufe: 27
  • 3.jpg
    3.jpg
    87,5 KB · Aufrufe: 31
  • 2.jpg
    2.jpg
    95,8 KB · Aufrufe: 26
  • 1.jpg
    1.jpg
    94,2 KB · Aufrufe: 32
Hi Marc_76,

die Prozessdatenanbindung sieht auf jeden Fall erst einmal korrekt aus.

Allerdings muss ich zugeben das ich die BACL im Detail nicht besonders gut kenne, die Library auch nicht mehr weiter entwickelt wird.

Wie auch immer, ich werde mal versuchen den entsprechenden Kollegen anzusprechen, der die Bibo seinerzeit entwickelt hat.

Gruß
Frank
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Frank,

vielen Dank!

Es sollte doch eigentlich die TxD LED am Modul
IB IL RS485/422-PRO blinken. Ich habe mir mal die Beschreibung der Klemme angesehen und folgendes festgestellt:

Dies ist die Konfiguration der seriellen Schnittstelle vom Baustein EnOceanSrv_V0_11. Byte 2 konfiguriert hier den Ausgangstyp RS 422 und nicht RS 485 - Ist das richtig? Byte 3 konfiguriert die Baud-Rate und Datenbreite! Diese Einstellung lässt sich auch am Thermokon Modul verändern bzw. kann angepasst werden.

(* Init V24 Pro Modul *)
OUT_arrPDV24[0] := BYTE#16#40;
OUT_arrPDV24[1] := BYTE#16#00;
OUT_arrPDV24[2] := BYTE#16#10;
OUT_arrPDV24[3] := BYTE#16#82;[SUB][SUP]


[/SUP][/SUB]
 
Hi Marc_76,

ich glaube in die Konfig hat sich ein Fehler eingeschlichen.

Schau Dir bitte mal die folgende Tabelle an:
wMGnPsX3shv4AAAAABJRU5ErkJggg==


Also muss die Konfig wie folgt sein:
OUT_arrPDV24[0] := BYTE#16#40;
OUT_arrPDV24[1] := BYTE#16#00;
OUT_arrPDV24[2] := BYTE#16#10;
OUT_arrPDV24[3] := BYTE#16#08; --> 19200 Baud
OUT_arrPDV24[4] := BYTE#16#02; --> 8 Bit, gerade parity, 1 stop Bit

Damit sollte die Klemme sich zumindest mit dem Endgerät unterhalten können.

Bei dem Rest stehe ich ein wenig im dunkeln, der BACL Entwickler ist leider nicht mehr verfügbar.
Demnach hoffe ich jetzt einfach mal das es damit dann läuft ;).

Gruß
Frank
 
Hallo Frank,

Ich werde es gleich mal ausprobieren. Der Baustein wird doch aber schreibgeschützt sein, da er von Fa. Phoenixcontact entwickelt wurde. Wieso fällt denn so ein Bug nicht auf? Bin ich der Einzige, der diesen Baustein benutzt? Zur Not muss ich die Bytes ausserhalb des Bausteins manipulieren.

Gruss
Markus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Frank,

du beschreibst Byte 4 ! Das ist meiner Meinung nach nicht richtig. Die Datenbreite wird in Byte 3 (Bits 7-4 = Baud-Rate, Bits 3-0 = Datenbreite) festgelegt, somit wäre dies Konfiguration doch richtig:
OUT_arrPDV24[3] := BYTE#16#82;

Ich habe mal versuchsweise das Byte 2 geändert:
OUT_arrPDV24[2]
:= BYTE#16#00; (Ausgangstyp von RS422 auf RS485 gesetzt)

Aber auch ohne Erfolg!
Wann sollte denn die TxD LED blinken?

Gruß
Markus
 
Zuletzt bearbeitet:
Hallo Markus,
da ist mir in der Tat ein Fehler unterlaufen.
Du hast Recht, es wird alles in Byte 3 ausgehandelt und somit ist 0x82 korrekt.

TxD wird aktiv, sobald ein Zeichen gesendet wurde.

Gruß
Frank
 
Zurück
Oben