Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
## -----------------------------------------------
## 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
## 2020-07-11 A.Kuhtz, Anpassung auf Schaltpaar-Ausgang
##
## -----------------------------------------------
## 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=3.0.0)
## -------------- 1. Select Target
##application(text:de="Weichenantrieb (MTB-Antrieb) an OneControl mit Schaltpaar-Ausgang FW 3.x", text:en="Turnout (MTB-drive) at OneControl with switchpair port FW 3.x", text:nl="Wisselaandrijving dmv MTB wisselmotor op de OneControlwith switchpair port FW 3.x")
##instruction(text:de="Konfiguration eines MTB-Weichenantriebes an der OneControl Es werden alle Porteigenschaften eingestellt.", text:en="Configuration of a MTB-Turnout 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($switchPairPort0:switchpair, text:de="Nummer des Schaltpaar-Ausgangs", text:en="Number of the switchpair 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)
#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 < 3)
#if ($user_lang == "de")
$exceptionThrower.throwUserDefined("Minimale unterstützte Firmware-Version ist 3.x")
#else
$exceptionThrower.throwUserDefined("Minimum supported firmware version is 3.x")
#end
#end
## -- prepare some variables --
#set($macroBranch = $macroStraight + 1)
## configure ports
## make sure the port is a switchpair port
assert port number=${switchPairPort0} ptype=switchpair
## configure ticks and load type
config port ptype=switchpair ticks=100 loadtype=0 number=${switchPairPort0}
## -- prepare names of ports --
#######################################
## Setzt label, wenn ${prevent_replace_labels} NICHT true
#if (!${prevent_replace_labels})
##
## Set label of ports
set switchpair ${switchPairPort0} name="W_${accessoryName}"
## 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}"
set aspect 0 accessory=${my_accessory} name="W_${accessoryName}_gerade"
set aspect 1 accessory=${my_accessory} name="W_${accessoryName}_abzweig"
#end
#######################################
## 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=switchpair action=on number=${switchPairPort0}
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 step ptype=switchpair action=off number=${switchPairPort0}
add step ptype=delay delay=10
## Define Accessory
select accessory ${my_accessory}
config accessory startup none
add aspect 0 macronumber=${macroStraight}
add aspect 1 macronumber=${macroBranch}