新松机械臂 2001端口服务的客户端例程

06-01 1319阅读

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。

源码指引:github源码指引_初级代码游戏的博客-CSDN博客

C#是我多年以来的业余爱好,新搞的东西能用C#的就用C#了。


        新松机械臂报告状态的端口是2001,每100毫秒报告一次状态,每次报告数据长度1468字节。

        这个端口只用来报告状态,控制则使用2000端口。

        获取状态非常简单,连接上去,读取数据,按照格式拆分数据即可。具体数据数据格式见开发手册。

目录

一、C++头文件

二、main函数

三、核心代码

四、运行


新松机械臂 2001端口服务的客户端例程

新松机械臂 2001端口服务的客户端例程 

一、C++头文件

         只需要使用C++头文件DucoRobat.h即可。其实并不需要这个头文件,本例程中引入是因为借用了里面定义好的状态结构而已:

// 机器人相关信息
struct RobotStatusList
{
	std::vector  jointExpectPosition;   // 目标关节位置
	std::vector  jointExpectVelocity;   // 目标角速度
	std::vector  jointExpectAccelera;   // 目标角加速度
	std::vector  jointActualPosition;   // 实际关节位置
	std::vector  jointActualVelocity;   // 实际角速度
	std::vector  jointActualAccelera;   // 实际角加速度
	std::vector  jointActualCurrent;    // 实际关节电流
	std::vector  jointTemperature;      // 时间关节温度
	std::vector  driverTemperature;     // 未使用
	std::vector  cartExpectPosition;    // 目标末端位姿
	std::vector  cartExpectVelocity;    // 目标末端速度
	std::vector  cartExpectAccelera;    // 目标末端加速度
	std::vector  cartActualPosition;    // 实际末端位姿
	std::vector  cartActualVelocity;    // 实际末端速度
	std::vector  cartActualAccelera;    // 实际末端加速度
	std::vector    slaveReady;            // 从站状态
	bool    collision;       // 是否发生碰撞
	int8_t  collisionAxis;   // 发生碰撞的关节
	bool    emcStopSignal;   // 未使用
	int8_t  robotState;      // 机器人状态
	int32_t robotError;      // 机器人错误码
};

二、main函数

int main(int argc, char** argv)
{
	if (!InitActiveApp("DOUCO", 1024 * 1024 * 10, argc, argv))return 1;
	thelog 
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码