All Downloads are FREE. Search and download functionalities are using the official Maven repository.

data.nodescript.turnouts.turnout_doublecoil_onecontrol_MTB.nodescript Maven / Gradle / Ivy

## -----------------------------------------------
## Dieses Script definiert ein Accessory, welches 2 Macros zum Schalten von Weichen-Doppelspulenantrieben startet.
## Die Macros steuern 2 Powerausgänge an, welche einen MTB-Antrieb wie einen Doppelspulenantrieb schalten.
## Der Antrieb arbeitet mit Endabschaltung. Es erfolgt eine Prüfung der Stellung des Antriebes (!!!!!), nicht der Weichenzunge.
## Sowohl die Makros als auch die ports müssen aufeinanderfolgend sein.
## Neben den Porteigendschaften werden auch für die erforderlichen CV's die richtigen Werte eingestellt.
## Mit den Variblen $CVoffset und $CVs_perPort wird als erste CV des ports 00 389 festgelegt. Ausserdem werden je port 3 CV's 
## angenommen.
##
## history: 2017-05-26 D.T. erste Version
##
## -----------------------------------------------

## only for OneControl because of the CV offset for the power ports
##require(vid="13", pid="117,140,141,142,122,143,144,145")
##requireVersion(min=2.0.0, max=3.0.0)

## -------------- 1. Select Target
##application(text:de="Weichenantrieb (MTB-Antrieb) an OneControl FW 2.x", text:en="Turnout (double coil as MTB-drive) at OneControl FW 2.x", text:nl="Wisselaandrijving dmv MTB wisselmotor op de OneControl FW 2.x")
##instruction(text:de="Konfiguration eines MTB-Weichenantriebes (Doppelspulen) an der OneControl 
Es werden alle Porteigenschaften und die erforderlichen CV's eingestellt.", text:en="Configuration of a MTB-Turnout (double coil) at the OneControl") ## ##input($accessoryName:string, text:de="Bezeichnung der Weiche: ", text:en="Name of the turnout: ", default="W") ##input($my_accessory:accessory, text:de="Nummer des zu erzeugenden Accessory", text:en="Number of the Accessory", default=0) ##input($macroStraight:macro, text:de="Nummer des ersten Macros (Abzweig)", text:en="Number of the first macro (branch)", default=0) ##input($switchPort0:switch, text:de="Nummer des ersten Powerausgangs", text:en="Number of the first power output", default=0) ##input($prevent_replace_labels:boolean, text:de="Keine Namen für Accessory, Makros, Ports ersetzen", text:en="Prevent replace labels for accessory, macro and ports", default=false) ## check if version is lower than 3 #set($Integer = 0) #set($version_major = 0) #set($version_sub = 0) #set($version_run = 0) #set($version_string="${node_firmware_version}") #set($version_array = $version_string.split("\.")) #if($version_array.size() == 3) #set($version_major = $Integer.parseInt($version_array[0])) #set($version_sub = $Integer.parseInt($version_array[1])) #set($version_run = $Integer.parseInt($version_array[2])) #end #if ($version_major > 2) #if ($user_lang == "de") $exceptionThrower.throwUserDefined("Maximale unterstützte Firmware-Version ist 2.x") #else $exceptionThrower.throwUserDefined("Maximum supported firmware version is 2.x") #end #end ## -- prepare some variables -- #set($switchPort1 = $switchPort0 + 1) #set($macroBranch = $macroStraight + 1) #set($pairPortLow = $switchPort0 - $node_servo_count) #set($pairPortHigh = $switchPort1 - $node_servo_count) #set($CVs_perPort = 3) #set($CVoffset = 389) #set($CV0 = $CVoffset + $CVs_perPort * $pairPortLow) #set($CV1 = $CV0 + 1) #set($CV2 = $CV0 + 2) #set($CV3 = $CV0 + 3) #set($CV4 = $CV0 + 4) #set($CV5 = $CV0 + 5) ## -- prepare names of ports -- ####################################### ## Setzt label, wenn ${prevent_replace_labels} NICHT true #if (!${prevent_replace_labels}) ## ## Set label of ports set switch ${switchPort0} name="W_${accessoryName}_gerade" set switch ${switchPort1} name="W_${accessoryName}_Abzweig" ## Set label of macros set macro ${macroStraight} name="W_${accessoryName}_gerade" set macro ${macroBranch} name="W_${accessoryName}_Abzweig" ## Set label of accessory set accessory ${my_accessory} name="W_${accessoryName}" #end ####################################### ## Change CV's ## Beim flachen portmodell stehen die Servoports am Anfang ## Bei der Doppelspulen-CV muss die Portnummer 0..15 eingetragen werden! set CV $CV0 11 set CV $CV1 100 set CV $CV2 $pairPortHigh set CV $CV3 11 set CV $CV4 100 set CV $CV5 $pairPortLow ## Macro Weiche gerade ## select macro ${macroStraight} ## macro repeats once config macro repeat=1 slowdown=1 ## stop the other macro add step ptype=macro action=stop number=${macroBranch} ## add the steps to switch the ports add step ptype=switch action=off number=${switchPort1} add step ptype=delay delay=10 add step ptype=switch action=on number=${switchPort0} add step ptype=switch action=off delay=100 number=${switchPort0} add step ptype=delay delay=10 ## Macro Weiche abzweig ## select macro ${macroBranch} ## macro repeats once config macro repeat=1 slowdown=1 ## stop the other macro add step ptype=macro action=stop number=${macroStraight} ## add the steps to switch the ports add step ptype=switch action=off number=${switchPort0} add step ptype=delay delay=10 add step ptype=switch action=on number=${switchPort1} add step ptype=switch action=off delay=100 number=${switchPort1} add step ptype=delay delay=10 ## Define Accessory select accessory ${my_accessory} config accessory startup none add aspect 0 macronumber=${macroBranch} add aspect 1 macronumber=${macroStraight}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy