热线电话:137-2877-9298

应用分类

联系我们

长沙华腾科技有限公司

手  机  号:137-2877-9298

服务热线 :+86-769-8457-2387

Q         Q:421652398

邮        箱:1114809988@qq.com

地        址:长沙市高新区环创园A4栋8楼

网        址:http://xiandaijiqiren.com/

库卡机器人与C上位机软件通讯长沙华腾科技有限公司

库卡机器人与C上位机软件通讯长沙华腾科技有限公司

详细介绍


c#利用tcp/ip是如何跟库卡机器人是如何进行通讯的呢.

上位机和库卡机器人通讯,先要给机器人安装“ETHERNETKRL”

先当然是TCP/IP的基础部分,服务器和客户端。这里将库卡机器人作为客户端,长沙华腾科技上位机作为服务器进行通讯

库卡机器人TCP通讯存在三种数据发送格式:固定长度字节,任意长度字节,和xml格式。个人感觉xml格式比较好用,这里介绍xml的通讯。


xml的通讯,其实可以分解为几个步骤:机器人发送到上位机:机器人程序将变量或者数值写入xml的元素中→机器人将xml发送通过服务端发送到上位机的服务端→服务端接受到数据,按照xml的格式解析其中元素RET=EKI_Init("XmlCallBack")//初始化xml文件RET=EKI_Open("XmlCallBack")//打开(相当于客户端请求连接)//将变量或值写入到xml文件的元素中;FOLD Write data to connection  ; Write frame to <LastPos X="" Y="" Z="" A="" B="" C="" />  RET=EKI_SetFrame("XmlCallBack","Robot/Data/LastPos", TOOL_DATA[1])  ; Write real to <ActPos X="" />  RET=EKI_SetReal("XmlCallBack","Robot/Data/ActPos/@X", 1000.12)  ; Write int to <Status></Status>  RET=EKI_SetInt("XmlCallBack","Robot/Status", 12345678)  ; Write string to <Mode></Mode>  RET=EKI_SetString("XmlCallBack","Robot/Mode","ConnectSensor")  ; Write bool to <LightOn></LightOn>  RET=EKI_SetBool("XmlCallBack","Robot/RobotLamp/GrenLamp/LightOn",true);ENDFOLD (Write data to connection)//发送xml到服务端RET = EKI_Send("XmlCallBack","Robot")上位机服务端获取到的数据是:<Robot><Data><LastPos X="483.980011" Y="7.210000" Z="239.869995" A="0.000000" B="0.000000" C="0.000000"></LastPos><ActPos X="1000.119995"></ActPos></Data><Status>12345678</Status><Mode>ConnectSensor</Mode><RobotLamp><GrenLamp><LightOn>1</LightOn></GrenLamp></RobotLamp></Robot><Robot><Data><LastPos X="483.980011" Y="7.210000" Z="239.869995" A="0.000000" B="0.000000" C="0.000000"></LastPos><ActPos X="1000.119995"></ActPos></Data><Status>12345678</Status><Mode>ConnectSensor</Mode><RobotLamp><GrenLamp><LightOn>1</LightOn></GrenLamp></RobotLamp></Robot>然后对数据进行逐个元素的解析就可以了。要增加变量,只要对应在mxl文件,机器人程序和上位机解析过程中添加就可以了。上位机发送到机器人:上位机将变量写成xml格式,利用客户端发送到机器人中的xml文件→机器人读取xml文件中的元素值到程序中的变量写成xml格式:sendstr = sendstr + "<Sensor><Status><IsActive>FALSE</IsActive></Status></Sensor>";sendstr = sendstr + "<Sensor><Read><xyzabc X='10.0' Y='20.0' Z='30.0' A='40.0' B='50.0' C='60.0'></xyzabc></Read</Sensor>";sendstr = sendstr + "<Sensor><Status><IsActive>FALSE</IsActive></Status></Sensor>";sendstr = sendstr + "<Sensor><Read><xyzabc X='10.0' Y='20.0' Z='30.0' A='40.0' B='50.0' C='60.0'></xyzabc></Read</Sensor>";


在线客服


联系电话

137-2877-9298


在线留言
微信二维码

TOP

长沙华腾科技有限公司

手  机  号:137-2877-9298

服务热线 :+86-769-8457-2387

Q         Q:421652398

邮        箱:1114809988@qq.com

地       址:长沙市高新区环创园A4栋8楼

网      址::http://xiandaijiqiren.com/

微信二维码

二维码1

微信二维码

二维码2

Copyright © 长沙华腾科技有限公司 ,ICP备案号:湘ICP备20015173号-6