<${Assembly}Base xmlns="urn:schemas-cosylab-com:${Assembly}Base:1.0" xsi:schemaLocation="urn:schemas-cosylab-com:${Assembly}Base:1.0 http://localhost/schemas/${Assembly}Base.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" opc_url="$URL" macAddress="00:00:00:00:00:00" SerialNumber="${Assembly}01" MonitoringCollectorName="TBD" retries="3" timeoutRxTx="2.0"> #silent L=[] #for $idx in $range(0,$x.GetSheet["NRows"]) #silent L.append($x.GetSheet["Short name"][$idx]) #if ($x.GetSheet["OPC UA Data type"][$idx]).upper()[-1]==']' ## test for arrays #set $type=($x.GetSheet["OPC UA Data type"][$idx].upper()).split("[")[0]+"[]" #else #set $type=$x.GetSheet["OPC UA Data type"][$idx].upper() #end if <$x.GetSheet["Short name"][$idx] xmlns="urn:schemas-cosylab-com:${Assembly}Base:1.0" archive_priority="5" archive_min_int="15" archive_max_int="15" #if $x.GetSheet["IsArchived"][$idx].upper() =="N" archive_suppress="1" #end if #if str($x.GetSheet["Default value"][$idx]) !="" and str($x.GetSheet["Default value"][$idx]) !="NA" #if $type[0]=="I" or $type[0]=="U" #set $val=str($x.GetSheet["Default value"][$idx]).split(".")[0] default_value="$val" #else #set $val=str($x.GetSheet["Default value"][$idx]).lower() default_value="$val" #end if #end if format="%$y[$type][1]" description="$x.GetSheet["Description"][$idx]" #if str($x.GetSheet["Unit"][$idx]) !="" and str($x.GetSheet["Unit"][$idx]) !="NA" and str($x.GetSheet["Unit"][$idx]) !="nan" units="$x.GetSheet["Unit"][$idx]" #else units="none" #end if #if str($x.GetSheet["Alarm high"][$idx]) !="nan" and str($x.GetSheet["Alarm high"][$idx]).strip() !="NA" and $y[$type][1] != "S" #if $type[0]=="I" or $type[0]=="U" #set $val=str($x.GetSheet["Alarm high"][$idx]).split(".")[0] alarm_high_on="$val" alarm_high_off="$val" #else alarm_high_on="$x.GetSheet["Alarm high"][$idx]" alarm_high_off="$x.GetSheet["Alarm high"][$idx]" #end if #end if #if str($x.GetSheet["Alarm low"][$idx]).strip() !="nan" and str($x.GetSheet["Alarm low"][$idx]).strip() !="NA" and $y[$type][1] != "S" #if $type[0]=="I" or $type[0]=="U" #set $val=str($x.GetSheet["Alarm low"][$idx]).split(".")[0] alarm_low_on="$val" alarm_low_off="$val" #else alarm_low_on="$x.GetSheet["Alarm low"][$idx]" alarm_low_off="$x.GetSheet["Alarm low"][$idx]" #end if #end if #if str($x.GetSheet["IsMonitored"][$idx]).upper() =="Y" #set $val=str($x.GetSheet["Sampling Interval (s)"][$idx]) min_timer_trig="1.0" alarm_timer_trig="10.0" #if $val!="NA" default_timer_trig="$val" #else default_timer_trig="1.0" #end if #else min_timer_trig="0.0" default_timer_trig="0" #end if #if $y[$type][1].upper() != 'S' min_delta_trig="1" min_step="1" #end if resolution="1"/> #end for #for $idx in $range(0,$x.SetSheet["NRows"]) #silent L.append($x.SetSheet["Short name"][$idx]) #if ($x.SetSheet["OPC UA Data type"][$idx]).upper()[-1]==']' ## test for arrays #set $type=($x.SetSheet["OPC UA Data type"][$idx].upper()).split("[")[0]+"[]" #else #set $type=$x.SetSheet["OPC UA Data type"][$idx].upper() #end if <$x.SetSheet["Short name"][$idx] xmlns="urn:schemas-cosylab-com:${Assembly}Base:1.0" archive_min_int="0" archive_max_int="0" archive_suppress="1" #if str($x.SetSheet["Default value"][$idx]) !="" and str($x.SetSheet["Default value"][$idx]) !="NA" #if $type[0]=="I" or $type[0]=="U" #set $val = str($x.SetSheet["Default value"][$idx]).split(".")[0] default_value="$val" #else #set $val=str($x.SetSheet["Default value"][$idx]).lower() default_value="$val" #end if #end if format="%${y[$type][1]}" description="$x.SetSheet["Description"][$idx]" #if $x.SetSheet["Unit"][$idx] !="" and $x.SetSheet["Unit"][$idx] !="NA" and str($x.SetSheet["Unit"][$idx]) !="nan" units="$x.SetSheet["Unit"][$idx]" #else units="" #end if min_timer_trig="0" #if $y[$type][1].upper() != "S" min_delta_trig="0" min_step="1" #end if default_timer_trig="1" resolution="1"/> #end for #for $idx in $range(0,$x.ModeSheet["NRows"]) #set $name=($x.ModeSheet["OPC_UA node"][$idx].split(";")[1]).split("=")[1].replace(".","_") #if not $name in L <$name xmlns="urn:schemas-cosylab-com:${Assembly}Base:1.0" archive_min_int="0" archive_max_int="0" archive_suppress="1" default_value="0" format="%${y[$x.ModeSheet["OPC UA Data type"][$idx].upper()][1]}" description="$x.ModeSheet["Description"][$idx]" ## #if $x.ModeSheet["Unit"][$idx] !="" and $x.ModeSheet["Unit"][$idx] !="NA" and str($x.ModeSheet["Unit"][$idx]) !="nan" ## units="$x.ModeSheet["Unit"][$idx]" ## #else units="" ## #end if min_timer_trig="0" #if $y[$x.ModeSheet["OPC UA Data type"][$idx].upper()][1] != 'S' min_delta_trig="0" min_step="1" #end if default_timer_trig="1" resolution="1"/> #silent L.append($name) #end if #end for #for $idx in $range(0,$x.CmdSheet["NRows"]) #set $name=($x.CmdSheet["OPC_UA node"][$idx].split(";")[1]).split("=")[1].replace(".","_") #if not $name in L <$name xmlns="urn:schemas-cosylab-com:${Assembly}Base:1.0" archive_min_int="0" archive_max_int="0" archive_suppress="1" default_value="0" format="%%${y[$x.CmdSheet["OPC UA Data type"][$idx].upper()][1]}" description="$x.CmdSheet["Description"][$idx]" ## #if $x.CmdSheet["Unit"][$idx] !="" and $x.CmdSheet["Unit"][$idx] !="NA" and str($x.CmdSheet["Unit"][$idx]) !="nan" ## units="$x.CmdSheet["Unit"][$idx]" ## #else units="" ## #end if min_timer_trig="0" #if $y[$x.CmdSheet["OPC UA Data type"][$idx].upper()][1] != 'S' min_delta_trig="0" min_step="1" #end if default_timer_trig="1" resolution="1"/> #silent L.append($name) #end if #end for