EPSON 机械手简单实例编程

本文详细介绍了如何对EPSON机械手进行简单实例编程,涵盖了从基础指令学习到实际应用的全过程,涉及机器人控制、人工智能算法在工业自动化中的应用。
摘要由CSDN通过智能技术生成
1、网络配置
Function NetOpen
         NetSts = ChkNet(202)
         If (NetSts < 0) Then
              CloseNet #202
              Wait 0.5
              SetNet #202, "192.168.0.1", 2002, CRLF, NONE, 0 '配置端口号,ip 地址
              OpenNet #202 As Server
              WaitNet #202
              Print "配置完成!"
        EndIf
Fend

2、扫描端口,获取端口数据,传输数据
Function ScanConnNet
OnErr GoTo errhandler
      Do
            NetSts = ChkNet(202)
            If (NetSts > 0) Then
 
                Input #202, RecvString$ '从 202 端口获取输入,并赋值到变量 RecvString$
                ParseStr RecvString$, RecvStr$(), "#"
                ParseStr RecvString$, RecvStr$(), " "
                Select RecvStr$(0)
                      Case "X"
                              Move CurPos +X(Val(RecvStr$(1)))
                      Case "-X"
                              Move CurPos -X(Val(RecvStr$(1)))
                      Case "RobotRun"
                           CX(P100) = Val(RecvStr$(1))
                           CY(P100) = Val(RecvStr$(2))
                           CZ(P100) = Val(RecvStr$(3))
                           CU(P100) = Val(RecvStr$(4))
                           CV(P100) = Val(RecvStr$(5))
                           CW(P100) = Val(RecvStr$(6))
                              Go LJM(P100)
                               '发送数据到 202 端口
                               Print #202, "#GoToPointok"
                    Send
 
                 ElseIf NetSts < 0 Then
                 Call NetOpen
                 ElseIf NetSts = 0 Then
                 EndIf
                       Print #202, "#RobotPos" + "," + Str$(CX(CurPos)) + "," + Str$(CY(CurPos)) + "," + Str$(CZ(CurPos)) + "," + Str$(CU(CurPos)) + "," + Str$(CV(CurPos)) + "," + Str$(CW(CurPos)) + "#"
                      Wait 0.2
         Loop
errHandler:
      RecvString$ = ""
      EResume Next
Fend
 
If Sw(0) = 1 Then Print "Input0 ON" Else Print "Input0 OFF" ‘如果 0 号输入打开,那
么 0 号输出打开,如果不是,那么 0 号输出关闭
'
If Sw(1) = 1 Then ‘ 如果 1 号输入打开
If Sw(2) = 1 Then ‘2 号输入打开
Print "Input1 On and Input2 ON" ‘那么 I1 和 I2 打开
Else ‘ 或者
Print "Input1 On and Input2 OFF" 如果不是,那么 I1 打开并且 I2 关闭
EndIf ‘ 结束
Else ‘ 或者
If Sw(2) = 1 Then 如果 2 号输入打开
Print "Input1 Off and Input2 ON" 那么 I1 关闭并且 I2 打开
Else ‘ 或者
Print "Input1 Off and Input2 OFF" 如果不是,那么 I1 关闭并且 I2 也关闭
EndIf ‘‘ 结束
 
SPEL
1,SW 函数,读入 IO 状态
格式 Sw(输入 Bit 编号|输入标签)
输入 Bit 编号 : 可以使用的输入 Bit 编号
说明
检查 I/O 输入的状态。
指定输入的时候,On 的话返回“1”,Off 的话返回“0”。
例子
Print Sw(1)Wait Sw(0) = On
Wait Sw(1) = On And Sw(2) = On Wait
Sw(1) = On Or Sw(2) = On
 
2,Oport 函数,读取指定输出位的状态
格式 Oport(输出位编号)
例子:Wait Oport(5)
 
3,Wait 指令,延时等待
格式 :Wait 时间
Wait 输入条件式, [时间]
时间 : 0~2147483 秒,最小有效位数 0.01 秒
epson机器⼈编程范例_SimulinkSimscapeMultibody机器⼈仿 真(⼀) 最近⼀直在做机器⼈仿真,⽤于多⾜机器⼈的步态规划。但经过这段时间的调试和软件选型,发现现在中⽂⽹站上相关的资料还是偏少,所 以想开设⼀个⼩系列来分享⼀下⼼得,希望对各位有所帮助。 软件选型 软件选型 先说⼀下结果:最终选择了⽤Simulink SimscapeMultibody。 最开始因为组⾥前⾯的机械臂项⽬⽤的是ROS,并且开发相对成熟,所以开始就希望基于ROS上已有的物理仿真环境,也就是gazebo进⾏ 开发。但后⾯发现gazebo不是很成熟: 1. 在应⽤过程中会遇到很多的bug:对于⼩数值⽀持不好:特别是在计算惯量的时候,因为开了各6次幂导致很多时候会出现下溢出,直 接在反应在仿真中就是:模型下陷,⼀开始仿真除⾮固定,否则就会陷在地⾯⾥,或者莫名其妙被弹飞。(为了解决这个事笔者基本 快把gazebo的底层给看完了……被⾃⼰蠢到了) 2. gazebo的调试可以说是没有任何便利性可⾔(虽然很丢⼈,但写makefile还是给从java转过来的笔者留下了很深的阴影)主要是IDE 不好⽤……不知道CS⼤神们有没有什么优雅的解决⽅案。 本来是希望matlab做规划算法, 然后通信控制gazebo中机器⼈(笔者嫌⿇烦所以⽤了两台电脑,其实⼀台也可以,可以⽤虚拟机,或者 win10的linux⼦系统,⾄于linux上装matlab,我就不是很清楚了),以此来进⾏运动控制。但经过两个⽉的gazebo后,最终下定决⼼放 弃gazebo…… 之后听过楼上有⼈⽤过unity3D开发物理仿真环境。下好了试了⼀下……在调了⼀天的UI字体字号后,果断放弃……(但到头来⼯作的时候 还是逃不掉⽤unity)其实真正使⽤国故城中⽤unity3D遇到的问题和gazebo会差不多,但解决难度会低很多,如果各位有兴趣的话还是可 以尝试下的,说不定⽤了⼀下之后就会爱上做三维渲染了,⼿动滑稽。 之后偶然间发现matlab中有⼀个Simscape Multibody模组。点开看了⼀下,嗯~有内味。简单来说Simscape Multibody⼊门要更简单, 但是基本的建模思想和上⾯两个软件都是⼀致的,并且作为simlunk的成员,这种图形编程能在更⼤程度上降低coding时的出错概率,这⼀ 点在IDE不是很强⼤的情景下是⼗分重要的。所以最终选择了⽤Simscape Multibody。 稍稍总结⼀下:如果要搭建有物理环境的机器⼈仿真平台,使⽤的⼯具更准确来说是引擎,底层的思路都是⼀致的:底层物理逻辑,上⾯套 上⼀个图形显⽰层,当处理接触交互时还需要加上⼀个在物理层中加⼊碰撞;⽽与运动相关的所有逻辑的理论基础就是各位喜闻乐见的机器 ⼈学(动⼒学)——⽤变换来表⽰⼀切,掌握了这些之后再看上⾯这些引擎,甚⾄是市⾯上常见的游戏引擎,就明朗很多了。(话说这⼀套 仿真做下来还真能去找个游戏开发的⼯作……) PS:不知道是不是我电脑的缘故,低版本matlab(2016a)中的Simulink Simscape Multibody较容易崩溃,建议各位⼯程中真要⽤最 好还是换到最新的matlab。(⽤的时候记得打开git)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值