587,104 active members*
4,229 visitors online*
Register for free
Login
Results 1 to 11 of 11
  1. #1
    Join Date
    Nov 2004
    Posts
    446

    Timer.fil How much is to much ?

    The Camsoft manual says that a A degradation of system performance can be expected when the amount of commands in the TIMER.FIL file increases.
    How much is to much for a pentium computer??

    I'm thinking that this is probably an open ended question that is not easy to answer but I am just looking for some round figures..

    Is fifty IF THEN statements to much? What about 200 of them? Or how about checking 200 variables?
    My timer is set to 1000ms (1 second) and must always be on.

    I dont think I am going to run into problems but I would hate to continue with a program design structure that is bound to hit a brick wall..
    Does anyone have an idea as to how to test the performance??

    One other thing that I would like to know.. How big are your .fil files??
    My macro.fil is just over 40K
    Timer.fil is about 4K
    Mcode.fil is about 15K (and growing quick)
    Everything else is under 1K or 2K.
    My .CBK backup file is around 90K now.

    Thanks!
    Murphy

  2. #2
    Join Date
    Sep 2003
    Posts
    17
    Murphy,

    I have noticed that too much logic in the TIMER.FIL file does degrade performance. If you think about it everytime the timer interval you set elapses then all the logic runs again.

    Motion is handled separately by the second CPU on the motion board so you're safe there cause it won't affect positioning performance.

    It's all in how you manage the IF THEN GOTO logic in the TIMER.

    Use GOTO to jump around large chunks of logic that don't need to run once the timer logic finds what it needs. This makes the logic flow run faster. Then put the most important events at the top so they run first.

    The two major factors seem to be how well the logic flows and how often the timer interval is set. TIMER ON,1000 every 1 second is very good cause in computer terms that's a long time. I didn't try too hard but I got up to 100 lines in the TIMER.FIL file and it ran quick at a 1000 milliseconds.

    Your package is different than mine and the limits to how many lines in the factory automation program may be less. CNC Lite and Professional do have a limit but find another way like other buttons on the screen if you have too many lines for the timer. The guys at Camsoft have always been more than willing to help me if I needed a new command or something increased.

    200 variables are okay. I know there is room for 999 of them.

    The MACRO.FIL and MCODE.FIL files I have done for some very nasty machine tool changers have been huge. Far bigger logic files than what you have so far. I wouldn't worry about these. If Camsoft could handle these machines it could handle anything.

    Also I ran into something else on the test program I made. Watch out when using IF THEN to compare a variable and some text like the EXIT MENU text and using spaces at the end of the text. It compares every thing even spaces unless it's a numeric value.


    On the subject from yesterday

    Yesterday you didn't update the TIME variable \31 in the code you posted so there was no need to go into a loop. So if it wasn't for the reason that you wanted to update the pop up list box menu for the time then the code I posted yesterday will work very cleanly.

    Instead of the M code from yesterday put this code in the TIMER and also refresh your variables here too.

    !IF \81=0 THEN \9=FREE
    !IF \81=2 THEN \9=BUSY
    !LISTCLEAR: LISTSETUP 20;5625;2000;2000 :LISTADD STAGE 1 STATUS :LISTADD EXIT MENU :LISTADD TIME LEFT \31 :LISTADD STATUS \9 :LISTADD DWELL \151 :LISTADD DRIP \171 :LISTPICK \8

    Jim C.

  3. #3
    Join Date
    Nov 2004
    Posts
    446
    Jim,

    Thanks for all that information!!!!
    Your comments about timer interval and file sizes make me feel much more confident.
    Thanks for taking your time to tell me this stuff....

    As for the ListSetup coding. I hesitate to put that into the timer.fil because I want to keep that file small so I try not to put code into it when I can find another way. What I did not tell you is that there are 14 different versions of that code. Each version is for a specific process on my machine. That code was created for the purpose of letting a user click on a screen graphic that represents one of the 14 different processes on my machine.
    The user clicks on the graphic button, that listsetup menu pops up, and the user can monitor all the current process parameters and see them changing for that particular part of the process.

    Now dont blame me because you created this question!! LOL
    Question / Comment: I understand that I could make it so that when a user clicks on one of the graphics, an Mcode changes a variable, (lets say \50 ). I could then put code in the timer.fil to check that \50.

    IF \50=1 THEN Run this listsetup code.
    IF \50=2 THEN Run this listsetup code.

    But what I dont understand about filling up the timer.fil (and you hit on this) is will things bog down even though IF \50=?? THEN never holds true??
    What you said leads me to believe I can fill that timer.fil up with lots of stuff so long as an IF THEN statement is used to see if it needs to be run..
    In English: No matter how much code is in the timer.fil , if the code doesnt run, it wont slow anything down.
    Would that be a correct statement?

    Thanks a bunch for your help Jim,
    Murphy

  4. #4
    Join Date
    Sep 2003
    Posts
    17
    Murphy,

    The TIMER.FIL file will still be affected by lots of IF THEN commands but if the statement is not true and doesn't run, it goes by so fast you won't notice but hundreds of these would have some small affect i am sure.

    The only way I see that you can display a bunch of different types of list boxes is write the code as I suggested in the Mcode.fil file originally and forget the timer. Exiting the Mcode without looping

    The benefit is that you can have multiple versions. 14 if you wanted but the problem is that these can not go in tight GOTO LOOPs. You'll just have to set the variables for time and date when you enter the Mcode and refresh the variables as needed.

    Jim C.

  5. #5
    Join Date
    Nov 2004
    Posts
    446
    Jim,
    Thanks for the tip!!! The information you have provided has saved me alot of time.
    I am starting to wonder if this Camsoft software is going to be able to do the job. Here are some MAJOR LIMITATIONS that I am running into:

    1. I can not add any more macros to my macro.fil unless I delete some. I am getting an error message that says I have to many.

    2. I can not add more than 150 lines total to the timer.fil

    3. I can not have more than 100 lines in any specific Mcode. (doesnt do any good to use another Mcode because you cant call one Mcode from another as you can a macro)

    4. I can not have more than 100 lines in any [Macro]
    How and the heck am I supposed to write programs with less than 100 lines?????

    By far, the largest specific problem is that it is not possible to do an "OR" statement on a single line. You must put the "IF THEN" on seperate lines.
    !IF \20=0 THEN bla bla :IF\21=0 THEN bla bla :IF \22=0 THEN bla bla
    This line above wont work.. All 3 of those statements must go on seperate lines. This is what is causing me the biggest problem..
    Camsoft forces me to use the following:
    !IF \20=0 THEN bla bla
    !IF \21=0 THEN bla bla
    !IF \22=0 THEN bla bla

    Now, if I have 14 different processes with around 8 or 10 checks and balances per process, that comes to 140 IF THEN statements. And this does not include coding to change buttons and lights on the user interface.

    I am familiar with using Visual Basic so I am not completely stupid with logic commands. Any ideas?? Am I approaching this wrong?? I have looked at the problem from several angles and I run into CAMSOFT road blocks everytime. This NEVER happened when I used to use Visual Basic.
    I find it interesting that CAMSOFT makes absolutly no mention of these limitations anywhere or anyplace..
    I just can not get over being limited to 100 lines of code.. This is insane!!

    Please tell me I am missing something here...

    Thanks,
    Murphy

  6. #6
    Join Date
    Sep 2003
    Posts
    17
    Murphy,

    I have a different package than you and I don't have those same limitations.

    Some one from an earlier thread said you can nest macros and if that means call one macro from another than that's what I do and my files are much bigger than what yours are. The sample macro.mac file on my Camsoft CD is 159k with hundreds of macros. I think you could try only making 14 IF THEN statements and have these call your 8 or 10 checks in other macros and so on.

    You should call Camsoft and show them what you're doing. I may be steering you wrong. Sorry I couldn't help you more but I have to get to my real job tomorrow.

    Jim C.

  7. #7
    Join Date
    Nov 2004
    Posts
    446
    :wave: Jim,

    Thank you very much for your time.

    You've been a huge help.. I am going to have to give Camsoft a ring about this issue.

    Thanks again for all your help, :wave:

    Murphy

  8. #8
    Join Date
    Sep 2003
    Posts
    552
    How does a post just disappear?

  9. #9
    Join Date
    Nov 2004
    Posts
    446
    Maybe the Admin was hungry and ate it....

    That happened to me the other day also... I swore I posted something.. came back in an hour to check the response and it vanished..

    I guess its called "$hit happens"

    Murphy

  10. #10
    Join Date
    Dec 2003
    Posts
    24223
    Quote Originally Posted by HillBilly
    How does a post just disappear?
    The moderator will remove it, if it does not follow forum rules and Content guidelines.
    Al
    CNC, Mechatronics Integration and Custom Machine Design

    “Logic will get you from A to B. Imagination will take you everywhere.”
    Albert E.

  11. #11
    Join Date
    Nov 2004
    Posts
    446
    I am sure my post followed the forum rules..

    The post was a simple question about camsoft software operation and was posted tot he camsoft forum...

    I think what happened is I hit the "Preview Post" button and never submitted. I wonder how often this happens to other... LOL.. gotta watch what we click on!

    Murphy

Similar Threads

  1. Using Gauges in CamSoft
    By Steve Etter in forum CamSoft Products
    Replies: 6
    Last Post: 11-12-2003, 08:58 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •