Advanced Search

Search Results (Searched for: estop_latch)

20 Mar 2024 15:52

hm2/hm2_7i76e.0: error finishing read! iter=25403

Category: Driver Boards

Hey I'm running into the dreaded error finishing read! iter problems with my CNC

I'm tired of dealing with this and want to get it solved once and for all. I'll post everything about my machine updating this initial first post as I gather up all the details of my PC hardware etc.

Hardware:
Mesa 7i76e
JMC 400w ac servos

My INI file can be found here:
github.com/bhowiebkr/PrintNC_conf/blob/main/PrintNC/PrintNC.ini

Latency test:
github.com/bhowiebkr/PrintNC_conf/blob/m...p/latency%20test.png

ip a out:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether c8:1f:66:4a:c1:2b brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.11/8 brd 10.255.255.255 scope global noprefixroute enp3s0
       valid_lft forever preferred_lft forever
3: wlx6c5ab0d0684d: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 6c:5a:b0:d0:68:4d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.227/24 brd 192.168.1.255 scope global dynamic noprefixroute wlx6c5ab0d0684d
       valid_lft 55963sec preferred_lft 55963sec
    inet6 fd74:8db0:9331:f2f0:6b99:8289:4e95:de6f/64 scope global dynamic noprefixroute
       valid_lft 1438sec preferred_lft 1438sec
    inet6 fe80::4fa5:3f66:9622:fcb9/64 scope link noprefixroute
       valid_lft forever preferred_lft forever


howard@debian12:~$ halcmd show param *.tmax
Parameters:
Owner   Type  Dir         Value  Name
    63  s32   RW          17700  debounce.0.tmax
    60  s32   RW          26140  estop-latch.0.tmax
    60  s32   RW           1188  estop-latch.1.tmax
    60  s32   RW          17528  estop-latch.2.tmax
    60  s32   RW          17292  estop-latch.3.tmax
    60  s32   RW          17708  estop-latch.4.tmax
    60  s32   RW          18236  estop-latch.5.tmax
     5  s32   RW          80456  fast.tmax
    52  s32   RW              0  hm2_7i76e.0.read-request.tmax
    52  s32   RW        2301968  hm2_7i76e.0.read.tmax
    52  s32   RW          67752  hm2_7i76e.0.write.tmax
    45  s32   RW          17920  motion-command-handler.tmax
    45  s32   RW          55328  motion-controller.tmax
    55  s32   RW          16204  pid.s.do-pid-calcs.tmax
    55  s32   RW          16740  pid.w.do-pid-calcs.tmax
    55  s32   RW          26388  pid.x.do-pid-calcs.tmax
    55  s32   RW          16440  pid.y.do-pid-calcs.tmax
    55  s32   RW          16608  pid.y2.do-pid-calcs.tmax
    55  s32   RW          16708  pid.z.do-pid-calcs.tmax
    46  s32   RW        2337288  servo-thread.tmax
     6  s32   RW          81300  slow.tmax
     9  s32   RW          80456  timedelta.0.tmax
     9  s32   RW          81300  timedelta.1.tmax




 
27 Feb 2024 05:29 - 28 Feb 2024 23:01
Replied by phillc54 on topic E-Stop

E-Stop

Category: Plasmac

This may fix it for you.

In your hal file, replace this by commenting it out:
net estop-out <= iocontrol.0.user-enable-out
net estop-ext => iocontrol.0.emc-enable-in
with this:
# ---ESTOP HANDLING---
loadrt estop_latch names=elatch
addf elatch servo-thread
net estop-ext   elatch.fault-in
net estop-reset iocontrol.0.user-request-enable => elatch.reset
net estop-out   elatch.ok-out                   => iocontrol.0.emc-enable-in
# comment out the next line if the estop button is for estop reset only
net estop-set   iocontrol.0.user-enable-out     => elatch.ok-in
you should have this line somewhere already:
net estop-ext <=  hm2_7i96s.0.inm.00.input-06

note that estop-ext should match the first net line above.
09 Feb 2024 06:00

LitexCNC: firmware and driver for 5A-75B and 5A-75E

Category: Driver Boards

My current hal:


#loadrt trivkins
loadrt [KINS]KINEMATICS
loadrt litexcnc connections="eth:10.0.0.10"
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS


loadrt estop_latch
loadrt stepgen step_type=0,0,0,0,0
loadrt pwmgen output_type=1

addf estop-latch.0 servo-thread

addf 5A-75B:V8.0.read servo-thread


