network.lib > PC WorX

SPIDER_ACCESS: Auslesen von REAL-Werten ergibt einstellige Ganzzahl

(1/2) > >>

rrbd:
Moin,

SPIDER_ACCESS ist für mich öfters ganz nützlich, wenn ich für ein Programm in einer Phoenix ILC1xx aus einer anderen Phoenix ILC1xx irgend einen Wert brauche und keine Lust oder Möglichkeit habe, das Programm der anderen SPS für andere Übertragungsmodi zu ergänzen. Leider versagt das Verfahren beim Übertragen von REAL Zahlenwerten, das Ergebnis ist stets eine Ganzzahl zwischen 0 und 9.

Ehe ich selbst anfange, den Code zu untersuchen: weiß jemand einen Trick (ggf. Codeanpassung für einen "MySPIDER_ACCESS" ähnlich http://www.oscat.de/community/index.php/topic,2040.msg12289.html#msg12289 (ja ja, ich wollte das immer mal bereit stellen), wie man an einen brauchbaren Wert kommt?

Gruß

Rainer

peewit:
hi

das sollte problemlos funktionieren
um hierzu einen kommentar abgeben zu können musst du aber mehr details liefern

codebeispiel, online bildschirmhardcopy
ist das eine lokale oder globale variable
funktioneren anderen datentypen und nur real nicht
ist die ausgegebene zahl nur ohne kommastellen, oder ....
welche sps und firmware hast du

rrbd:
Das wird im wesentlichen schon funktionieren, aber der String wird irgendwo auf dem Übertragungsweg halt am Punkt abgeschnitten. Ich hatte diverse Zahlen werte ausprobiert, stets mit leicher Quelle und ziel:

Quell-DDC Visu     Spider_Access    REAL
                        - Ergebnis
199.9 Pa            1                      1.999...E2
200.1 Pa            2                      2.001...E2
 14.9 °C             1                     1.491...E1
 69.9 %              6                     6.992...E1

Es wird also nur der Ganzzahlanteil der Mantisse in der Zielvariablen ausgegeben, aus einer Außentemperatur von  14.9 °C mit der REAL-Darstellung  1.494... wird die SPIDER_ACCESS - Ausgbe "1"

Rainer

peewit:
Es wäre interessant was genau uebers Netzwerk kommuniziert wird. Kannst du einen wireshark mitschnitt machen ?

rrbd:

--- Zitat von: peewit am 28. September 2015, 19:21:31 ---Es wäre interessant was genau uebers Netzwerk kommuniziert wird. Kannst du einen wireshark mitschnitt machen ?

--- Ende Zitat ---

Moin,

von der Kommunikation zwischen den SPSsen? Keine Ahnung, wie das gehen sollte.

Da es gerade mal wieder praktisch gewesen wäre, die Funktion nutzen zu können, hab ich noch einmal etwas geforscht. Ergebnisse:
a) Das Problem ist nicht auf REAL-Werte beschränkt, ich sehe dasselbe Problem beim Lesen von INT-Werten, wahrscheinlich ist es ein grundsätzliches Problem, dass nur die führende Ziffer ausgelesen (oder angezeigt?) wird.

Die beiden folgenden Screenshots aus einer Phoenix ILC131 (pcworx_network_130) wurden kurz nacheinander erstellt, der Wert der Variabelen in der QUELL-SPS ((für den Test manipulierter) Außentenperatur-Messwert * 10) war grob bekannt.

Wie ließe sich jetzt der Verdacht erhärten, dass die Ursache des Problems ein falscher Wert (=0)  für "BODY_LEN" ist? Am praktikabelsten fände ich immer noch eine Screensharing-Sitzung, damit ein Experte mal zum Debuggen über meinen PC in die SPS  reingucken kann.

Da ich eh schon mal am Probieren bin werde ich für eine neue Version dieses Projekts eine aktuelle netlib verwenden.


[gelöscht durch Administrator]

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln