线程评级:
UR5e -实时监控物理输入/输出
# 1
嗨RoboDK,

目前我想通过RobotDK实时监控UR5e机器人的输入/输出状态。有什么办法可以做到吗?
我看到库中有python代码UR_Monitoring_CSV.py其中提到了这一点,但当我改变UR5e上的输入/输出值时,我没有看到值的变化。

请指教,非常感谢!

代码:
Ur_get_inputs = (86-32)*8 + 252
Ur_get_outputs = (131-32)*8 + 252

Def on_packet(packet, packet_id):

全球ROBOT_JOINTS
从数据包中检索所需的信息
rob_joints_RAD = packet_value(数据包,UR_GET_JOINT_POSITIONS)
robot_关节= [ji * 180.0/pi for ji in rob_joints_RAD]
ROBOT_TCP_XYZUVW = packet_value(数据包,UR_GET_TCP_POSITION)
ROBOT_TCP_SPEED = packet_value(数据包,UR_GET_TCP_SPEED)
ROBOT_INPUTS = packet_value_bin(数据包,UR_GET_INPUTS)
ROBOT_OUTPUTS = packet_value_bin(包,UR_GET_OUTPUTS)
#打印(“输出:”)
#打印(ROBOT_OUTPUTS)

#ROBOT_SPEED = packet_value(数据包,ur_get_joint_speed)
#ROBOT_CURRENT = packet_value(数据包,UR_GET_JOINT_CURRENTS)
#打印(ROBOT_JOINTS)

#监视线程从机器人检索信息
def UR_Monitor ():
而真正的:
print("连接到机器人%s -> %s:%i" %(机器人名,机器人ip,机器人端口))
Rt_socket = socket。create_connection ((ROBOT_IP ROBOT_PORT))
打印(“连接”)
Buf = b "
Packet_count = 0
Packet_time_last = time.time()
而真正的:
更多= rt_socket.recv(4096)
如果更多的:
Buf = Buf +更多
如果packet_check (buf):
Packet_len = packet_size(buf)
Packet, buf = buf[:packet_len], buf[packet_len:]
packet_count on_packet(包)
Packet_count += 1
如果packet_count % 250 == 0:
T_now = time.time()
msg = "监视%s在%。1f packets per second" % (robotname, packet_count/(t_now-packet_time_last))
打印(味精)
RDK。ShowMessage(味精、假)
Packet_count = 0
Packet_time_last = t_now

rt_socket.close ()


附加文件 缩略图(s)

这个监视文件和映射索引(例如UR_GET_OUTPUTS)是为UR系列(而不是URe)开发的,因此这些映射很可能已经更改。

你能正确地监测机器人关节吗?
# 3
嗨,阿尔伯特,艾伯特
就像你说的,改变了映射。
我再次更新了地图,它工作得很好。
谢谢你的建议。

对于遇到此类问题的用户,映射更改为附件(V5.8)。

Hieu,


附加文件
. pdf Client_Interface_V5.8.pdf(大小:157.21 KB /下载:242)
# 4
太好了!谢谢你告诉我们。




浏览此线程的用户:
1客人(年代)