1.什么是socket通讯?
就是TCP/IP通讯,无协议,在微软环境下称为socket。
2.socket通讯能干什么?
可以收发制定的数据,包括sting字符串,byte数组等。
3.创建socket机器人需要什么选项?
机器人需要616-1 PC-INTERFACE选项。
4.socket通讯网线插哪个网口?
Service口(IP固定:192.168.125.1)或者Wan口都可以(可以自己设置)。
5.创建client端的实例
通常机器人和相机通讯,机器人作为client端。
(1)新建一个机器人系统,注意建立系统时加入pc-interface选项。
(2)为了避免之前的连接没有关闭,先插入socketclose指令,后面的socket1为自己新建的socketdev类型的变量。
(3)之后插入创建连接socketCreate。
(4)插入建立连接SocketConnect,后面需要制定Server的ip和端口,如果是在电脑和另一台虚拟控制器连接,ip设为“127.0.0.1”,端口自定义,建议不要用默认的1025。
这一步作用为机器人会和server建立连接,如果没有建立成功会一直等待,如果成功则往下执行。
(5)此处做测试,在建立成功后,插入TPWrite指令,可以在示教器看到socketclinent connect successful。
(6)接下去可以收发数据,此处示例为client先发送数据给server,再接受server发送回来的数据。
(7)SocketSend后面可以发送string或者byte数组,具体可以选择不同可选变量。
(8)发送完毕后,client接受到server发回的数据并写屏。
6.以下为server端示例
(1)重新创建一个工作站,创建时不要忘记添加pcinterface选项。
(2)作为server,机器人需要创建2个socketdev变量。
(3)为了避免之前的连接没有关闭,同样建议先socketclose。
(4)
(5)接着创建socketCreatetemp_socket 服务器端socketdev。
(6)SocketBind为绑定socket要监控的ip和端口,如果是虚拟仿真,ip为127.0.0.1,端口自定义(和client端设置一致)。
(7)SocketListen为机器人server监听是否有client连接。
(8)socketAccept为接受client的连接。
(9)建立连接后,机器人就可以执行死循环,即一直处于收发状态。
(10) 之前client程序为client先发后收,故这里server先收后发。
7.client和server都写完后,可以运行,注意先运行server端,即server机器人处于监听状态,如果连上,两台相互通讯,效果如下:
8.server机器人收到的讯息如下:
9. client机器人收到的讯息如下:
四、双工位预约程序
1.有如下双工位生产
2.工艺过程如下:
人工完成1#工位上料后按按钮di_1(按钮不带保持,即人手松开信号为0))机器人焊接1#工位。
此过程中人工对2#工位上下料,完成后按di_2完成预约(即不需要等机器人完成1#工作)。
机器人完成1#工作后,由于收到过di_2预约信号,机器人自动去完成2#工位
3.我们通过中断来实现。
4.中断的意义为,机器人后台在不断扫描(类似PLC),和机器人前台运动不冲突。后台实时扫描到信号就会去执行设定的中断程序,中断程序里没有运动指令,前台机器人不停,不影响运动
5.新建一个例行程序,取名tr_1,注意:类型选中断(trap)
37行的意思是,任何时候di_1信号0变1,就会触发执行tr_1中断程序,即置flag1为true,35-40行程序只要运行过一遍即可,类似于设置开关,不需要反复运行
6.进入中断程序,插入指令如下,即当机器人执行中断程序时,给bool量置true
同理设置第二个中断程序
7.进入主程序,设置中断及对应的io信号
8.主要程序如下。即如果没有人给di信号,机器人就在home位等待。
9.
更多详情请关注:ABB机器人服务商
- 下一篇:ABB机器人编程实用技巧(三)
- 上一篇:ABB机器人编程实用技巧(一)