Von Fröling S4 Scheitholzkessel Daten über Modbus Ascci auslesen.

Hallo
das mit den Variablen anlegen hatte ich mir schon so gedacht. aber trotzdem funktioniert es nicht.
Heute habe ich noch schnell das mit dem PUTTY versucht. aber da kommt schon nichts! egal wie aber PUTTY sagt immer wieder Netzwerk Fehler .
die Silex Einstellungen habe ich exakt so wie deine Screenshots!

Du hast doch sicher auch dem Anschluß auf der Hauptplatine für die PC Visualisierung angeschlossen? Draufsicht der Linke!
ich habe noch einen RBG 3100. das funktioniert einwandfrei!!??

Fröling pc_anbindung.jpg

PUTTY Fehler.jpg

Hello!

Bei mir ist das an COM2 angeschlossen; ich haben schon standard 9 polige Stecker auf der Platine (siehe Bild)
Nicht an der Serviceport anschließen, denn dieser liefert nur Daten nach einer komplexen „Anforderungssequenz“.
COM2 liefert eben dauernd Daten.

Die Anschlusszeichnung kenne ich - ist für mich aber eben nicht notwendig gewesen.

Hast Du mal unterschiedliche Kabel verwendet - gerade und gekreuzt?

Außerdem wäre es sicher einfacher mal mit (altem) Laptop mit Ser. Schnittstelle (oder mit PC mit Schnittstelle) und Hyperterminal oder eben auch Putty direkt die COM zu nutzen um zu sehen ob Daten kommen.

LG Red Raz

IMG_0572.JPG

Hallo
Deine Platine sieht schon anders aus als meine.
Ich werde morgen mal nen Laptop nehmen und direkt die Schnittstelle anzapfen.
PS: dein P2 Kessel hat doch auch einen Lambdatronic 3100!?

Hello!

Meines Wissens nach eine andere Nummer; Mein Servicetechniker von Fröhling hat aber mal gemeint, dass die Geräte alle an der COM permanent Daten ausgeben, egal welche Steuerung eingebaut ist…

Daher kann es bestenfalls sein, dass Du einige andere oder zusätzliche Werte in dem Datenstrom haben wirst.

Also,
nach vielen Tests bin ich immer noch nicht weiter.
mit einem seriellen Kabel kann ich die Schnittstelle direkt auslesen. Dazu benötige ich aber ein spezielles Programm, welches ich von www.rigert.com bekommen habe.
So wie ich die Sache herausbekommen habe, wird hier vorab ein Code gesendet worauf die Steuerung dann Daten sendet.
Dieser Code ist mir noch nicht ganz bekannt bzw. das was ich denke zu senden, wird von der Lambdatronic nicht beantwortet. :frowning: mus weiterkämpfen.

mfg

Hello!

Ich glaube es muss 2 Schnittstellen geben - habe mir eben die Anleitung zur 3200 durchgesehen da gibt es auch zwei.
Deine beschriebene Schnittstelle muss angeprochen werden damit diese etwas zurückgibt.

Dazu gab es schon mal was - für mich der Overkill - ich will nur lesen… habe ich zwar auch probiert aber ist alles zu mühsam gewesen.

siehe: http://www.ip-symcon.de/forum/threads/15642-Script-zum-Auslesen-Fr%C3%B6ling-S3200-S4-Turbo

LG Red Raz

Hier ist schon das Problem, ich habe eine 3100 :frowning:
Ich mus Morgen noch mal mit Silex telefonieren, wie ich bidirektional den SX500 benutzen kann. Code senden und Daten empfangen.
Wenn ich das wirklich hinbekomme, das der Kessel Daten sendet, werde ich wohl jede einzelne umrechnen müssen.
…hätt ich nur die Finger davon gelassen…

mfg

PS: kann das PUTTY Programm auch einen Code senden oder nur empfangen?

Das Thema ist schon etwas älter, jedoch bin ich auch gerade dabei
meine Fröling S4 einzubinden,

