DLL von PCI-Messwert-/Regelkarte in WinCC-flexible einbinden

Zuviel Werbung?
-> Hier kostenlos registrieren
es zeigt mit in der Antwort (response) kein ACK oder NAK an

Hercules verändert die Kommunikation nicht - es wird einfach nur der TCP-Datenverkehr angezeigt

meine Idee dazu:
1. kann es sein das dieses SQS-242-Commt Tool aus ;; ein ;ACK; macht? - provozier mal ein NAK - wie sieht das aus?
2. niemals beide Tools gleichzeitig laufen lassen - die SQS-Software scheint ja schonmal "does not support any notification for ethernet disconnection" totaler Murks zu sein
3. mit Wireshark mal genau schauen was über die Leitung geht - also deine 3 Test mit beiden Tools wiederholen und den Hexdump vergleichen (und display filter "tcp.port eq 1001")

Nochdazu kommt, das ich beim Hercules <CR> senden muss

kann sein das dieses SQS-242-Comm Tool das <CR> automatisch sendet - Hercules macht nur was du sagst (so wie deine SPS)

btw: "does not support any notification for ethernet disconnection" ist zu 100% keine passende Antwort auf die Frage warum die Software kein Disconnect/Reconnect erlaubt, und die haben dann auch gesagt das
man die Software neu starten muss? - wie war denn deine Frage???
passiert das auch mit Ihrer
SQS-242-Comm Tool Software? (oder tricksen die vielleicht irgendwie)

 
Zuletzt bearbeitet:
Zu:
btw: "does not support any notification for ethernet disconnection" ist zu 100% keine passende Antwort auf die Frage warum die Software kein Disconnect/Reconnect erlaubt, und die haben dann auch gesagt das
man die Software neu starten muss? - wie war denn deine Frage???
passiert das auch mit Ihrer
SQS-242-Comm Tool Software? (oder tricksen die vielleicht irgendwie)
Das War meine Frage an INFICON (diese wurde später übersetzt):
Es gibt noch ein anderes Problem, mit der SQS242-Software:
è Es gibt laut Bedienungsanleitung der SQS242-Software die Möglichkeit sich mit dieser Software über die Ethernetschnittstelle via Port1001 mittels TCP/IP zu verbinden
è Diese Verbindung benötigen wir für den Datenaustausch zwischen dem PC (mit SQS242-Software) und SPS (an welche Elektronenstrahlverdampfer, Thermische-Verdampfer, Blenden etc. angeschlossen sind)
è Die SPS kann sich verbinden sobald die Software gestartet wird
è Reist jetzt aus irgendeinem Grund (Kabelbruch, Kabel gezogen etc. ) diese TCP-Verbindung ab und die Software wird nicht beendet, gibt diese keine Verbindung mehr frei und die SPS hat keine Chance sich wieder neu zu verbinden
o Die einzige Chance, welche man hat, ist dann jedesmal mittels „Taskkill“ den Task/Prozess der SQS-Software zu beenden und neu zu starten…
o Das ist doch keine saubere Sache, da stimmt doch auch irgentetwas mit der Software nicht, denn diese muss doch erkennen wenn die TCP_Verbindung unterbrochen ist, das sie dann diese irerseits abbaut und wieder freigibt….


Ich denke auch das dieses SQS-242-Comm-Tool dieses <CR> selbst generieren muss.
Natürlich funktionieren nicht beide Tools gleichzeitg, es kann sich nur eins auf Port 1001 verbinden. Deshalb siehst du in den Hercules-Screenshoots immer wieder "Connection closed" weil ich diese SQS-242 Software immer wieder neu starten musste um mal mit Hercules, mal mit SQS-242-Comm-Tool anfragen gesendet habe...
-> Einfach als Vergleich, was als Antwort kommt...
Abfrage_RelaisRegister88.jpg
Hercules: Anfrage: @QR;88;00<CR> -> Antwort: @QR;;02;2F
SQS242-Comm: @QR;88;00 -> Antwort: @QR;NAK;PRM;2F

