I did a bit more testing on 2 different machines. The atom 330 dual core and a asus/amd similar to what is in the K&T
This is the atom http://pastebin.com/VMZDVrjc http://electronicsam.com/images/KandT/testing/atom/Screenshot-1.png The more powerful amd system http://pastebin.com/aGUGPvwv http://electronicsam.com/images/KandT/testing/asus/Screenshot.png Maybe is is just simply a cpu processing power thing.. I don't really think though that that ladder is that complicated or long.. (compared to real world ladder programs). sam On 02/06/2012 11:38 PM, Chris Morley wrote: > 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: sa...@empirescreen.com >> To: emc-users@lists.sourceforge.net >> 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<sa...@empirescreen.com> 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 >>> Emc-users@lists.sourceforge.net >>> 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 >> Emc-users@lists.sourceforge.net >> 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 > Emc-users@lists.sourceforge.net > 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 Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users