CS机器人 30001端口使用

2025-07-02

1.  简介

30001端口🐿,可用于获取机器人【jī qì rén】的各种状🌄态及数🏓据【jù】👽,机器人【jī qì rén】会以10HZ(100ms)的频率向【xiàng】30001端口发【duān kǒu fā】🤠送机器人【jī qì rén】的状态数据【tài shù jù】👽,还可以往30001端口发【duān kǒu fā】🤠送脚本【sòng jiǎo běn】命令【lìng】,运动指令【lìng】,控制机【kòng zhì jī】🥗器人运动等。(FB1网口🏻)

2.  发送脚本控制机器人

外部设【wài bù shè】备可以往📛30001直接发【zhí jiē fā】送机器🎏人脚本,机器人【jī qì rén】😚处于远【chù yú yuǎn】程模式⛑,机器人【jī qì rén】😚就会运动。

(点击下【diǎn jī xià】图右上角的Elite logo,可以进入设置【rù shè zhì】🚽界面🐆)

远程控制选择启用


将机器人切换为远程控制模式

用户可🌤以在【yǐ zài】🥠socket调试助手中🎫,发送以下代码【xià dài mǎ】进行测【jìn háng cè】试

外部发📷送的脚本格式【běn gé shì】如下🐐:即def开头【kāi tóu】🕡,end结尾(end后加入【hòu jiā rù】🆒换行)。中间内容为机【róng wéi jī】👫器人支【qì rén zhī】持的脚本。

def a():

movej([-3.14,-1.57,-1.57,-1.57,1.57,0],a=1.4,v=0.5,t=0,r=0)

movej([-1.57,-1.57,-1.57,-1.57,1.57,0],a=1.4,v=0.5,t=0,r=0)

end

也可使【yě kě shǐ】用如下🌥代码【dài mǎ】🔝,发送带有函数【yǒu hán shù】⬜调用的脚本

def test(): # 最外层🌄def必须增📺加【jiā】end\n结尾【jié wěi】

# 内部是正常的python语法

def mov():

movej([0.57636,-1.01469,-2.04816,-1.29723,1.5708,-0],a=1.4,v=1.05,t=0,r=0)

a = "hello cs"

if a == "hello cs":

mov()

end



3.  数据接收及解析

接收机器人状态数据

该端口🍠还会以【hái huì yǐ】10Hz的频率【de pín lǜ】📥持续不🌁断地将【duàn dì jiāng】机器人的状态数据以固定格【gù dìng gé】式往外发送。数据格式大体🧑如下【rú xià】💲:

机器人状态报文格式



4 字节


报文长度








1 字节


报文类🏓型【xíng】 = MESSAGE_TYPE_ROBOT_STATE = 16


4 字节


子报文长度








1 字节


子报文类型


n 字节


子报文内容


4 字节


子报文长度








1 字节


子报文类型


n字节


子报文内容


4 字节


报文长度








1 字节


报文类🎃型【xíng】 = MESSAGE_TYPE_ROBOT_STATE = 16


4 字节


子报文长度








1 字节


子报文类型


n 字节


子报文内容


4 字节


子报文长度








1 字节


子报文类型


n字节


子报文内容



详细每一段子🍹报文【wén】的🕜内容请参考【cān kǎo】《CS_用户手【yòng hù shǒu】册🛬_机器人状态报文【wén】.xlsx》

机器人【jī qì rén】😒状态数【zhuàng tài shù】据报文【jù bào wén】🙄主题结🕔构包含【gòu bāo hán】报文【bào wén】🙄头、机器人【jī qì rén】😒模式数【mó shì shù】据子【jù zǐ】📣报文【bào wén】🙄、关节数【guān jiē shù】据子【jù zǐ】📣报文【bào wén】🙄、笛卡尔🚳数据子【jù zǐ】📣报文【bào wén】🙄、机器人【jī qì rén】😒配置数据子【jù zǐ】📣报文【bào wén】🙄、机器人【jī qì rén】😒主板信【zhǔ bǎn xìn】息子报文【bào wén】🙄、机器人【jī qì rén】😒附加信【fù jiā xìn】息子报文【bào wén】🙄、内部使📗用子报✳文【wén】🙄、机器人【jī qì rén】😒工具数🏢据子报【jù zǐ bào】👲文【wén】🙄、机器人【jī qì rén】😒安全状🐼态子报【tài zǐ bào】文【wén】🙄、机器人【jī qì rén】😒工具通👚讯子报文【bào wén】🙄、内部使📗用子报✳文【wén】🙄等内容📤.

每一段子报文〽内的数【nèi de shù】💴据长度、格式都是严格定义的,用户读🌅取时按需择取【xū zé qǔ】对应数👅据段按【jù duàn àn】照指定🍡格式进行数据【háng shù jù】解析【jiě xī】。