Das verstehe ich nicht was das soll, woher nimmt dieses SQS-242 das 02=PRM ist??
Aber wie ich mit Hercules dann ein ACK (acknowledgement)oder ein NAK (no acknowledgement) auswerten soll, wenn ich gar keine Werte als Antwort bekomme (zwischen den Trennzeichen Semikolon ; ) das ist die gute frage

So Sieht übrigens WireShark "Capture filter= tcp" aus beim Hercules und dieser Anfrage (Query):
WireShark-TCP_Hercules.jpg

Und so siht das ganze mit diesem SQS-242-Comm Tool in WireShark Capture filter= tcp" aus:
WireShark-TCP_SQS242-Comm.jpg

Wo siehst du da jetzt den Unterschied???
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das War meine Frage an INFICON (diese wurde später übersetzt)

ich hoffe von einem technisch versierten - bisschen zu viel geschnatter für einen Supporter - besser kurz und knapp:

i've found a bug with tcp/ip reconnect
steps to reproduce:
1. open SQS-242-Comm-Tool
2. connect over ethernet
3. disconnect
4. connect <- BUG: no reconnect possible without restarting SQS-242-Software itself

oder falls es keinen Connect(nur Send?) gibt

1. open SQS-242-Comm-Tool
2. send "@QR;88;00" over ethernet
3. close SQS-242-Comm-Tool
4. open SQS-242-Comm-Tool
5. send "@QR;88;00" over ethernet <- BUG: no reconnect possible without restarting SQS-242-Software itself


Wo siehst du da jetzt den Unterschied???


leider sehe ich auf deinen Screenshots die unterschiedlichen Antworten nicht (nur die gleichen Anfragen)
und kopier doch bitte nur die Dumps/Texte aus den Tools raus - ich weiss wie die Tools aussehen :)

Mach doch mal einen "cleanen" test (da die Software noch nicht mal einen disconnect versteht würde ich auch nicht hin/her wechseln - wer weiss was die dann so macht)

1. SQS-Software neu starten
2. 3x verschiedene Anfragen nur mit SQS-242 + Wireshark
3.
SQS-Software neu starten
4. 3x (die gleichen wie oben) mit Hercules + Wireshark

und dann bitte nur die Daten (Data (xx Bytes)) als Text hier reinstellen
 
Zuletzt bearbeitet:
Hallo LowLevelMahn,

Okay die Texte hatte ich je zusätzlich zu den Screenshoots rauskopiert;)
Also hier mal die Sent Response + Wireshark:
SQS242-Comm:
1. Version abfragen:
Sent: @QU;11;0;00
40:51:55:3b:31:31:3b:30:3b:30:30:0d
Response: @QU;ACK;3.2.9;01
40:51:55:3b:06:3b:33:2e:32:2e:39:3b:30:31:0d
WireShark-TCP_SQS242-Comm_Abfrage-1.jpg

2. Abfrage Relay registry number 22:
Sent: @QU;22;00
40:51:52:3b:32:32:3b:30:30:0d
Response: @QR;ACK;0000;3E
40:51:52:3b:06:3b:30:30:30:30:3b:33:45:0d

WireShark-TCP_SQS242-Comm_Abfrage-2.jpg

3. Update Relay registry number 22:
Sent: @UR;22;0019;00
40:55:52:3b:32:32:3b:30:30:31:39:3b:30:30:0d
Response: @UR;ACK;06;3C
40:55:52:3b:06:3b:30:36:3b:33:43:0d
WireShark-TCP_SQS242-Comm_Abfrage-3.jpg

4. Start Process:
Sent: @UP;02;1;00
40:55:50:3b:30:32:3b:30:30:31:39:3b:30:30:0d
Response: @UP;ACK;03
40:55:50:3b:06:3b:30:33:0d
WireShark-TCP_SQS242-Comm_Abfrage-4.jpg

