Jump to content

Empfohlene Beiträge

Hallo Leute,

ich habe folgendes Problem: ich möchte über einen RS232-Ausgang verschiedene Parameter an ein Thermostat senden. Es funktionieren alle Parameter perse sofern ich sie an ein Ausgangsmodul mit nur einem Kanal schicke. Hat das Ausgangsmodul mehr Kanäle (zuweisung der Kanäle ist erfolgt) funktioniert das ganze nicht mehr mit den Variablen.

Ich bin mittlerweile am Verzweifeln, das ganze ist mir auch noch beim Ansteuern eines Rührer aufgefallen, dass die Übertragung mit diversen Kanälen und Variablen irgendwie nicht funktioniert.

 

ich habe mal den Ausschnitt meines Schaltbildes mit den Thermostaten angehangen.

 

Gruß

Marc

huber.DSB

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo Marc

Ich habe mal in das Schaltbild geschaut. Ich denke, das Aktion01 das Problem ist. Hier ist als Ereignis für beide Schalterstellung "TTL High Pegel" bzw "TTL Low Pegel" eingestellt. Das ist ungünstig, weil hiermit das Aktionsmodul die Bedingung mit jedem Block neu überprüft. Du erzeugst damit praktisch ein Dauerfeuer von Aktionen, bei TTL High auf Kanal 0 des seriellen Ausgangs, bei TTL Low auf Kanal 1.

Besser ist es, auf die Statusänderungen des Schalters zu reagieren, z.B. mit "steigender Flanke" für das Einschalten bzw. "fallende Flanke" für das Abschalten. Dann wird die Aktion jeweils nur ein mal ausgeführt. 

Ich hoffe, das Hilft

Stephan

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Servus Stephan,

vielen Dank schonmal dafür. Jetzt laufen schonmal die Aktions-Module 1&2. Bei 3 sollen beide aktionen hinteeinander ausgelöst werden um am Empfänger eine Heizrampe zu starten, dies funktioniert leider immer noch nicht. Müsste ich dafür ggf. das eingangsmodul der RS232 ausschalten? Da dies ja aktiv die Daten anfordert.

Anbei das Schaltbild mit funktionierendem Aktions-Modulen 1&2.

 

Gruß

huber.DSB

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Möglicherweise sind die beiden einzelnen Aktionen zeitlich zu nahe beieinander. Der zweite Befehl soll gesendet werden während der erste noch nicht ganz "raus" ist.

Probieren Sie mal zwei einzelne Aktionsmodule zu nutzen: eine Aktion pro Modul. Beim Modul Aktion03 die Option "Eingänge kopieren" aktivieren und dann das neue Modul anhängen.
Evtl. ein Verzögerungsmodul zwischen die beiden Aktionsmodule plazieren (ein Block Verzögerung).

Alternativ kann man auch versuchen, die beiden einzlnen Kommandos in einen einziges zu sendendes umzuwandeln. Anstatt eine globale Variable zu senden, die im RS232-Ausgang mit Text "dekoriert" wird, könnte man auch einen globalen String zusammenstellen und diesen dann als einzelne Nachricht versenden.
Im Dialog der globalen String können Sie über "Erweitert..." die Option "Ausdruck automatisch berechnen" aktivieren und den Text Inhalt des Strings aus festen Textteilen und variablen Textteilen zusammesetzen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Das zusammenbauen von dem String wird m.E. nicht funktionieren, da ich eine Hex verschicken muss und ich nicht wüsste das es die Funktion gibt innerhalb es "Sammelstrings" Hex-Zahlen (als Variable) einzubauen.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

×