输入格式211,-265,167\n
逗号为英文格式,\n表示坐标输入后记得回车

NachiRobot

VARIABLE.INC

' Variable declarations
' V: global variable
' L: local variable' IP & port
IP_LAST,217
PORT,10030' %: integer variable
ERR_COM,V%[1]
ERRCODE1,V%[2]
ERRCODE2,V%[3]SENT_BYTES,V%[11]
RECIEVED_BYTES,V%[12]
BYTE_DATA,V%[13]
TOSEND_BYTES,V%[14]
rCurrentNum,V%[15]
DECISION_VALUE,V%[16]RECVBUF_READ_READY,V%[21]
RECVBUF_WRITE_READY,V%[22]
SENDBUF_READ_READY,V%[23]
SENDBUF_WRITE_READY,V%[24]SHUT_DOWN_EXEC,V%[25]
SHUT_DOWN_FINISHED,V%[26]' $: str variable
SEND_STR,V$[1]
CharString,V$[2]
ARG_STR,V$[3]STR_SAVE_OFFSET,10RECV_STR1,V$[11]
RECV_STR2,V$[12]
RECV_STR3,V$[13]
RECV_STR4,V$[14]
RECV_STR5,V$[15]
RECV_STR6,V$[16]
RECV_STR7,V$[17]' !: REAL Number
MOVE_POS_X,V![11]
MOVE_POS_Y,V![12]
MOVE_POS_Z,V![13]
MOVE_POS_RZ,V![14]
MOVE_POS_RY,V![15]
MOVE_POS_RX,V![16]

MZ04-01-A.999

INCLUDE "VARIABLE"' 初始化
RECVBUF_READ_READY = 0
RECVBUF_WRITE_READY = 0
SENDBUF_READ_READY = 0
SENDBUF_WRITE_READY = 0SHUT_DOWN_EXEC = 0
SHUT_DOWN_FINISHED = 0
ERR_COM = 0MOVE_POS_RX = 0
MOVE_POS_RY = 90
MOVE_POS_RZ = 0
' Fixture direction fixing' connect open --USERTASK.999
FORKMCR 999, 10000
*READY
' send welcome commond
CallProc WaitForSendReady()
SEND_STR = "Please enter coordinates or exit:"
CallProc ExecuteSend()CallProc ExecuteRecieve()
IF "exit" = RECV_STR1 THEN *FINAL' recv value
' CallProc ExecuteRecieve()' move
DECISION_VALUE = VAL(RECV_STR4)
IF DECISION_VALUE = 0 AND rCurrentNum = 3MOVE_POS_X =  VAL(RECV_STR1)MOVE_POS_Y =  VAL(RECV_STR2)MOVE_POS_Z =  VAL(RECV_STR3)' MOVE_POS_RX = VAL(RECV_STR4)' MOVE_POS_RY = VAL(RECV_STR5)' MOVE_POS_RZ = VAL(RECV_STR6)CallProc ExecuteMove()
ENDIF
GOTO *READY' program finished
*FINAL
SHUT_DOWN_EXEC = 1
IF SHUT_DOWN_FINISHED = 0 THEN *FINAL
END' *********subfunction*********UsrProc WaitForSendReady()*SEND_LOOPIF ERR_COM <> 0 THEN *FINALIF SENDBUF_WRITE_READY = 0 THEN *SEND_LOOP
EndProcUsrProc ExecuteSend()SENDBUF_READ_READY = 1
EndProcUsrProc ExecuteRecieve()RECVBUF_WRITE_READY = 1*RECV_LOOPIF ERR_COM <> 0 THEN *FINALIF RECVBUF_READ_READY = 0 THEN *RECV_LOOPRECVBUF_READ_READY = 0
EndProcUsrProc ExecuteMove()MOVEX A=1,AC=3,SM=3, M1X, L, (MOVE_POS_X, MOVE_POS_Y, MOVE_POS_Z, MOVE_POS_RX,MOVE_POS_RY,MOVE_POS_RZ),R=10,MS
EndProc

USERTASK-A.999