5. Abfrage Relay registry number 88 (gibt es nicht provokation NAK):
Sent: @QR;88;00
40:55:50:3b:06:3b:30:33:0d
Response: @QR;NAK;PRM;2F
40:51:52:3b:15:3b:30:32:3b:32:46:0d
WireShark-TCP_SQS242-Comm_Abfrage-5.jpg

Die gleichen Anfragen dann mit Hercules im nächsten Beitrag!
 
Zuletzt bearbeitet:
Mich interessieren nur die Wireshark Hexdumps - was die Tools Ausgaben ist sehe ich ja da schon (unverfälscht)

!!!bitte keine Wireshark-Screenshots - man kann nichts vergleichen/kopiere usw. ohne Hirnzerstörung - mach dir die Arbeit los!
wir brauchen jeweils nur den letzten Punkt mit Data (12 Bytes), Data(15 Bytes) usw. einfach auf Data klicken und das kopieren, der Rest ist völlig unnötig

Beispiel zu deinem 1. Bild: WireShark-TCP_SQS242-Comm_Abfrage-1.jpg
wird zu:
request: 41 51 55 3b.... @Q....
response:

usw.
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hercules:
1. Version abfragen:
Sent: @QU;11;0;00<CR>
40:51:55:3b:31:31:3b:30:3b:30:30:0d
Response: @QU;;3.2.9;01
40:51:55:3b:06:3b:33:2e:32:2e:39:3b:30:31:0d
WireShark-TCP_Hercules_Abfrage-1.jpg

2. Abfrage Relay registry number 22:
Sent: @QU;22;00<CR>
40:51:55:3b:32:32:3b:30:30:0d
Response: @QU;;02;28
40:51:55:3b:15:3b:30:32:3b:32:38:0d
WireShark-TCP_Hercules_Abfrage-2.jpg

3. Update Relay registry number 22:
Sent: @UR;22;0019;00<CR>
40:55:52:3b:32:32:3b:30:30:31:39:3b:30:30:0d
Response: @UR;;06;3C
40:55:52:3b:06:3b:30:36:3b:33:43:0d
WireShark-TCP_Hercules_Abfrage-3.jpg

4. Start Process:
Sent: @UP;02;1;00<CR>
40:55:50:3b:30:32:3b:31:3b:30:30:0d
Response: @UP;;03
40:55:50:3b:06:3b:30:33:0d
WireShark-TCP_Hercules_Abfrage-4.jpg

5. Abfrage Relay registry number 88 (gibt es nicht provokation NAK):
Sent: @QR;88;00<CR>
40:51:52:3b:38:38:3b:30:30:0d
Response: @QR;;02;2F
40:51:52:3b:15:3b:30:32:3b:32:46:0d
WireShark-TCP_Hercules_Abfrage-5.jpg
 
Zuletzt bearbeitet:
deine AC/NAKs sind nicht druckbare Zeichen (und das COM-Tool setzt die eben in Zeichenketten um) - sieht man doch realtiv gut oder?

40 51 55 3B 31 31 3B 30 3B 30 30 0D "@QU;11;0;00."

40 51 55 3B 06 3B 33 2E 32 2E 39 3B 30 31 0D "@QU;.;3.2.9;01."

ACK = 0x06

40 51 52 3B 38 38 3B 30 30 0D "@QR;88;00."
40 51 52 3B 15 3B 30 32 3B 32 46 0D "@QR;.;02;2F."

NAK = 0x15

btw: ein feiner Hex-Editor ist http://mh-nexus.de/de/hxd/
 
Zuletzt bearbeitet:
wenn du noch weitere Screenshots postest kommst du ins Internet-Gefängnis, deine Screenshots sind zu 90% mit sinnlosen Pixel gefüllt

STEHT BTW GENAU SO IN DER DOKU -> Query Acknowledged (ASCII 06)
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo LowLevelMahn,

