S7_DRead defekt,TCPClient ReadArea error,S7_ReadBlockFromPLC ReadArea error:768

Begonnen von FoxG, 09 November 2016, 01:23:08

Vorheriges Thema - Nächstes Thema

FoxG

Hallo,
ich bin Neuling und bin an einem Punkt angelangt wo ich seit Tagen (Nächten) nicht weiter komme.

Ich habe FHEM auf dem Win 10 PC installiert und verbinde diesen über Ethernet Netzwerk mit meiner S7-400.
Die Verbindung zur S7 konnte ich herstellen und auch mit S7_DWrite in eine DB schreiben, aber ich kann keine Werte mit S7_DRead auslesen.
Im Log sind die Fehlermeldungen zwar sichtbar, aber ich weiß nicht wie ich den Fehler beheben kann, bzw, was ich falsch gemacht habe.

2016.11.09 01:11:45 1: starting in console mode
2016.11.09 01:11:45 1: Including fhem.cfg
2016.11.09 01:11:45 3: telnetPort: port 7072 opened
2016.11.09 01:11:45 3: WEB: port 8083 opened
2016.11.09 01:11:45 3: WEBphone: port 8084 opened
2016.11.09 01:11:45 3: WEBtablet: port 8085 opened
2016.11.09 01:11:45 2: eventTypes: loaded 0 events from ./log/eventTypes.txt
2016.11.09 01:11:48 3: myS7 S7_connect: connect to PLC with maxPDUlength=480
2016.11.09 01:11:48 1: PERL WARNING: Use of uninitialized value $position in split at ./FHEM/44_S7_DRead.pm line 164, <$fh> line 40.
2016.11.09 01:11:48 1: PERL WARNING: Use of uninitialized value $address[0] in division (/) at ./FHEM/44_S7_DRead.pm line 171, <$fh> line 40.
2016.11.09 01:11:48 1: PERL WARNING: Use of uninitialized value $address[0] in modulus (%) at ./FHEM/44_S7_DRead.pm line 172, <$fh> line 40.
2016.11.09 01:11:48 1: PERL WARNING: Use of uninitialized value $position in split at ./FHEM/44_S7_DRead.pm line 164, <$fh> line 76.
2016.11.09 01:11:48 1: PERL WARNING: Use of uninitialized value $address[0] in division (/) at ./FHEM/44_S7_DRead.pm line 171, <$fh> line 76.
2016.11.09 01:11:48 1: PERL WARNING: Use of uninitialized value $address[0] in modulus (%) at ./FHEM/44_S7_DRead.pm line 172, <$fh> line 76.
2016.11.09 01:11:48 1: Including ./log/fhem.save
2016.11.09 01:11:48 3: initialUsbCheck return value: This command is not yet supported on windows
2016.11.09 01:11:48 0: Featurelevel: 5.7
2016.11.09 01:11:48 0: Server started with 26 defined entities (fhem.pl:12519/2016-11-07 perl:5.024000 os:MSWin32 user:Guido_2 pid:3504)
2016.11.09 01:11:50 3: TCPClient ReadArea error (IP= 192.168.158.254) returned data not OK: 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 03, 00, 00, 0e, 00, 00, 32, 03, 00, 00, 03, 00, 00, 02, 00, 04, 00, 00, 04, 01, 05, 00, 00, 00, 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 03, 00, 00, 0e, 00, 00, 04, 01, 12, 0a, 10, 02, 00, 04, 04, 29, 84, 00, 00, 00, ff, 04, 00, 08, 00
2016.11.09 01:11:50 3: myS7 S7_ReadBlockFromPLC ReadArea error: 768=Error during data read
2016.11.09 01:11:50 2: myS7 S7 disconnected
2016.11.09 01:11:53 3: myS7 S7_connect: connect to PLC with maxPDUlength=480
2016.11.09 01:12:00 3: TCPClient ReadArea error (IP= 192.168.158.254) returned data not OK: 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 03, 00, 00, 0e, 00, 00, 32, 03, 00, 00, 03, 00, 00, 02, 00, 04, 00, 00, 04, 01, 05, 00, 00, 00, 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 03, 00, 00, 0e, 00, 00, 04, 01, 12, 0a, 10, 02, 00, 04, 04, 29, 84, 00, 00, 00, ff, 04, 00, 08, 00
2016.11.09 01:12:00 3: myS7 S7_ReadBlockFromPLC ReadArea error: 768=Error during data read
2016.11.09 01:12:00 2: myS7 S7 disconnected
2016.11.09 01:12:03 3: myS7 S7_connect: connect to PLC with maxPDUlength=480

pc1246

Hallo und willkommen im Forum
Erst einmal muss ich was loswerden, im Simatic Sprachgebrauch ist DB nicht gleich Datenbank, sondern Datenbaustein! Deshalbe ist es ein DB und nicht eine DB!
Schoen waere es auch, wenn Du Deine Auszuege in Codetags packen wuerdest. Ueber den Smileys ist ein " # " das erleichtert das Lesen des Beitrags.
Jetzt zu Deiner eigentlichen Frage: Du muesstest uns schon die entsprechenden lists der definierten Objekte zur Verfuegung stellen, der Auszug aus der fhem.log ist leider nicht sehr aussagekraeftig!
Wie aktuell ist Dein System?
Gruss Christoph
HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div

FoxG

Entschuldigung dass ich mich so lange nicht gemeldet habe.
Meine S7-Programmierung und die FHEM Anwendung haben zwar einige Fortschritte gemacht, aber die Fehlermeldungen der S7-400 habe ich nicht weg bekommen.

Hier ist der Auszug aus dem Log, wenn ich Perl neu starte:

Save config
Dashboard
Haussteuerung
Floorplans
Aussenanlage
EG-106-Gaeste
EG-107-Buero
EG-112-SZ-Eltern
EG-Ku_WZ_Ga_Bue
Haus-Freistett
Haus_EG
Haus_aussen
S7-Verbindung
Test
UG-Ki_Bue_Tuer
Unsorted
Wettervorhersage
icoEverything Everything
Logfile
Commandref
Remote doc
Edit files
Select style
Event monitor

jump to the end

