so on the first computer it scans at 135 useconds on a 1ms thread speed and you could actually set it to a .2us thread speed?
on the second what is the scan time on a 1.1 ms thread speed? I'm a little confused. please clearly state the facts again and try to use the same unit so comparison is easier. It hurts my head to compare micoseconds to nanoseconds to kilohertz. :) Chris M > Date: Mon, 6 Feb 2012 21:42:08 -0600 > From: [email protected] > To: [email protected] > Subject: Re: [Emc-users] Classic ladder questions and comments > > Thanks for looking. (I am not that technical though..) The bit of > ladder I have seems to be taking longer than 1ms though. (on this > atom330 board) > > sam > > On 02/06/2012 06:02 PM, Chris Morley wrote: > > > > > >> > >> > >> On Fri, 03 Feb 2012 13:05:02 -0600 > >> sam sokolik<[email protected]> wrote: > >>> All this talk of lowering the servo thread had me thinking back to when > >>> I was setting up the K&T. I wanted to try to lower the servo thread for > >>> testing. I could not go much slower the the 1ms default or I would get > >>> real time delays. After some consultation on irc - it was decided that > >>> the ladder was the issue. I gave up and left my servo thread at 1ms. > >>> > >>> My ladder does tool chain logic, tool changing, pallet transfer and a > >>> few other odds and ends. It has probably over 16 sections and quite a > >>> few rungs. when the section display is open - the upper right hand > >>> corner has the scan time - it is 135us. vs the classic ladder sample > >>> in the sample configs (pretty much just estop logic and oiling) which > >>> runs in 17us. > >>> > >>> I have a older atom330 board here that I am playing with. On a side > >>> note - here is the latency test without isolcups=1 > >>> http://www.electronicsam.com/images/KandT/testing/atomnonisolcups.png > >>> > >>> with isolcups=1 > >>> http://www.electronicsam.com/images/KandT/testing/atomisolcpus.png > >>> > >>> I put the classic ladder parts into the emc stepper_inch config from the > >>> sample configs (emc version 2.4.6) fresh install from the livecd then > >>> updated. I removed the base thread and stepgen functions from the > >>> threads. > >>> > >>> here is the config. > >>> http://www.electronicsam.com/images/KandT/testing/stepper/ > >>> that has my ladder in it (just running - none of the pins are > >>> connected) This is ladder from sometime in the distant past - I am sure > >>> it isn't the latest ladder. > >>> > >>> Now - on this atom - it will not run at 1ms. It seems to run at > >>> .909khz. (servo period 1100000) The K&T is using a asus motherboard > >>> and amd processor. (don't remember exactly but it is quite a bit more > >>> powerful than the atom) The atom board will run the sample ladder logic > >>> down to about 5khz. > >>> > >>> So - the ladder isn't that intense - does classic ladder just take that > >>> much time? Is there another issue? am I making any sense? :) It seems > >>> to me if I made a much larger ladder - it might stop running on the K&T > >>> computer... > >>> > >>> sam > >>> > > from the source file module_hal.c: > > > > void HalWriteFloatOutputs(void) { > > int i; > > for( i=0; > > i<InfosGene->GeneralParams.SizesInfos.nbr_phys_float_outputs; i++) { > > *(hal_float_outputs[i]) = ReadVar(VAR_PHYS_FLOAT_OUTPUT, i); > > } > > } > > // This actually does the magic of periodic refresh of pins and > > // calculations. This function runs at the period rate of the thread > > // that you added it to. > > // period, leftover, t0,and t1 are in nanoseconds. > > // This function first checks to see if at least 1 millisecond has gone by > > // if the period is under 1 MS then if will not refresh rungs yet but > > // will keep track of how many NS were left over. Does this each period > > // till at least 1 MS has occured, if more then 1 MS then keeps track of > > // leftover NS for accuracy. Bottom line is you can run classiclader in > > // a thread faster than 1 millisecond but it will not refresh the rungs > > // any faster (it can be slower though). If your refresh is too slow and > > // your timer are using multiples of 100 microseconds they might not be > > accurate. > > // t0 and t1 are for keeping track of how long the refresh of sections, > > // and HAL pins take (it is displayed in the 'section display' GUI (in > > microseconds). > > > > static void hal_task(void *arg, long period) { > > unsigned long t0, t1,milliseconds; > > static unsigned long leftover=0; > > leftover += period; > > milliseconds= leftover / 1000000; > > leftover %= 1000000; > > > > if (milliseconds>= 1) { > > InfosGene->GeneralParams.PeriodicRefreshMilliSecs=milliseconds; > > *hal_state = InfosGene->LadderState; > > t0 = rtapi_get_time(); > > if (InfosGene->LadderState==STATE_RUN) > > { > > HalReadPhysicalInputs(); > > > > HalReads32Inputs(); > > > > HalReadFloatInputs(); > > > > ClassicLadder_RefreshAllSections(); > > > > HalWritePhysicalOutputs(); > > > > HalWrites32Outputs(); > > > > HalWriteFloatOutputs(); > > } > > t1 = rtapi_get_time(); > > InfosGene->DurationOfLastScan = t1 - t0; > > } > > } > > > > later the duration of scan (in nano seconds) is divide by 1000 to display > > micro seconds > > which fit better in the display. > > > > I believe the idea of limiting the minimum refresh to 1 millisecond is so > > it is difficult > > to set a refresh rate that is shorter then the duration rate. > > > > Maybe there is a better idea? > > > > Chris M > > > > ------------------------------------------------------------------------------ > > Keep Your Developer Skills Current with LearnDevNow! > > The most comprehensive online learning library for Microsoft developers > > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > > Metro Style Apps, more. Free future releases when you subscribe now! > > http://p.sf.net/sfu/learndevnow-d2d > > _______________________________________________ > > Emc-users mailing list > > [email protected] > > https://lists.sourceforge.net/lists/listinfo/emc-users > > > > ------------------------------------------------------------------------------ > Keep Your Developer Skills Current with LearnDevNow! > The most comprehensive online learning library for Microsoft developers > is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, > Metro Style Apps, more. Free future releases when you subscribe now! > http://p.sf.net/sfu/learndevnow-d2d > _______________________________________________ > Emc-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/emc-users ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ Emc-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-users
