1200PLC与爱普生机器人modbus_TCP通讯

1200PLC与爱普生机器人modbus_TCP通讯

1.前言

首先申明一下我的硬件信息

机器人:C4-A601S

控制器:RC700

PLC:西门子S7-1200(CPU:1217C/DC/DC/DC)

2.控制器IP地址查看及修改

在配置控制器相关信息时需要先用网线连接PC与机器人控制器连接,爱普生机器人出厂设定网址为192.168.0.1(我这里是之前修改过了)

若默认没有显示以太网连接,点击右侧的增加,选择“通过以太网连接到控制器”后点击确定

如果控制器网址被修改过了,不知道是多少,可以用一根PC线,一头接在控制器的“开发用PC连接专用USB端口”另一头接在电脑USB口

这时候再在通讯处选择USB连接就可以通上了

现在就可以在“系统配置”处看到控制器的IP地址以及相关信息了,如果有需要也可以直接在这修改IP地址。

3.机器人控制器配置

网线连接好后开始配置通讯相关信息

1.控制设备

控制设备修改为远程I/O

2.现场总线

现场总线类型修改为“Modbus TCP”

端口号记住PLC配置时要用到,也可以视情况进行修改

3.修改线圈地址

在远程控制➡输入/输出处,对应信号的线圈进行修改,修改为512~2559的任意一个值

修改信号线圈是因为爱普生机器人的MODBUS地址分布,保持性寄存器对应的线圈是从512开始的

如果还是使用原线圈,就无法通过Modbus通讯进行这些信号控制

不用全部信号都修改,根据实际情况修改即可,若是只需要机器人运行,停止(不需要暂停、继续、复位),那么就只需要修改Start、Stop的对应线圈即可。

4.控制器重启

参数都修改好后点击“应用”并关闭“设备控制器”,控制器会进行重启

重启好后再点开“设备控制器”看看参数是否都修改成功

4.PLC配置

1.MB_CLIENT

因为是由PLC作为主站,所以选用MB_CLIENT指令

2.TCON_IP_V4

建立一个TCON_IP_V4数据用于设置连接所需要的地址参数

3.读写数据

还需要新建word用于存储数据或是写入数据(指针指向的地址),根据实际情况增加或减少word个数

5.通讯测试

PLC与机器人都配置好后就可以进行通讯测试了

随便写一个程序写入,方便观察机器人运行状态

打开爱普生的“I/O监视器”,将监视的信号类型修改为现场总线从站输入/输出,方便实时观察信号线圈的通断情况

打开“运行控制台”并激活远程I/O

修改word值后写入,由于之前将start的线圈修改为512,stop线圈修改为513

所以写入1时,机器人512线圈得电,机器人启动

写入2时,机器人513线圈得电,机器人停止

能在I/O监视器看到写入的信号状态,就通讯成功了

6.注意事项

不要用错通讯指令了,爱普生默认不支持作为 Modbus TCP 主站,仅支持作为Modbus TCP 从站(Server)与外部设备(如 PLC、上位机)通讯。

若业务需要机器人主动读取外部设备数据(主站功能),可通过以下方式实现:

  • 方案 1:使用 TCP Socket 编程:通过 RC + 的SetNet/OpenNet/Input/Print等指令,自定义 TCP 通讯逻辑,让机器人主动建立连接并读取外部设备数据(需外部设备支持 TCP Server 模式);
  • 方案 2:借助中间设备:通过 PLC 作为中转(PLC 同时作为 Modbus TCP 主站 + TCP Client),机器人与 PLC 通过 TCP 通讯获取数据。

Read more

【Web APIs】JavaScript touch 触摸事件 ① ( touchstart 触摸开始事件 | touchmove 触摸移动事件 | touchend 触摸结束事件 )

【Web APIs】JavaScript touch 触摸事件 ① ( touchstart 触摸开始事件 | touchmove 触摸移动事件 | touchend 触摸结束事件 )

