hallo neonightmare
-------------------------------
Testfall 1: TEST_DNS_1.EXP -> 2 Programme parallel mit trig_t=60 und DNS-Eintrag "
http://ubuntuuserver..."
tshark Log: capture.cap
bei diesen fall , kann ich nachvollziehen warum nichts passiert
dein dns-server liefert zwei adressen zurück
1. 127.0.1.1
2. 192.168.1.9
beide haben TimeToLive (TTL) = 0
der dns_client nimmt die ip-adresse mit der höchsten TTL
da die 127.0.1.1 als erstes kommt und beide eine Gültigkeitsdauer von 0 sekunden haben
ergibt sich hier das die ip 192.168.1.9 genommen wird
aber mein baustein meint bei einer TTL von 0 sekunden das eigentlich keine
gültige ip erkannt wurde, und genau in diesen fall gibt es weder eine positiv noch negativ meldung
also auch kein fehler und somit bleibt der ablauf wegen fehlenden ergebnis hängen
lösung
wenn du die TTL auf grösser 0 änderst und sicherstellst das die 127.0.1.1 immer die niedrigere TTL hat dann wird die dns-auflösung funktionieren
ich muss noch klären , inwieweit eine TTL = 0 überhaupt sinn macht, bzw wie ich diese verarbeiten soll, und muss noch eine kleine änderung
machen das im notfall immer ein fehler gemeldet wird.
problem1 = TTL = 0
problem2 = 127.0.1.1 (loopback-adresse wird als ip-adresse weitergegeben, obwohl diese nur lokal funktionieren kann)
(ich weiß noch nicht wie ich sicher erkennen kann, ob diese adresse sinn macht oder nicht bzw ob ich sie ignorieren soll oder nicht)
also der fall 1 ist theoretisch geklärt
ich habe auch aus einem anderen forum folgende info zu deinem dns-server verhalten bekommen
"Fehler in der Konfiguration. Beides wird im Zonefile (bzw je nach DNS-Server in der Datenbank) behoben"so wie es aussieht hast du deinen dns-server nicht richtig konfiguriert ?
kannst du deine dns-server konfiguration hier online stellen, denn dann kann ich versuchen dies von anderen spezialisten
prüfen bzw korrigieren zu lassen
welche plattform, dns-server, konfiguration .......
------------------------------------------------------
fall 2
da habe ich noch nichts gefunden
man sieht nur das dlog_tmp den rrd-aufruf ohne fehler beendet, jeodch von dlog_amp fehlt jeglicher hinweis
wie gesagt bei mir funktioniert das ohne probleme
-----------------------
test:
trig_m := DT_TO_UDINT(DTI) MOD TRIG_T = 0;
einen manuellen trigger auslösen der genauso funktioniert wie der trig_t
------------------------
ich weiß nicht wie gut du dich auskennst ?
du könntest im baustein DLOG_STORE_RRD einen breakpoint setzen , und dann einen trig_t auslösen, und dann schauen was passiert
IF (TRIG_M AND NOT trig_m_last) OR ra OR X.ADD_DATA_REQ THEN (* manueller, automatischer oder externer Trigger *)
----> X.ADD_DATA := TRUE; (* Daten loggen *)
END_IF;
oder du machst eine trace aufzeichnung der dlog_store_rrd variablen von beiden instanzen
zb. variable 'ra' und 'step' aufzeichnen