wsam7 Posted June 20, 2006 Report Share Posted June 20, 2006 Macro A is what i am running now, i want Macro B runs every 1 mins. Macro A is a forever loop, becas it never ends, so even i use Macro B in Scheduler it just queue up and wait and wait... is there a way in Macro A can pause every x mins and run Macro B and continue Macro A? Macro A: delay 4 sec repeat until T1 = 1 text type 1 delay 1 sec repeat end Macro B: text type 2 Quote Link to comment Share on other sites More sharing options...
kevin Posted June 20, 2006 Report Share Posted June 20, 2006 Macro Express will only run one macro at a time. You may be able to come up with a work-around using the Macro Run command. Suppose you have macro C control macro A and B. Macro C would be in a loop repeatedly calling macro A. Once in a while, when conditions are right, macro C would instead call macro B. To schedule the macro to run at specific times you could use the Date/Time command to get the current time. You would have to write some routines that calculate whether the correct amount of time has elapsed. There are macros available to do this. See either the PGM Functions Library or Date/Time Differences Calculator. The PGM Functions Library contains over 100 functions that you can use in your macros. The Date/Time Differences Calculator is from our free library of macros available from our Shared Macros page. Quote Link to comment Share on other sites More sharing options...
wsam7 Posted June 21, 2006 Author Report Share Posted June 21, 2006 i have been thinking, may be i can use a checking on hour if hour now is different to old hour, run this. old hour = T1 new hour = T2 loop start---- store now hour in T1 compare it to T2 if T1 > T2 T2 = T1 run macro B end if loop end---- so this will run MacroB every hour but i have trouble using repeat until T1 = 1 xxx xxx xxx repeat end this will make my cpu become 100% usage and make it really hot. if there a way to loop forever without making cpu = 100%?? Quote Link to comment Share on other sites More sharing options...
kevin Posted June 21, 2006 Report Share Posted June 21, 2006 There are protections in the macro commands that are meant to prevent 100% CPU utilization. However, to make sure, you should include a Wait Time Delay or Wait for Time to Elapse command. From the Macro Expres help: The Timed Delay in Seconds option puts Macro Express into a "wait state" where virtually no CPU cycles are used, thus allowing CPU intensive programs to continue uninhibited. Note that when the Wait Time Delay or Wait for Time to Elapse macro command is running, you cannot stop the macro. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.