Intouch Variablen in DB schreiben

alonely01

Level-1
Beiträge
55
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen zusammen,

bei uns in der Firma gibt es verteilt Anlagen, die wir zu betreuen haben.
Die Anlagen werden vor Ort mit Hilfe von Wonderware Intouch Version 8 visualisiert.
Zudem liegen diese Steuerungen (300er) mittels CP am internen Firmennetz.
Haben einen zentralen Rechner auf dem alle Anlagenvisualisierungen zusammengebracht sind, damit wir alle Anlagenstörungen und -zustände sofort sehen können.
Auf diesem ZentralRechner werden die Daten mittels INAT OPC Server zum InTouch übertragen.
Nun habe ich dazu eine Frage...
Auf dem ZentralPC kann ich ja sämtliche Daten aus den externen Anlagen auslesen.
z.B aus Anlage B rufe ich Silostände ab. Intouch->Variablenliste->Variable mit Zugriffsname auf die betreffende Steuerung.
Ist es möglich (mit Hilfe eines Skripts im Intouch) diese Variable auf einen Datenbaustein einer neu hinzuvernetzten Steuerung zu bekommen?

Einige fragen sich sicher, warum ich nicht gleich die Steuerung untereinander kommunizieren lasse... Ist leider wegen der erschöpften Ressourcen nicht möglich, zum anderen liegen diese auf verschiedenen Netzen, die durch ne Firewall geblockt sind. :s21:

Danke schon mal im voraus... ;)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn du nicht programmieren willst(z.B VBscript, sofern möglich), dann schau dir mal den OPC-Router von Inat an! Der kann direkt vom OPC-Server in eine beliebige Datenbank schreiben!

http://inat.de/index.php?53&backPID=53&tt_products=95

MfG
Thomas


so wie ich das verstanden habe, will er nicht in eine datenbank sondern in einen datenbaustein einer anderen, neu hinzugefügten sps schreiben.

das ist allerdings extrem einfach in intouch, ich verstehe das problem nicht?!

du mußt dir halt z.B. hinter einem button ein script anlegen, in welchem du die externen variablen aus sps 1 einfach auf die externen variablen aus sps 2 (die neue sps) kopiert. dazu müssen natürlich auch die variablen zur sps 2 existieren und ggf. eine neue verbindung im opc-server zur neuen sps erstellt werden.

das script sähe dann in etwa so aus:

SPS2_DB100DBD0 = SPS1_DB100DBD0;
SPS2_DB100DBD4 = SPS1_DB100DBD1;
usw.

du kannst dir natürlich auch eine schleife drum herum machen und mit indirekten variablen arbeiten, aber du kannst glaube ich keine kompletten DB's auf einmal kopieren, array's gehen glaube ich auch nicht, du mußt das auf doppelwortebene machen.
 
Ja, sorry
hab zu schnell gelesen!

Trotzdem auch diese Variante ist mit dem OPC-Router möglich!
Auch über einen zyklischen Takt!
 
@Porsche-Makus
Diese Anweisung habe ich zuerst auch im Skript geschrieben.
Leider war der Wert immer Null. Die Reihenfolge der Anweisung hatte ich :icon_rolleyes: vertauscht.

Nur ein kleines Problem gibts noch...

Ich bekomme den Wert von der Steuerung A und möchte ihn weitergeben an die Steuerung B.
Wie beschrieben.
Jetzt ist es so, das InTouch ihn von der Steuerung A bekommt und diesen dann skaliert, um einen sinnvollen Wert anzuzeigen.
Ist es möglich diesen schon skalierten Wert direkt an die Steuerung B (Datenwort) weiterzugeben..??

Mit dieser Anweisung allein macht ers nämlich nicht....
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Jetzt ist es so, das InTouch ihn von der Steuerung A bekommt und diesen dann skaliert, um einen sinnvollen Wert anzuzeigen.
Ist es möglich diesen schon skalierten Wert direkt an die Steuerung B (Datenwort) weiterzugeben..??

Mit dieser Anweisung allein macht ers nämlich nicht....


ich weiß nicht ob das geht, aber du kannst folgendes versuchen:
lies den skalierten wert aus steuerung A zunächst in eine temporäre variable ein und lass dir diese im bild anzeigen, dann weißt du, ob der skalierte wert übergeben wird oder ob sich die skalierung nur auf die anzeige auswirkt.

andernfalls müsstest du halt selbst den wert skalieren, bevor du ihn in steuerung B kopierst.
 
Zurück
Oben