Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Techman PathNode postprocessor does not include all tasks

#1
Hello everyone,

I'm currently trying to export a path from RoboDK to TMFlow. The robot properly tracks the path, but I am running into an issue when trying to add IO on/off events to the path. I add these through the "Program Events" menu.

The issue is as follows: Not all the tasks are included in the program. When trying to debug the issue, I found that only 7 tasks are added to the Techman .path file. My program includes many more (.rdk file is also attached).

I tried to attach the .path file as well, but the file type is not allowed.
The first line of the file is as follows:
Code:
<Root PointCount="115" PvtPointCount="0" TaskCount="7" PvtTaskCount="0" ID="F0Hxvci0TkCUhAywhG+avob2cV0MIZm78YT4vjgeRSFS/gnV5zJOaHy8wDRCWvL66wfPMDLVXZH47z4Aj8dblA==">
This shows the TaskCount.

I could not find a maximum task amount variable, so I think this is a bug. Could you tell me if this is the case?


Attached Files
.rdk   20231117 exporteren paden-v4.rdk (Size: 6.77 MB / Downloads: 74)
#2
Thank you for the feedback, the maximum task count is automatically determined based on the number of different DO set, in your case you set 7 different DO across 3 sub programs, if you add or remove setDO calls you'll see that number automatically increase or decrease in the generated program.

You can also avoid creating subprograms by inlining all calls in subprograms. You can inline subprograms by following these steps:
  1. Select Tools-Options
  2. Selec the Program tab
  3. Check the option Inline subprograms
#3
Hi Philip,

Thank you for your response. The "Inline subprograms" function did fix this.

I initially posted this in the Bugs forum, because I do consider this a bug. If I do not check the "inline subprograms" option, the robot does not execute all the IO instructions, only the last 7. The program does not match the simulated RoboDK program.
This is not the case for the normal Techman postprocessor, which generates a correct program, both when "inline subprograms" is checked or not. (but it uses subflows when when "inline subprograms" is unchecked)
#4
Thank you for your feedback.

Do you mean this issue happens with the Techman_PathNode post processor only? I understand that for this post processor to work properly we should count all the times that digital outputs are set and update TaskCount count accordingly. Can you confirm?
#5
Hi Albert,

I have made a minimal working example, see the attached rdk station.
When I generate this without inline subprograms enabled, I get the following:

Code:
<Root PointCount="13" PvtPointCount="0" TaskCount="2" PvtTaskCount="0" ID="F0Hxvci0TkCUhAywhG+avob2cV0MIZm78YT4vjgeRSFS/gnV5zJOaHy8wDRCWvL66wfPMDLVXZH47z4Aj8dblA==">
--OMITTED--
 <Task Name="Task_13" Index="0">
  <TargetPoint>13</TargetPoint>
  <DO devicetype="16" slot="16" ch="5" HL="H" />
 </Task>
 <Task Name="Task_13" Index="1">
  <TargetPoint>13</TargetPoint>
  <DO devicetype="16" slot="16" ch="5" HL="L" />
 </Task>

This only has 2 tasks, where 4 would be expected. I think the TaskCount should be updated, but the tasks themselves also need to be added to the file. I'm not 100% sure, since I do not know the structure of these files.

I can also send you the full files (or you can generate them yourself), but this forum does not let me attach them.


Attached Files
.rdk   path task bug.rdk (Size: 1.47 MB / Downloads: 62)
  




Users browsing this thread:
1 Guest(s)