Irgendwie ist in der Kombination Phoenix-ILC / PC-WORX Express / OSCAT NetLib130 gerade der Wurm drin, wobei ich keinesfalls ausschließen kann, dass das Problem durch irgendeine Besonderheit hier bei mir verursacht wird.
Den Behelf aus Posting 19. April 2016, 16:02:45 versuchte ich weiter zu entwicklen, natürlich jede Neuerung in neuer Projektversion. Einfach testhalber 2 Spider_ACCES zugriffe in derselben Richtung eingefügt, funktioniert. 3. Drangehängt - Exitus, keiner funktioniert mehr, weg damit.
Alle Versuche übrigens stets nur am Slave!
Dann NET_VAR_CONTROL Variante für Verbindung ausprobiert. In dem Projekt laufen diverse solche Verbindungen problemlos. Habe gznächst als Master die Empfängerseite eingerichtet, dann Slave in der Sender-SPS. Gestartet, geht nicht, stets Error FF000000 oder FD000000 oder 00000001.
Als ich keine Lust mehr hatte habe ich die alte ursprünglich funktionierende Version wieder eingespielt, bei der dann plötzlich die ursprüngliche NET_VAR_CONTROL auch nicht mehr funktionierte, Error 00000001 beim Slave. Hier nun aber kein ID-dreher, die Zuordnung der ID "1" und 22" war bei den Bausteinen NET_VAR_BOOL8 und NET_VAR_REAL8 passig bei Master und Slave.
Also Notfallplan mit Uraltversion in voriger PC-WORX Express Version eingespielt - Läuft auch nicht! Bis hierher also einzige halbwegs sichere Schlussfolgerungen, dass ich bisher nur eine Sammlung von Zufallsbeobachtungen habe, die alle nicht den Kern des Problems im Fokus haben.
Ich habe dann ein paar Kaltstarts am Slave durchgeführt, ohne sonst irgendetwas zhwischen den Kaltstarts an Programm oder Parametern zu ändern:
Standardablauf:
1) Kaltstart
» Alle Übertragenen Werte auf 0, NET_VAR_CONTROL RUN = Error = 0
2) Nach Zeitablauf: NET_VAR_CONTROL:ENABLE → 1
» Für Sekundenbruchteil RUN = 1 -- Error = 0
Dann RUN = 0 -- Error = 00000001, alle Übertragungswerte weiterhin 0
Manchmal:
11) Kaltstart
» Alle Übertragenen Werte auf 0, NET_VAR_CONTROL RUN = Error = 0
12) Nach Zeitablauf: NET_VAR_CONTROL:ENABLE → 1
» Für Wenige Sekundenbruchteile bis Sekunden, RUN = 1 -- Error = 0, Werte werden übertragen, scheinen auch "zu leben"
Dann RUN = 0 -- Error = 00000001 (Baustein falsche ID), alle Übertragungswerte eingefroren
Dann glückliche Fügung:
21) Kaltstart
» Alle Übertragenen Werte auf 0, NET_VAR_CONTROL RUN = Error = 0
22) Nach Zeitablauf: NET_VAR_CONTROL:ENABLE → 1
» Dauerhaft RUN = 1 -- Error = 0, Werte werden übertragen, "leben"
Das bisher die ganze Nacht, wahrscheinlich auf ewig
Dass so ein Kaltstart manchmal zum korrekten Anlauf führt, meistens aber nicht ist ja doch merkwürdig, und die Fehlermeldung noch merkwürdiger, irgendeinen realen Hintergrund kann ich nicht erkennen.
Irgendeine Idee, wie man dem Effekt auf die Schliche kommen kann? die beiden Programme kann ich dir zwar schicken, aber ob sich damit ein Testaufbau realisieren lässt?
Alternativ könnte ich dir natürlich auch mal zugriff auf die Anlage Gewähren, wenn Du meinst, dass direkte BEobachtung des Effekts weiter helfen könnte.