# Funktionen für Schrittmotoren
addf motion-command-handler servo-thread
addf motion-controller servo-thread

addf 5A-75B:V8.0.write servo-thread

# Spindel
########################################################
# Verbinden der Spindel mit dem PWM-Generator
net spindle-speed-cmd spindle.0.speed-out => 5A-75B:V8.0.pwm.00.value
# net spindle-on spindle.0.on => 5A-75B:V8.0.pwm.00.enable
setp 5A-75B:V8.0.pwm.00.enable 1

# Frequenz von 50Hz einstellen f. Servosignal Regler (1ms bis 2ms)
setp 5A-75B:V8.0.pwm.00.pwm_freq 50
setp 5A-75B:V8.0.pwm.00.min_dc 0.05
setp 5A-75B:V8.0.pwm.00.max_dc 0.1
setp 5A-75B:V8.0.pwm.00.offset 0.05

# maximale Drehzahl
setp 5A-75B:V8.0.pwm.00.scale 140000

# Drehrichtungspins
net spindle-fwd spindle.0.forward => 5A-75B:V8.0.gpio.22.out
net spindle-rev spindle.0.reverse => 5A-75B:V8.0.gpio.23.out


# Eingänge
##############################################################
net home_schalter_all 5A-75B:V8.0.gpio.06.in => joint.0.home-sw-in joint.1.home-sw-in joint.2.home-sw-in joint.3.home-sw-in joint.4.home-sw-in
#net home_schalter_y1 5A-75B:V8.0.gpio.06.in => joint.1.home-sw-in
#net home_schalter_y2 5A-75B:V8.0.gpio.06.in => joint.2.home-sw-in
#net home_schalter_z 5A-75B:V8.0.gpio.06.in => joint.3.home-sw-in

# STEPGEN - X-AXIS
##############################################################
setp 5A-75B:V8.0.stepgen.00.position-scale [JOINT_0]SCALE
setp 5A-75B:V8.0.stepgen.00.steplen 5000
setp 5A-75B:V8.0.stepgen.00.stepspace 5000
setp 5A-75B:V8.0.stepgen.00.dir-hold-time 10000
setp 5A-75B:V8.0.stepgen.00.dir-setup-time 10000
setp 5A-75B:V8.0.stepgen.00.max-velocity [JOINT_0]MAX_VELOCITY
setp 5A-75B:V8.0.stepgen.00.max-acceleration [JOINT_0]STEPGEN_MAXACCEL
# setp 5A-75B:V8.0.stepgen.00.debug true
# - Connect velocity command
net xpos_cmd joint.0.motor-pos-cmd => 5A-75B:V8.0.stepgen.00.position-cmd
net xpos_fb joint.0.motor-pos-fb <= 5A-75B:V8.0.stepgen.00.position-feedback
# - enable the drive
net xenable joint.0.amp-enable-out => 5A-75B:V8.0.stepgen.00.enable


# STEPGEN - Y1-AXIS
##############################################################
setp 5A-75B:V8.0.stepgen.01.position-scale [JOINT_1]SCALE
setp 5A-75B:V8.0.stepgen.01.steplen 5000
setp 5A-75B:V8.0.stepgen.01.stepspace 5000
setp 5A-75B:V8.0.stepgen.01.dir-hold-time 10000
setp 5A-75B:V8.0.stepgen.01.dir-setup-time 10000
setp 5A-75B:V8.0.stepgen.01.max-velocity [JOINT_1]MAX_VELOCITY
setp 5A-75B:V8.0.stepgen.01.max-acceleration [JOINT_1]STEPGEN_MAXACCEL
# setp 5A-75B:V8.0.stepgen.01.debug true
# - Connect velocity command
net y1pos_cmd joint.1.motor-pos-cmd => 5A-75B:V8.0.stepgen.01.position-cmd
net y1pos_fb joint.1.motor-pos-fb <= 5A-75B:V8.0.stepgen.01.position-feedback
# - enable the drive
net y1enable joint.1.amp-enable-out => 5A-75B:V8.0.stepgen.01.enable