2017.01.10 02:37:54 1: starting in console mode
2017.01.10 02:37:54 1: Including fhem.cfg
2017.01.10 02:37:55 3: telnetPort: port 7072 opened
2017.01.10 02:37:55 3: WEB: port 8083 opened
2017.01.10 02:37:55 3: WEBphone: port 8084 opened
2017.01.10 02:37:55 3: WEBtablet: port 8085 opened
2017.01.10 02:37:58 3: myS7 S7_connect: connect to PLC with maxPDUlength=480
2017.01.10 02:37:58 2: eventTypes: loaded 0 events from log/eventTypes.txt
2017.01.10 02:37:58 1: PERL WARNING: Argument "1\n#" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 98.
2017.01.10 02:37:59 1: PERL WARNING: Argument "1\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 363.
2017.01.10 02:37:59 1: PERL WARNING: Argument "2\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 390.
2017.01.10 02:37:59 1: PERL WARNING: Argument "1\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 421.
2017.01.10 02:37:59 1: PERL WARNING: Argument "2\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 450.
2017.01.10 02:37:59 1: PERL WARNING: Argument "1\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 494.
2017.01.10 02:37:59 1: PERL WARNING: Argument "3\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 533.
2017.01.10 02:37:59 1: PERL WARNING: Argument "4\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 541.
2017.01.10 02:37:59 1: PERL WARNING: Argument "3\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 572.
2017.01.10 02:37:59 1: PERL WARNING: Argument "4\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 580.
2017.01.10 02:37:59 1: PERL WARNING: Argument "2\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 610.
2017.01.10 02:37:59 1: PERL WARNING: Argument "1\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 618.
2017.01.10 02:37:59 1: PERL WARNING: Argument "5\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 647.
2017.01.10 02:37:59 1: PERL WARNING: Argument "6\nattr" isn't numeric in addition (+) at ./FHEM/44_S7_DWrite.pm line 197, <$fh> line 655.
2017.01.10 02:37:59 1: Including ./log/fhem.save
2017.01.10 02:37:59 3: initialUsbCheck return value: This command is not yet supported on windows
2017.01.10 02:37:59 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no associated allowed device with basicAuth. telnetPort has no associated allowed device with password/globalpassword.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2017.01.10 02:37:59 0: Featurelevel: 5.7
2017.01.10 02:37:59 0: Server started with 92 defined entities (fhem.pl:12519/2016-11-07 perl:5.024000 os:MSWin32 user:Guido3 pid:5804)
2017.01.10 02:38:00 1: PERL WARNING: Argument "15.1\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "15.6\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "13.4\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "15.4\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "13.3\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "6.2\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "14.2\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "6.1\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "15.3\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "14.1\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "7.2\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "7.1\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "15.5\nattr" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 1: PERL WARNING: Argument "34.1\n#" isn't numeric in numeric comparison (<=>) at ./FHEM/44_S7.pm line 844.
2017.01.10 02:38:00 3: TCPClient ReadArea error (IP= 192.168.xxx.xxx) returned data not OK: 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 32, 03, 00, 00, 04, 00, 00, 02, 00, 04, 00, 00, 04, 01, 05, 00, 00, 00, 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 04, 01, 12, 0a, 10, 02, 00, 02, 00, 00, 82, 00, 10, 00, ff, 04, 00, 18, 20, 02, 00
2017.01.10 02:38:00 3: myS7 S7_ReadBlockFromPLC ReadArea error: 768=Error during data read
2017.01.10 02:38:00 2: myS7 S7 disconnected
2017.01.10 02:38:03 3: myS7 S7_connect: connect to PLC with maxPDUlength=480
2017.01.10 02:38:10 3: TCPClient ReadArea error (IP= 192.168.xxx.xxx) returned data not OK: 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 32, 03, 00, 00, 04, 00, 00, 02, 00, 04, 00, 00, 04, 01, 05, 00, 00, 00, 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 04, 01, 12, 0a, 10, 02, 00, 02, 00, 00, 82, 00, 10, 00, ff, 04, 00, 18, 20, 02, 00
2017.01.10 02:38:10 3: myS7 S7_ReadBlockFromPLC ReadArea error: 768=Error during data read
2017.01.10 02:38:10 2: myS7 S7 disconnected
2017.01.10 02:38:13 3: myS7 S7_connect: connect to PLC with maxPDUlength=480
2017.01.10 02:38:22 3: TCPClient ReadArea error (IP= 192.168.xxx.xxx) returned data not OK: 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 32, 03, 00, 00, 04, 00, 00, 02, 00, 04, 00, 00, 04, 01, 05, 00, 00, 00, 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 04, 01, 12, 0a, 10, 02, 00, 02, 00, 00, 82, 00, 10, 00, ff, 04, 00, 18, 20, 02, 00
2017.01.10 02:38:22 3: myS7 S7_ReadBlockFromPLC ReadArea error: 768=Error during data read
2017.01.10 02:38:22 2: myS7 S7 disconnected
2017.01.10 02:38:25 3: myS7 S7_connect: connect to PLC with maxPDUlength=480
2017.01.10 02:38:32 3: TCPClient ReadArea error (IP= 192.168.xxx.xxx) returned data not OK: 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 32, 03, 00, 00, 04, 00, 00, 02, 00, 04, 00, 00, 04, 01, 05, 00, 00, 00, 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 04, 01, 12, 0a, 10, 02, 00, 02, 00, 00, 82, 00, 10, 00, ff, 04, 00, 18, 20, 02, 00
2017.01.10 02:38:32 3: myS7 S7_ReadBlockFromPLC ReadArea error: 768=Error during data read
2017.01.10 02:38:32 2: myS7 S7 disconnected
2017.01.10 02:38:35 3: myS7 S7_connect: connect to PLC with maxPDUlength=480
2017.01.10 02:38:42 3: TCPClient ReadArea error (IP= 192.168.xxx.xxx) returned data not OK: 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 32, 03, 00, 00, 04, 00, 00, 02, 00, 04, 00, 00, 04, 01, 05, 00, 00, 00, 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 04, 01, 12, 0a, 10, 02, 00, 02, 00, 00, 82, 00, 10, 00, ff, 04, 00, 18, 20, 02, 00
2017.01.10 02:38:42 3: myS7 S7_ReadBlockFromPLC ReadArea error: 768=Error during data read
2017.01.10 02:38:42 2: myS7 S7 disconnected
2017.01.10 02:38:45 3: myS7 S7_connect: connect to PLC with maxPDUlength=480
2017.01.10 02:38:52 3: TCPClient ReadArea error (IP= 192.168.xxx.xxx) returned data not OK: 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 32, 03, 00, 00, 04, 00, 00, 02, 00, 04, 00, 00, 04, 01, 05, 00, 00, 00, 02, f0, 80, 19, 02, f0, 80, 32, 01, 00, 00, 04, 00, 00, 0e, 00, 00, 04, 01, 12, 0a, 10, 02, 00, 02, 00, 00, 82, 00, 10, 00, ff, 04, 00, 18, 20, 02, 00
2017.01.10 02:38:52 3: myS7 S7_ReadBlockFromPLC ReadArea error: 768=Error during data read
2017.01.10 02:38:52 2: myS7 S7 disconnected


