Warning Lights hal
Moderator: Moderators
-
RobertDutch2004
- Berichten: 39
- Lid geworden op: 01 mei 2015 16:29
- Locatie: nabij Leeuwarden
Warning Lights hal
Ik heb even hulp nodig met het configureren van warning lights binnen linux cnc.
Onderstaande werkt nu netjes via modbus outputs. Het probleem zit er in dat ik een K50Pro Led gebruik waarmee je met 3 pinnen 9 verschillende kleuren kunt maken. Rood is gelukkig 1 pin(Input1) en Groen ook(Input2). Alleen voor geel moet input1 en 2 hoog zijn.
Nu probeer het via een custom hal, misschien is een component in deze handiger alleen ben ik daar nog niet in thuis.
Onderstaande werkt alleen is geel nu blauw omdat ik aan een 'net' maar 1 output pin kan hangen
# --rk_custom_warning_lights.hal-----------------------------------------------------------
# General
loadrt and2 count=2
loadrt xor2 count=1
loadrt siggen num_chan=1
addf and2.0 servo-thread
addf and2.1 servo-thread
addf xor2.0 servo-thread
addf siggen.0.update servo-thread
setp siggen.0.frequency 2
# Red Light
net red-on <= halui.estop.is-activated
net red-on => modbus5029.00.output-13
# Green Light
net green-in1 <= halui.program.is-running => xor2.0.in0
net green-in2 <= halui.program.is-paused => and2.1.in1
net flash <= siggen.0.clock => and2.1.in0
net green-flash <= and2.1.out => xor2.0.in1
net green-on <= xor2.0.out => modbus5029.00.output-14
# Yellow Light
net machine-is-on => and2.0.in0
net yellow-in2 <= halui.program.is-idle
net yellow-in2 => and2.0.in1
net yellow-out1 <= and2.0.out
net yellow-out1 => modbus5029.00.output-15 # 1 pin Blue
# ---------------------------------------------------------------------------------------
!!! De laat regel zou dan moeten worden vervangen voor onderstaande i.v.m kleur geel !!!
net yellow-out1 => modbus5029.00.output-13
net yellow-out1 => modbus5029.00.output-14
Alleen dit werkt niet omdat er dan een foutmelding kom over twee outputs op dezelfde ' net' .
Wat zou een oplossing kunnen zijn?
Onderstaande werkt nu netjes via modbus outputs. Het probleem zit er in dat ik een K50Pro Led gebruik waarmee je met 3 pinnen 9 verschillende kleuren kunt maken. Rood is gelukkig 1 pin(Input1) en Groen ook(Input2). Alleen voor geel moet input1 en 2 hoog zijn.
Nu probeer het via een custom hal, misschien is een component in deze handiger alleen ben ik daar nog niet in thuis.
Onderstaande werkt alleen is geel nu blauw omdat ik aan een 'net' maar 1 output pin kan hangen
# --rk_custom_warning_lights.hal-----------------------------------------------------------
# General
loadrt and2 count=2
loadrt xor2 count=1
loadrt siggen num_chan=1
addf and2.0 servo-thread
addf and2.1 servo-thread
addf xor2.0 servo-thread
addf siggen.0.update servo-thread
setp siggen.0.frequency 2
# Red Light
net red-on <= halui.estop.is-activated
net red-on => modbus5029.00.output-13
# Green Light
net green-in1 <= halui.program.is-running => xor2.0.in0
net green-in2 <= halui.program.is-paused => and2.1.in1
net flash <= siggen.0.clock => and2.1.in0
net green-flash <= and2.1.out => xor2.0.in1
net green-on <= xor2.0.out => modbus5029.00.output-14
# Yellow Light
net machine-is-on => and2.0.in0
net yellow-in2 <= halui.program.is-idle
net yellow-in2 => and2.0.in1
net yellow-out1 <= and2.0.out
net yellow-out1 => modbus5029.00.output-15 # 1 pin Blue
# ---------------------------------------------------------------------------------------
!!! De laat regel zou dan moeten worden vervangen voor onderstaande i.v.m kleur geel !!!
net yellow-out1 => modbus5029.00.output-13
net yellow-out1 => modbus5029.00.output-14
Alleen dit werkt niet omdat er dan een foutmelding kom over twee outputs op dezelfde ' net' .
Wat zou een oplossing kunnen zijn?
Re: Warning Lights hal
Moet je die outputs niet achter elkaar op dezelfe regel plaatsen.
net yellow-out1 => modbus5029.00.output-13 moddbus5029.00.output-14
net yellow-out1 => modbus5029.00.output-13 moddbus5029.00.output-14
-
RobertDutch2004
- Berichten: 39
- Lid geworden op: 01 mei 2015 16:29
- Locatie: nabij Leeuwarden
Re: Warning Lights hal
Dank je, dit werkt, alleen krijg ik nu de melding dat de modbus5029.00.output-13 al gelinkt is aan signal 'red-on'Linki schreef: 01 jan 2025 14:46 Moet je die outputs niet achter elkaar op dezelfde regel plaatsen.
net yellow-out1 => modbus5029.00.output-13 moddbus5029.00.output-14
Waarschijnlijk kan ik daar wel om heen werken door gebruik te maken van ' and' component
Re: Warning Lights hal
net yellow-out1 => modbus5029.00.output-13 => modbus5029.00.output-14 zou toch moeten werken eigenlijk..
De belangrijkste wet in de wetenschap: 'hoe minder efficient en hoe meer herrie, hoe leuker het is'
Re: Warning Lights hal
Ik neem aan dat iets is wat je zelf definieert? Indien ja, maar een tweede aan.
Code: Selecteer alles
net yellow-out1Code: Selecteer alles
net yellow-out2-
RobertDutch2004
- Berichten: 39
- Lid geworden op: 01 mei 2015 16:29
- Locatie: nabij Leeuwarden
Re: Warning Lights hal
Een output mag je blijkbaar maar aan 1 net hangen, in deze zat modbus5029.00.output-13 al aan net 'red-on' en modbus5029.00.output-14 aan net 'green-on'DaBit schreef: 01 jan 2025 20:43 net yellow-out1 => modbus5029.00.output-13 => modbus5029.00.output-14 zou toch moeten werken eigenlijk..
Onderstaand en oplossing die nu voor mij werkt:
# Red | Machine estop active
# Green | Machine on -and Program is running
# Green-flash | Machine on -and Program is paused
# Yellow | Machine is on -and Program is Idle
# Blue | machine is off
# General
loadrt siggen num_chan=1
loadrt logic count=1 personality=0x1003 # nor
loadrt xor2 count=1
loadrt and2 count=2
loadrt or2 count=3
addf siggen.0.update servo-thread
addf logic.0 servo-thread # Logic blue
addf xor2.0 servo-thread
addf and2.0 servo-thread
addf and2.1 servo-thread
addf or2.0 servo-thread # Led pin1
addf or2.1 servo-thread # Led pin2
addf or2.2 servo-thread # Led pin3
setp siggen.0.frequency 2
# Signal Red | Machine estop active
net red-on <= halui.estop.is-activated
# Signal Green/Green-flash | Machine on -and Program is running or paused
net flash <= siggen.0.clock => and2.0.in0
net green-in1 <= halui.program.is-running => xor2.0.in0
net green-in2 <= halui.program.is-paused => and2.0.in1
net flash <= siggen.0.clock => and2.0.in0
net green-flash <= and2.0.out => xor2.0.in1
net green-on <= xor2.0.out
# Signal Yellow | Machine is on -and Program is Idle
net machine-is-on => and2.1.in0
net idle <= halui.program.is-idle
net idle => and2.1.in1
net yellow-on <= and2.1.out
# Logic
net red-on => logic.0.in-00 or2.0.in0
net green-on => logic.0.in-01 or2.1.in0
net yellow-on => logic.0.in-02 or2.0.in1 or2.1.in1
# Signal Blue | Machine is off
net blue-on <= logic.0.nor or2.2.in1
# Led pins
net led_pin1 <= or2.0.out => modbus5029.00.output-13
net led_pin2 <= or2.1.out => modbus5029.00.output-14
net led_pin3 <= or2.2.out => modbus5029.00.output-15