# STEPGEN - Y2-AXIS
##############################################################
setp 5A-75B:V8.0.stepgen.02.position-scale [JOINT_2]SCALE
setp 5A-75B:V8.0.stepgen.02.steplen 5000
setp 5A-75B:V8.0.stepgen.02.stepspace 5000
setp 5A-75B:V8.0.stepgen.02.dir-hold-time 10000
setp 5A-75B:V8.0.stepgen.02.dir-setup-time 10000
setp 5A-75B:V8.0.stepgen.02.max-velocity [JOINT_2]MAX_VELOCITY
setp 5A-75B:V8.0.stepgen.02.max-acceleration [JOINT_2]STEPGEN_MAXACCEL
# setp 5A-75B:V8.0.stepgen.02.debug true
# - Connect velocity command
net y2pos_cmd joint.2.motor-pos-cmd => 5A-75B:V8.0.stepgen.02.position-cmd
net y2pos_fb joint.2.motor-pos-fb <= 5A-75B:V8.0.stepgen.02.position-feedback
# - enable the drive
net y2enable joint.2.amp-enable-out => 5A-75B:V8.0.stepgen.02.enable



# STEPGEN - Z-AXIS
##############################################################
setp 5A-75B:V8.0.stepgen.03.position-scale [JOINT_3]SCALE
setp 5A-75B:V8.0.stepgen.03.steplen 5000
setp 5A-75B:V8.0.stepgen.03.stepspace 5000
setp 5A-75B:V8.0.stepgen.03.dir-hold-time 10000
setp 5A-75B:V8.0.stepgen.03.dir-setup-time 10000
setp 5A-75B:V8.0.stepgen.03.max-velocity [JOINT_3]MAX_VELOCITY
setp 5A-75B:V8.0.stepgen.03.max-acceleration [JOINT_3]STEPGEN_MAXACCEL
# setp 5A-75B:V8.0.stepgen.03.debug true
# - Connect velocity command
net zpos_cmd joint.3.motor-pos-cmd => 5A-75B:V8.0.stepgen.03.position-cmd
net zpos_fb joint.3.motor-pos-fb <= 5A-75B:V8.0.stepgen.03.position-feedback
# - enable the drive
net zenable joint.3.amp-enable-out => 5A-75B:V8.0.stepgen.03.enable


# STEPGEN - A-AXIS
##############################################################
setp 5A-75B:V8.0.stepgen.04.position-scale [JOINT_4]SCALE
setp 5A-75B:V8.0.stepgen.04.steplen 5000
setp 5A-75B:V8.0.stepgen.04.stepspace 5000
setp 5A-75B:V8.0.stepgen.04.dir-hold-time 10000
setp 5A-75B:V8.0.stepgen.04.dir-setup-time 10000
setp 5A-75B:V8.0.stepgen.04.max-velocity [JOINT_4]MAX_VELOCITY
setp 5A-75B:V8.0.stepgen.04.max-acceleration [JOINT_4]STEPGEN_MAXACCEL
# setp 5A-75B:V8.0.stepgen.04.debug true
# - Connect velocity command
net cpos_cmd joint.4.motor-pos-cmd => 5A-75B:V8.0.stepgen.04.position-cmd
net cpos_fb joint.4.motor-pos-fb <= 5A-75B:V8.0.stepgen.04.position-feedback
# - enable the drive
net cenable joint.4.amp-enable-out => 5A-75B:V8.0.stepgen.04.enable



loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared


# Watchdog-Einstellungen
setp 5A-75B:V8.0.watchdog.timeout_ns 3000000

net estop-loopout iocontrol.0.emc-enable-in <= estop-latch.0.ok-out
net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in <= 5A-75B:V8.0.watchdog.has_bitten
14 Jan 2024 12:41

Stepper Treiber Alarm Ausgang

Category: Deutsch

Sollte ich die Endstufen schon beim Einschalten der Steuerung mit einschalten und die Enable-Ports der Endstufen mit maschine-is-enable (F1) verbinden?
net amp-fault-x joint.0.amp-fault-in <= [HMOT](CARD0).7i76.0.0.input-29 => msg_x-alarm.trigger
net amp-fault-y joint.1.amp-fault-in <= [HMOT](CARD0).7i76.0.0.input-30 => msg_y-alarm.trigger
net amp-fault-z joint.2.amp-fault-in <= [HMOT](CARD0).7i76.0.0.input-31 => msg_z-alarm.trigger

Kann ich estop-latch.N.fault-in für den Notaus und den FU-Alarm nutzen?

Gruß Norbert


So schalte ich meine Antriebe auch aus im Alarm. Linuxcnc schalten im Falle einer Störung "machine-is-enabled" aus.
Ich schalte damit mein Sicherheitsrelay. Und das gibt dann das Enable Signal an die Antriebe.
Möchtest du auf Nummer sicher gehen kannst mit einem Schütz die Leistung zum Antrieb schalten. Und der NotAus schaltet das Schütz.
Dann würden mit F1 deine Antriebe Leistung bekommen und mit F2 die Freigabe. 

