Phil Posted November 7, 2018 Report Share Posted November 7, 2018 Hier stelle ich euch die Programme ein, die wir in den Tutorials oder den Let's Plays verwendet haben. Sollten Fragen, Wünsche oder Anregungen zu einem Programme auftreten könnt ihr gerne ein Thema aufmachen. Schreibt dann bitte dazu um welches Programm es geht. Das Thema hier ist geschlossen, um eine gute Übersicht über die Programme zu haben, ohne sich durch viele Kommentare wühlen zum müssen, um bis zum nächsten Programm zu kommen. Link to comment
Phil Posted November 7, 2018 Author Report Share Posted November 7, 2018 Automatische Filterung + Anzeige des Filterstatus Mit dem untenstehenden Programm können zwei Filteranlagen gleichzeitig ausgewertet und gesteuert werden. Es wird zunächst geprüft, ob das eingestellte Gas in der Zuleitung ist und abhängig davon wird die richtige Filteranlage gestartet. Zeitgleich wird der Verbrauch der Filter auf einem Dioden Slider dynamisch angezeigt. Das Programm beschreibt die Schrauben mit einem Hilfetext, so dass man einfach erkennen kann wo welches Gerät anzuschließen ist. Die Filtereinheiten und Dioden sind mit A und B bezeichnet. Man muss nur darauf achten, dass A zu A und B zu B passt, sonst werden womöglich die Dioden mit dem falschen Status beschrieben und man hat verfälschte Werte. Im Configbereich (nach den alias-Statements) kann man das zu filternde Gas bei RatioA und RatioB einstellen. Hat man nur eine Filteranlage angeschlossen kann man RatioB unverändert lassen, da es nicht ausgewertet wird. alias FilterAnl d0 alias FilterA d1 alias FilterB d2 alias DiodeA d3 alias DiodeB d4 alias RatioA r0 alias RatioB r1 alias FilterA.Slot1Q r2 alias FilterA.Slot2Q r3 alias FilterA.SlotGQ r4 alias FilterB.Slot1Q r5 alias FilterB.Slot2Q r6 alias FilterB.SlotGQ r7 alias FilterA.Slot1O r8 alias FilterA.Slot2O r9 alias FilterA.SlotGO r10 alias FilterB.Slot1O r11 alias FilterB.Slot2O r12 alias FilterB.SlotGO r13 start: bdnsal FilterAnl restart # edit this for FilterA l RatioA FilterAnl RatioPollutant # edit this for FilterB l RatioB FilterAnl RatioVolatiles ################################ ##### do not edit below ######## ################################ bdnsal FilterA FilterB # do we have Filter A? ls FilterA.Slot1Q FilterA 0 Quantity ls FilterA.Slot2Q FilterA 1 Quantity ls FilterA.Slot1O FilterA 0 Occupied ls FilterA.Slot2O FilterA 1 Occupied # check if filter A needs to be started brgtz RatioA 3 s FilterA On 0 jr 3 s FilterA On 1 # check status for Filter A add FilterA.SlotGQ FilterA.Slot1Q FilterA.Slot2Q and FilterA.SlotGO FilterA.Slot1O FilterA.Slot2O breq FilterA.SlotGO 0 2 div FilterA.SlotGQ FilterA.SlotGQ 2 div FilterA.SlotGQ FilterA.SlotGQ 100 s DiodeA Setting FilterA.SlotGQ # check if filter B needs to be started filterB: bdnsal FilterB restart ls FilterB.Slot1Q FilterB 0 Quantity ls FilterB.Slot2Q FilterB 1 Quantity ls FilterB.Slot1O FilterB 0 Occupied ls FilterB.Slot2O FilterB 1 Occupied brgtz RatioB 3 s FilterB On 0 jr 3 s FilterB On 1 #check status for filter B add FilterB.SlotGQ FilterB.Slot1Q FilterB.Slot2Q and FilterB.SlotGO FilterB.Slot1O FilterB.Slot2O breq FilterB.SlotGO 0 2 div FilterB.SlotGQ FilterB.SlotGQ 2 div FilterB.SlotGQ FilterB.SlotGQ 100 s DiodeB Setting FilterB.SlotGQ restart: yield j start YouTube Video: Der Code wurde überarbeitet und stimmt nicht mehr zu 100% mit dem im Video gezeigten überein. Veränderungen beziehen sich auf Codeverbesserungen und Fehlerbereinigung. Zusätzliche Funktionen wurden nicht eingeführt. Credits: FinFanFinn (YT): Bug - Sprungmarke falsch platziert 2 Link to comment
Phil Posted December 20, 2018 Author Report Share Posted December 20, 2018 Temperaturausgleichsraum + automatische Temperaturregelung in Tanks Im ersten Programm wird der automatische Ausgleich der Temperatur im gewünschten Raum reguliert. Die Schrauben werden mit den benötigten Bauteilen beschriftet und es wird nur 1 Bausatz für die Programmierung benötigt (1x Housing, 1x programmierbarer Chip). Ansonsten werden benötigt: 2x Gas Sensor 2x Logic Memory Kit 2x Logic I/O (Batch Writer) Die Batchwriter müssen so eingestellt werden, dass sie die Werte der entsprechenden Memory Kits an die Wall Heater (MemoryA) bzw. Wall Cooler (MemoryB) übergeben. Die Gassensoren müssen jeweils an einer Schraube eingestellt werden (um die Durchschnittstemperatur zu errechnen). Die Sensoren sollten an gegenüberliegenden Enden des Raumes verbaut werden. An die Wall Cooler muss natürlich noch ein entsprechendes Rohr mit Verbindung nach Außen angeschlossen werden um die aufgeheizten Kühlgase wieder abkühlen zu können. alias Gas.Sensor1 d0 alias Gas.Sensor2 d1 alias MemoryA d2 alias MemoryB d3 alias RegTemp1 r0 alias RegTemp2 r1 alias Temp.Switch r2 alias Temp.Target r3 alias Mem.Status r4 move Temp.Target 298 start: l RegTemp1 Gas.Sensor1 Temperature l RegTemp2 Gas.Sensor2 Temperature add RegTemp1 RegTemp1 RegTemp2 div RegTemp1 RegTemp1 2 heat: l Mem.Status MemoryA Setting sub Temp.Switch Temp.Target 10 sle Temp.Switch RegTemp1 Temp.Switch or Temp.Switch Temp.Switch Mem.Status s MemoryA Setting Temp.Switch sle Temp.Switch RegTemp1 Temp.Target beq Temp.Switch 1 cool s MemoryA Setting 0 cool: l Mem.Status MemoryB Setting add Temp.Switch Temp.Target 10 sge Temp.Switch RegTemp1 Temp.Switch or Temp.Switch Temp.Switch Mem.Status s MemoryB Setting Temp.Switch sge Temp.Switch RegTemp1 Temp.Target beq Temp.Switch 1 restart s MemoryB Setting 0 restart: yield j start Das folgende Programm macht nur in Verbindung mit dem obigen Programm sind und steuert die Temperatur in den Tanks. Es wird immer eine Zieltemperatur von ~ 25 Grad Celsius angestrebt. Für den Ausgleich der Temperatur (Kühlen oder Heizen) wird die Temperatur im Raum mit in Betracht gezogen und der Ausgleich nur dann gestartet, wenn der Raum sich in einem Rahmen von ~ 15 Grad Celsius bis ~ 35 Grad Celsius bewegt. Für jeden Tank wird 1 Bausatz zur Programmierung benötigt (1x Housing und 1x programmierbarer Chip). Was wird zusätzlich benötigt: 3x Volumenpumpen 1x Pipe Analyzer 1x Gas Sensor (sollte im Raum schon vorhanden sein aus dem obigen Programm) alias Tank d0 alias Pump.Start d1 alias Pump.Mid d2 alias Pump.End d3 alias Sensor1 d4 alias Analyser d5 alias Tank.Temp r0 alias Sensor1.Temp r1 alias Analyser.Press r2 start: l Tank.Temp Tank Temperature l Sensor1.Temp Sensor1 Temperature l Analyser.Press Analyser Pressure ble Sensor1.Temp 283 off bge Sensor1.Temp 308 off ble Tank.Temp 283 temperature bge Tank.Temp 308 temperature j off temperature: s Pump.Start On 1 s Pump.Mid On 1 s Pump.End On 1 j restart off: s Pump.Start On 0 s Pump.Mid On 0 brgtz Analyser.Press 2 s Pump.End On 0 restart: yield j start Link to comment
Phil Posted January 1, 2019 Author Report Share Posted January 1, 2019 Tank Befüllung steuern alias VentilEin d0 alias VentilAus d1 alias Tank d2 alias Regulator d3 alias Analyser d4 alias Generator d5 alias Tank.Pressure r0 alias Pipe.Pressure r1 alias Ventil.Status r2 alias Gen.Status r3 define Tank.Min 500 define Tank.Max 10000 start: bdnsal VentilEin restart bdnsal VentilAus restart bdnsal Tank restart bdnsal Regulator restart bdnsal Analyser restart l Tank.Pressure Tank Pressure l Pipe.Pressure Analyser Pressure l Ventil.Status VentilEin On l Gen.Status Generator On brnez Gen.Status 3 s VentilAus On 0 jr 2 s VentilAus On 1 # check for correct Tank Pressure brge Tank.Pressure Tank.Min 3 s VentilEin On 1 jr 3 brle Tank.Pressure Tank.Max 2 s VentilEin On 0 sgtz Pipe.Pressure Pipe.Pressure seqz Ventil.Status Ventil.Status and Ventil.Status Ventil.Status Pipe.Pressure brgtz Ventil.Status 3 s Regulator On 0 jr 2 s Regulator On 1 restart: yield j start Link to comment
Recommended Posts