文章目录 * 一、JavaScript touch 触摸事件 * 1、 touchstart 触摸开始事件 * 2、touchmove 触摸移动事件 * 3、touchend 触摸结束事件 * 二、代码示例 - touch 触摸事件 * 1、代码示例 * 2、执行结果 一、JavaScript touch 触摸事件 touchstart、touchmove、touchend 事件是 JavaScript 专为支持 触摸操作 的 移动设备( 手机、平板等 ) 设计的核心触摸事件, 用于 监听用户的触摸行为 , 构成了 完整的 触摸生命周期 ; 1、 touchstart 触摸开始事件 touchstart 触摸开始事件 : * 核心定义

web APIS Day1

web APIS Day1

有关变量的声明 变量的声明有几种方式,例如用let,const。在以前的版本还用var来声明 var的特点:1、允许重复声明  2、存在变量提升,即变量可以再声明前使用 缺点:1、var 声明的变量会被提升到函数或全局作用域的顶部,导致变量在声明前就可以访问,但值为 undefined。这种行为容易引发逻辑错误             2、var 的作用域仅限于函数或全局,而非块级(如 if、for 等)。这会导致变量在块外仍可访问,可能引发意外覆盖 let的特点:1、不允许重复声明  2、不存在变量提升,必须先声明后使用 const的特点:1、必须初始化赋值  2、块级作用域  3。适合用于声明不可变的常量或引用类型 在此推荐使用const来声明变量,可以避免意外修改,或者使用let,var不推荐使用 DOM树和DOM对象 获取DOM元素 在CSS中我们一般使用document.querySelector(

疫苗发布和接种预约系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

疫苗发布和接种预约系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

💡实话实说: ZEEKLOG上做毕设辅导的都是专业技术服务,大家都要生活,这个很正常。我和其他人不同的是,我有自己的项目库存,不需要找别人拿货再加价,所以能给到超低价格。 摘要 随着全球公共卫生事件的频发,疫苗接种成为防控传染病的重要手段。高效的疫苗发布和接种预约系统能够优化资源分配、提升接种效率,并为公众提供便捷的服务。传统的线下预约方式存在信息不对称、排队时间长、管理混乱等问题,亟需通过信息化手段解决。该系统通过整合疫苗信息发布、预约管理、数据统计等功能,为医疗机构和公众搭建了一个高效、透明的平台。关键词包括:疫苗管理、预约系统、公共卫生、信息化平台、资源优化。 该系统采用前后端分离架构,后端基于SpringBoot框架实现RESTful API,提供高效的数据处理和业务逻辑支持;前端使用Vue.js构建响应式用户界面,提升用户体验;数据库采用MySQL存储疫苗信息、用户数据和预约记录。系统功能涵盖疫苗信息发布、预约时段管理、接种记录查询、数据统计分析等模块,支持多角色(管理员、医护人员、公众)协同操作。系统设计注重安全性和可扩展性,采用JWT进行身份验证,并通过Redi

CopilotKit for LangGraph 深度解析:构建 Agent 原生应用的前端交互框架

引言 随着大语言模型(LLM)技术的快速发展,AI Agent 应用正在从简单的聊天机器人演进为具备复杂推理、规划和工具调用能力的智能系统。LangGraph 作为 LangChain 生态中构建有状态、多步骤 Agent 工作流的核心框架,已被广泛应用于生产环境。然而,如何将这些后端 Agent 与前端用户界面进行高效、实时的交互,一直是开发者面临的技术挑战。 CopilotKit 正是为解决这一问题而生的开源框架。它通过 AG-UI(Agent-User Interaction Protocol)协议,为 LangGraph Agent 提供了标准化的前端集成方案,使开发者能够构建真正的 Agent 原生应用(Agent-Native Applications)。 本文将深入分析 CopilotKit 与 LangGraph 集成的核心机制,重点对比 useAgent 与 useCoAgent、useRenderToolCall 与