Kann ich estop-latch.N.fault-in für den Notaus und den FU-Alarm nutzen?
Ich würde sagen ja. Hat deine Spindel ein Problem hält in jedem Fall alles an. Ist nur immer Blöd wenn die Antriebe auch gleich ohne Leistung sind. Macht eine Fehlerdiagnose oft schwieriger. 
 
08 Jan 2024 20:41

Stepper Treiber Alarm Ausgang

Category: Deutsch

Einen Delay für den die Alarme (Endstufen und FU) will ich in jedem Fall vermeiden. Zur Zeit schalte ich die Stromversorgung der Stepperendstufen über den maschine-is-enable (F1) ein und da ist das Problem. Sollte ich die Endstufen schon beim Einschalten der Steuerung mit einschalten und die Enable-Ports der Endstufen mit maschine-is-enable (F1) verbinden? Wie kann ich dann aber im Fall eines E-Stops als zusätzliche Funktion/Sicherheit die Endstufen abschalten. Wie würde die Konfiguration eines Ausgangs für das Relais aussehen. Ich stecke leider nicht so tief in LinuxCNC. 
Die Alarme für die Endstufen habe ich so geschaltet.
# --- CL-Stepper Alarm ---
net amp-fault-x joint.0.amp-fault-in <= [HMOT](CARD0).7i76.0.0.input-29 => msg_x-alarm.trigger
net amp-fault-y joint.1.amp-fault-in <= [HMOT](CARD0).7i76.0.0.input-30 => msg_y-alarm.trigger
net amp-fault-z joint.2.amp-fault-in <= [HMOT](CARD0).7i76.0.0.input-31 => msg_z-alarm.trigger

Kann ich estop-latch.N.fault-in für den Notaus und den FU-Alarm nutzen?

Gruß Norbert
08 Jan 2024 17:49

Stepper Treiber Alarm Ausgang

Category: Deutsch

Ein timedelay wäre ein Möglichkeit. Würde aber im Ernstfall auch bedeuten das die Maschine Zeitverzögert abschaltet. Vielleicht kann ein Power On taster helfen die Maschine einzuschalten. Solange der Taster gedrückt wird ist der Fehler quittiert. Und hat der Antrieb wirklich ein Problem dann geht die Maschine nach loslassen des Tasters wieder in Störung.
Zu deinem NotAus. 
Ich habe alle Antriebe mit dem *amp-fault-in Signal verbunden. So gibt es auch gleich Meldung wer schmerzen hat.
Wenn du ihn zusätzlich auch mit in den Notaus haben möchtest gibt die E-stop kette.
linuxcnc.org/docs/stable/html/man/man9/estop_latch.9.html
Habe so meine Messtaster eingebunden. 
net toolsensor     <=  hm2_7i76e.0.7i84.0.1.input-23-not
net toolsensor    => estop-latch.1.fault-in 
03 Jan 2024 17:51

Unable to exit Estop after upgrading to 2.10 (from 2.9)

Category: Qtvcp

Thanks for the reply.

I have re-writen the Estop  code deleting the estop-latch stuff (it seems redundent)
I'm not quite sure why it was needed in the first plase.

Here is the code that is tested & working...
    net remora-status            <= remora.status                     => and2.0.in0
    net estop-status            <= remora.input.00.not                => and2.0.in1
    net user-enable-in            <= and2.0.out                         => iocontrol.0.emc-enable-in
    net user-enable-out            <= iocontrol.0.user-enable-out        => remora.enable
    net user-request-enable     <= iocontrol.0.user

Thanks
Alex
03 Jan 2024 04:06

Unable to exit Estop after upgrading to 2.10 (from 2.9)

Category: Qtvcp

Unfortunately I don't really understand it at all. the remora part is 3 lines (from github)....
    net user-enable-out            <= iocontrol.0.user-enable-out            => remora.enable
    net user-request-enable     <= iocontrol.0.user-request-enable        => remora.reset
    net remora-status             <= remora.status                         => iocontrol.0.emc-enable-in

I used these lines to allow a hardware Estop button....
    net remora-status            <= remora.status                     => and2.0.in0
    net estop-status            <= estop-latch.0.ok-out             => and2.0.in1
    net user-enable-in            <= and2.0.out                         => iocontrol.0.emc-enable-in

And as far as I can see the rest is some sort of glue logic.

Do you have a (simpler) example using a hardware input?

