|
更多内容请点击上方 ABB机器人实战技巧 关注 也可点击公众号下方 往期经典 浏览更多内容 转载请先后台留言,大家一起支持原创,推动机器人使用和发展 本公众号对各类ABB机器人应用,仿真,毕业设计提供技术支持,详细后台留言 本公众号诚挚希望与各机器人培训机构,机器人使用单元合作,提供技术支持,详细后台留言
最下方有完整工作站源代码网盘下载地址。
RobotWare7 可以参考上文实现。 RobotWare8 也可以参考上文实现。
即: 1. 机器人必须在被Reset情况下(通过示教器圆按钮或者safeIO),reset后系统自动处于motorOn 2. 以西设置打开 3. 机器人处于自动模式,机器人退出权限,机器人允许外部控制 4. 上表左侧黄色的系统输入使用时,需要先根据右侧的writeAccessAvaiable判断是否可以请求权限,然后通过系统输入Write Access请求权限,再使用对应对应系统输入。系统输入使用完毕,记得释放权限。
创建以下io,并在系统输入和系统输出关联 -Name"do_Reset" -SignalType"DO" // 判断是否需要reset
-Name"do_WriteAccess" -SignalType"DO"
-Name"do_WriteAccessAvailable" -SignalType"DO"
-Name"do_RemoteAccess" -SignalType"DO"
-Name"di_write" -SignalType"DI"
-Name"di_start" -SignalType"DI"
-Name"di_pptomain" -SignalType"DI"
-Name"di_stop" -SignalType"DI" // 以下vdo信号用于crossconnection到di信号,以便写入 -Name"vdo_pptomain" -SignalType"DO" -Access"All"
-Name"vdo_write" -SignalType"DO" -Access"All"
-Name"vdo_start" -SignalType"DO" -Access"All"
-Name"vdo_stop" -SignalType"DO" -Access"All" 创建后台程序如下,并在controller 的task中设置type为 semistatic。 稍后可以通过外部设备socket,对机器人进行控制 MODULE m2
VAR socketdev temp_socket; VAR socketdev client_socket; VAR string received_string;
CONST string ip:="127.0.0.1"; CONST num port:=1025;
PROC sockinit() SocketClose temp_socket; SocketClose client_socket;
SocketCreate temp_socket; SocketBind temp_socket,ip,port; SocketListen temp_socket; SocketAccept temp_socket,client_socket\Time:=WAIT_MAX; ENDPROC
PROC main() sockinit; WHILE TRUE DO SocketReceive client_socket\Str:=received_string\Time:=WAIT_MAX; IF do_Reset=0 OR do_RemoteAccess=0 THEN ! 如果需要reset或者没有允许外部控制,提示 IF do_Reset=0 THEN TPErase; TPWrite "请先对机器人Reset"; TPWrite "机器人处于自动模式"; TPWrite "可以长按示教器上方圆按钮"; TPWrite "或通过SafeIO"; ENDIF IF do_RemoteAccess=0 THEN TPWrite "请在示教器允许外部控制"; ENDIF ELSE TEST received_string CASE "start": ! 先判断是否可以请求权限,然后请求权限并触发di_start IF do_WriteAccessAvailable=1 THEN Set vdo_write; PulseDO vdo_start; WaitTime 0.3; Reset vdo_write; ELSE TPErase; TPWrite "没有权限"; ENDIF
CASE "pptomain": IF do_WriteAccessAvailable=1 THEN Set vdo_write; PulseDO vdo_pptomain; WaitTime 0.3; Reset vdo_write; ELSE TPErase; TPWrite "没有权限"; ENDIF
CASE "stop": ! 无需系统输入write请求权限 PulseDO vdo_stop;
ENDTEST ENDIF WaitTime 0.5; ENDWHILE ERROR sockinit; RETRY; ENDPROCENDMODULE
******************************** 如何获取更多经典文章? 关注公众号 ABB机器人实战技巧,点击页面底部的往期经典和配置,查看更多经典内容
点击阅读原文,学习robotstudio仿真,获取完整教学视频 更多内容
更多大牛讲解视频,可以微信搜索ABB机器人实战技巧,或者扫描以下二维码关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
|