Probleme mit DLOG_FILE_TO_SNMP

Begonnen von F.Barky, 04. April 2013, 00:10:19

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

F.Barky

Hallo, ich nutze seit einigen Jahren eine Phönix SPS ILC 350 ETH unter PCWorX 5.20 SP 3.44.
Dieser möchte ich jetzt gerne endlich mal beibringen, sich auch mal 'nach aussen' zu äußern. Dabei bin ich auf diese höchst interessanten OSCAT-Libraries gestoßen ::) und habe mich gleich daran gemacht, die im Beispielprojekt enthaltene Anwendung 'DLOG_FILE_TO_SNMP' zu testen. Den Code das Beispielprojektes habe ich quasi 1:1 übernommen, ich habe lediglich meine eigenen Maildaten eingegeben.
Der Einbau hat auch bestens funktioniert, compilieren geht problemlos, und auch die Bausteine scheinen prinzipiell das tun zu wollen, was sie sollen. Ich sehe jedenfalls wie geplant alle Minute, dass der Ausgang BUSY des Bausteines DLOG_FILE_TO_SNMP aktiv wird. Danach jedoch habe ich nicht etwa eine Mail im Kasten - sondern die ERROR-Ausgänge sind gesetzt. Dürfte noch wichtig sein zu erwähnen, dass die Steuerung in einem privaten Netzwerk hinter einem Fritz-Router sitzt, den ich auch im Projekt als Standard-Gateway angegeben habe.

Wenn ich nun die im Beispiel-Projekt vorgeschlagene 8.8.8.8 als DNS-Adresse eintrage (soweit ich gelesen habe eine Standard Google DNS-Adresse), dann bekomme ich - soweit ich das überblicke offenbar erst nach Ablauf der Timeout-Zeit - grundsätzlich folgende Fehler:
ERROR_T: 16#01 und ERROR_C:16#0000FF00

Wenn ich hingegen den Router als DNS-Adresse eingebe (was ich meine auch als gangbare, und evtl. sogar schnellere Alternative gelesen zu haben) ist der BUSY-Ausgang nach 3-4 Sekunden wieder inaktiv, der Fehlerzustand wechselt dabei dann zwischen:
ERROR_T: 16#02 und ERROR_C:16#10000000
und
ERROR_T: 16#01 und ERROR_C:16#10000000

