Interrupt driven EMC



Hello emc-developers,

my name is Sebastian, I'am a senior student at Stuttgart University, Germany.
I have some questions about emc.
Currently I'm writing a driver for an active bus interface, which
should be driven by emc.
In all examples of the devices handeled by emc, the emc is
setting the cycle
time and the device is receiving periodically the data generated by emc.
In my case, the device is active, that means it periodically generates an
interrupt, which signals the beginning of a cyclic exchange of data.
So anything about data gerneration and exchange has to depend on
the device not the other way round, as it is used with passive devices.

Has anybody experiences with such a problem? Or can anybody tell
me the dependecies in emc that have to be changed in order to make
 it interrupt driven?

At a first step I did the following:
I changed the behavior of the function emcmotController. It is no longer
periodically, but a continiouse loop function which is waiting for
data exchange, generates data, exchanges data and waiting again.

DRIVER              EMC

         Interrupt
        ----------->
                 receive Data

                 calculate something


                 write Data to device
        <-----------

When I connect my module ( of the device ) directly to
the emc module ( freqmod ), data will be correctly exchanged.
But, when I load the complete emc environment, at statup I
receive failures like:

bad return from emcAxisSetGains
bad return value from emcTrajSetCycleTime

or failures about shared memory problems.

Looking at the source, I figured out, that these messages are cause by a
timeout. So my last question ist ... which timeout ? Can anybody tell me
how the rest of the emc depends on the periodic thread emcmotController?

best regards,

sebastian

-- 
Sebastian Gunreben, seb-at-gunis.de
Student of Mechatronics -at- Stuttgart University
http://www.gunis.de * http://www.autip.de



Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact