Warning Lights hal

LinuxCNC kan hier besproken worden

Moderator: Moderators

Plaats reactie
RobertDutch2004
Berichten: 39
Lid geworden op: 01 mei 2015 16:29
Locatie: nabij Leeuwarden

Warning Lights hal

Bericht door RobertDutch2004 »

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?
Linki
Berichten: 686
Lid geworden op: 22 dec 2009 13:20
Contacteer:

Re: Warning Lights hal

Bericht door Linki »

Moet je die outputs niet achter elkaar op dezelfe regel plaatsen.

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

Bericht door RobertDutch2004 »

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
Dank je, dit werkt, alleen krijg ik nu de melding dat de modbus5029.00.output-13 al gelinkt is aan signal 'red-on'
Waarschijnlijk kan ik daar wel om heen werken door gebruik te maken van ' and' component
Gebruikersavatar
DaBit
Donateur
Berichten: 11640
Lid geworden op: 05 dec 2012 13:48
Locatie: Oss

Re: Warning Lights hal

Bericht door DaBit »

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'
Superkees
Berichten: 212
Lid geworden op: 13 okt 2023 14:12

Re: Warning Lights hal

Bericht door Superkees »

Ik neem aan dat

Code: Selecteer alles

net yellow-out1
iets is wat je zelf definieert? Indien ja, maar een tweede

Code: Selecteer alles

net yellow-out2
aan.
RobertDutch2004
Berichten: 39
Lid geworden op: 01 mei 2015 16:29
Locatie: nabij Leeuwarden

Re: Warning Lights hal

Bericht door RobertDutch2004 »

DaBit schreef: 01 jan 2025 20:43 net yellow-out1 => modbus5029.00.output-13 => modbus5029.00.output-14 zou toch moeten werken eigenlijk..
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'

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
Plaats reactie