-{"name":"Freeopcua.github.io","tagline":"FreeOPCUA: A C++ OPC-UA Server and Client Library","body":"Free OPC-UA is C++ library develop server and client OPC-UA applications. Python bindings can be found in the opcua-python repository. \r\n\r\nThe library is under development but works will all tested clients. It support addressspace browse, read, write and address space modification as well as subscriptions and datachange events.\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\nExample high level Python server code:\r\n\r\n s = opcua.Server()\r\n s.set_endpoint(\"opc.tcp://192.168.56.1:4841\")\r\n s.start()\r\n try;\r\n objects = s.get_objects_node()\r\n\r\n m = objects.add_folder(\"2:MyFolder\")\r\n v = m.add_variable(\"2: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 s.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\nNext you can try compiling the code using the standard ./configure; make; make install commands or using the opcua-cmake repository https://github.com/FreeOpcUa/opcua-cmake\r\n\r\nC++ sample code can be found here:\r\nhttps://github.com/FreeOpcUa/opcua-server/blob/master/exe/src/example.cpp\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\nhttps://github.com/FreeOpcUa/opcua-server/blob/master/exe/src/server_main.cpp\r\nhttps://github.com/FreeOpcUa/opcua-core/blob/master/src/node.cpp\r\nhttps://github.com/FreeOpcUa/opcua-server/blob/master/server/src/opcuaserver.cpp\r\n\r\nAnd if you want to test client api:\r\nhttps://github.com/oroulet/opcua-client/blob/master/src/example_main.cpp","google":"","note":"Don't delete this file! It's used internally to help with page regeneration."}
0 commit comments