i'm trying to use the command " CallRemoteSubProg" in the Machine Code Based Simulation. So i want to call a subprogram in channel 3 from channel 1.
The problem is, that my ProgramManager only gets programs for the channels 1 and 2 from the Post (because all operations are assigned to channel 1 or channel 2), so my third channel isn't active and i get the error message "couldn't push program onto call stack" by calling the command " CallRemoteSubProg".
In External Program Simulation i solved this problem by adding a program file with the line "M30" to channel 3.
Is there a possibility to load a program into a channel in the Machine Code Based Simulation, even if there is no Operation assigned to this channel? Of course, the corresponding channel is registered in the KIM.
your observation is totally correct. When using CallRemoteSubProg it is needed that the channels are initialized at the start of ISV. Your described workaround for external program simulation is our best practice suggestion too.
When simulate from the operation there is not such option; the only way might be to enhance the post to write a M30 in the 3rd channel. Not nice I know.
We are aware of that limitation (PR exist) and we are working on that to fix it.
Thomas Schulz Siemens PLM Manufacturing Engineering Software