Hallo Forumexperten ,
zum Hintergrund der ganzen Sache, ich habe im Haus 14 Rollläden die ich mit dem ILC131 steuere. Das Ganze mit HMI usw. funktioniert. Ich will allerding in einer Wohnung 4 Rollläden zusätzlich mit Fernbedienung steuern können. Dazu habe ich mir eine 8 Kanal Funkfernbedienung von Velleman K8058 zugelegt, dazu das Empfangsmodul RX433N auch von Velleman. Dieses Empfangsmodul liefert ein TTL Signal das ich mit einem Pegelwandler zu RS232 wandle. Steuerungsseitig ist am ILC131 (FW4.60, HW02) eine IB IL RS232-PRO angeschlossen. Dazu verwende ich PC-Worx 6.30.1914. Die Funktionsbausteine stammen aus der Bibliothek „Communikation_V1_10“.
Die Schnittstelle habe ich entsprechend der Funkfernbedienung mit “2400 Baud, 8 Datenbits, 1 Stoppbit, keine Parität“ parametriert. Das Ganze läuft in einem 10ms Task.
Die Fernbedienung liefert einen Datenblock von 5 Byte fortlaufend wiederholt so lange der Knopf gedrückt ist. Die Auswertung der empfangenden Daten funktioniert.
Mein Problem ist es nun die richtigen Parameter für die Kommunikation zu finden, ich habe durch langes experimentieren die Task Zeit auf 10ms gelegt und den Parameter „uiRcvLength“ auf 20, so das 4 Blöcke ankommen müssen damit ich Daten erhalte. So funktioniert das Ganze ca. 2 Tage, dann geht die CPU in Stop wegen „Feldgrenzen außerhalb gültigem Bereich“. Ignoriere ich diesen Fehler durch einfügen des entsprechenden System_Task geht die CPU durch Watchdog-Fehler in Stop. Bei anderen Parametern der Task zeit oder „uiRcvLength“ zB. auf 5 kommen diese CPU Fehler meisten sofort.
Aufgefallen ist mir das die RX-LED am IB-IL_RS232 Modul ständig leuchtet also jede Menge Datenmüll empfangen wird. Deshalb habe ich jetzt ein anderen Empfänger angeschlossen (SHR-7 von SVS Nachrichtentechnik) damit flackert die RX-LED nur noch und das Ganze läuft jetzt seit 3 Wochen ohne Probleme.
Ich würde jetzt gern verstehen wollen was hier passiert um das Ganze auch stabil zu gestalten, also wie solch eine Kommunikation korrekt parametriert wird. Vielleicht kann jemand dazu eine kurze Erklärung geben.
Am Ende kann ich natürlich auch eine 8-Kanal Relaiskarte und 8 binäre Eingänge verwenden aber das gefällt mir nicht so.
Ich bedanke mich schon im Voraus
VG Geralf
zum Hintergrund der ganzen Sache, ich habe im Haus 14 Rollläden die ich mit dem ILC131 steuere. Das Ganze mit HMI usw. funktioniert. Ich will allerding in einer Wohnung 4 Rollläden zusätzlich mit Fernbedienung steuern können. Dazu habe ich mir eine 8 Kanal Funkfernbedienung von Velleman K8058 zugelegt, dazu das Empfangsmodul RX433N auch von Velleman. Dieses Empfangsmodul liefert ein TTL Signal das ich mit einem Pegelwandler zu RS232 wandle. Steuerungsseitig ist am ILC131 (FW4.60, HW02) eine IB IL RS232-PRO angeschlossen. Dazu verwende ich PC-Worx 6.30.1914. Die Funktionsbausteine stammen aus der Bibliothek „Communikation_V1_10“.
Die Schnittstelle habe ich entsprechend der Funkfernbedienung mit “2400 Baud, 8 Datenbits, 1 Stoppbit, keine Parität“ parametriert. Das Ganze läuft in einem 10ms Task.
Die Fernbedienung liefert einen Datenblock von 5 Byte fortlaufend wiederholt so lange der Knopf gedrückt ist. Die Auswertung der empfangenden Daten funktioniert.
Mein Problem ist es nun die richtigen Parameter für die Kommunikation zu finden, ich habe durch langes experimentieren die Task Zeit auf 10ms gelegt und den Parameter „uiRcvLength“ auf 20, so das 4 Blöcke ankommen müssen damit ich Daten erhalte. So funktioniert das Ganze ca. 2 Tage, dann geht die CPU in Stop wegen „Feldgrenzen außerhalb gültigem Bereich“. Ignoriere ich diesen Fehler durch einfügen des entsprechenden System_Task geht die CPU durch Watchdog-Fehler in Stop. Bei anderen Parametern der Task zeit oder „uiRcvLength“ zB. auf 5 kommen diese CPU Fehler meisten sofort.
Aufgefallen ist mir das die RX-LED am IB-IL_RS232 Modul ständig leuchtet also jede Menge Datenmüll empfangen wird. Deshalb habe ich jetzt ein anderen Empfänger angeschlossen (SHR-7 von SVS Nachrichtentechnik) damit flackert die RX-LED nur noch und das Ganze läuft jetzt seit 3 Wochen ohne Probleme.
Ich würde jetzt gern verstehen wollen was hier passiert um das Ganze auch stabil zu gestalten, also wie solch eine Kommunikation korrekt parametriert wird. Vielleicht kann jemand dazu eine kurze Erklärung geben.
Am Ende kann ich natürlich auch eine 8-Kanal Relaiskarte und 8 binäre Eingänge verwenden aber das gefällt mir nicht so.
Ich bedanke mich schon im Voraus
VG Geralf