diff --git a/config.toml b/config.toml new file mode 100644 index 0000000000000000000000000000000000000000..d72aca1d148752f168e3c028f57328ac827bd918 --- /dev/null +++ b/config.toml @@ -0,0 +1,11 @@ +#config file + +# set server endpoint example +#for example: 'opc.tcp://0.0.0.0:4840/freeopcua/server/' +server = 'opc.tcp://0.0.0.0:4840/freeopcua/server/' + +#set namespace +#for example: 'http://examples.freeopcua.github.io/' +namespace = 'http://examples.freeopcua.github.io/' + + diff --git a/newmodeljsonparse.py b/newmodeljsonparse.py index 3f79f25c28560afc194f91ac836db89dbe3a5f0c..b67e4fc2aa17943f8d650851534a849459e1d5e4 100644 --- a/newmodeljsonparse.py +++ b/newmodeljsonparse.py @@ -308,7 +308,7 @@ def instantiate(typesdict, interfaces, jsoncomponents): def main(): try: JSON_MODEL = sys.argv[1][:-5] - if not os.path.exists(os.path.join('..', 'SOIL OPC-UA', f'{JSON_MODEL}.json')): + if not os.path.exists(os.path.join('..', 'SOIL-OPC-UA', f'{JSON_MODEL}.json')): raise Exception() except Exception as e: print('You must provide a file from the folder to be used as root file of the parsing, e.g., "python jsonparser.py model.json".') diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/writefile.py b/writefile.py index e6c9ee33454e7100842c1799d095c520cf9c4f8c..1f7a66d1e97f4dc057f7a14db01575b3d0fad285 100644 --- a/writefile.py +++ b/writefile.py @@ -1,5 +1,7 @@ import jsonparse import os +import tomli + def defFunction(functionname, file, indent, inargs): writeindent = "" @@ -26,6 +28,14 @@ def getVariantType(datatype): elif datatype == "Boolean": varianttype = "ua.VariantType.Boolean" return varianttype + + +with open("config.toml", "rb") as t: + toml_dict = tomli.load(t) + +server_endpoint = toml_dict['server'] +namespace = toml_dict['namespace'] + def writebeginning(): if os.path.exists("opcua-server.py"): os.remove("opcua-server.py") @@ -44,14 +54,14 @@ _logger = logging.getLogger('asyncua') server.write("\nasync def main():") #äinten = "\tab" - server.write(""" + server.write(f""" # setup our server server = Server() await server.init() - server.set_endpoint('opc.tcp://0.0.0.0:4840/freeopcua/server/') + server.set_endpoint('{server_endpoint}') # setup our own namespace, not really necessary but should as spec - uri = 'http://examples.freeopcua.github.io/' + uri = '{namespace}' idx = await server.register_namespace(uri) #id of rangetype rangeid = await server.nodes.base_data_type.get_child(["0:Structure", "0:Range"]) @@ -61,7 +71,7 @@ _logger = logging.getLogger('asyncua') #creating dataypes for parameters and measurements measurementtype = await server.nodes.base_data_type.add_data_type(idx, "Measurement") parametertype = await server.nodes.base_data_type.add_data_type(idx, "Parameter") -""") +""") def openobject(objname, description): server = open("opcua-server.py", "a") writeindent = " "