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

Reply via email to