I posted here because this all works in 2.9 but does not work in 2.10. I have tested the exact same code & hardware, the only difference being the version of LinuxCNC.

If you can add anything I would appreciate it as it does all seem very convoluted to me.

Thanks
Alex
 
29 Dec 2023 02:29

Unable to exit Estop after upgrading to 2.10 (from 2.9)

Category: HAL

Looking through the documentation it says estop-latch.0.reset has to cycle but I don't see how that happens.

If I cycle halui.estop.active I am able to get out of estop.

Unfortunately this all seems over complicated & i'm not really sure what is going on here or why it works on 2.9

Thanks
Alex
27 Dec 2023 22:07

Remora - ethernet NVEM cnc board

Category: Computers and OS's

frayja, needing to restart linuxcnc to recover from estop several times is very abnormal behavior. I would be willing to bet this behavior is most likely due to your hal estop latch logic. I suggest verify the integrity of your hal estop latch logic before moving forward.

Can you recover from estop at all? physical or software

Use halshow to watch all those pins to see exactly what is happening when you cannot reset estop

linuxcnc.org/docs/stable/html/hal/tools.html#_halshow
26 Dec 2023 10:52

Remora - ethernet NVEM cnc board

Category: Computers and OS's

The latest v3+ firmware changed to an absolute position count.....

So is there a way to reset this? Every time I power cycle the EC500 box now I have to start LinuxCNC twice.
Not really a problem but a little inconvenient.

On a side note...
I updated one of my computers to LinuxCNC 2.10 & now when I hit the Estop (hardware) button I cannot take it out of estop without restarting.
I'm guessing the is some change in the way Estop should be done in the hal file.
Does anyone have any ideas on this? Here is the relavent code.

#Estop and SPI comms enable and feedback
    net estop-button                 => estop-latch.0.fault-in                    <= remora.input.00
    net estop-tripped-by-gui    <= remora.status                                => and2.0.in0
    net estop-gui-button          <= estop-latch.0.ok-out                       => and2.0.in1
    net stop-buttons-good        <= and2.0.out                                     => iocontrol.0.emc-enable-in
    net user-enable-out            <= iocontrol.0.user-enable-out           => remora.enable            => estop-latch.0.ok-in
    net user-request-enable     <= iocontrol.0.user-request-enable    => remora.reset                => estop-latch.0.reset

Thanks
Alex

 
19 Dec 2023 12:16

E-Stop beim Starten von LinuxCNC immer AKTIV

Category: Deutsch

Yes, the estop is a loop.
That line is required but it can be different  with external hardware. In which case it is preferable (safer) to use estop-latch.
When I used a safety relay with an external estop button and an external estop latch button, the output from the safety relay was connected to  iocontrol.0.emc-enable-in
17 Dec 2023 17:38

E-Stop beim Starten von LinuxCNC immer AKTIV

Category: Deutsch

OK, was stimmt mit meiner HAL dann nicht?

