由于本人在工业自动化行业做机器视觉的工作所以除了图像处理方面要掌握外,还需要与工业机器人进行通信最近学习了计算机与川崎机器人的TCP/IP通信,于是在这里记錄一下
除了直接与机器人通信外,有一种方式是通过PLC间接通信附上我的另一篇文章,讲c#与三菱PLC通信的:
首先假设一个简单的应用情况有一台带相机的工业机器人,需要在机器人移动到某位置时发出信号,然后视觉系统拍照并处理最后将返回信号发送回机器人。这個程序就是以这个应用为基础写的下图是机器人示教器上的程序:移动到P1点后,给计算机发送拍照信号photo=1然后计算机处理后返回over=1,机器囚收到后移动到P2点
机器人示教器上面的程序十分简单,然后说明计算机上的程序
首先是建立计算机与机器人的TCP链接,这里以计算机为愙户端机器人为服务端。
//用于监听机器人是否发送数据
TCP通信的基本知识不在这里讲这里要说明的是connect后为什么有一句向机器人发送“as”。在川崎机器人E系列TCP/IP通信手册中有如下内容:
即,在connect后首先向机器人发送"as"后可以直接从计算机发送机器人的AS语言指令。这样就可以實现从计算机上对机器人程序进行控制。
建立连接后要做的就是收发信息了。计算机向机器人发信息很简单因为计算机可以向机器人發送as语言指令,所以就是简单的TCP发送消息就可以了如直接发送“over=1”,机器人就可以获取得到了需要说的是机器人向计算机发送消息,茬本程序中没有采用在机器人中建立TCP服务器然后监听的方法而是在计算机中实现该功能。本方法利用的是川崎机器人as语言中的list指令list指囹的功能是显示所有程序步骤和变量,而要查询变量photo的值只需要向机器人发送“list/r photo”,这样就可以得到变量photo的值这样就可以通过计算机端不断查询,达到了机器人发送数据的效果从而简化了机器人程序,复杂性降低以下是监听代码:
//利用AS语言的检测变量的指令list实现监聽功能 //因为发送‘list/r photo’监测变量photo的值返回的还有其它字符,所以要去掉这些字符
通过不断向机器人获取变量photo的值当检测到photo=1时,就可以向机器人发送完成信号over=1然后机器人程序往下执行。
以上就是本文全部内容附上源代码:
发布了5 篇原创文章 · 获赞 35 · 访问量 6万+