Hallo zusammen,
ich heiße Mario und stehe vor einem Schnittstellenrätsel.
Aber laßt mich kurz meine Konfiguration erklären:
Ich habe eine Software programmiert, mit der ich Daten (Fixlängen von Profilen) von einem Lasergerät auslese. Das Lasergerät ist über die serielle Schnittstelle mit dem Rechner verbunden.
Ist ein Profil nicht in den Toleranzgrenzen, so sendet die Software über den Parallelport (Druckerport) ein HIGH (3,4 V an Data0 - Pin) an eine SPS (Siemens LOGO! 24rc), die dann einen Schieber auslöst, welcher das Teil aussortiert. Ist das Profil im Maß wird LOW gesendet.
Das funktioniert alles prima!
Nun zu dem Rätsel: Ich habe ein Testformular in der SW eingefuegt, mitdem ich den Schieber unabhängig von den Laserwerten manuell auslösen kann (Ein button sendet High an die SPS, ein anderer sendet LOW). Ist nun der serielle Port besetzt (Laser angeschlossen) funktioniert es prima. Ziehe ich den Stecker der Lasers aus dem seriellen Port herraus, oder schalte ihn schlicht und einfach aus, kann ich plötzlich über den Parallelport nichts mehr senden.
Wir haben den Data0 - Pin (Haben ea auch mit andern Versucht) mehrmals mit einem Messgerät kontrolliert. Wenn der Serielle Port nicht besetzt ist oder der Laser ist nicht eingeschaltet, sendet die Software nichts über den Parallelport an die SPS. Schalte ich den Laser wieder an, funktioniert es wieder.
Beide Schnittstellen werden von der Software unabhängig voneinander angesprochen. Da bestehen keinerlei Code - verbindungen.
Hat von euch vielleicht jemand eine Theorie, warum sich die SW / HW so verhält?
Achso: Parallele Schnittstelle spreche ich über Inpout32.dll an.
Seriellen Port über dll vom Laserhersteller.
System: Win XP 32 - bit
Progsprache: VB 2008
Danke im Vorraus,
Mario
ich heiße Mario und stehe vor einem Schnittstellenrätsel.
Aber laßt mich kurz meine Konfiguration erklären:
Ich habe eine Software programmiert, mit der ich Daten (Fixlängen von Profilen) von einem Lasergerät auslese. Das Lasergerät ist über die serielle Schnittstelle mit dem Rechner verbunden.
Ist ein Profil nicht in den Toleranzgrenzen, so sendet die Software über den Parallelport (Druckerport) ein HIGH (3,4 V an Data0 - Pin) an eine SPS (Siemens LOGO! 24rc), die dann einen Schieber auslöst, welcher das Teil aussortiert. Ist das Profil im Maß wird LOW gesendet.
Das funktioniert alles prima!
Nun zu dem Rätsel: Ich habe ein Testformular in der SW eingefuegt, mitdem ich den Schieber unabhängig von den Laserwerten manuell auslösen kann (Ein button sendet High an die SPS, ein anderer sendet LOW). Ist nun der serielle Port besetzt (Laser angeschlossen) funktioniert es prima. Ziehe ich den Stecker der Lasers aus dem seriellen Port herraus, oder schalte ihn schlicht und einfach aus, kann ich plötzlich über den Parallelport nichts mehr senden.
Wir haben den Data0 - Pin (Haben ea auch mit andern Versucht) mehrmals mit einem Messgerät kontrolliert. Wenn der Serielle Port nicht besetzt ist oder der Laser ist nicht eingeschaltet, sendet die Software nichts über den Parallelport an die SPS. Schalte ich den Laser wieder an, funktioniert es wieder.
Beide Schnittstellen werden von der Software unabhängig voneinander angesprochen. Da bestehen keinerlei Code - verbindungen.
Hat von euch vielleicht jemand eine Theorie, warum sich die SW / HW so verhält?
Achso: Parallele Schnittstelle spreche ich über Inpout32.dll an.
Seriellen Port über dll vom Laserhersteller.
System: Win XP 32 - bit
Progsprache: VB 2008
Danke im Vorraus,
Mario
Comment