Das Alter meiner S7-400 kenne ich nicht, da ich sie gebraucht gekauft habe.
Folgende Info habe ich aus der NCM S7 Diagnose:
Baugruppen-Typ: CP443-1
Baugruppen-Version: V 20.49
HW-Ausgabestand: 2
Zusatzinformation: BootRom V 1.2.0

Zusätzlich ist eine ET200 am Profibus angeschlossen

Die fhem.cfg ist im Anhang

Gruß Guido

pc1246

Moin
Kann es sein, dass Du die fhem.cfg direkt editierst? Hinter den Definitionen der S7_DWrite sind lauter "\"  die machen glaube ich das Problem! Ich habe kurz mal Deine Definition von einem Read und einem Write bei mir eingetragen, da sind die "\" nicht da!
Ein list der jeweiligen Devices waere etwas besser gewesen, und ich wollte auch nicht wissen, wie alt die S7 ist, sondern wie aktuell das fhem ist!
Wenn Du die gesammte fhem.cfg hier anhaengst, solltest Du zumindest Deine IP's aus"x"en!
Gruss Christoph
HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div

FoxG

Hallo Christoph,
ich habe den  Fehler gefunden.
Es war ein Test aus den ersten Tagen

Diese vier Zeilen erzeugen den Fehler
define DB1001_ReadA S7_ARead outputs 512 512.0 u16
attr DB1001_ReadA IODev myS7
attr DB1001_ReadA event-on-change-reading state
attr DB1001_ReadA webCmd state

FHEM Revision: 12526

Du hast recht, dass ich in der FHEM.cfg direkt schreibe, aber in Anbetracht der Menge die ich noch vor mir habe versuche ich gleich ein Struktur in die config zu bringen und dann neue Devices mit Excel zu erzeugen und einzubinden. Dazu habe ich ein paar Fragen.
1. Soll ich hierfür einen neuen Beitrag aufmachen?
2. Gibt es ein Tool mit dem man mehrere Sachen gleichzeitig eintragen kann?
3. Wo liegen eigentlich die Grenzen von FHEM bzw. muss man irgend etwas beachten wenn man viel in FHEM integriert?
4. Macht es mehr Sinn die Funktionen, z.B. Reaktionen bei Magnetkontakten, in der Siemens einzubinden und nur die Bedienung in FHEM zu machen.

Ich möchte so ca. 35 Rollos, >50 Taster, >100 Lampen, >50 Magnetkontakte, Heizung und Solarsteuerung, Zählerstände, Video Überwachung und Auswertung als Bewegungsmelder, usw. einbinden und zyklisch den Status überwachen bzw. auf den Status reagieren.
 
Danke
Gruß Guido
:) ;) :D ;D

pc1246

Hallo Guido
Die Perl warnings sind aber immer noch da!?
Das editieren der fhem.cfg ist eigentlich bei Strafe verboten! :o
Dies hat auch diverse Gruende, wie z.B. das Einhalten von Abhaengigkeiten. Ich weiss, dass das bei vielen Elementen nervt, aber es hilft! Man kann, glaube ich, eine Art Vorlage (template) anlegen, wo dann gewisse Dinge schon vorausgefuellt sind!
Ich habe inzwischen auf configdb umgestellt, da kommt man nicht so schnell in Versuchung. https://forum.fhem.de/index.php/topic,54055.msg456705.html#msg456705
Ein Tool habe ich mal irgendwo gesehen, das war aber irgendwie dann auch mit einer anderen Oberflaeche fuer fhem.
Grenzen sind mir keine bekannt, was nichts heisst, lediglich die Performane leidet, was aber bei Dir eher nicht das Problem sein wird! (PC)
Ich habe so viel wie moeglich in der SPS gemacht, da diese wesentlich robuster ist, als PC, Raspi und Co.! Wenn ich mal viel Zeit habe, moechte ich das aber umbauen, dass bei bestehendem Kontakt zu fhem, die S7-Automatik aus ist, und die jeweiligen Automatikwerte auch konsistent auf beiden Systemen sind.
Kurz noch zum Editieren in der fhem.cfg: bei Dir scheint der Eine oder Andere "#" durch ein "\" ersetzt worden zu sein, das ist halt auch eine Gefahr, durch unterschiedliche Zeichensaetze!
Gruss Christoph
HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div