Okay ich konnte nicht wissen was du möchtests, sorry, deshalb hier nochmal die etsprechenden Hexcodes....
Wie Internetknast :confused:? Sorry wusste echt nicht wass du willst...

Hier nochmal Ohne Screenshoots Nur die Hex-Codes BLAU=SQS242-Comm und ROT=Hercules

1. Version abfragen:
Sent: @QU;11;0;00<CR> 40:51:55:3b:31:31:3b:30:3b:30:30:0d
40:51:55:3b:31:31:3b:30:3b:30:30:0d
Response: @QU;;3.2.9;01
40:51:55:3b:06:3b:33:2e:32:2e:39:3b:30:31:0d
40:51:55:3b:06:3b:33:2e:32:2e:39:3b:30:31:0d

2. Abfrage Relay registry number 22:
Sent: @QU;22;00<CR>
40:51:52:3b:32:32:3b:30:30:0d
40:51:52:3b:32:32:3b:30:30:0d
Response: @QR;ACK;0019;36
40:51:52:3b:06:3b:30:30:31:39:3b:33:36:0d
Response: @QR;;0000;3E
40:51:52:3b:06:3b:30:30:30:30:3b:33:45:0d


3. Update Relay registry number 22:
Sent: @UR;22;0019;00<CR>
40:55:52:3b:32:32:3b:30:30:31:39:3b:30:30:0d
40:55:52:3b:32:32:3b:30:30:31:39:3b:30:30:0d
Response: @UR;ACK;06;3C
40:55:52:3b:06:3b:30:36:3b:33:43:0d
40:55:52:3b:06:3b:30:36:3b:33:43:0d


4. Start Process:
Sent: @UP;02;1;00<CR>
40:55:52:3b:32:32:3b:30:30:31:39:3b:30:30:0d
40:55:50:3b:30:32:3b:31:3b:30:30:0d
Response: @UP;ACK;03
40:55:52:3b:06:3b:30:36:3b:33:43:0d
40:55:50:3b:06:3b:30:33:0d


5. Abfrage Relay registry number 88 (gibt es, nicht provokation NAK):
Sent: @QR;88;00<CR>
40:51:52:3b:38:38:3b:30:30:0d
40:51:52:3b:38:38:3b:30:30:0d
Response: @QR;NAK;PRM;2F
40:51:52:3b:15:3b:30:32:3b:32:46:0d
Response: @QR;;02;2F
40:51:52:3b:15:3b:30:32:3b:32:46:0d


-> Was kannst du da jetzt draus entnehmen?
Also ich denke nur, dass der Hercules ACK=06hex und NAK=15hex einfach nicht darstellt, warum kann der das nicht? Steht ja so in der ASCII-Tabelle, so wie du sagtest, genauso wie CR=Dhex Man kann also alles mit dem Hercules senden (+CR am ende) bekommt nur das ACK/NAK nicht angezeigt... Die Antworten passen ja auch fast...
 
Zuletzt bearbeitet:
dir ist aufgefallen das meine letzten beiden Posts deine Fragen in gänze beantworten?

und noch zu meinen sonstigen (IGNORIERTEN Fragen)

1. open SQS-242-Comm-Tool
2. send "@QU;22;00" over ethernet
3. close SQS-242-Comm-Tool
4. open SQS-242-Comm-Tool
5. send "@QU;22;00" over ethernet <- BUG: no reconnect possible without restarting SQS-242-Software itself

ist das ein Minimal-Szenario um das Reconnet-Problem zu provozieren
wenn ja dann schick das dem Hersteller nochmal, dann sollte die Antwort nicht mehr so falsch(unverstanden) Ausfallen - Notify würde bedeuten das sie dir den Disconnect mitteilen können
aber der Fehler ist schwerwiegend und trivial zu beheben - also muss das an die Entwickler
 
