EPSON 程序

EPSON 代码程序

1.EPSON SPEL+ 语言代码示例:

//
String RCdata$, InData$, toks$(0), data1$, data2$, data3$  //定义字符型变量名需要添加“$”符号
Integer N, x
Double VX(500), VY(500), VZ(500)
#define delay_Time 0.1
Function main
	SetNet #201, "192.168.60.5", 8000, CRLF, NONE   //当控制器作为客户端的时候ip-set有效					
	OpenNet #201 As Server   						//打开#201服务器端口(作为服务器)
	Print "wait Connect ok..."
	WaitNet #201                   		 			//等待端口打开
	Print "Connect#201 ok."
	Print #201, "RC.OK"
loop1:
	Call communication 								//pc通信 Input #202, RCdata$	
	ParseStr RCdata$, toks$(), "," 		     		//将字符串按间隔符号" "拆分成多组数据.	
	Print "指令=", toks$(0)
	//解析RCdata$判断控制
	If toks$(0) = "CLOSE" Then
     	Print "接收到控制类型数据."
		Call close									//关闭机器人
		ElseIf UBound(toks$()) >= 1 Then   			//如果toks$(1)不为空则判断为点数据
			Call ParsePoint 	  	 				//解析函数
			Call moveP
			GoTo loop1
			Else
			Print "数据无效请重新输入:"
			GoTo loop1								// 继续循环
	EndIf
Fend
//
Function communication   					 //TCP/IP 网口通信
succRC:
	If ChkNet(201) > 0 Then					
		//Line Input #201, InData$			 //从端口接收字符到一个或多个变量中
		//Print "InData$=", InData$
        Read #201, RCdata$, ChkNet(201)      //从端口接收一行以上字符到一个字符串变量中(指定读入的字节数)
        Print "RCdata$=", RCdata$
    Else
    	WaitNet #201
   	    Print "等待数据接受"
        GoTo succRC
    EndIf
	Fend
//
Function ParsePoint							//解析数据:节点3维坐标点
	N = Val(toks$(0))				    	//获取点数
	//VX(1) = Val(toks$(1))
	Print "坐标点数N=", N
    Integer i
    VX(0) = VY(0) = VZ(0) = 0
    For i = 1 To N Step 1
    	VX(i) = Val(toks$(i))
		VY(i) = Val(toks$(N + i))
		VZ(i) = Val(toks$(2 * N + i))
		P(i) = XY(VX(i), VY(i), VZ(i), 0)
		Print "	X(i) =", VX(i), "Y(i) =", VY(i), "Z(i) =", VZ(i)  //显示坐标值
    Next
Fend
//
Function WaiteP  					//移动到待机点
  If Motor = Off Then
	Motor On						//打开电机
	Power Low
	Speed 50
	Accel 30, 30
  EndIf
  Tool 0   							//设置工具坐标系为0
  Go waitP
  Fend
//
Function moveP
  If Motor = Off Then
	  Motor On
	  Power Low
	  SpeedS 50
	  AccelS 50
  EndIf
  Call WaiteP						//1 回到待机点
  Tool 2							//2 设置工具坐标系2
  Integer i
  Curve "mycurve", O, 0, 4, P(1:N)  //3 用自由曲线制作用于 CP 控制的数据与点
  Jump P1 -Z(-10)					//4 运动到开始点上方10mm处
  CVMove "mycurve" 				    //5 执行定义的自由曲线CP 动作
  Go P(N) -Z(-10)					//6 运动到结束点上方10mm处
  //
  //Jump P1 -Z(-10)   				//偏移Z轴坐标Z=P1z-z(-10)mm)移动到P1,如:P1z=-20 则 Z=-10
  //CP On 							//运动CP模式:在多个动作连续进行时
    //For i = 1 To N Step 1
	  //Go P(i)
 	//Next
  //CP Off
  //Jump P(N) -Z(-10)
  // 
  Call WaiteP						//回到待机点
  Fend
  Function close 					//关机
  CloseNet #201
  If Motor = On Then
	Motor Off
	EndIf
Fend
//

2.关键函数:

Curve,CVMove 函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.代码截图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值