so i have been testing this for quit awhile now and here i what i've come up with.
i can't get any change in cycle time by setting HSM parameters based on the Fanuc via G10 in my .ini
the only thing that makes a difference is using the function below
Trapezoid gave me the closed time but then i switched to a different part and this same setting made the cycle time 1 minute faster than actual, so i believe what i'm going to have to do is use SetMotionProfile and set it differently based on the type of machining i'm doing ex. Drilling, 5ax-profiling, 3ax-profiling but i can figure out how to use it. as a test i set a string = to the function getMotionProfile and it's value was "JerkLimited" but if i try to use that or any other string value in SetMotionProfile i get an error "An unknown method was used("jerklimited")
as the message says, you have to define your own method called "jerklimited". But if you want to use the systems motion profiles as described in CSE documentation you have to use the commad 'SetDefaultMotionProfileType' with its parameter "Constant", "Trapezoid", "JerkLimited", "TrapezoidJump", "JerkLimitedJump".
As an example and to get an impression how a custom method for SetMotionProfile could look like. I copied this from Sinumerik.
<Method Accessibility="ReadName"> <Name>ConstantCutting</Name> <Execute> <ReturnCommand> <Value>getSpindleSpeed(getMainSpindle())*getVariable("$P_F")*GV_dFactorTechnology/60.0</Value> </ReturnCommand> </Execute> <ReturnType> <BasicType>DOUBLE</BasicType> </ReturnType> <Description>Special method used by SetMotionProfile("ConstantCutting") in G96</Description>
Have you also tried to set the correct 'FlyByMode' or to matched the simulated tool change cycle time with the real one? These topics must also be considered.
I tested with flybymode today and it made no difference in cycle time, neither did changing the Kv, coarse percision, or fine percision, the only thing that makes a difference is SetDefaultMotionProfileType, I sent it to "Trapezoid" which matches Osai's G27, this makes it close with some parts but not others. I believe i am correct with my toolchange times, i am using AddDelayTask( nTlchTime) where nTlchTime is a variable i set depending on if i am doing one toolchange (15 seconds) or two toolchanges (24 seconds). I can see the delay on the control panel when these are happening. I am at a road block as i don't know what else to do