Connecting Python OpenOPC Client from ONE Windows System to OPC DA Server running on another Windows System in an INTRANET | Classic OPC: DA, A&E, HDA, XML-DA, etc. | Forum

Avatar
Search
Forum Scope


Match



Forum Options



Minimum search word length is 3 characters - maximum search word length is 84 characters
Lost password?
sp_Feed sp_PrintTopic sp_TopicIcon
Connecting Python OpenOPC Client from ONE Windows System to OPC DA Server running on another Windows System in an INTRANET
Avatar
Rajnish Vishwakarma Vishwakarma
New Member
Members
Forum Posts: 2
Member Since:
05/06/2020
sp_UserOfflineSmall Offline
1
05/13/2020 - 04:35
sp_Permalink sp_Print

Hi ,

We have a  OPC DA Server running on one  Windows PC  and OpenOPC Python client running on different Windows PC .

When i am using :

Code 1:

import OpenOPC

opc=OpenOPC.open_client('X.X.X.X')

ser=opc.servers()

print(ser)

I am  getting - errors as below :

Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\core.py", line 515, in connect_and_handshake
    sslContext=sslContext)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\socketutil.py", line 307, in createSocket
    sock.connect(connect)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\OPCAccess(1).py", line 8, in <module>
    opc=OpenOPC.open_client('10.36.93.149')
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\OpenOPC.py", line 131, in open_client
    return server_obj.create_client()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\core.py", line 275, in __getattr__
    self._pyroGetMetadata()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\core.py", line 615, in _pyroGetMetadata
    self.__pyroCreateConnection()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\core.py", line 596, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\core.py", line 549, in connect_and_handshake
    raise ce
Pyro4.errors.CommunicationError: cannot connect to ('10.36.93.149', 7766): [WinError 10061] No connection could be made because the target machine actively refused it

AND  when i am connecting using the code below :

Code 2:

import OpenOPC

pywintypes.datetime = pywintypes.TimeType

opc=OpenOPC.client('X.X.X.X')

ser=opc.servers()

print(ser)

I  am getting errors as :

Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\dynamic.py", line 89, in _GetGoodDispatch
    IDispatch = pythoncom.connect(IDispatch)
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\OpenOPC.py", line 167, in __init__
    self._opc = win32com.client.gencache.EnsureDispatch(c, 0)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\gencache.py", line 527, in EnsureDispatch
    disp = win32com.client.Dispatch(prog_id)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221005, 'Invalid class string', None, None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\OPCAccess.py", line 8, in <module>
    opc=OpenOPC.client('10.36.93.149')
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\OpenOPC.py", line 173, in __init__
    raise OPCError(error_msg)
OpenOPC.OPCError: Dispatch: Invalid class string

AND when i am using the below code

Code 3:

import OpenOPC

opc=OpenOPC.open_client('X.X.X.X')
print(opc)
ser=opc.servers()

print(ser)

I am getting error as :

Traceback (most recent call last):
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\core.py", line 515, in connect_and_handshake
    sslContext=sslContext)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\socketutil.py", line 307, in createSocket
    sock.connect(connect)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\OPCAccess(1).py", line 6, in <module>
    opc=OpenOPC.open_client('10.36.93.149')
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\OpenOPC.py", line 131, in open_client
    return server_obj.create_client()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\core.py", line 275, in __getattr__
    self._pyroGetMetadata()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\core.py", line 615, in _pyroGetMetadata
    self.__pyroCreateConnection()
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\core.py", line 596, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\lib\site-packages\Pyro4\core.py", line 549, in connect_and_handshake
    raise ce
Pyro4.errors.CommunicationError: cannot connect to ('10.36.93.149', 7766): [WinError 10061] No connection could be made because the target machine actively refused it

Code 4:

import OpenOPC

opc=OpenOPC.client()
ab=opc.connect('OPCDA Server ' , 'X.X.X.X')
print('Status ',ab)

 

Remember :
**
OpenOPC client is running on ONE  Windows System in a OT Network

OPC DA server is running on SECOND  Windows in a IT Network

But both Windows systems are connected in same network using a switch.**

**
If anyone of you can assist me on this .**

Thanks
Rajnish Vishwakarma

Forum Timezone: America/Phoenix
Most Users Ever Online: 202
Currently Online:
Guest(s) 9
Currently Browsing this Page:
1 Guest(s)
Top Posters:
Forum Stats:
Groups: 2
Forums: 9
Topics: 771
Posts: 2275