Ich habe die Fehlercodes in der Anleitung zur Bibliothek zwar gefunden - sehe mich nun aber leider außer stande sie zu interpretieren - geschweige denn die notwendigen Korrekturen daraus zu erschliessen. Kann ich hier vielleicht Hilfe bekommen ? Was muss ich tun, um das Ganze doch noch zum laufen zu kriegen  :-[?
Ich habe den Eindruck, dass ich nur ganz knapp vor dem Durchbruch stehe - und es wäre schade, wenn dieser hoffnungsfrohe Ansatz gleich wieder zum Scheitern verurteilt wäre.

peewit

1. verwende mal neueste die oscat_network 1.30 beta
http://www.oscat.de/community/index.php/topic,1872.msg9862.html#msg9862

2. dort nimmst du dir das dlog_file_to_snmp_demo programm
    aber 1:1 das originalprogramm ohne anpassung ausprobieren !
   

3. Fehlermeldungen

ERROR_T: 16#01 und ERROR_C:16#0000FF00
Der DNS_Client hat ein Telegramm versendet und hat keine Antowrt erhalten

ERROR_T: 16#02 und ERROR_C:16#10000000
Es konnte keine TCP-Verbindung zum SNMP-Server hergstellt werden

ERROR_T: 16#01 und ERROR_C:16#10000000
Der DNS_Client konnte die Verbindung nicht einrichten/herstellen

4. welche Firmware hast du auf der Steuerung ?
    eventuell die Firmware aktualisieren
    findest du online bei phoenix contact (einfach bei der suche die artikelnummer eingeben)

F.Barky

Hurra  ;D !!! Sie sendet !!!
Vielen Dank - der Tip #4 hat gezogen (ob Schritt 1 auch notwendig war weiß ich nicht, da ich in Reihenfolge abgearbeitet habe)! Die Firmware war extrem(!) alt (2.6xx von 2007). So vergeht die Zeit. Ich wußte noch, dass ich diese mal aktualisiert hatte (und dachte daher, dass sie recht neu wäre) - dabei war das schon 7(!) Jahre her  :o !
Nach dem Update lief das (vorher gestoppte) Programm gleich wieder von selbst los - und prompt gingen die ersten Mails ein. (Sorry, aber wengistens die Zieladresse hatte ich bei der Kopie des Beispielprogrammes 'gleich' gändert  :-\)
Insofern wie gesagt - heißen Dank ! Für die Hilfe und für die tolle Bibliothek an sich. Bin sehr gespannt, was ich da im Laufe der Zeit noch alles Feines mit anfangen werde.

Ich hätte noch zwei vorerst letzte Verständnisfragen - die aber eigentlich nicht zu diesem Thread gehören. Möchte mich nicht unbeliebt machen - soll ich dazu lieber einen Neuen aufmachen ? Kann ich gerne tun - bitte ggf. schreiben. Nur um eine Idee zu geben, worum es geht:
1. Ich meine die Systematik des Beispielprogrammes schon recht gut verstanden zu haben. Einzig eine Sache ist mir unklar. Ist die ganze Funktion 'nur' darauf ausgelegt bei Wechsel des LogdatenspeicherNAMENS eine Mail zu senden ?!? Keine manuelle Triggerung der Sendung an sich vorgesehen ? Die Idee mit dieser Systematik ist an sich bestechend und prima - aber soll es wirklich gar nicht anders gehen ? Ich hätte so etwas wie ein 'Jetzt senden' Bool-Eingang erwartet. Könnte ich da vielleicht nochmal einen kurzen Kommentar zu bekommen ?
2. Ich habe das Beispielprogramm vollständig kopiert - kriege aber Mail mit dem Sendedatum 6.2.1970  6:33 Uhr  ??? ?!? Wieso das ? Die Systemzeit der Steuerung ist meines erachtens korrekt eingestellt - warum dann diese Phantasiezeit/datum ?

peewit

#3
hallo

kein problem , deine fragen können wir hier direkt behandeln, das passt schon

wenn in eine datei nicht mehr gespeichert wird, und nun eine neue datei benutzt wird, dann hat die alte datei den status "fertig"
darum wird diese dann auch automatisch zur weiterverarbeitung weitergereicht
so habe ich die einfache automatische handhabung vorgesehen. wer das so nicht haben möchte und hier selber bestimmen möchte , wann was passieren soll, der kann den dlog_file und den smtp_baustein auch einzeln benutzen , und somit völlig unabhängig alles selber steuern. Jedoch setzt dies doch etwas mehr wissen und können vorraus.

ein manuelles triggern für das senden erreichst du indem du einen neuen dateinamen vorgibst, dann wird automatisch die alte datei versendet. man kann ja auch nur eine datei versenden, die nicht vom data-logger benutzt wird.


mein ziel was es natürlich etwas zu programmieren, womit die meisten user zurechtkommen
denn das spektrum der user von profi bis anfänger ist sehr breit, und da war es mir lieber, es funktioniert einfach automatisch als keine schafft es damit umzugehen.

-------------------

Uhrzeit:
im DLOG_FILE_CSV_SMTP_DEMO programm wird nur eine Soft-Clock mittels RTC2 Baustein benutzt
das heisst das ist keine echte Uhrzeit und dementsprechend eine wahnsinnig falsche zeit
(irgendwas so um das jahr 1970)

wenn du die richtige Zeit benutzen willst, dann nimm einfach den baustein SET_DT.
die einzelnen uhrzeit variablen (jahr,stunde,monat etc...) der uhr von der sps findest du in den globalen variablen

das deine sps-uhr angeblich richtig eingestellt ist, das kann schon sein, aber du musst dafür sorgen das diese Zeit auch dem DLOG bzw. SMTP Baustein übergeben wird.


F.Barky

Und nocheinmal ich. Seufz. Erstmal das Positive: Prinzip der Versendung verstanden - ist genial einfach - einfach genial  :D !
Uhrzeit aus der Systemzeit genommen - perfekt, Absendedatum stimmt  ;D !

Aber dann. Ich gehe ja wohl recht in der Annahme, dass der GMX-Account aus dem Beispiel Deiner ist und logischerweise nur für Testzewcke verwendet werden soll ???. Auf dieser Annahme basierend habe ich dann heute Abend mal den prima sendenden Baustein umgestellt auf meinen privaten Account. Naja, was man so 'habe ich mal' nennt. Ich sollte wohl lieber 'habe ich mal versucht' sagen :-\.

In beiden Fällen - ich habe einen T-Online-Account und einen (bzw. mehrere) 1und1 Accounts - funktioniert gar nichts mehr >:(. Stelle ich wieder um auf den GMX - perfekt.

Brauche ich da irgendeinen Spezial-Account ? Ist eben jener GMX-account so etwas Besonderes ? Eigentlich doch wohl nicht. Und ich bin der ziemlich festen Überzeugung, dass ich die Strings richtig zusammengabut habe. Im T-Online-Account habe ich auch das @ gegen % ausgetauscht, usw. usw.

Hast Du noch einen Rat, worauf ich evtl. achten muss ?

peewit

hallo

zur genauen fehlererkennung ist zwingend notwendig das du den fehlercode am baustein mitteilst


ein mögliches problem ist, das deine email account nur authorisierungsverfahren unterstützen die unser baustein nicht kann, aber das ist alles kein wirklichen problem. viele email-provider untersützen nur mehr SSL-Verbindungen, das ist aber mit der sps so nicht machbar, darum brauchst du einen email account der noch die alten verfahren erlaubt


der email account in der sps wird ja nur zum versenden der email benötigt, und kann ein beliebiger sein !

lege dir einen neuen kostenlosen gmx-account an, und passe die account daten am baustein an
danach kannst du einfach über den neuen email account deine sps-email versenden
der gmx account hat ja auich den vorteil das er dir erhalten bleibt wenn du mal den provider wechselst

als zieladresse gibst du deine gewünschten (privaten) email adressen an.

mehr ist es nicht !

F.Barky

Da bin ich mal wieder. Sorry, die Fehlercodes hatte ich natürlich vergessen ::). Interessanterweise kommen unterschiedliche, je nachdem ob ich mein 1&1 oder meinen T-Online Account verwende ???.
Bei 1&1 kommt  ERROR_T = 05 und ERROR_C = 076C01F4 (und ich meine auch schonmal ERROR_C = 076C01F5 gesehen zu haben).
Bei T-Online hingegen kommt ERROR_T = 02 und ERROR_C = FD000000

Parallel habe ich auch nochmal geforscht - zumindest 1&1 scheint kein(!) SSL zu erwarten - ja nichtmal zu können :P. Sie haben allerdings eine Authentifizierung - die, soweit ich Dich bzw. die Unterlagen verstanden habe, aber auch bei diesen Bausteinen durchaus grundsätzlich gegeben ist.

Der Ausweg über einen 'neuen' GMX-Account ist sicher gangbar, zumal ja das Beispielprogramm mit Deinen GMX-Daten auch funktioniert. Aber ich würde eigentlich ganz gerne eines meiner 'normalen' Konten nutzen, daher habe ich noch nicht ganz aufgegeben. Deuten die jetzt genannten Fehlercodes denn evtl. auf etwas hin, was nicht nach einem grundsätzlichen Fehler aussieht, so dass ich vielleicht noch eine Chance haben könnte  :-[?

F.Barky

Ist doch häufig so - kurz, nachdem man um Hilfe gerufen hat - kommt ein Durchbruch ;D. T-Online spielt ! Ich habe nochmal gesucht und dabei herausgefunden, dass ich mir den falschen SNMP-Servernamen notiert hatte >:(. Der smtprelay.t-online.de funktioniert nur unter dem Komfort-Paket, was ich nicht mehr(!) habe ::). Daher mußte ich den smptmail.t-online.de verwenden. Und siehe da - auf einmal hatte ich einen Berg(!) von Testmails im Kasten 8). Das läuft also.
Wahrscheinlich kriegst Du jetzt graue Haare ob meiner Hartnäckigkeit  :-[ - aber eigentlich möchte ich das Ganze eben unter einem (eigenen) 1&1 Account laufen haben :-\. Und gerade der funktioniert eben leider immer noch nicht. Daher hoffe ich trotz zweitem Durchbruch, dass Du mir evtl. anhand des bei Nutzung von 1&1 aufgetretenen Fehlercodes (siehe letzter Eintrag) vielleicht noch einen Rat geben kannst - und dann der 3. Durchbruch gelingt !

peewit

#8
hallo

Fehlercode 076C 01F4

076C  = dezimal 1900 bedeutet das es Probleme bei der Authorisierung gibt
und 01F4 = dezimal 500 ist der letzte Response Code vom SMTP-Server der besagt das es hier Syntax Probleme gibt

Kurz gesagt , es gibt Probleme bei der Authorierung

hast du sonderzeichen bzw. umlaute bei benutzername und password drinnen ?


was hier genau schiefgeht, kann ich letztendlich nur feststellen, wenn ich tests mit einem 1&1 account mache
jedoch habe ich keinen !!



1&1     smtp-server:  =   smtp.1und1.de

F.Barky

Ich könnte Dir - temporär - einen einrichten. Habe unter meinem privaten Account die Möglichkeit bis zu 300(!) Mail-Accounts einzurichten, das wäre kein Problem.
1. Hättest du Zeit und Lust es damit zu versuchen  ????
2. Falls ja - irgendeine Idee, wie ich Dir die Zugangsdaten zukommen lassen könnte, ohne, dass ich sie hier offiziell für alle sichtbar posten muss :-X ?

peewit

gut

dann richte mir einen temporären account ein
gib mir dann bitte alle notwendigen daten mittels "private nachricht"    --> (PM senden)


peewit

#11
hallo

problem erkannt und hoffentlich behoben !

die Authorisierung beim provider 1&1 verhält sich ein wenig anders , als alle andere provider die ich bislang getestet habe

normalerweise wird nur ein Code 250 authorisierungsblock in der sps empfangen, jedoch macht 1&1 zwei teile draus, und ich habe mir immer nur den ersten teil angesehen.....

es hat ein wenig gedauert, da ich gleich für drei verschiedenen plattformen den fix gemacht habe


Achtung du musst das @ zeichen im benutzernamen mit einem % Zeichen ersetzen, aber das steht auch in der baustein-doku drinnen

beispiel:      yyyyy = benutzername     /  xxxxxx = passwort

smtp_server: STRING := 'yyyy%yyy.de:xxxxxx@smtp.1und1.de';



lade dir hier die neue aktualisierte version herunter
http://www.oscat.de/community/index.php/topic,1872.msg9862.html#msg9862


lasse mir bitte wenn möglich noch etwas länger den 1&1 testaccount
dann kann ich noch später ein wenig testen !!


F.Barky

Peewit - Du bist einfach Spitzenklasse ;D!

Ich sage nocheinmal allerherzlichsten Dank :)! Dass ich für dermaßen verzwickte Themen bzw. Probleme mit meiner Steuerung mal so beeindruckend agierendes Fachwissen und(!) Engagement bekommen würde, das hätte ich echt nicht zu träumen gewagt !