5 from IPython
import embed
12 shell = code.InteractiveConsole(vars)
15 from opcua
import ua, Server
18 if __name__ ==
"__main__":
19 logging.basicConfig(level=logging.WARN)
20 logger = logging.getLogger(
"opcua.server.internal_subscription")
21 logger.setLevel(logging.DEBUG)
25 server.set_endpoint(
"opc.tcp://0.0.0.0:4840/freeopcua/server/")
28 uri =
"http://examples.freeopcua.github.io" 29 idx = server.register_namespace(uri)
32 objects = server.get_objects_node()
35 myobj = objects.add_object(idx,
"MyObject")
39 etype = server.create_custom_event_type(2,
'MyFirstEvent', ua.ObjectIds.BaseEventType, [(
'MyNumericProperty', ua.VariantType.Float), (
'MyStringProperty', ua.VariantType.String)])
41 myevgen = server.get_event_generator(etype, myobj)
44 custom_etype = server.nodes.base_event_type.add_object_type(2,
'MySecondEvent')
45 custom_etype.add_property(2,
'MyIntProperty', ua.Variant(
None, ua.VariantType.Int32))
46 custom_etype.add_property(2,
'MyBoolProperty', ua.Variant(
None, ua.VariantType.Boolean))
48 mysecondevgen = server.get_event_generator(custom_etype, myobj)
59 myevgen.event.Message =
"MyFirstEvent " + str(count)
60 myevgen.event.Severity = count
61 myevgen.event.MyNumericProperty = count
62 myevgen.event.MyStringProperty =
"Property " + str(count)
64 mysecondevgen.trigger(message=
"MySecondEvent " + str(count))