登录
首页 机器人论坛
回帖 发帖
正文

主题:爱普生6轴机械手臂编程+IO信号处理,找个高手优化下!

点击:3192 回复:3

默默地问下,这个可以用排列组合来解决吗?
IO交互信息如下:
ID Global Val Remark
1 F1 0 F1治具待机
2 F1 1 F1治具良品
3 F1 2 F1治具不良品
4 F1 3 F1治具测试中
5 F2 0 F2治具待机
6 F2 1 F2治具良品
7 F2 2 F2治具不良品
8 F2 3 F2治具测试中
9 F3 0 F3治具待机
10 F3 1 F3治具良品
11 F3 2 F3治具不良品
12 F3 3 F3治具测试中
13 F4 0 F4治具待机
14 F4 1 F4治具良品
15 F4 2 F4治具不良品
16 F4 3 F4治具测试中
17 Line 1 放料点有料
18 Line 0 放料点无料
19 a 1 A夹爪关闭
20 a 0 A夹爪打开
21 b 1 B夹爪关闭
22 b 0 B夹爪打开
23 NGA 1 不良品点有料
24 NGA 0 不良品点无料
25 OKA 1 良品点有料
26 OKA 0 良品点无料
干货如下:
Global Integer F1, F2, F3, F4, NGA, OKA, Lin, a, b
Global Long cycleCount '定义一个长整型变量 用于循环和统计次数
Function main

' baojing1:
' Halt main
Xqt IO
GoSub InitRobot
Do
Go PHome
'下面的代码就是INPUT区域没板子检测的代码
If b = 1 And F2 = 1 And F4 = 0 Then
    GoSub B_F4_INPUT 'B爪治具4放板
Else
If b = 0 And F2 = 1 And F4 = 0 Then '检查B夹爪没板子,同时检查治具4是不是没板子
GoSub B_F2_Ok         'B爪治具2位置取板
GoSub B_F4_INPUT      'B爪治具4放板
EndIf
EndIf
If a = 1 And F2 = 1 And F3 = 0 Then
    GoSub A_F3_INPUT 'B爪治具3放板
Else
If a = 0 And F2 = 1 And F3 = 0 Then '检查A夹爪没板子,同时检查治具3是不是没板子
GoSub A_F2_Ok         'A爪治具2位置取板
GoSub A_F3_INPUT      'A爪治具3放板
EndIf
EndIf
If b = 1 And F1 = 1 And F2 = 0 Then
    GoSub B_F2_INPUT 'B爪治具2放板
Else
If b = 0 And F1 = 1 And F2 = 0 Then '检查B夹爪没板子,同时检查治具2是不是没板子
GoSub B_F1_Ok         'B爪治具1位置取板
GoSub B_F2_INPUT      'B爪治具2放板
EndIf
EndIf
If a = 1 And F1 = 0 Then
    GoSub A_F1_INPUT 'A爪治具1放板
Else
If a = 0 And F1 = 0 Then '检查A夹爪没板子,同时检查治具1是不是没板子
GoSub A_INPUTSTART    'A爪投站位置取板
GoSub A_F1_INPUT      'A爪治具1放板
EndIf
EndIf
Loop
Function InitRobot '子函数用于初始化位置和数值
Reset '复位指令 主要是复位已有的错误
If Motor = Off Then ' 如果MOTOE 没启动 就启动它
Motor On
EndIf '结束ENDIF
Power High ' 注意这有个 High 意思是说进入功率运行   调试的时候不可以这样
Speed 50 '确定运行 的速度 为最高速的一半
Accel 50, 50 '确定加速度
Fend '结束子程序
附件 NewImage.jpg
16-12-06 14:59
这个手臂模拟器是什么啊??讲一下呗,我们公司可能也准备把现在用的别家的手臂环成epson的
17-01-05 21:47
易语言写的上位机吗?
18-08-22 22:49
感觉用C#或者C++写会直观点;用switch case语句,控制如PLC顺序控制一样简单;
18-08-26 07:21

工控新闻

更多新闻资讯