线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
参考帧和TCP在每个子程序
# 1
是否有将参考帧和TCP放入后置处理器生成的每个子程序的选项?
我想使用一个节目结构,每个电台有一个节目。这个程序应该包括这个空间站的所有接近和收回子程序。我希望能够调用这个子程序从其他程序,我将手动编码。
我没有找到更好的方法来实现这个目标,除了创建一个程序,我调用空间站的所有子程序,然后输入一个
代码:
如果为假,则

ENDIF
围绕调用,所以我不会意外地执行代码:


每个子程序定义了参考帧和TCP:


但是,当用后处理器(一个定制的KRC4 DAT pp)生成程序时,RoboDK似乎足够聪明地认识到,当它们在子程序调用之间没有变化时,它不需要为每个新的子程序定义参考帧和TCP:

代码:
DEF sws_magazin ()

;由RoboDK v5.5.3在2023年2月1日17:27:24为KUKA KR10 R1100-2生成的程序
;用标称运动学。
如果为假,则
swsmZuHfSpindelFahren ()
swsmHfSpindelAufnehmen ()
swsmHfSpindelAblegen ()

ENDIF
结束
全局DEF swsmZuHfSpindelFahren()
;----设置参考(基础)----
Base_data [10] = {frame: x -836.064, y -387.605, z - 500.211, a -179.840, b - 0.052, c -0.898}
$ base = base_data [10]
;--------------------------
;----设置工具(TCP) ----
;Tool_data [1] = {frame: x 0.000, y 0.000, z 105.400, a 0.000, b -90.000, c 0.000}
$ tool = tool_data [1]
;--------------------------
或者美元。Cp = 0.30000
{{PE}%R 8.3.42,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P1, 3:, 5:0, 7:CPDAT1
美元BWDSTART = FALSE
LDAT_ACT = LCPDAT1
FDAT_ACT = FP1
BAS (# CP_PARAMS, 0.300)
Lin xp1 c_dis
; ENDFOLD
%{PE}%R 8.3.42,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P2, 3:, 5:0, 7:CPDAT2
美元BWDSTART = FALSE
LDAT_ACT = LCPDAT2
FDAT_ACT = FP2
BAS (# CP_PARAMS, 0.300)
linxp2 c_dis
; ENDFOLD
或者美元。Cp = 0.02000
{{PE}%R 8.3.42,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P3, 3:, 5:0, 7:CPDAT3
美元BWDSTART = FALSE
LDAT_ACT = LCPDAT3
FDAT_ACT = FP3
BAS (# CP_PARAMS, 0.020)
l9x3z
; ENDFOLD
结束
GLOBAL defswsmhfspindelaufnehmen ()
或者美元。Cp = 0.02000
%{PE}%R 8.3.42,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P4, 3:, 5:0, 7:CPDAT4
美元BWDSTART = FALSE
LDAT_ACT = LCPDAT4
FDAT_ACT = FP4
BAS (# CP_PARAMS, 0.020)
[cn]
; ENDFOLD
或者美元。Cp = 0.20000
%{PE}%R 8.3.42,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P5, 3:, 5:0, 7:CPDAT5 .
美元BWDSTART = FALSE
LDAT_ACT = LCPDAT5
FDAT_ACT = FP5
BAS (# CP_PARAMS, 0.200)
林x5c
; ENDFOLD
结束
GLOBAL defswsmhfspindelablegen ()
或者美元。Cp = 0.20000
%{PE}%R 8.3.42,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P6, 3:, 5:0, 7:CPDAT6
美元BWDSTART = FALSE
LDAT_ACT = LCPDAT6
FDAT_ACT = FP6
BAS (# CP_PARAMS, 0.200)
[qh]
; ENDFOLD
或者美元。Cp = 0.02000
%{PE}%R 8.3.42,%MKUKATPBASIS,%CMOVE,%VLIN,%P 1:LIN, 2:P7, 3:, 5:0, 7:CPDAT7
美元BWDSTART = FALSE
LDAT_ACT = LCPDAT7
FDAT_ACT = FP7
BAS (# CP_PARAMS, 0.020)
[j]
; ENDFOLD
结束


不幸的是,这不是我需要的行为。
# 2
您可以通过以下步骤删除适用于更改工具和参考/基础框架的自动过滤器:
  • 选择Tools-Options
  • 选择程序选项卡
  • 取消选中“筛选设置参考和工具框架”选项,在右下角。
# 3
(02-01-2023, 09:13 pm)艾伯特写道:您可以通过以下步骤删除适用于更改工具和参考/基础框架的自动过滤器:
  • 选择Tools-Options
  • 选择程序选项卡
  • 取消选中“筛选设置参考和工具框架”选项,在右下角。

哦……这是我唯一没有尝试的选择。非常感谢!
# 4
我现在对职位也有同样的问题。当RoboDK认为机器人无论如何都必须处于那个位置时,因为之前调用了另一个子程序,因此RoboDK不会创建一个移动到某个位置。还有别的选择吗?

或者有更好的办法把电视台的节目变成一个节目?




浏览此主题的用户:
1客人(年代)

Baidu
map