以下使【yǐ xià shǐ】🥨用【yòng】Python对机器⏲人配置数据子报文解📋析为例说明【shuō míng】。

程序流程如下:

4.  示例

参考代码:

from robot import *

import argparse

import logging

import time

import numpy as np

from math import *


parser = argparse.ArgumentParser()

#以下IP地址需要修改

parser.add_argument('--host', default='192.168.1.200', help='name of host to connect to (localhost)')

parser.add_argument('--port', type=int, default=30001, help='port number (30001)')

parser.add_argument('--samples', type=int, default=100, help='number of samples to record')


args = parser.parse_args()


robot = Robot('RobotStateMessage.xlsx', 'v2.1.0')

robot.connect(args.host, args.port)


sample_count = args.samples


while sample_count > 0:

data = robot.get_data()

if data == None:

logging.warning("Data is None")

continue

print(" :=^50s}".format(""))

print("tcp_y: "+(':.2f}'.format(data.tcp_y*1000)))

#print("actual_joint : ")

print("RX、RY、RZ\x20关节单【guān jiē dān】位📴\x20°")

print("RX: " + (':.3f}'.format(degrees(data.rot_x))))

print("RZ: " + (':.3f}'.format(degrees(data.rot_z))))

print("关节位🚇置【zhì】🚉\x20关节单【guān jiē dān】位🚇\x20°")

print("一轴【yī zhóu】、基座🏬\x20"':.2f}'.format(degrees(data.actual_joint0)))

print("三轴【sān zhóu】、肘部🔕\x20"':.2f}'.format(degrees(data.actual_joint2)))

print("五轴📱、手腕【shǒu wàn】2\x20"':.2f}'.format(degrees(data.actual_joint4)))

print(" :=^50s}".format(""))

#print(data.actual_velocity1)弧度【hú dù】/秒📛

print("关节实🌙际速度【jì sù dù】\x20角度【jiǎo dù】🛃/秒")

print("1轴实际【zhóu shí jì】😯速度\x20"':.2f}'.format(degrees(data.actual_velocity0)))

print("3轴实际🙄速度【sù dù】\x20"':.2f}'.format(degrees(data.actual_velocity2)))

print("5轴实际【zhóu shí jì】速度💁\x20"':.2f}'.format(degrees(data.actual_velocity4)))

print(" :=^50s}".format(""))

print("2关节力🐦矩【jǔ】\x20"':.2f}'.format(data.torques1))

print("4关节力【guān jiē lì】矩🎙\x20"':.2f}'.format(data.torques3))

print("6关节力【guān jiē lì】🚊矩\x20"':.2f}'.format(data.torques5))

print("模拟IO0输出值😮.\x2002-0.004单位【dān wèi】A")

print(data.standard_analog_output_value0,"A")

print(data.standard_analog_output_value1,"A")

print("工具模🎚拟IO输出配【shū chū pèi】🤲置【zhì】",data.tool_analog_output_domain)

print("工具输出电压【chū diàn yā】🌼数值",data.tool_output_voltage,"V")

print("工具输⛽出电流【chū diàn liú】", data.tool_current,"A")

#print(" {:=^50s}".format(""))


sample_count -= 1

time.sleep(2)

5.  常见问题解答

5.1.问:端口连接不上,连接没反应

答🌚:检修一下网络是不是没有连接上,可以在示教器【shì jiāo qì】网络设【wǎng luò shè】置页面【zhì yè miàn】🈚查看【chá kàn】,或者使【huò zhě shǐ】😔用电脑😄ping一下看看能否🚜ping通🥕,网口是否正常连接的【lián jiē de】FB1口

5.2.问:向端口发送运🚔动指令机器人【jī qì rén】🆗不运动或者报【huò zhě bào】错【cuò】🍦

答:检查一下所发【xià suǒ fā】送的点位数据是否正🏇常,并不是任意一✒组数据机器人【jī qì rén】📐都能执✴行,需要该【xū yào gāi】数据在【shù jù zài】机器人【jī qì rén】📐工作范【gōng zuò fàn】围内【wéi nèi】,并且有正常的解【jiě】⛱。另外数🛶据的单【jù de dān】🐀位为米跟弧度🤐。


download-669.svg comicon14.svg

电话咨询

download-397.svg comicon15.svg

免费试用

Vector.svg Frame.svg

微信小程序

img1.jpg

微信小程序

准备好突破增长瓶颈,开启智能制造了吗?
了解我们的机器人如何帮助您的业务增长
欢迎下载漫蛙机器人资料

我已阅读并同意漫蛙《隐私政策》《法律声明》

我已知晓并同【xiǎo bìng tóng】意漫蛙🥟通过电子邮件【zǐ yóu jiàn】㊗发送相【fā sòng xiàng】关资料🌝

提交