Zuletzt bearbeitet:
Zu deine Fragen, welche ich ignoriert haben soll:
i've found a bug with tcp/ip reconnect
steps to reproduce:
1. open "SQS-242-Software" (on PC with SQM-242-Card)
2. Open "SQS-242-Comm" (on Remote-PC)
3. send "@QU;22;00" over ethernet
4. close "SQS-242-Comm" (on Remote-PC)
5. open "SQS-242-Comm" (on Remote-PC)
6. send "@QU;22;00" over ethernet again <- BUG: no reconnect possible without restarting SQS-242-Software itself (on PC with SQM-242-Card)

Natürlich habe ich das NICHT ignoriert schon versendet, bedenke aber bitte die Zeitverschiebung nach Amerika, die Antworten mir immer zwischen 20 und 21Uhr deutscher Zeit! So das ich am Tag 1x eine Antwort bekomme!!!

Übrigens "SQS-242-Software" und "SQS-242-Comm" sind zwei unterschiedliche "Schuhe" (Programme)!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Meister der Fehlerszenarien-Reduktion

lässt sich der Fehler auch ohne Remote-PC provozieren (dann hätte auch ein noch kleineres Szenario gereicht)
so hört es sich an als würde das nur mit einem Remote-PC passieren, und das macht den Test wieder emotional "Aufwendiger" - aber mal abwarten

Übrigens "SQS-242-Software" und "SQS-242-Comm" sind zwei unterschiedliche "Schuhe"

war klar
 
ist hier was durcheinander gekommen? - die Ergebnisse sehen so anders aus

SQS242-Comm


2. Abfrage Relay registry number 22:
Sent: @QU;22;00
40:51:52:3b:32:32:3b:30:30:0d
Response: @QR;ACK;0000;3E
40:51:52:3b:06:3b:30:30:30:30:3b:33:45:0d


Hercules


2. Abfrage Relay registry number 22:
Sent: @QU;22;00<CR>
40:51:55:3b:32:32:3b:30:30:0d
Response: @QU;;02;28
40:51:55:3b:15:3b:30:32:3b:32:38:0d
 
Kann sein das da was durcheinader gekommen ist, deshalb hatte ich das nochmal zum besseren Vergleichen untereinander geschrieben: BLAU=SQS242-Comm ROT=Hercules

2. Abfrage Relay registry number 22:
Sent: @QU;22;00<CR>

40:51:52:3b:32:32:3b:30:30:0d
40:51:52:3b:32:32:3b:30:30:0d
Response: @QR;ACK;0019;36
40:51:52:3b:06:3b:30:30:31:39:3b:33:36:0d
Response: @QR;;0000;3E
40:51:52:3b:06:3b:30:30:30:30:3b:33:45:0d

Diese Differenz hier wird daran liegen, das ich vorher bei SQS242-Comm warscheinlich dieses @UR;22;0019;00 gesendet hatte!

 
Zuletzt bearbeitet:
auf alle Fragen antworten

alte Frage 1:
wenn ja warum steht dann Remote-PC in der Fehlerbeschreibung?

Frage 2: nach dem jetzt klar ist was ACK und NAK ist kannst du es implementieren - oder?

Ich verstehe nicht worauf du hinaus willst?! Natürlich greife ich mit einem 2.PC (auf dem keine SQM-242-Karte eingebaut ist) auf die "SQS242-Software" per Ethernet über Port 1001 zu deshalb "Remote-PC". Warum sollte ich das jetzt anders (auf ein und dem selben Rechner) testen? Am ende muss die SPS doch auch "Remote" zugreifen...
Naja und selbst wenn, dann können die das von INFICON schon selber testen... Mir bringt es nur nicht viel, auf ein und dem selben Rechner...
Warten wir mal ab was die von INFICON erstmal darauf antworten, können sich auch maln bissl Mühe geben...

Zu deiner Frage 2: Ich denke mal schon, muss mir die "Strings" halt zusammenbasteln...
 
Ich verstehe nicht worauf du hinaus willst?!