mit dem Client Socket bekomm ich noch Daten angezeigt im Debug Fenster
aber im Cutter ist dann Schluss da passiert dann nichts mehr.

Hab auch gar keine Ahnung wo ich da Ansetzen soll. :banghead:

Hallo Jimy04,

hast Du im Cutter als „übergeordnete Instanz“ dein Client-Socket angegeben?

Hallo ich versuche gerade meinen Fröling Ofen auszulesen…

An der Com 2 bekomme ich folgende Daten (direkt am Port):

im IPS bekomme ich im Debug folgendes:

Der Fröling ist mit einem Silex SX-500 an dem IPS angebunden.




Kann mir bitte jemand weiterhelfen?

Danke!

Wo liegt dein Problem?

Kontrollier mal dein Debug vom Cutter und von der RegisterVar.
Auswertskript angelegt?
Was kommt im Skript an?

	$data=explode(";", $_IPS['VALUE']);
		print_r ($data);

Hallo!

Mein Problem ist, wie bringe ich die Daten in die Variablen… :confused:

Debug Cutter:

Debug Register V.:

Beim ausfüren von:

    $data=explode(";", $_IPS['VALUE']);
        print_r ($data); 

bekomme ich den Fehler
Notice: Undefined index: VALUE in C:\ProgramData\Symcon\scripts\52194.ips.php on line 3
Array
(
[0] =>
)

Bin bei sowas leider sehr unerfahren…
Und steh total auf dem Schlauch! :banghead:

Du brauchst:

  1. Client Socket
  2. Cutter
  3. Register Variable (Übergeordnet ist der Cutter, Ziel ist das Auswertskript)
  4. Auswert Skript (Hier beschreibst du deine Variablen)

Schreib die 2 Code-Zeilen in dein Skript und schau im Meldungsfenster was passiert. Hier müsste dein Array ausgegeben werden. Dann schreibst du mit z.B.

SetValueFloat(26246, $data[6]/$data[8]);

in deine Variablen.

Hier das komplette Skript:

<?

	

		$data=explode(";", $_IPS['VALUE']);
		print_r ($data);
		//echo (date("s"));
		
		
			if ( count($data) == 150)
			{
				
                
                
                SetValue(53256, $data[0]);
				SetValue(29604, $data[146]);
				
				if (date("s") <> 8) {return;}
				
				SetValueFloat(26246, $data[6]/$data[8]);
				SetValueFloat(38856, $data[11]/$data[13]);
				SetValueFloat(21625 , $data[16]/$data[18]);  //Abgastemperatur Soll
				SetValueFloat(25828 , $data[46]/$data[48]);
				SetValueFloat(13617 , $data[51]/$data[53]);
				SetValueFloat(12928, $data[51]/$data[53]/30);
				SetValueFloat(14137, $data[91]/$data[93]);
				SetValueFloat(57465 , $data[96]/$data[98]);
				SetValueFloat(29547 , $data[101]/$data[103]);
				SetValueFloat(31446, $data[141]/$data[143]);
				
			}
?>

Punkt 1-3 müsste passen…

Aber wenn ich das Auswerte Skript ausführe kommt immer der Fehler.

Nicht ausführen!
Nur im Meldungsfenster schauen.

Jetzt sieht es besser aus.

