Hello,
> Which version of LinuxCNC are you using?
I tried with both 2.5.2 and 2.4.7, machine is a ubuntu 10.04 lucid 32
bits with rtai installed from the emc2 cd. The 2.5.2 version is stock
from the deb packages. The 2.4.7 version has some changes to the
interpreter, but no other changes to other parts. The ini file and the
hal file are the same for both versions of emc2/linuxcnc that I use.
This is the 7i43 loadrt:
loadrt hm2_7i43 config="firmware=hm2/7i43/SVST4_4S.BIT num_encoders=4
num_pwmgens=4 num_stepgens=0" epp_wide=1
> When .has-bit goes high, does the .io-error pin also go high?
No it doesn't.
16 bit I/O TRUE hm2_7i43.0.watchdog.has_bit
16 bit RW FALSE hm2_7i43.0.io_error
> Can you show us 'halcmd show funct' and 'halcmd show thread' before and
> after the watchdog bites?
These are the values after the watchdog has bit. I unfortunately don't
have values from just before the watchdog bites. Would the values help
that I get when I switch on the cnc with with 7i43+7i33 attached ?
Realtime Threads:
Period FP Name ( Time, Max-Time )
498550 YES servo-thread ( 6060, 764883 )
1 debounce.0
2 motion-command-handler
3 motion-controller
4 pid.0.do-pid-calcs
5 pid.1.do-pid-calcs
6 offset.0.update-output
7 offset.1.update-output
8 offset.0.update-feedback
9 offset.1.update-feedback
10 limit3.0
11 limit3.1
12 near.0
13 near.1
14 sum2.0
15 sum2.1
16 and2.0
17 hm2_7i43.0.read
18 hm2_7i43.0.write
19 hm2_7i43.0.pet_watchdog
20 xor2.0
21 tool-output.0
22 not.0
23 and3.0
Exported Functions:
Owner CodeAddr Arg FP Users Name
00013 fe3aa000 fe152268 NO 1 and2.0
00013 fe3aa000 fe152278 NO 0 and2.1
00020 fe45e000 fe152920 NO 1 and3.0
00012 fe3a0000 fe1521f8 NO 1 debounce.0
00016 fe3cb17f f64f9000 NO 1 hm2_7i43.0.pet_watchdog
00016 fe3c4921 f64f9000 YES 1 hm2_7i43.0.read
00016 fe3c48a1 f64f9000 YES 1 hm2_7i43.0.write
00009 fe382000 fe152098 YES 1 limit3.0
00009 fe382000 fe1520e8 YES 1 limit3.1
00006 fe1c28d0 00000000 YES 1 motion-command-handler
00006 fe1c4d9a 00000000 YES 1 motion-controller
00010 fe38c000 fe152148 YES 1 near.0
00010 fe38c000 fe152168 YES 1 near.1
00019 fe43f000 fe152900 NO 1 not.0
00008 fe378000 fe152058 YES 1 offset.0.update-feedback
00008 fe37801b fe152058 YES 1 offset.0.update-output
00008 fe378000 fe152070 YES 1 offset.1.update-feedback
00008 fe37801b fe152070 YES 1 offset.1.update-output
00007 fe36d000 fe151ef8 YES 1 pid.0.do-pid-calcs
00007 fe36d000 fe151f80 YES 1 pid.1.do-pid-calcs
00011 fe396000 fe152198 YES 1 sum2.0
00011 fe396000 fe1521c0 YES 1 sum2.1
00018 fe435000 fe1528c0 YES 1 tool-output.0
00017 fe415000 fe1528a0 NO 1 xor2.0
> You could use the .has-bit pin as another input into your classic ladder
> estop chain, and that would probably make sense.
Yes I could add it to the estop chain, however I don't use the classic
ladder and I thought that there is maybe a special pin for the watchdog
to generate a more descriptive error other than just plain estop.
> You could also add some other logic to reset the watchdog when you leave
> estop, but i don't think you should. The watchdog should never, ever
> bite, and it shouldn't be a routine matter to reset it. Let's figure
> out why it's biting, and fix that problem.
I agree that the watchdog should never bite and I am aware that I could
write a custom .comp for it and tie that into the estop chain, which
I'll probably do. The thing is that I'd rather continue the job if I can
and not throw away the material, makes my purse weep ;)
If it helps, these are the 7i43 pins after the watchdog has bit,
unfortunately I don't know anymore if I had pressed the estop button or not.
16 s32 OUT -1 hm2_7i43.0.encoder.00.count
16 s32 OUT 0 hm2_7i43.0.encoder.00.count-latched
16 bit I/O FALSE hm2_7i43.0.encoder.00.index-enable <=>
Xindex
16 bit IN FALSE hm2_7i43.0.encoder.00.latch-enable
16 bit IN FALSE hm2_7i43.0.encoder.00.latch-polarity
16 float OUT -0.01 hm2_7i43.0.encoder.00.position ==> Xpos-fb
16 float OUT 0 hm2_7i43.0.encoder.00.position-latched
16 s32 OUT -1 hm2_7i43.0.encoder.00.rawcounts
16 s32 OUT 0 hm2_7i43.0.encoder.00.rawlatch
16 bit IN FALSE hm2_7i43.0.encoder.00.reset
16 float OUT 0 hm2_7i43.0.encoder.00.velocity
16 s32 OUT 8201 hm2_7i43.0.encoder.01.count
16 s32 OUT 0 hm2_7i43.0.encoder.01.count-latched
16 bit I/O FALSE hm2_7i43.0.encoder.01.index-enable <=>
Yindex
16 bit IN FALSE hm2_7i43.0.encoder.01.latch-enable
16 bit IN FALSE hm2_7i43.0.encoder.01.latch-polarity
16 float OUT -82.01 hm2_7i43.0.encoder.01.position ==> Ypos-fb
16 float OUT -0 hm2_7i43.0.encoder.01.position-latched
16 s32 OUT 8201 hm2_7i43.0.encoder.01.rawcounts
16 s32 OUT 0 hm2_7i43.0.encoder.01.rawlatch
16 bit IN FALSE hm2_7i43.0.encoder.01.reset
16 float OUT 0 hm2_7i43.0.encoder.01.velocity
16 s32 OUT 0 hm2_7i43.0.encoder.02.count
16 s32 OUT 0 hm2_7i43.0.encoder.02.count-latched
16 bit I/O FALSE hm2_7i43.0.encoder.02.index-enable
16 bit IN FALSE hm2_7i43.0.encoder.02.latch-enable
16 bit IN FALSE hm2_7i43.0.encoder.02.latch-polarity
16 float OUT 0 hm2_7i43.0.encoder.02.position
16 float OUT 0 hm2_7i43.0.encoder.02.position-latched
16 s32 OUT 0 hm2_7i43.0.encoder.02.rawcounts
16 s32 OUT 0 hm2_7i43.0.encoder.02.rawlatch
16 bit IN FALSE hm2_7i43.0.encoder.02.reset
16 float OUT 0 hm2_7i43.0.encoder.02.velocity
16 s32 OUT 0 hm2_7i43.0.encoder.03.count
16 s32 OUT 0 hm2_7i43.0.encoder.03.count-latched
16 bit I/O FALSE hm2_7i43.0.encoder.03.index-enable
16 bit IN FALSE hm2_7i43.0.encoder.03.latch-enable
16 bit IN FALSE hm2_7i43.0.encoder.03.latch-polarity
16 float OUT 0 hm2_7i43.0.encoder.03.position
16 float OUT 0 hm2_7i43.0.encoder.03.position-latched
16 s32 OUT 0 hm2_7i43.0.encoder.03.rawcounts
16 s32 OUT 0 hm2_7i43.0.encoder.03.rawlatch
16 s32 OUT 0 hm2_7i43.0.encoder.03.rawlatch
16 bit IN FALSE hm2_7i43.0.encoder.03.reset
16 float OUT 0 hm2_7i43.0.encoder.03.velocity
16 bit OUT FALSE hm2_7i43.0.gpio.000.in
16 bit OUT TRUE hm2_7i43.0.gpio.000.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.001.in
16 bit OUT FALSE hm2_7i43.0.gpio.001.in_not
16 bit OUT FALSE hm2_7i43.0.gpio.002.in
16 bit OUT TRUE hm2_7i43.0.gpio.002.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.003.in
16 bit OUT FALSE hm2_7i43.0.gpio.003.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.004.in
16 bit OUT FALSE hm2_7i43.0.gpio.004.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.005.in
16 bit OUT FALSE hm2_7i43.0.gpio.005.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.006.in
16 bit OUT FALSE hm2_7i43.0.gpio.006.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.007.in
16 bit OUT FALSE hm2_7i43.0.gpio.007.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.008.in
16 bit OUT FALSE hm2_7i43.0.gpio.008.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.009.in
16 bit OUT FALSE hm2_7i43.0.gpio.009.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.010.in
16 bit OUT FALSE hm2_7i43.0.gpio.010.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.011.in
16 bit OUT FALSE hm2_7i43.0.gpio.011.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.012.in
16 bit OUT FALSE hm2_7i43.0.gpio.012.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.013.in
16 bit OUT FALSE hm2_7i43.0.gpio.013.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.014.in
16 bit OUT FALSE hm2_7i43.0.gpio.014.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.015.in
16 bit OUT FALSE hm2_7i43.0.gpio.015.in_not
16 bit OUT FALSE hm2_7i43.0.gpio.016.in
16 bit OUT TRUE hm2_7i43.0.gpio.016.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.017.in
16 bit OUT FALSE hm2_7i43.0.gpio.017.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.018.in
16 bit OUT FALSE hm2_7i43.0.gpio.018.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.019.in
16 bit OUT FALSE hm2_7i43.0.gpio.019.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.020.in
16 bit OUT FALSE hm2_7i43.0.gpio.020.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.021.in
16 bit OUT FALSE hm2_7i43.0.gpio.021.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.022.in
16 bit OUT FALSE hm2_7i43.0.gpio.022.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.023.in
16 bit OUT FALSE hm2_7i43.0.gpio.023.in_not
16 bit OUT TRUE hm2_7i43.0.gpio.024.in
16 bit OUT FALSE hm2_7i43.0.gpio.024.in_not
16 bit IN TRUE hm2_7i43.0.gpio.024.out <== EstopWrite
16 bit OUT TRUE hm2_7i43.0.gpio.025.in
16 bit OUT FALSE hm2_7i43.0.gpio.025.in_not
16 bit IN FALSE hm2_7i43.0.gpio.025.out
16 bit OUT TRUE hm2_7i43.0.gpio.026.in
16 bit OUT FALSE hm2_7i43.0.gpio.026.in_not
16 bit IN FALSE hm2_7i43.0.gpio.026.out <== tool1andtool5
16 bit OUT TRUE hm2_7i43.0.gpio.027.in
16 bit OUT FALSE hm2_7i43.0.gpio.027.in_not
16 bit IN FALSE hm2_7i43.0.gpio.027.out <== tool2
16 bit OUT TRUE hm2_7i43.0.gpio.028.in
16 bit OUT FALSE hm2_7i43.0.gpio.028.in_not
16 bit IN FALSE hm2_7i43.0.gpio.028.out <== tool3
16 bit OUT TRUE hm2_7i43.0.gpio.029.in
16 bit OUT FALSE hm2_7i43.0.gpio.029.in_not
16 bit IN FALSE hm2_7i43.0.gpio.029.out <== tool4
16 bit OUT TRUE hm2_7i43.0.gpio.030.in
16 bit OUT FALSE hm2_7i43.0.gpio.030.in_not
16 bit IN FALSE hm2_7i43.0.gpio.030.out
16 bit OUT TRUE hm2_7i43.0.gpio.031.in
16 bit OUT FALSE hm2_7i43.0.gpio.031.in_not
16 bit IN FALSE hm2_7i43.0.gpio.031.out <== AmpEnableAll
16 bit OUT TRUE hm2_7i43.0.gpio.032.in
16 bit OUT FALSE hm2_7i43.0.gpio.032.in_not ==> EstopSense
16 bit IN FALSE hm2_7i43.0.gpio.032.out
16 bit OUT TRUE hm2_7i43.0.gpio.033.in
16 bit OUT FALSE hm2_7i43.0.gpio.033.in_not
16 bit IN FALSE hm2_7i43.0.gpio.033.out
16 bit OUT TRUE hm2_7i43.0.gpio.034.in
16 bit OUT FALSE hm2_7i43.0.gpio.034.in_not
16 bit IN FALSE hm2_7i43.0.gpio.034.out
16 bit OUT TRUE hm2_7i43.0.gpio.035.in
16 bit OUT FALSE hm2_7i43.0.gpio.035.in_not
16 bit IN FALSE hm2_7i43.0.gpio.035.out
16 bit OUT TRUE hm2_7i43.0.gpio.036.in
16 bit OUT FALSE hm2_7i43.0.gpio.036.in_not
16 bit IN FALSE hm2_7i43.0.gpio.036.out
16 bit OUT TRUE hm2_7i43.0.gpio.037.in
16 bit OUT FALSE hm2_7i43.0.gpio.037.in_not
16 bit IN FALSE hm2_7i43.0.gpio.037.out
16 bit OUT TRUE hm2_7i43.0.gpio.038.in
16 bit OUT FALSE hm2_7i43.0.gpio.038.in_not
16 bit IN FALSE hm2_7i43.0.gpio.038.out
16 bit OUT TRUE hm2_7i43.0.gpio.039.in
16 bit OUT FALSE hm2_7i43.0.gpio.039.in_not
16 bit IN FALSE hm2_7i43.0.gpio.039.out
16 bit OUT TRUE hm2_7i43.0.gpio.040.in
16 bit OUT FALSE hm2_7i43.0.gpio.040.in_not
16 bit IN FALSE hm2_7i43.0.gpio.040.out
16 bit OUT TRUE hm2_7i43.0.gpio.041.in
16 bit OUT FALSE hm2_7i43.0.gpio.041.in_not
16 bit IN FALSE hm2_7i43.0.gpio.041.out
16 bit OUT TRUE hm2_7i43.0.gpio.042.in
16 bit OUT FALSE hm2_7i43.0.gpio.042.in_not
16 bit IN FALSE hm2_7i43.0.gpio.042.out
16 bit OUT TRUE hm2_7i43.0.gpio.043.in
16 bit OUT FALSE hm2_7i43.0.gpio.043.in_not
16 bit IN FALSE hm2_7i43.0.gpio.043.out
16 bit OUT FALSE hm2_7i43.0.gpio.044.in ==> AmpfaultAny
16 bit OUT TRUE hm2_7i43.0.gpio.044.in_not
16 bit IN FALSE hm2_7i43.0.gpio.044.out
16 bit OUT TRUE hm2_7i43.0.gpio.045.in
16 bit OUT FALSE hm2_7i43.0.gpio.045.in_not
16 bit IN FALSE hm2_7i43.0.gpio.045.out
16 bit OUT TRUE hm2_7i43.0.gpio.046.in
16 bit OUT FALSE hm2_7i43.0.gpio.046.in_not
16 bit IN FALSE hm2_7i43.0.gpio.046.out
16 bit OUT TRUE hm2_7i43.0.gpio.047.in
16 bit OUT FALSE hm2_7i43.0.gpio.047.in_not
16 bit IN FALSE hm2_7i43.0.gpio.047.out
16 bit IN FALSE hm2_7i43.0.pwmgen.00.enable <== Xenable
16 float IN 0 hm2_7i43.0.pwmgen.00.value <== Xoutput
16 bit IN FALSE hm2_7i43.0.pwmgen.01.enable <== Yenable
16 float IN 0 hm2_7i43.0.pwmgen.01.value <== Youtput
16 bit IN TRUE hm2_7i43.0.pwmgen.02.enable
16 float IN 0 hm2_7i43.0.pwmgen.02.value
16 bit IN TRUE hm2_7i43.0.pwmgen.03.enable
16 float IN 0 hm2_7i43.0.pwmgen.03.value
16 bit I/O TRUE hm2_7i43.0.watchdog.has_bit
BR
Max.
------------------------------------------------------------------------------
AlienVault Unified Security Management (USM) platform delivers complete
security visibility with the essential security capabilities. Easily and
efficiently configure, manage, and operate all of your security controls
from a single console and one unified framework. Download a free trial.
http://p.sf.net/sfu/alienvault_d2d
_______________________________________________
Emc-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-users