+{"name":"Freeopcua.github.io","tagline":"FreeOPCUA: An Open Source C++ OPC-UA Server and Client Library","body":"Free OPC-UA is LGPL C++ library to develop server and client OPC-UA applications. Python bindings can be found in the opcua-python repository. \r\n\r\nIn addition an OPC-UA Python Client and Server library, written entirely in python, is available: https://github.com/FreeOpcUa/python-opcua\r\n\r\nThe C++ library is under development but works will all tested clients and servers. It support addressspace browse, read, write and address space modification as well as subscriptions and datachange events and method calls(the last one only on client).\r\n\r\nHistory is not yet supported\r\n\r\nAll expected OPC-UA objects are implemented in C++. Higher level Server, Client and Node objects are also available.\r\n\r\n* Mailing list: https://groups.google.com/forum/#!forum/freeopcua\r\n* Source code: https://github.com/FreeOpcUa\r\n\r\nExample high level Python server code:\r\n\r\n server = opcua.Server()\r\n server.set_endpoint(\"opc.tcp://192.168.56.1:4841\")\r\n server.start()\r\n try:\r\n\r\n uri = \"http://examples.freeopcua.github.io\"\r\n idx = server.register_namespace(uri)\r\n\r\n objects = server.get_objects_node()\r\n\r\n myfolder = objects.add_folder(idx, \"MyFolder\")\r\n myvariable = myfolder.add_variable(idx, \"MyVariable\", 3)\r\n\r\n count = 0\r\n while True;\r\n count += 1\r\n v.set_value(count)\r\n time.sleep(1);\r\n\r\n finally:\r\n server.stop()\r\n\r\nOr write lower level code in C++\r\n\r\n ...\r\n Server = OpcUa::Remote::Connect(Endpoint);\r\n\r\n OpcUa::Remote::SessionParameters session;\r\n session.ClientDescription.URI = Uri;\r\n session.ClientDescription.ProductURI = Uri;\r\n session.ClientDescription.Name.Text = SessionName;\r\n session.ClientDescription.Type = OpcUa::ApplicationType::CLIENT;\r\n session.SessionName = SessionName;\r\n session.EndpointURL = Endpoint;\r\n session.Timeout = 1200000;\r\n\r\n Server->CreateSession(session);\r\n Server->ActivateSession();\r\n ...\r\n\r\n## Getting Started\r\n\r\nNext you can try compiling the code using the standard ./configure; make; make install commands\r\n\r\n### Example code\r\n\r\nC++ sample code can be found here:\r\nhttps://github.com/FreeOpcUa/freeopcua/tree/master/src/examples\r\n\r\nand then try to communicate with server using an opc-ua client (There are many free clients on the net)\r\n\r\nI you want to use lower level api then have a look at:\r\n* https://github.com/FreeOpcUa/freeopcua/blob/master/src/server/opcuaserver.cpp\r\n* https://github.com/FreeOpcUa/freeopcua/blob/master/src/core/node.cpp\r\n* https://github.com/FreeOpcUa/freeopcua/blob/master/src/client/client.cpp\r\n","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
0 commit comments