Epson简单实例

1.Epson软件方面编程

2.网络配置方面

3.vs编码方面

软件配置:Epson机械手软件,vs2012

网络配置:Tcp通信,IP地址及端口设置

硬件配置:Pc机,机械手,机械手供电器

一.环境准备

①pc,机械手,供电器上电。

②pc与机械手的两个网线插口连接,置供电器Power为On

③配置pc的ip地址与Epson软件同一个ip地址,Epson软件每一个端口都可以设置一个ip,可以同时开多个端口(设置位置:设置—系统配置—控制器—TCP/IP)

④窗口—电脑与控制器通信–增加,添加一个以太网连接p1,同时设置ip地址

⑤将软件状态从离线改为usb,在更改为名为p1的以太网连接。

⑥工具—机器人管理器,调试机械手,机械手运动则表示环境准备完成。

二. 编写Epson软件代码

①初始化Epson

②网络配置

③扫描端口,获取端口数据,传输数据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

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

三.c#编程①Tcp连接核心代码using System.Threading.Tasks;

using TestLTDMC;

using System.Threading;

using System.Windows.Forms;

namespace Test

{

class Robot

{

private Socket client;

public static object sendLock = new object();

private IPEndPoint ipep;

private byte[] buf = new byte[1024];

private static object SendLock = new object();

private static object Lock = new object();

public static Robot robot;

private bool RobotConnectSts = false;

public static Robot instance;

public static Robot Instance()

{

if (instance == null)

{

instance = new Robot();

}

return instance;

}

private  Robot()

{

IPAddress ipad = IPAddress.Parse("192.168.0.1");

ipep = new IPEndPoint(ipad, 2001);

}

public void ConnectWithRobot()

{

if (client != null && client.Connected)

{

client.Close();

}

try

{

lock (sendLock)

{

client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

client.Connect(ipep);

client.BeginReceive(buf, 0, buf.Length, SocketFlags.None, new AsyncCallback(Receive), client);

}

}

catch

{

}

}

public bool GetRobotConnectSts

{

get

{

if (client != null)

{

RobotConnectSts = client.Connected;

}

else

{

RobotConnectSts = false;

}

return RobotConnectSts;

}

}

public void DisconnectWithRobot()

{

if (client != null)

{

client.Close();

}

}

private void Receive(IAsyncResult ia)

{

try

{

client = ia.AsyncState as Socket;

int count = client.EndReceive(ia);

client.BeginReceive(buf, 0, buf.Length, SocketFlags.None, new AsyncCallback(Receive), client);

string context = Encoding.ASCII.GetString(buf, 0, count);

if (context.Length > 0)

{

ProcessData(context);

}

else

{

}

}

catch

{

}

}

private void ProcessData(string recvdata)

{

recvdata = recvdata.Trim();

string[] cmddata = recvdata.Split(new char[] { '#' });

//string[] singlecmddata1 = cmddata[1].Split(new char[] { '\r\n' });

string[] singlecmddata = cmddata[1].Split(new char[] { ',' });

if (singlecmddata[0].Trim() != "RobotPos")

{

RunLog.instance.SaveLog(1, "PC接收到Robot发来的去" + recvdata + "命令");

}

switch (singlecmddata[0].Trim())

{

case "RobotPos":

//相关处理

break;

default:

break;

}

}

public void SendCmdToRobot(string part1, double part2, string part3, string part4, string part5, string part6, string part7)

{

string sendcmd = "";

sendcmd = part1 + " " + part2 + " " + part3 + " " + part4 + " " + part5 + " " + part6 + " " + part7;

SendCmdData(sendcmd);

}

public void SendCmdData(string StrData)

{

RunLog.instance.SaveLog(1, "PC向Robot发送" + StrData + "命令");

lock (SendLock)

{

try

{

byte[] buf1;

buf1 = Encoding.ASCII.GetBytes(StrData + "\r\n");

client.Send(buf1, 0, buf1.Length, SocketFlags.None);

}

catch

{

}

}

}

}

}

#转载请注明出处 www.skcircle.com 《少有人走的路》勇哥的工业自动化技术网站。如果需要本贴图片源码等资源,请向勇哥索取。