' TCP/IP ServerINCLUDE "VARIABLE"*CREATE
FOR L100%=0 TO 20 STEP 1SOCKCREATE 1, 0            'Socket#1 & TCP/IPIF E1%>=0 THEN *SOCKBINDPAUSE 500
NEXT
GOTO *ERROR_END*SOCKBIND
SOCKBIND 1, PORT   ' PORT = 10030
IF E%[1] < 0 THEN *ERROR_END' wait connect
*SOCKWAIT
SOCKWAIT 1,2,0
IF E%[1] < 0 THEN *ERROR_END' ----------------------------
*COM_LOOP
SENDBUF_WRITE_READY = 1
IF SENDBUF_READ_READY <> 0 THEN *SEND_BUF
IF RECVBUF_WRITE_READY <> 0 THEN *RECV_BUF
IF SHUT_DOWN_EXEC <> 0 THEN *NORMAL_END
GOTO *COM_LOOP*RECV_BUF
RECVBUF_WRITE_READY = 0' receive data--------
rCurrentNum = 1
V$[rCurrentNum + STR_SAVE_OFFSET] = ""
' RECV_STR1(V11$) = ""*RECV_BYTE_LOOP
SOCKRECV 2, 1, 1, 0, RECIEVED_BYTES
' write to RECIEVED_BYTES(V12%)
IF E%[1] < 0 THEN *ERROR_END' Extracts 1 byte of data from the buffer
GETBYTE 1, BYTE_DATA, 0
CharString = CHR$(BYTE_DATA)
IF 10 = BYTE_DATA OR 13 = BYTE_DATA
' In ASCII code 10 is line feed and 13 is carriage return
' (their as the end of an instruction)
GOTO *RECV_END  ' Out1
ENDIFIF "," = CharString
rCurrentNum = rCurrentNum + 1
V$[rCurrentNum + STR_SAVE_OFFSET] = ""
GOTO *RECV_BYTE_LOOP
ENDIFV$[rCurrentNum + STR_SAVE_OFFSET] = V$[rCurrentNum + STR_SAVE_OFFSET] + CharString
GOTO *RECV_BYTE_LOOP
' receive data---------*RECV_END
SOCKRECV 2, 2, 1, 0, RECIEVED_BYTES
' write to RECIEVED_BYTES(V12%)
IF E%[1] < 0 THEN *ERROR_END
RECVBUF_READ_READY = 1
' ExecuteRecieve() Loop
' BYTE_DATA = 0
GOTO *COM_LOOP
' receive data end---------' sent data--------
*SEND_BUF
SENDBUF_READ_READY = 0
SOCKSENDSTR 2, SEND_STR, LEN(SEND_STR), 0, SENT_BYTES, 2
IF E%[1] < 0 THEN *ERROR_END
GOTO *COM_LOOP
' sent data end--------*ERROR_END
ERRCODE1 = E%[1]
ERRCODE2 = E%[2]
ERR_COM = 1' close the connect
*NORMAL_END
SOCKCLOSE 1
SOCKCLOSE 2
SHUT_DOWN_FINISHED = 1
END

Nachi机器人TCP通讯相关推荐

  1. UR机器人TCP通讯示例

    本文介绍UR机器人通讯示例,采用的是UR5机器人,实现的功能是从电脑端给机器人发送坐标,让机器人运动到目标位置.已经经过实操检验.本文截图是在虚拟机上,与实际界面显示略有不同,仔细看图片和文字. 1. ...

  2. UR机器人TCP通讯示例 详细例程,手把手教会你

    本文介绍UR机器人通讯示例,采用的是UR5机器人,实现的功能是从电脑端给机器人发送坐标,让机器人运动到目标位置.已经经过实操检验.本文截图是在虚拟机上,与实际界面显示略有不同,仔细看图片和文字. 1. ...

  3. 优傲机器人TCP通讯

    最近公司买了一款优傲机器人UR3来做了一些研究,公司要求是在pc端编程通过网络实现对机器人的全面控制,研究了一段时间颇有心得,记录在此,也好协助一些使用优傲机器人的朋友少走弯路. 首先从端口来说,ur ...

  4. 记录一下川崎机器人实现FINS TCP 通讯

    这里写自定义目录标题 记录下项目上使用的通讯 川崎机器人套接字编程 FINS TCP报文分析 握手 读取 写入 川崎机器人通讯源码 记录下项目上使用的通讯 开个坑,在项目中利用川崎机器人自带的TCP实 ...

  5. YAMAHA机器人跟上位机TCP通讯

    工控小知识: YAMAHA机器人跟上位机TCP通讯 机器人当断电后重启后是不会自动执行程序的,这时候的机器人相当于是伺服端,在等待外部客户端给命令,需要上位机发一个@RUN+回车空格的指令,机器人返回 ...

  6. 川崎机器人总线通信_川崎机器人:PLC有那些功能?能实现机器人哪些通讯?

    川崎机器人:PLC有那些功能?能实现机器人哪些通讯? (一)运算功能 简单PLC的运算功能包括逻辑运算.计时和计数功能:普通PLC的运算功能还包括数据移位.比较等运算功能:较复杂运算功能有代数运算.数 ...

  7. 众为兴机器人视觉通讯

    视觉通讯 总纲 **很多工艺场合机器人需要与视觉通讯,通过接收视觉发送的数据进行相应的运动来成工艺需求.众为兴 ADT-RC400 控制器可应用于三类视觉应用场合:静态视觉.动态视觉和动态跟随视觉.前 ...

  8. 优傲机器人ModBus通讯

    1.1介绍 Introduction 本文描述了优傲机器人ModBus通讯四种应用介绍 1.2 硬件设备列表 Hardware equipment 本方案适用以下产品: 优傲机器人型号: UR3.UR ...

  9. ABB机器人socket通讯

    文章目录 前言 一.效果展示 二.知识储备 1.准备工作 2.套接字通信的示意图 3.客户端指令 4.服务器指令 三.源码说明 前言 Socket Messaging的作用是允许RAPID程序员通过T ...

  10. c++ char4个字节_西门子PLC的TCP通讯(不同项目下)①--TSEND_C指令

    西门子PLC的TCP通讯(不同项目下)①--TSEND_C指令 本期说一下,不同项目下的,连个西门子1200的TCP通讯,这次我们用TSEND_C和TRCV_C组合使用,这次先了解下TSEND_C指令 ...

最新文章

  1. 微信生态增长:裂变与分销讲解
  2. html5 meta标签属性整理
  3. [HDF]hdf-4.2.6类库的使用
  4. 18-chown命令
  5. struts2文件下载
  6. 关于dotnetbar控件
  7. 腾讯云 配置短信验证
  8. php7 yar扩展,宝塔面板安装yar扩展
  9. 市面售价2W的仿抖音短视频原生双端APP源码,带技术文档管理后台和数据库
  10. python人工智能入门纳米学位_最近看到udacity的纳米学位很火,号称学完可以找到工作了,这是真的吗?...
  11. 微软账户登入显示空白框,无法创建用户
  12. 2021苹果CMSV10完美对接萝卜影视(原生)蓝色版
  13. 【XSY-Contest2618.Problem A】抢夺
  14. Url跳转和伪静态html解决方案
  15. MATLAB 输入输出文件
  16. 2020年全球数据中心十大发展趋势
  17. android 查看文件夹大小 删除文件,Android Base64编码保存本地。查询文件夹大小以及删除...
  18. IT人理科男不懂浪漫?事实真的是这样吗?
  19. 机器学习原理篇:基础数学理论 Ⅱ
  20. C51---9 LED点阵屏

热门文章

  1. [Spring实战系列](9)装配集合
  2. 《Java从入门到放弃》系列文章改版中...
  3. jmp连mysql_mongo connect BI 连接至Power BI
  4. 不用无限手套,人人都能开发 BI 系统
  5. 鸿蒙第三代手机,华为第三代折叠屏手机面市 余承东披露今年4月旗舰机启用鸿蒙系统...
  6. 华为推出首款折叠屏5G手机;微信“上车”时间已定;社区团购暗潮涌动
  7. c++EasyX极乐净土的实现及音乐头文件的使用
  8. python汽车租赁系统django
  9. 【Web前端】怎样用记事本写一个简单的网页-html
  10. Python函数的输出