Ich habe den Code raus herausgenommen, dann kann ich meine Machien nie entriegeln.
Wenn ich den Code drin lasse, dann kann ich sie mit der Maus und dem Taster entriegeln.
Ich habe die INI und die HAL über ein Tool erstellt, und ich habe die Befürchtung das, wenn das mit dem Notaus schon irgendwas nicht ganz stimmt, das dann eventuell an anderer Stelle auch was nicht stimmt.
[color=#6a9955]## E-Stop Chain[/color][color=#6a9955]# loadrt estop_latch count=1[/color][color=#6a9955]# addf estop-latch.0 servo-thread[/color][color=#6a9955]#[/color][color=#6a9955]# E-Stop Loop[/color][color=#6a9955]# net estop-loopin iocontrol.0.user-enable-out => estop-latch.0.ok-in[/color][color=#6a9955]# net estop-loopout estop-latch.0.ok-out => iocontrol.0.emc-enable-in[/color][color=#6a9955]#[/color][color=#6a9955]## E-Stop Reset[/color][color=#6a9955]# net estop-reset iocontrol.0.user-request-enable[/color][color=#6a9955]# net estop-reset => estop-latch.0.reset[/color][color=#6a9955]# net remote-estop0 estop-latch.0.fault-in <= hm2_7i95.0.inmux.00.input-00-not[/color][color=#6a9955]#[/color][color=#6a9955]## ################################################################################################ #[/color][color=#6a9955]## Benachrichtigung bei Betätigung des Hardware-Notausschalters. #[/color][color=#6a9955]## Beeinflusst nicht den Ablauf von LinuxCNC; dient ausschließlich der Benutzeranzeige. #[/color][color=#6a9955]## ################################################################################################ #[/color][color=#6a9955]# loadrt message names=MSG_Notaus messages="Hardware: Not-Aus-Schalter wurde betätigt"[/color][color=#6a9955]# addf MSG_Notaus servo-thread[/color][color=#6a9955]# setp MSG_Notaus.edge 1[/color][color=#6a9955]# # Bedeutung:[/color][color=#6a9955]# # setp MSG_Notaus.edge 0 (aktiv wenn kein Signal)[/color][color=#6a9955]# # setp MSG_Notaus.edge 1 (aktiv wenn Signal)[/color][color=#6a9955]# net remote-estop0 estop-latch.0.fault-in <= hm2_7i95.0.inmux.00.input-00-not => MSG_Notaus.trigger[/color]
 

File Attachment:

File Name: main_2023-12-17.hal
File Size:11 KB


Gruß Mücke

 
11 Dec 2023 11:20

E-Stop beim Starten von LinuxCNC immer AKTIV

Category: Deutsch

Hallo zusammen,

für meinen E-Stop Taster (Roter Pilz) habe ich einen Fertigen Code genommen.
Dieser funktioniert auch einwandfrei. Wenn ich den Pilz drücke, dann geht die Maschine in den Not-Aus.

Was ich jedoch etwas Doof finde, ist das ich, wenn LinuxCNC gestartet wird immer über die GUI zuerst den E-Stop herausnehmen muss. Und dieser nicht von alleine herausgeht, da mein Pilz nicht gedrückt ist.

Je es ist einerseits richtig, denn der GUI E-Stop soll ja unabhängig vom Hardware Pilz funktionieren.

Dennoch wollte ich fragen, wie Ihr das macht.

Das ist mein Code:
# E-Stop Chain
loadrt estop_latch count=1
addf   estop-latch.0 servo-thread

# E-Stop Loop
net estop-loopin  iocontrol.0.user-enable-out => estop-latch.0.ok-in
net estop-loopout estop-latch.0.ok-out        => iocontrol.0.emc-enable-in

# E-Stop Reset
net estop-reset       iocontrol.0.user-request-enable
net estop-reset    => estop-latch.0.reset
net remote-estop0     estop-latch.0.fault-in          <= hm2_7i95.0.inmux.00.input-00-not


Gruß Mücke



 
10 Dec 2023 14:52

Configured offset in INI file not applied properly

Category: QtPyVCP

Some more progress...

Removing the reference to halui.estop.reset in the my custom.hal file makes the problem go away but it also prevents the e-stop in the UI from being reset automatically when e-stop relay is reset.

loadrt estop_latch
loadrt oneshot count=2

addf estop-latch.0     servo-thread
addf oneshot.0         servo-thread
addf oneshot.1         servo-thread

setp oneshot.0.width 1
setp oneshot.1.width 1

#Automatically reset e-stop in UI and any fault codes on the drives
net reset-trig oneshot.0.in                      <= hm2_7i96s.0.7i84.0.0.input-00
net reset-ui   oneshot.0.out                     => halui.estop.reset hm2_7i96s.0.7i84.0.0.output-11 hm2_7i96s.0.7i84.0.0.output-12 hm2_7i96s.0.7i84.0.0.output-13

#Latching e-stop function
net estop-loopout iocontrol.0.emc-enable-in      <= estop-latch.0.ok-out
net estop-loopin iocontrol.0.user-enable-out     => estop-latch.0.ok-in
net estop-reset iocontrol.0.user-request-enable  => estop-latch.0.reset
net remote-estop estop-latch.0.fault-in          <= hm2_7i96s.0.7i84.0.0.input-00-not

#When software e-stop is detected momentarily break e-stop circuit to trigger safety relay requiring external reset
net estop-relay-in oneshot.1.in                        <= estop-latch.0.fault-out
net estop-relay-out oneshot.1.out-not                   => hm2_7i96s.0.7i84.0.0.output-00

I guess that Probe Basic must also have signal to halui.estop.reset somewhere which breaks silently due to me also using it in my custom.hal file.

I'll see if I can find the reference but in worst case I'll have to reset the e-stop first using the physical button/relay and then by clicking on the button in the GUI. However I'd really prefer to only have to use the physical button like it works for me in Axis.
Displaying 1 - 15 out of 33 results.
Time to create page: 0.928 seconds
Powered by Kunena Forum