Für OPC XML-DA gibt es einen Daemon, der die Werte zyklisch liest und in einem Shared Memory ablegt. Gleichzeitig wartet der Daemon auf Eingaben auf seiner Mailbox (Siehe pvbrowser Prinzip). opcxmlda.tar.gz muss zusätzlich zu pvbrowser heruntergeladen werden. Das Archiv enthält die Quellen und die ausführbaren Dateinen für Linux 64Bit und Windows. Für andere Umgebungen muss man neu übersetzen.
Zunächst sollten Sie testen, ob Ihr OPC XML-DA server läuft.
Beispiel: ./opcxmlda_client http://192.168.1.13/opcxmlda/isopc.simopcserver.3 GetStatus
Beispiel: ./opcxmlda_client http://192.168.1.13/opcxmlda/isopc.simopcserver.3 Browse > opcxmlda.itemlist
Beispiel: ./opcxmlda_client http://192.168.1.13/opcxmlda/isopc.simopcserver.3 Run
Wenn Sie zusätzlich den "-debug" Schalter angeben, können Sie sehen, welche Werte gelesen werden.
Beispiel: ./opcxmlda_client http://192.168.1.13/opcxmlda/isopc.simopcserver.3 Run -debug
Im Run Mode wird der opcxmlda_client den OPC XML-DA Server endlos abfragen (pollen). Die Variablen werden in dem Shared Memory abgelegt. Der opcxmlda_client besitzt einen zweiten Thread, der auf der Mailbox wartet. Der pvserver kann rlOpcXmlDa aus der rllib verwenden, um Varibalen über diese Mailbox auszugeben. opcxmlda_client liest diese Mailbox und sendet die Werte an den OPC XML-DA Server.
Usage: ./opcxmlda_client [URL] [METHOD] <-itemlist=filename> <-shm=filename> <-mbx=filename> <-sleep=milliseconds> <-max_name_length=char> <-shmsize=bytes> <-debug> [URL] is the url of the OPC XML-DA server. [METHOD] is the method to call. [METHOD] := GetStatus | Browse | Run [URL] and [METHOD] are mandatory and must be the first 2 parameters. Defaults: -itemlist=opcxmlda.itemlist # may be created by Browse -shm=/srv/automation/shm/opcxmlda.shm OR c:\automation\shm\opcxmlda.shm on windows # location of the shared memory -mbx=/srv/automation/mbx/opcxmlda.mbx OR c:\automation\mbx\opcxmlda.mbx on windows # location of the mailbox -sleep=1000 # time between read calls in milliseconds -max_name_length=31 # max length of result name -shmsize=65536 # total size of the shared memory Example for creating opcxmlda.itemlist: ./opcxmlda_client http://server/opcxmlda/xmldaserver Browse > opcxmlda.itemlist
Der pvserver benutzt rlOpcXmlDa aus der rllib.
Sehen Sie bitte auch das
.