Python und OPC

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
giymo
User
Beiträge: 1
Registriert: Mittwoch 17. Mai 2006, 12:45

Python und OPC

Beitragvon giymo » Mittwoch 17. Mai 2006, 18:16

Ich möchte ein OPC client im python schreiben. Bis jetzt habe ich das gemacht:

#---------------------------------------------------------

Code: Alles auswählen

import win32com.client
import pythoncom

opc=win32com.client.Dispatch("Matrikon.OPC.Automation.1")
opc.Connect('Matrikon.OPC.Simulation.1')

groups=opc.OPCGroups
groups.DefaultGroupIsActive=True
groups.DefaultGroupDeadband=0

group=groups.Add("grupa")
group.UpdateRate=500
group.IsSubscribed=True

items=group.OPCItems
items.DefaultIsActive = True
item=items.AddItem("cifra",2)

Source=1
NumItems=1
ServerHandles=group.ServerHandle
Values=()
Errors=()

print group.SyncRead(Source,NumItems,ServerHandles,Values,Errors)

#SyncRead(Source As Integer, NumItems As Long, ServerHandles() As Long, ByRef Values() As Variant,  ByRef Errors() As Long, Optional ByRef Qualities As Variant, Optional ByRef

opc.Disconnect()

#-----------------------------------------------------------------------------



Wegen print group.SyncRead(Source,NumItems,ServerHandles,Values,Errors) bekomme ich diese fehlermeldung:

[code=]Traceback (most recent call last):
File "D:\programi\Python24\Lib\site-packages\pythonwin\pywin\framework\scriptutils.py", line 307, in RunScript
debugger.run(codeObject, __main__.__dict__, start_stepping=0)
File "D:\programi\Python24\Lib\site-packages\pythonwin\pywin\debugger\__init__.py", line 60, in run
_GetCurrentDebugger().run(cmd, globals,locals, start_stepping)
File "D:\programi\Python24\Lib\site-packages\pythonwin\pywin\debugger\debugger.py", line 595, in run
exec cmd in globals, locals
File "D:\matej fajli\programiranje\python\dll\makepy4.py", line 25, in ?
print group.SyncRead(Source,NumItems,ServerHandles,Values,Errors)
File "D:\Programi\Python24\lib\site-packages\win32com\gen_py\F8582D24-88FB-11D0-B850-00C0F0104305x0x1x0.py", line 297, in SyncRead
return self._ApplyTypes_(1610743828, 1, (24, 0), ((2, 1), (3, 1), (24579, 1), (24588, 2), (24579, 2), (16396, 18), (16396, 18)), 'SyncRead', None,Source, NumItems, ServerHandles, Values, Errors, Qualities, TimeStamps)
File "D:\programi\Python24\Lib\site-packages\win32com\client\__init__.py", line 446, in _ApplyTypes_
return self._get_good_object_(
TypeError: Objects for SAFEARRAYS must be sequences (of sequences), or a buffer object.[/code]



Was habe ich falsch gemacht?

Edit (Leonidas): Code in Tags gesetzt.

Wer ist online?

Mitglieder in diesem Forum: __deets__, Bing [Bot], Google [Bot]