Einbindung Temperaturerfassung durch Arduino in IP-Symcon


In  meinem letzten Artikel ging es um die Entwicklung eines Arduinoservers, der die Temperatur und den Verschluss überwacht.

Nun läuft dieser Server bereits in unserem Netzwerk und verrichtet seinen Arbeit. Ein Aspekt den ich nicht testen konnte war die Anbindung via Modbus an IP-Symcom. Das war ehrlich gesagt einfach als gedacht. (Manchmal muss auch etwas mal einfach gehen 🙂 )


void Modbus(float Temp1, float Temp2, int Magnet) {
//Modbus starten
Mb.Run();

//Analog inputs 0-1023
Mb.R[0] = Temp1*100;
Mb.R[2] = Temp2*100;
Mb.C[4] = Magnet;
}

Mittels dieser einfachen Funktion werden die Werte des Arduino’s in die Register des Modbusservers auf dem Arduino gespeichert. Da dieser nur Bool (1BIT) oder Integer (16BIT) verabeiten kann, bekomme ich Probleme mit dem Kommastellen (FLOAT oder auch 32BIT). Also umgehe ich das Problem in dem ich die Werte einfach mal 100 nehme und abspeichere.

In IP-Symcon werden diese Werte wieder durch 100 geteilt.

Einstellungen

IP-Symcon Shoot

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.