RoboDK论坛
INTP-311 (RDK_S3, 507)未初始化的数据-打印版本

+- RoboDK论坛(//www.x7093.com/forum
+——论坛:RoboDK (EN) (//www.x7093.com/forum/Forum-RoboDK-EN
+——论坛:RoboDK API (//www.x7093.com/forum/Forum-RoboDK-API
+——线程:INTP-311 (RDK_S3, 507)未初始化dat (/线程intp - 311 rdk dat——s3 - 507未初始化



INTP-311 (RDK_S3, 507)未初始化的数据-torayeff-08-18-2021

我有下面的代码,它连接到真正的发那科机器人。一切正常,但在最后,机器人控制器中的程序以错误代码结束:INTP-311 (RDK_S3, 507)未初始化的数据
代码:
进口robolink
进口robodk
导入系统
将numpy导入为np

robot_name = "发那科LR Mate 200iD/4S"
robot_file = "Fanuc-LR-Mate-200iD-4S.robot"
Connection_params = {
:“robot_ip 192.168.1.100”,
“端口”:2000年,
:“remote_path md: / ",
“ftp_user”:“匿名”,
“ftp_pass”:“”,


RDK = robolink。Robolink(args=["-EXIT_LAST_COM", "-NOUI", robot_file])

robot = rdk.Item(robot_name)

robot.setConnectionParams (
robot_ip = connection_params(“robot_ip”),
端口= connection_params(“港口”),
remote_path = connection_params(“remote_path”),
ftp_user = connection_params(“ftp_user”),
ftp_pass = connection_params(“ftp_pass”),


connection = robot.ConnectSafe()

robot.Joints ()
机器人。MoveJ([0,0,0,0,0])
机器人。MoveJ([0,0, - 30,0,0])
机器人。MoveJ([0,0, - 30,10,0,0])
机器人。MoveJ([0,0,0,0,0])

如果不是机器人。busy ():
rdk.CloseRoboDK ()

每次我都需要使用teach吊坠来修复错误,并以自动模式启动一个循环。我怎样才能避免这种错误呢?


回复:INTP-311 (RDK_S3, 507)未初始化的数据-杰里米-08-19-2021

我不太了解发那科的驱动程序,不能帮你解决这个问题,但我转发了这篇文章。

杰里米


回复:INTP-311 (RDK_S3, 507)未初始化的数据-菲利普-08-19-2021

当套接字断开连接时,驱动程序的当前实现会出错,所以当robodk结束时它会出错,并且扩展驱动程序是关闭的。


回复:INTP-311 (RDK_S3, 507)未初始化的数据-torayeff-08-19-2021

(08-19-2021, 01:29 pm)菲利普写道:当套接字断开连接时,驱动程序的当前实现会出错,所以当robodk结束时它会出错,并且扩展驱动程序是关闭的。

很多谢谢!这是被证实的!

顺便说一下,请注意这条线索//www.x7093.com/forum/Thread-online-programming-a-fanuc-R30-iB-Mate-plus-gripper?pid=5149#pid5149

在这个论坛里,至少有三个用户遇到了这个问题。

问题是:

如何从RoboDK调用机器人控制器中的外部程序/宏?

我尝试了以下代码,但没有成功:

代码:
connection = robot.ConnectSafe()

rdk.setRunMode (robolink.RUNMODE_RUN_ROBOT)
程序= rdk.AddProgram('程序')
program.setRunType (robolink.PROGRAM_RUN_ON_ROBOT)

#我希望这一行设置R[52]=6,但它没有
program.RunInstruction(“项目(6)”,robolink.INSTRUCTION_CALL_PROGRAM)

最好的
Agajan


回复:INTP-311 (RDK_S3, 507)未初始化的数据-艾伯特-08-19-2021

你应该修改这一行:
代码:
program.RunInstruction(“项目(6)”,robolink.INSTRUCTION_CALL_PROGRAM)

:
代码:
程序。运行指令('程序6',robolink.INSTRUCTION_CALL_PROGRAM)

有一个空格是很重要的,所以数字6被传递为大多数驱动程序的参数。

此外,发那科驱动程序的最新版本支持调用命名程序而不传递参数,所以你应该可以用发那科机器人做到这一点:
代码:
程序。RunInstruction (NamedProgram, robolink.INSTRUCTION_CALL_PROGRAM)
请注意,这不是所有驱动程序都支持的。


回复:INTP-311 (RDK_S3, 507)未初始化的数据-torayeff-08-19-2021

(附件= 2496)
(附件= 2496写道:Albert pid='10121' dateline='1629387498']
代码:
program.RunInstruction(“项目(6)”,robolink.INSTRUCTION_CALL_PROGRAM)

:
代码:
程序。运行指令('程序6',robolink.INSTRUCTION_CALL_PROGRAM)

有一个空格是很重要的,所以数字6被传递为大多数驱动程序的参数。

此外,发那科驱动程序的最新版本支持调用命名程序而不传递参数,所以你应该可以用发那科机器人做到这一点:
代码:
程序。RunInstruction (NamedProgram, robolink.INSTRUCTION_CALL_PROGRAM)
请注意,这不是所有驱动程序都支持的。

非常感谢。我已经为此纠结了好几天了!现在起作用了!这一个为我工作(命名程序):
代码:
robot = rdk.Item(robot_name)

robot.setConnectionParams (
robot_ip = connection_params(“robot_ip”),
端口= connection_params(“港口”),
remote_path = connection_params(“remote_path”),
ftp_user = connection_params(“ftp_user”),
ftp_pass = connection_params(“ftp_pass”),


connection = robot.ConnectSafe()
机器人。RunInstruction (HAND_TOG, robolink.INSTRUCTION_CALL_PROGRAM)

如果我呼叫:

代码:
机器人。运行指令('程序7',robolink.INSTRUCTION_CALL_PROGRAM)

我收到PROGRAM_7(注意下划线)数据卡雷尔变量(见附件)