Fanuc机器人 Karel 编程学习(五)---简单的Socket通信

这篇具有很好参考价值的文章主要介绍了Fanuc机器人 Karel 编程学习(五)---简单的Socket通信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Fanuc Karel编写Socket程序和上位机进行通信。

一:环境配置(ROBOGUIDE)

1.1机器人系统变量设置

MENU-------> SYSTEM------> Variables------->$KERAL_ENB     设置为1

发那科机器人学习,机器人,学习

1.2 IP地址设定

MENU---->SETUP---->Host Comm

发那科机器人学习,机器人,学习

选择 F3【DETAIL】进入IP设置界面

发那科机器人学习,机器人,学习

备注:按键F3【PORT】可以选择相应的物理网口Port#1 或者Port#2,具体需要看你网线插在哪个物理网口上 

设置IP地址和上位机在同一网段,不同IP地址。如果是ROBOGUIDE软件,此地址需要和电脑网口的IP地址一样。

当前我设置的IP地址是192.168.1.111,我上位机软件设置的是192.168.1.100

1.3 Tcp Server 设定

MENU---->SETUP---->Host Comm

 发那科机器人学习,机器人,学习

 选择 F4【SHOW】--->3  进入SERVER设置界面:

发那科机器人学习,机器人,学习

可以看到S1,S2 是FTP服务,S3是我之前设置好的TCP 服务器。这里以S4为例。

选择S4 ,按F3【DETAIL】或者Enter 进入:

在 Protocol 处,按 F4 【CHOICE】,并选择 SM :

发那科机器人学习,机器人,学习

 在 Startup  State 处,按 F4 【CHOICE】并选择DEFINE :

发那科机器人学习,机器人,学习

在 Server IP/Hostname 处,按 Enter ,输入上位机的 IP 地址:

发那科机器人学习,机器人,学习

在 Startup  State 处,按 F4 【CHOICE】并选择Start :

发那科机器人学习,机器人,学习

按 F2 【ACTION 】,并选择start ,界面会变成: 

发那科机器人学习,机器人,学习

 Server Prot 设置,

方法一:

在Karel 程序中设置:

例如:设置S3的Server Port 端口为59002

SET_VAR(entry, '*SYSTEM*','$HOSTS_CFG[3].$SERVER_PORT',59002,status)

方法二:

MENU-------> SYSTEM------> Variables------->$HOSTS_CFG   Enter键进入如下界面:

注意:$HOSTC_CFG 配置的是客户端,$HOSTS_CFG 是服务器

发那科机器人学习,机器人,学习

我们选择S4 对应的变量【4】 按Enter 键进入如下界面:

发那科机器人学习,机器人,学习

找到并更改ServerPort,这里我们把ServerPort 改成7894 发那科机器人学习,机器人,学习 

然后重启断开Robot电源重新启动Robot生效。

1.4 Tcp Client 设定

按照上面设定IP步骤进入如下界面:

发那科机器人学习,机器人,学习

 按 F4 【SHOW】并选择 Clients (机器人将作为 Client ,上位机作为 Server):

发那科机器人学习,机器人,学习

进入如下界面:

发那科机器人学习,机器人,学习

 选择 Tag 标签号,这里以 C1 为例,按 Enter 或 F3 【DETAIL 】进入如下界面

发那科机器人学习,机器人,学习

 在protocol 处,按F4【CHOICE】,并选择  SM

发那科机器人学习,机器人,学习

发那科机器人学习,机器人,学习

在Startup State处,按F4【CHOICE】并选择DEFINE:

发那科机器人学习,机器人,学习

 在Sever IP/Hostname处键入 TCP Server  IP地址:

发那科机器人学习,机器人,学习

按F2【ACTION】,并选择 DEFINE:

发那科机器人学习,机器人,学习

 Port号的设置

MENU-------> SYSTEM------> Variables------->$HOSTC_CFG Enter键进入如下界面:

发那科机器人学习,机器人,学习

 选择C1 对应的【1】 ,按Enter或者DETAIL 进入:

发那科机器人学习,机器人,学习

 找到$SERVER_PORT,并设置值,注意这个端口号由上位机服务器决定,我们设定的值需要和服务器端一致。

发那科机器人学习,机器人,学习

 完成后重启机器人控制器生效。

二,简单的服务器程序实现Socket 通信。

效果如下(读入10字节,返回10字节):

发那科机器人学习,机器人,学习

代码如下:文章来源地址https://www.toymoban.com/news/detail-571901.html

PROGRAM tcpserv2

%STACKSIZE = 4000
%NOLOCKGROUP
%NOPAUSE = ERROR +COMMAND +TPENABLE
%ENVIRONMENT uif
%ENVIRONMENT sysdef
%ENVIRONMENT memo
%ENVIRONMENT kclop
%ENVIRONMENT bynam
%ENVIRONMENT fdev
%ENVIRONMENT flbt
%INCLUDE klevccdf
%INCLUDE klevkeys
%INCLUDE klevkmsk

VAR

file_var : FILE
tmp_int : INTEGER
tmp_int1 : INTEGER
tmp_str : STRING[128]
tmp_str1 : STRING[128]
status : INTEGER
entry : INTEGER

