[Codesys Wago] SMS Versenden/Empfangen

linsenpago

Level-1
Beiträge
37
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich habe meine Steuerung per SMS soweit fertig, dass ich mein Licht, die Beschattung, Alarmanlage usw. per SMS steuern kann und auch die richtige Rückmeldung auf die jeweilige Aktion zurück erhalte.

Nun würde ich das gerne noch ein wenig erweitern, dass ich z.b. "Status" an die Steuerung schicke und ich dann als Antwort den Zustand verschiedener Variablen zurück bekomme.



So in etwa hätte ich mir das vorgestellt:

SMS an die Steuerung -> "Status"
Rückmeldung von der Steuerung <- Alarm=True, Vorzimmerlicht=false, Wohnzimmerlicht=true, Beschattung=true usw.

Hat jemand eine Idee wie ich das am besten angehe? Mir fehlt da komplett der Ansatz, da ich nicht weiß wie man den SMS Text so variabel gestalten kann?
Vorzugsweise in ST?

LG
Alex
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja wie ich das übergebe und dann per sms Versende ist mir klar, das klappt ja auch, aber wie ich mir den String zusammenbastle, da fehlt mir noch das KnowHow.

Ich habe mehrere boolsche Globale Variablen wie z.b. "Wohnzimmer_Status" od. "Vorzimmer_Status", "Alarm_Status", "Beschattung_Status" die alle entweder True oder False sind.

Wie müsste ich das CONCAT dann aufbauen, damit das in einen String zusammengesetzt wird?

Wenn ich das Richtig verstehe müsste dieser String dann so in das SMS Programm übergeben werden:

Code:
	IF Message.Parameter[2] = '1' THEN (* STATUS Abfragen *)


   		SEND_SMS.Msg 		:= Status_String;


	END_IF
 
für jede Boolsche Variable einen eigenen String abhängig vom Zustand beschreiben, dann mit Concat zusammenbauen, am besten über eine temporäre Stringvariable, E-Mail Versand könnte asynchron zum Programm laufen.

Deklaration:
Code:
    Wohnzimmer_Status: BOOL;
    Vorzimmer_Status: BOOL;
    Alarm_Status: BOOL;
    Beschattung_Status: BOOL;

    Wohnzimmer_String: STRING;
    Vorzimmer_String: STRING;
    Alarm_String: STRING;
    Beschattung_String: STRING;

    StringTemp: STRING;

Code:

Code:
IF Wohnzimmer_Status THEN
    Wohnzimmer_String:= 'Im Wohnzimmer ist es hell, ';
ELSE
    Wohnzimmer_String:= 'Im Wohnzimmer ist es dunkel, ';
END_IF

IF Vorzimmer_Status THEN
    Vorzimmer_String:= 'Im Vorzimmer leuchtet was, ';
ELSE
    Vorzimmer_String:= 'Im Vorzimmer leuchtet nichts, ';
END_IF

IF Alarm_Status THEN
    Alarm_String:='Alarm liegt an, ';
ELSE
    Alarm_String:='kein Alarm, ';
END_IF

IF Beschattung_Status THEN
    Beschattung_String:= 'die Sonne brennt';
ELSE
    Beschattung_String:= 'wolkig';
END_IF

StringTemp:=CONCAT(Wohnzimmer_String, Vorzimmer_String);
StringTemp:=CONCAT(StringTemp, Alarm_String);
StringTemp:=CONCAT(StringTemp, Beschattung_String);
SEND_SMS.Msg:=StringTemp;
 
Zurück
Oben