29.12.2020, 20:55:00 | Register Variable | Array
(
[0] => Feuer Aus
[1] => 0005
[2] => 1
[3] => 1
[4] => zst
[5] => Kesseltemp.
[6] => 0155
[7] => 2
[8] => 2
[9] => °C
[10] => Abgastemp.
[11] => 0070
[12] => 3
[13] => 1
[14] => °C
[15] => Abgastemp S
[16] => 0080
[17] => 11
[18] => 1
[19] => °C
[20] => Kesselstrg
[21] => 0100
[22] => 4
[23] => 1
[24] => %
[25] => Primärluft
[26] => 0000
[27] => 5
[28] => 1
[29] => %
[30] => Rest O2 ist
[31] => 0198
[32] => 6
[33] => 10
[34] => %
[35] => O2 Regler
[36] => 0000
[37] => 7
[38] => 1
[39] => %
[40] => Sekundärluft
[41] => 0000
[42] => 8
[43] => 1
[44] => %
[45] => Saugzug Soll
[46] => 0000
[47] => 9
[48] => 1
[49] => %
[50] => Saugzug Ist
[51] => 0000
[52] => 10
[53] => 1
[54] => U
[55] => Einschub Ist
[56] => 0000
[57] => 12
[58] => 1
[59] => %
[60] => O2 Regler Pell
[61] => 0035
[62] => 13
[63] => 1
[64] => %
[65] => Füllstand:
[66] => 20516
[67] => 14
[68] => 207
[69] => %
[70] => Ansauggeschw.
[71] => 0454
[72] => 15
[73] => 100
[74] => m/s
[75] => Strom Austrags
[76] => 1140
[77] => 16
[78] => 1000
[79] => A
[80] => Fühler 1
[81] => 0134
[82] => 17
[83] => 2
[84] => °C
[85] => Kesselsoll
[86] => 0168
[87] => 18
[88] => 2
[89] => °C
[90] => Pufferoben
[91] => 0161
[92] => 20
[93] => 2
[94] => °C
[95] => Pufferunten
[96] => 0089
[97] => 21
[98] => 2
[99] => °C
[100] => Pufferpumpe
[101] => 0000
[102] => 22
[103] => 1
[104] => %
[105] => Boiler 1
[106] => 0168
[107] => 23
[108] => 2
[109] => °C
[110] => Vorlauf 1
[111] => 0254
[112] => 24
[113] => 2
[114] => °C
[115] => Vorlauf 2
[116] => 0254
[117] => 25
[118] => 2
[119] => °C
[120] => HK Pumpe 1
[121] => 0000
[122] => 26
[123] => 1
[124] =>
[125] => HK Pumpe 2
[126] => 0000
[127] => 27
[128] => 1
[129] =>
[130] => Aussentemp
[131] => 0254
[132] => 28
[133] => 2
[134] => °C
[135] => Kollektortemp
[136] => 0000
[137] => 29
[138] => 2
[139] => °C
[140] => Betriebsstunden
[141] => 0375
[142] => 30
[143] => 1
[144] => h
[145] => Fehler
[146] => Kein Fehler
[147] => 99
[148] => 1
[149] =>
)

Wenn ich jetzt

SetValueFloat(48913 , $data[10]/$data[12]);

eingebe, schreibt er aber 0 in die Variable.

Wo denk ich noch falsch?

Das schaut schon mal gut aus.:smiley:

data[10] / data[12] = 0 (Abgastemp / 3 = nix):wink:

Das Bedeutet:
data[5] bis data[9] ist eine Variable

data[5] = Beschreibung Wert
data[6] = Wert
data[7] = weiß ich nicht mehr:o
data[8] = Teiler
data[9] = Einheit

das Bedeutet:
data[5] = data[6] / data[8]

SetValueFloat(48913 , $data[6]/$data[8]);

Jetzt läuft es!

Vielen Dank für deine Hilfe!!!
:loveips:

Hallo Zusammen.

Ich hätte da auch mal eine frage bezüglich der Einbindung is IPS.

Ich habe einen Fröling P4 Pellets BJ 2018. vom auslesen/schreiben wird sich nicht viel geändert haben oder? Oder geht das über die Modbus Instanz in IPS einfacher?

Leider gibts den Silex SX-500 anscheinend nicht mehr :frowning:
Was könnte man da als alternative nehmen?

Waveshare Industrial RS232/RS485 to Ethernet Converte

Hätte ich da mal gefunden.

Anbei noch die Doku von fröling falls diese noch jemanden Hilft :slight_smile:
B1200217_ModBus Lambdatronic 3200_50-04_05-14_de.pdf (1,3 MB)

1 „Gefällt mir“