Heres an example of one of mine for Rockwell. Onsite and little time, so sorry for the crappy picture quality. First pics show UDT structure...last pics show tag and resultant tag path formation.
[PLC_Process] is the Device ID declared in the Gateway. I assume you've added a device for siemens in your gateway.
So for your parameter, for the tag you'll want everything up to ".....Cv-001" including the quotes.
In your UDT for the start pb member, youll want {DeviceName}."cmd"."bStartPB".
Then, the path will be formed to include the value in your Parameter DeviceName + the remaining part from the UDT definition, such that it matches the one tag you show.
Im not sure if the "" quotes will resolve correctly, so you might have to play around with that if they are stripped out on forming the final path.
fwiw, if you're wanting to pass in the OPC namespace ("nsu=...") then I would definitely separate this out and have this as a separate parameter to the device name. Otherwise it will be a pain to create these.
E.g.
Parameters:
PLCOpcServer [string] e.g. PLC_1
OpcNamespace [string] e.g. nsu=http://www.siemens.com/simatic-s7-opcua - you could also just statically define this in the tags since this won't practically ever change
OpcIdentifierPrefix e.g. "opc-ua-data". - you could also just statically define this in the tags since this won't practically ever change
PlcInstanceName [string] e.g. CV-001
Then your tag's props would be set to:
Opc Server: {PlcOpcServer}
OpcItemPath: {OpcNamespace};s={OpcIdentifierPrefix}"{PlcInstanceName}"."cmd"."bStartPB"
or nsu=http://www.siemens.com/simatic-s7-opcua;s="opc-ua-data"."{PlcInstanceName}"."cmd"."bStartPB"
Doing this you only have to worry about the PlcInstanceName and the PlcOpcServer. You can bake the OpcIdentifierPrefix and OpcNamespace values into the default parameter value and not have to change that (for siemens plcs)
Important note RE Siemens OPC-UA:
The siemens PLC OPC-UA servers only support a limited number of subscribed tags, it depends on the PLC as to how many are supported, but typically 4000 for S7 <=1516 or 24000 for >=1517 processors with at least v3 firmware. Older FW is drastically lower.
I would recommend either waiting until 8.3 comes out with the new Siemens driver that talks direct to the PLCs with symbolic addressing, without onboard OPC-UA, or you use the Siemens OPC-UA server (Simatic Net SoftNet-IE Lean) which similarly exposes symbolic addresses.
The alternative (reading the whole UDT instance structure and then using derived tags to reference each tag within it) is a B-grade horror show.
Just curious, whats the advantage of creating a separate namespace parameter, but then baking it in as a constant? Granted, I'm nearly 100% rockwell, so ns=1 is pretty concatenated. Its just easy to copy/paste the full OPC path or even use the multi instance wizard. I'm not understanding the advantage. Especially since UDTs are in my case married to their tag provider which is married to a single PLC.
it becomes (somewhat) more portable across different PLCs, sort of..
separating the namespace from the udt instance name is the biggest advantage as it allows you to display this in the UI for easier diagnostics. E.g. an engineer can easily see that the Ignition UDT is tied to the PLC's "AIT101" UDT instance, and not have to decipher it from nsu=http://www.siemens.com/simatic-s7-opcua;s="asdas das dasd as"."AIT101"
it's also simpler to read in the Designer as well, particularly for something like that horrible Siemens nsu, it's so long that the udt instance name can get cut off if you don't have an 8K screen and the dialogue isn't as wide (slight exaggeration )
it aids in bulk creation via Excel, as you don't have to worry about combining parts together and you can just have columns for the namespace and the PLC UDT instance name etc.
In general however, I do actually fix the namespace in my Ignition UDTs in the opcitempath, as in reality, another plc type will inevitably require a new set of UDTs. So I would just set it to ns=1;s=[{PLCName}]{PLCInstanceName}.cmd.startCmd
I edited my previous reply to include more notes on this
I haven't used this in a long time since most of my UDTs contain nested UDTs that have default Parameter values defined pointing to the parent's Parameter values, and the wizard would override these and set them to blank strings, at least they did in v7.8.. I also have my own bulk tag creation tools to use with excel
If you note on my examples, i use a device ID for that purpose of diagnostics, and my tag name UDT instence matches the tag name in the PLC. While my IDs follow P&ID nomenclature, my customers prefer real descriptive tag names in the PLC instead of device names. So, I accomodate that with the extra ID parameter that binds to all alarms, mouseovers, popup titles, etc.