epson机器人编程 范例_Epson机械手简单实例编程相关推荐

  1. Epson机械手简单实例编程

    Epson简单实例 1.Epson软件方面编程 2.网络配置方面 3.vs编码方面 软件配置:Epson机械手软件,vs2012 网络配置:Tcp通信,IP地址及端口设置 硬件配置:Pc机,机械手,机 ...

  2. 珞石(ROKAE)机械手简单的编程

    最近公司用到洛石机械手,编程这一块网上资源较少, 下面是一个简单的程序,控制机械手运动,和plc用io口通讯, MODULE MainModule //下面是一个点位(可以示教) GLOBAL VAR ...

  3. 数控铣削图案及编程_数控铣削简单图案编程

    展开全部 随手画一个桃心图案32313133353236313431303231363533e59b9ee7ad9431333337383832 G90 G54 G0 X0. Y16.406 S120 ...

  4. EPSON机器人简单实例

    (2条消息) EPSON机器人SPLE+语言_简单实例_qq_48705696的博客-CSDN博客 编写一个初始化函数打开马达.设定运行功率及速度 方法体是以关键字Function为开始 Fend为结 ...

  5. EPSON机器人建立TCP/IP通讯的简单demo

    以下为我近期研究EPSON机器人通讯的经验总结,主要实现机械手接收相机发送过来的数据,从而达到对应的位置,及其简单demo. 欢迎加入知识星球[3D视觉工坊],进行交流学习.

  6. Linux C Socket编程原理及简单实例

    部分转自:http://goodcandle.cnblogs.com/archive/2005/12/10/294652.aspx 1.   什么是TCP/IP.UDP? 2.   Socket在哪里 ...

  7. kafka java编程demo_Kafka简单客户端编程实例

    今天,我们给大家带来一篇如何利用Kafka的API进行客户端编程的文章,这篇文章很简单,就是利用Kafka的API创建一个生产者和消费者,生产者不断向Kafka写入消息,消费者则不断消费Kafka的消 ...

  8. EPSON机器人的以太网通讯简单总结

    以下首发于[3D视觉工坊]知识星球. 主要是我近几天对于EPSON机器人与客户端之间的通讯方法,进行了摸索,并进行了总结,为后期手眼标定的实现做好铺垫. 个人公众号:「3D视觉工坊」.

  9. 简单的Python编程范例

    ''' 美女征婚 1.对方必须是男的 2.对方房子面积不能小于100 3.对方的工资不能少于20w 4.对方的车子价值不能少于50w 如果对方存款超过1000w 以上条件无视 如果对方存款超过500w ...

  10. java数字编程提,java从字符串中提取数字的简单实例

    随便给你一个含有数字的字符串,比如: String s="eert343dfg56756dtry66fggg89dfgf"; 那我们怎么把其中的数字提取出来呢?大致有以下几种方法, ...

最新文章

  1. DataView.RowFilter使用
  2. 聚集索引和非聚集索引[转]
  3. 【设计模式系列】行为型模式之Mediator模式
  4. Python使用pyexecjs代码案例解析
  5. iisS7 配置SSL 绑定主机头实现多站点访问
  6. python遍历文件_python3 遍历文件夹目录所有文件
  7. MQTT 固定报头 中 剩余长度字段的计算
  8. MPFlipViewController
  9. java集合框架介绍_Java集合框架全面介绍(一)
  10. 由嫦娥四号的中继卫星鹊桥,谈谈拉格朗日点
  11. CashFiesta注册网赚
  12. hbase与hadoop版本兼容问题,强烈谴责hadoop生态圈耦合性
  13. 4x root 红米_红米手机4x如何获取root权限?
  14. CSS实现div竖向排版
  15. audio的自动播放
  16. IE低版本提示下载新的浏览器js--IEOutTips.zip
  17. 资深技术专家推荐:如何写复杂业务代码-阿里实践
  18. vue 实现上拉加载
  19. 秋招斩获所有互联网大厂面经之前端
  20. 超融合详细对比:市面各主流超融合产品及厂商优劣势解密

热门文章

  1. egret php交互,JavaScript_Egret引擎开发指南之视觉编程,显示对象和显示列表 “显示 - phpStudy...
  2. 服务器安装macos虚拟机,Win10虚拟机VMware安装黑苹果MacOS Sierra图文教程
  3. 如何把一个eclipse安装包放到eclipse中
  4. 【技术流派】双目立体视觉系统空间精度:精确定量分析
  5. 公网IP地址获取:移动网络IP、Wifi IP
  6. Chapter 2 unit 2 of Bootstrap-Bootstrap CSS
  7. 使用傲腾内存加速的电脑(神舟)安装Ubuntu双系统
  8. 从零开始学JavaScript——基础篇
  9. 卡方线性趋势检验_趋势卡方检验
  10. 使用Arduino解码并发送433MHz RF无线射频信号