Hauptmenü

DNS_Client

Begonnen von mactoolz, 13. September 2013, 10:34:50

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

mactoolz

Hallo zusammen,

ich wollte mal einen Test Starten um z.B. auf der PLC WinNT eine DNS Abfragen zu können.

Irgendwie hat es aber für mich den Anschein das der DNS_Client Baustein keine Rückmeldung gibt.
Es kommt kein Fehler zurück oder Sonstige Informationen.

DNS_CLIENT
(
   ACTIVATE      := xFreigabe,
   DOMAIN      := 'www.google.de',
   IP4_DNS      := '192.168.182.1',
   IP_C         := IP_C ,
   S_BUF      := S_BUF ,
   R_BUF      := R_BUF ,
   IP4         => dwReturn,
   DONE      => xDone,
   ERROR      => dwDNS_Error
);

Mache ich da was grundsätzlich falsch?

MacToolz



peewit

hi

1. es gibt in den globalen variablen einen parameter für die WINPLCNT
    probiere mal diesen zu verändern

2.  192.168.182.1 ist das dein router der auch DNS-SERVER spielt ?
     welche ip-adresse hat deine sps
     wie sehen deine netzwerkparameter aus

3.  welche werte an den ausgangsparameter bekommst du (fehlermeldungen ?)

mactoolz

Hallo,

1.
Wo im welchen gloabeln teil liegt der Parameter für die PLC WinNT.
Wie sieht das denn für die RTE oder vielleicht für das WAGO Target aus.

2.
Die IP Adresse war die Flasche, habe die von Zuhause genommen. Bin aber auf der Arbeit :-)
Also IP Adresse vom PC worauf die Plc WinNT läuft sieht folgendermaße aus.

ip SPS:10.97.21.60
gw:10.97.21.1
dhpcp:10.97.1.33
dns:10.97.21.31

3.
Es kommt kein Fehler kein Errorcode etc ... garnichts.
Kein Ausgang wird ausgegeben, kein Error, kein Done


Danke


MacToolz

peewit

also wenn gar nichts kommt, dann hast du vergessen den ip_control auch einzubinden

  IP_C         := IP_C ,
   S_BUF      := S_BUF ,
   R_BUF      := R_BUF ,

diese datenstruktur wird bei beiden bausteinen übergeben !

der dns_client ist nur ein verwaltungsbaustein und der baustein ip_control macht die eigentliche ethernet kommunikation

öffne mal die network bibliothek als projekt und schau in die ausgeblendete programmgruppe "DEMO"

mactoolz

Hallo,

ok, ich habe mal in die Struktur reingeschaut, bin aber jetzt mal überfordert was und wie ich da befüllen muss.

Kannst du mal eine kleine Beschreibung zu der IP_C Struktur hier posten.

Danke

MacToolz

peewit

hi

du must gar nichts befüllen

IP_C         := IP_C ,
S_BUF      := S_BUF ,
R_BUF      := R_BUF ,

dieses datenstrukturen werden vom dns_client und vom ip_control intern benutzt
und dient somit als kommunikationsschnittstelle zwischen den beiden bausteinen

du musst diese datentypen einfach nur anlegen / deklarieren und an beide bausteine übergeben (die selbe instanz)

mactoolz

Hallo,

ja gut na dann habe ich doch eigentlich nichts falsche gemacht.
In meiner Erföffnungsfrage habe ich doch genau den Code gezeigt.

Da sieht man das ich die IP_C an den FB übergebe.

Wo kann denn jetzt mein Problem sein?

MacToolz

peewit

hi

in deiner eröffnungsfrage sieht man nur den dns_client und keinen ip_control

wenn du die beiden bausteine nun verschalten hast, dann kommt normalerweise auch eine fehlermeldung !

meldung bitte bekannt geben

wenn keine meldung kommt, dann exportiere bitte programm und stelle es online oder per private nachricht

hast du denn schon eines der fertigen beispiele in der network bibliothek im ordner demo ausprobiert ?

mactoolz

Hi,

wie das verstehe ich jetzt nicht. In der Eröfnnungsfrage habe ich doch den Bausteinaufruf aufgezeigt.

Dort sieht man das der IP_C auch an den DNS_Client übergeben wird.

Ist der ip_Control ein separater Baustein der auch noch aufgerufen werden muss?


Danke

MacToolz

peewit

na klar ...


da hatte ich dir doch schon mitgeteilt!


Zitatdu must gar nichts befüllen

IP_C         := IP_C ,
S_BUF      := S_BUF ,
R_BUF      := R_BUF ,

dieses datenstrukturen werden vom dns_client und vom ip_control intern benutzt
und dient somit als kommunikationsschnittstelle zwischen den beiden bausteinen

du musst diese datentypen einfach nur anlegen / deklarieren und an beide bausteine übergeben (die selbe instanz)

mactoolz

Hallo,

also es funktioniert. Habe den nicht ersichtlichen Baustein ip_control verwendet.

Leider ist deine Schreibweise ein wenig ungewöhnlich, zumindest wenn man die zusammenhänge jeglicher Bausteine im Oscat nicht kennt sehr schwierig.

Meiner Meinung nach sollte man den Fb komplett aufführen und nicht nur die Eingänge. Weil der DNS und IP_Control haben die gleichen Eingänge

IP_C := IP_C ---> welcher Baustein soll das sein. ip_control war mir unbekannt. Ich finde eh man sollte vielleicht in Oscat alle Fbs und FN entsprechend als Präffix bezeichnen oder auch die Enumerationen

FB_abc
FN_abc
e_Enum
pdt_struktur

Vielleicht nur als Tip.

Danke trotzdem

MacToolz

peewit

hallo

ich verstehe was du meinst und bin prinzipiell deiner meinung

Du musst aber auch eines verstehen das unsere zeit die wir konstenlos für oscat aufbringen begrenzt ist.
somit kann ich auch nicht immer alles so machen wie es perfekt wäre.

ich werde bei allen bausteinen die einen externen ip_control benötigen eines hinweis in die baustein doku geben
(sobald ich zeit habe...  ;))

danke für deine konstruktive kritik

gruss peewit

mactoolz

Hallo,

klar das stimmt mit der OpenSoruce LIB Bereitstellung das dass auf Private Zeit geht.

Also ich würde mich da bereit stellen um in den LIBS alle Funktionen und Funktionsbausteine den Instanznamen zu ändern.

Frage ist nur ob das nicht einen riesen Aufschrei bei den Benutzer geben würde.

Aber für eine gewisse eigene Oscat "Coderichtlinie" zu bekommen wäre das bei so einem großem Umfang schon von nöten.

Ich hätte das was was die Typen und generelle Deklarationen angeht auch noch ein paar gute Tipps, meiner Meinung nach

Vielleicht kann man das diskutieren ...

MacToolz


peewit

hallo

die baustein und variablen namen können wir unmöglich nachträglich ändern


das thema mit den bausteimn und variablen namen ist immer so eine sache

frag 10 programmierer und zu wirst 10 verschiedene Meinungen hören
jeder möchte etwas anderes, und jeder hat sicherlich auch ein wenig recht....


mactoolz

#14
Hallo,

lassen wir das doch mal mit den anderen Nutzer der Oscat LIB diskutieren.

Es kann ja nicht schaden wenn man eine neue Version so zusagen als ReFit veröffentlicht.
Wenn du selber sagst das es manchmal einfach nur mal schnell sein muss sollte man
doch irgendwann mal versuchen eine Linie in seinen Code zu bekommen oder ?

MacToolz