Ich wollte nur wissen ob das Fehlerszenario wirklich kleiner ist - ob du von lokal per Ethernet auf die Software oder Remote zugreifst ist vollkommen egal
da kann nur noch die Firewall ein Problem sein

Naja und selbst wenn, dann können die das von INFICON schon selber testen...können sich auch maln bissl Mühe geben...

bisher war deren Mühe in dem Bereich ja auch minimal und je trivialer der Test umso größer die Chance das es wirklich zu einem Entwickler kommt und nicht vorher schon im Support zur Seite gelegt wird

Zu deiner Frage 2: Ich denke mal schon, muss mir die "Strings" halt zusammenbasteln...

na dann viel Spass
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo LowLevelMahn,

Der gute Mann vom Support hat mir folgendes geantwortet:
I have brought the issue you described (Shown in Blue) to the attention of our software group. They are looking into this matter now.

Also ich hab das gleiche auf "Ein und dem selben Rechner" getestet und es ist genau das gleiche Problem...
-> Wird die SQS242-Software nicht geschlossen, ist ein Wiederverbinden (reconnect) unmöglich...
Folgendes vereinfachtes Scenario habe ich Ihm nochmal geschickt:
Important Information for SQS-Developers:
i've found a bug with tcp/ip reconnect
steps to reproduce:
1. open "SQS-242-Software" and open "SQS-242-Comm" (on one and the same PC with SQM-242-Card)
2. send "@QU;11;0;00" over ethernet (local-IP: 192.168.1.3, Port 1001) -> I get Response: “@QU;;3.2.9;01”
4. close "SQS-242-Comm" (on the same PC with SQM-242-Card)
5. open "SQS-242-Comm" (on the same PC with SQM-242-Card)
6. send "@QU;11;0;00" over ethernet again -> I get NO Response <- BUG: no reconnect possible without restarting SQS-242-Software itself (on PC with SQM-242-Card)
è This is a fatal error, but trivial to fix - that must be passed on to the developers!

Zu deiner Aussage:
na dann viel Spass
Hab ich mir ja selbst nicht ausgesucht, wollte nur wissen wie das geht. Im grunde genommen ist es genauso ein Sch... wie mit RS232... und die haben wir bei diesem Projekt auch noch:sm23:
 
Der gute Mann vom Support hat mir folgendes geantwortet:

so mögen wir das :) - nett der Zusatz mit "This is a fatal error, but trivial to fix - that must be passed on to the developers!"

Hab ich mir ja selbst nicht ausgesucht, wollte nur wissen wie das geht. Im grunde genommen ist es genauso ein Sch... wie mit RS232... und die haben wir bei diesem Projekt auch noch

Wenn man mal alles gemacht hat wird es viel leichter - und immer daran denken TCP und RS232 sind streambasiert d.h. niemals auf davon ausgehen das Pakete vollständig kommen (ist nur Glück) ohne warten auf eine Länge oder Abschlusskennung (in deinem Fall 0x0D) ist das wie ein Glücksspiel

Oder besser: TCP/IP und RS232 sind per sehr nett - nur:


  • viele Programmierer mit Streamverarbeitung nicht klar kommen (die wollen dann zwangsweise alle Daten beim ersten Receive haben - oder ignorieren das es einfach falsch ist darauf zu bauen das es scheinbar geht)
  • gibt es viele Hersteller die Hirnschaden-Protokolle definieren (ASCII parsen ist OK aber Protokolle sollten dennoch irgendwie formalisiert sein)
  • viele Hersteller schlechte RS232/USB-Konverter bauen (warum gibts überhaupt noch Hersteller ausser FTDI?)
  • viele Programmierer die Dokus nicht lesen oder ohne Testtools ala Hercules/Wireshark etc. an TCP/Serial usw. rumprobieren
  • die Implementierung eines einfachen TCP/Serial Testservers (also ein Programm das zum Test das zu implementierende Protkoll spricht) für viele schon eine schier unüberwindbare Hürde darstellt
 
Zuletzt bearbeitet:
Zurück
Oben