BEGIN
	SET_FILE_ATR(file_var, ATR_IA)
	-- set the server port before doing a connect
	SET_VAR(entry, '*SYSTEM*','$HOSTS_CFG[3].$SERVER_PORT',59002,status)
	WRITE('Connecting..',CR)
	MSG_CONNECT('S3:',status)
	--WRITE(' CONNECT Status = ',status,CR)
	IF status = 0 THEN
	-- Open S3:
		WRITE ('Opening',CR)
		FOR tmp_int1 = 1 TO 20 DO
			OPEN FILE  file_var( 'rw','S3:')
			status = IO_STATUS(file_var)
			WRITE (status,CR)
			IF status = 0 THEN
				-- write an integer
				FOR tmp_int = 1 TO 1000 DO
					WRITE('Reading',CR)
					-- Read 10 bytes
					BYTES_AHEAD(file_var, entry, status)
					WRITE(entry, status, CR)
					
					READ file_var (tmp_str::10)
					status = IO_STATUS(file_var)
					WRITE (status, CR)
					-- WRITE 10 bytes
					WRITE (tmp_str::10, CR)
					WRITE file_var (tmp_str::10)
					status = IO_STATUS(file_var)
					WRITE (status, CR)
				ENDFOR
				CLOSE FILE file_var
			ENDIF
		ENDFOR
		WRITE('Disconnecting..',CR)
		MSG_DISCO('S3:',status)
		WRITE('Done.',CR)
	else
		
		WRITE('connecting error',CR)
		MSG_DISCO('S3:',status)
		
	ENDIF
	

END tcpserv2

到了这里,关于Fanuc机器人 Karel 编程学习(五)---简单的Socket通信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FANUC机器人更换电池

    FANUC 机器人系统在保养当中需要更换两种电池:更换控制器主板上的电池和机器人 本体上的电池。 1. 更换控制器主板上的电池 程序和系统变量存储在主板上的 SRAM 中,由一节位于主板上的锂电池供电,以保存 数据。当这节电池的电压不足时,则会在 TP 上显示报警( SYST-0

    2024年02月07日
    浏览(114)
  • FANUC机器人PROFINET通信(机器人作从站)相关设置

    即机器人作从站时,通信网线要插到上面2个网口中的任意一个!

    2024年02月16日
    浏览(33)
  • FANUC机器人 IO分配记录

    之前有一个疑惑就是 UOP和数字IO怎么分配的  如上图 UOP 中UO一共有20个  按照上图右侧  分配 机架100 profinet 机器人做从站 插槽为1(默认设置) 开始点就是指PLC端物理地址的起始位置  如上图左侧  PLC从I500.0开始 UO1-8  对应I500.0-I500.7 UO9-10 对应I501.0-I501.1 UO11-20 对应 IB502 I5

    2024年04月26日
    浏览(32)
  • FANUC机器人PROFINET通讯方式组态

    1  机器人机架号101为机器人做主站,机器人网口3.4做主站 2 机器人机架号102为plc做主站,机器人网口1.2做从站, 机器人基本上都是配置FANUC自身的R834板卡。R834板卡的Profinet通讯设置硬件选项:双通道Profinet板卡,有的板1,2也能做主站​ 1、 Fanuc m ini-slot Profinet carrier board ;

    2024年02月07日
    浏览(33)
  • fanuc机器人I/O分配

    首先我们要了解,什么是I/O分配? I/O分配  就是在FANUC机器人软件系统中完成逻辑信号(软件中的I/O名称)和物理通道(即实际的信号接线)的关联,使软硬件保持一致。这样硬件有高低电平的输入输出,软件中就有对应的显示了,和PLC的组态有些许类似。 以数字量输入配置

    2024年02月09日
    浏览(45)
  • FANUC机器人DCS功能基本介绍

    1. 定义 DCS(Dual Check Safety)位置/速度检查功能;利用机器人控制柜中两个独立CPU进行电机速度和位置数据的检查,实时检查位置和速度误差,并通过两个独立的通道关闭电机电源。 DCS功能可以有效地节约占地面积。 DCS功能可以防止机器人工具、本体及周边设备发生相互碰撞

    2024年02月09日
    浏览(47)
  • ROS 2机器人编程实战:基于现代C++和Python 3实现简单机器人项目

    💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】 🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】 💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 ROS 2是机器人开发领域中广泛使用的一个框架,ROS 2提供了很多功能强大的工具和

    2024年02月02日
    浏览(39)
  • FANUC机器人工具坐标系设置方法

    工具坐标系: 直角坐标系的一种,定义TCP点的位置和姿态; 未设定的工具坐标系的原点位于机器人J6轴的法兰上。根据自身需求 把工具坐标系的原点移到工作的位置和方向上,该位置叫做工具中心点TCP:工具中心点(Tool Center Point)。(工具坐标系的原点位置数据是相对与默

    2024年02月12日
    浏览(31)
  • FANUC机器人镜像恢复和刷通讯包

    1、先镜像备份好机器人系统程序文件​ 2、F1和 F5镜像备份后关机重启进入控制模式导入已配置好的镜像Modbus程序文件(选择第4个选项) 3、再进入控制柜写入(选择第3个) 3、再进入UD1(选择第3个) 4、选择要刷入的文件 5、再选择第一个进入 6、选择第3个控制器启动 7、冷

    2024年01月19日
    浏览(101)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包