基于西门子S7-1200FC PLC与松下机器人Profinet通信实现机器人外部自动控制应用

⒈训练主题

通过西门子S7-1200 PLC与松下机器人Profinet通信实现机器人的外部自动化控制,应用中程序的调配采用二进制方式,同时PLC需要采集机器人安全作业原点(Home点),保证机器人安全作业,通过PLC的编程调试和机器人的配置实现上述功能。

⒉软硬件配置

⑴硬件配置

①机器人控制系统:TM1800G3机器人:YA-1VAR81;机器人连接电缆:TSMWU894LM;电缆单元:TSMWU600;200V/380V变压器:TSMTR010HGG;RT轴焊丝盘架(刚用):TSMYU204;校枪尺:AXU01727T;机器人通信装置(Profinet):TSMYU965,产品实物如下图。

②西门子PLC:CPU 1214FC DC/DC/RLY,型号:6ES7 214-1HF40-0XB0。

③按钮:若干。

④调试电脑1台,注意电脑IP地址在同一个网段(IP:192.168.0.***),子网掩码为:255.255.255.0。

⑵软件配置

①博途软件:TIA Portal V15,版本:V15

②松下机器人GSD说明文件:GSDML-V2.3-HMS-ABSPRT-20160826.xml

⒊PLC组态和配置

本应用设置8byte输组态入/输出共计各64位。

⑴加载松下机器人GSD说明文件

点击“选项(N)-管理通用站描述文件(GSD)(D)”,如下图加载松下机器人GSD文件(图示已加载)。

⑵组态西门子PLC(CPU 1214FC)和松下机器人说明文件

在“设备和网络”界面,添加PLC模块(此处添加方法不赘述),将如下图所示将“RT Migration”拖入设备网络视图界面。

拖住PLC端口连接松下机器人通信端口,创建通信连接如下图。

⑶对机器人RT Migration模块分配设备名称

右击RT Migration模块通信区域选择“分配设备名称”,如下图点击“更新列表”,博途通过网络检索机器人并显示相关信息(注意:如果不能分配名称,需先根据后文机器人示教器设置机器人Profinet通信IP地址),点击“分配名称”即完成机器人设备名称分配。

⑷分配机器人I/O地址

双击ABS-PRT(机器人RT Migration模块),如下图在“设备视图”将右侧“模块-InputOutput 0008 bytes”拖入插槽1中,并将“I地址”和“Q地址”均改为“70…77”。

⑸PLC及松下机器人IP地址及设备名称分配

如下图所示为PLC的IP地址和设备名称的分配。

如下图所示为机器人的IP地址和设备名称(机器人示教器不含设备名称分配,由PLC通过IP地址分配)的分配。

⑹编译和下载配置

如下图右击PLC主体(此处为“PLC1_1[CPU 1214FC DC/DC/RLY]”),选择“编译-硬件和软件(仅更改)”进行程序下载前的编译。

再次右击PLC主体(此处为“PLC1_1[CPU 1214FC DC/DC/RLY]”),选择“下载到设备(L)-硬件和软件(仅更改)”进行程序下载。

⒋松下机器人配置

⑴将机器人Profinet通信板卡安装到如下图示位置,并用提供的螺母固定。如下图右侧用导线将状态输入第1个端子“STATUS IN 1”与输出的第1个端子(OUT 1)连接。

⑵首次登录及密码

如下图在顺序菜单选择“设定-扩展设定-用户ID”在弹出“登录”界面,“用户ID”在“浏览”中选择“robot”,“密码”首次使用时为“0000”。

⑶配置Profinet通信IP地址及设置

如下图在菜单栏点击“设定-管理设定-系统-PROFINET-编辑”依次弹出如下界面。

在上图界面,点击“设定”,在弹出界面如下图设置机器人IP地址和子网掩码,注意IP地址和子网掩码需与PLC组态设置的松下机器人IP地址和子网掩码相一致,之后根据提示选择“OK”等直至退出设置。

说明:对Profinet设置界面配置很关键,部分参数说明如下:

①“状态IO”-“分配”选择“结束”,表示将通信的8byte的最后1个字节8位用于“状态IO”此设置可节约机器人通用IO用于控制其它设备如清枪器等;

②“通用I/O分配”“输入”和“输出”分别为“1-56”;

③“伺服ON输出”为“1”,与上图“用导线将状态输入第1个端子“STATUS IN 1”与输出的第1个端子(OUT 1)连接”的位置相一致。

⑷机器人以二进制方式外部自动调用焊接程序配置

如下图在菜单栏点击“设定-基本设定-程序启动方式”依次弹出如下界面并按图示设置。

由于机器人输入/输出前8位被用于“状态输入”和“状态输出”,本文采用“二进制”方式调用焊接程序,通用输入/输出均从第9位开始且分配8位共计可调用255个焊接程序,也即“通用输入009-通用输入 0016”和“通用输出009-通用输出 0016”。分配根据提示进行,同时将“通用输入0017”和“通用输出 0017”分配为“选通”,分配完成显示的“程序选择启动”和对应的“输入端子”如下图所示。

显示的“程序选择应答”和对应的“输出端子”如下图所示。

点击“OK”,之后根据提示退出配置。

⒌PLC与松下机器人联调

根据上文叙述,建立PLC与松下机器人映射的关联地址如下表所示。

西门子S7-1200FC PLC与松下机器人profinet通信地址映射

PLC输入-机器人输出

PLC输出-机器人输入

序号

S7-1200FC地址输入

松下机器人输出

备注

序号

S7-1200FC地址输出

松下机器人输入

备注

1

I70.0

机器人外部IO空出备用(如控制清枪器输入信号等)

1

Q70.0

机器人外部IO空出备用(如控制清枪器控制信号等)

2

I70.1

2

Q70.1

3

I70.2

3

Q70.2

4

I70.3

4

Q70.3

5

I70.4

5

Q70.4

6

I70.5

6

Q70.5

7

I70.6

7

Q70.6

8

I70.7

8

Q70.7

9

I71.0

通用输出9

机器人反馈PLC选择的二进制焊接程序

9

Q71.0

通用输入9

PLC(QB71)控制机器人以二进制方式调用焊接程序

10

I71.1

通用输出10

10

Q71.1

通用输入10

11

I71.2

通用输出11

11

Q71.2

通用输入11

12

I71.3

通用输出12

12

Q71.3

通用输入12

13

I71.4

通用输出13

13

Q71.4

通用输入13

14

I71.5

通用输出14

14

Q71.5

通用输入14

15

I71.6

通用输出15

15

Q71.6

通用输入15

16

I71.7

通用输出16

16

Q71.7

通用输入16

17

I72.0

通用输出17

选通信号

17

Q72.0

通用输入17

选通信号

18

I72.1

通用输出18

机器人位于HOME点

18

Q72.1

19

I72.2

19

Q72.2

20

I72.3

20

Q72.3

21

I72.4

21

Q72.4

22

I72.5

22

Q72.5

23

I72.6

23

Q72.6

24

I72.7

24

Q72.7

49

I76.0

49

Q76.0

50

I76.1

50

Q76.1

51

I76.2

51

Q76.2

52

I76.3

52

Q76.3

53

I76.4

53

Q76.4

54

I76.5

54

Q76.5

55

I76.6

55

Q76.6

56

I76.7

56

Q76.7

57

I77.0

通用输出001

报警输出

57

Q77.0

通用输入001

外部伺服ON输入

58

I77.1

通用输出002

错误输出

58

Q77.1

通用输入002

运行确认输入

59

I77.2

通用输出003

运行模式输出

59

Q77.2

通用输入003

运行模式输入

60

I77.3

通用输出004

示教模式输出

60

Q77.3

通用输入004

示教模式输入

61

I77.4

通用输出005

预备输出

61

Q77.4

通用输入005

(备用)

62

I77.5

通用输出006

伺服电源ON输出

62

Q77.5

通用输入006

错误解除输入

63

I77.6

通用输出007

启动过程输出

63

Q77.6

通用输入007

启动输入

64

I77.7

通用输出008

停止时输出

64

Q77.7

通用输入008

停止输入

⑴松下机器人采用二进制调用焊接程序实现自动化焊接的控制时序图如下图所示。

 

其中注意:

①程序编号“Prog0ZZZ.prg”的“0ZZZ”为程序号,受机器人“通用输入009-通用输入016”(对应PLC为QB71)信号控制,为避免输入程序号超限,应限制PLC信号QB71的输入范围,要求1≤QB≤256,即可以调用焊接程序范围从“Prog0001.prg”到“Prog0256.prg”。

②除“I72.1/通用输出18/机器人位于HOME点”仅设置输入信号外,其它信号均设置输入和对应输出信号,PLC编程时对于驱动信号可以采集相应的反馈信号进行确认。

③PLC的IB70和QB70空置,对应松下机器人外部接线端子有效,此部分接线端子可用于机器人控制清枪器等设备使用。

④机器人调用焊接程序实现自动化焊接的控制要件有:调用程序号、输入选通、启动输入(启动按钮)、外部伺服ON输入、错误解除输入(复位按钮)、停止输入(停止按钮)和急停。其中PLC依次输出“调用程序号”、“输入选通”、“外部伺服ON输入”和“启动输入”,相互间隔200ms,机器人急停除通过软件控制外部伺服ON输入外,还受硬件急停接线控制如下图所示,“外部安全开关输入”端子的“23-24”和“25-26”受硬件接线控制。

⑤“I72.1/通用输出18/机器人位于HOME点”为机器人安全作业原点监测,是机器人外部自动化控制中确保机器人安全的重要信号之一。

⑵PLC编程调试样例(部分)

⑶松下机器人编程

创建机器人焊接程序如下:

⑷联调运行状态显示

如下图是PLC和机器人正常运行的部分状态显示:

下图一:博途组态通信正常;

下图二:自动模式下示教器接通状态;

下图三:自动调用焊接程序运行状态。

附注:设置松下机器人作业原点(Home)方法

⑴在示教器菜单栏“查看-切换显示-显示位置-XYZ表示”把XYZ显示的数字手抄下来如下图所示。

⑵在示教器菜单栏“设定-扩展设定-范围监测-块监测-选择一个CUBE01(或者其它的也可以)”,然后把刚才手抄的XYZ的数字输入下图,注意点1基于上图对应数据加10mm写入,点2基于上图对应数据减10mm写入。此外根据上文叙述,机器人在作业原点时对应“通用输出0018”供PLC采集该信号。

完成上述设置后,点击“OK”并根据提示退出配置,至此机器人“作业原点(Home)”设置完成。

Read more

Neo4j:从文件里读数据(LOAD + FROM) → 在图里找节点(MATCH)或创建节点(MERGE) → 建立关系

一、先给你一个“总览直觉” 在 Neo4j 里,一条导入语句大致是这样工作的: 从文件里读数据(LOAD + FROM) → 在图里找节点(MATCH)或创建节点(MERGE) → 建立关系 二、一个一个拆开讲(非常重要) 1️⃣ LOAD CSV ✅ 是什么 LOAD CSV = “从 CSV 文件中一行一行读取数据” 你可以把它理解成: “for each row in this CSV file” ✅ 你用过的例子 LOAD CSV WITH HEADERS FROM "file:///neo4j_wtg_nodes.csv" AS line

论文阅读 PromptIR: Prompting for All-in-One Blind Image Restoration

论文阅读 PromptIR: Prompting for All-in-One Blind Image Restoration

作者:Syed Waqas Zamir, Aditya Arora, Salman Khan, Munawar Hayat, Fahad Shahbaz Khan, Ming-Hsuan Yang 机构:Mohamed bin Zayed University of AI, Linköping University 来源期刊:NeurIPS 发表时间:2023年   一、研究动机         1.研究目标         构建一个“All-in-One”盲图像复原网络,用单一模型、单次训练、无需先验地处理多种退化(去噪、去雨、去雾),并在各任务上均达到 SOTA 性能。         2.过去方法         任务专用网络:DnCNN、MPRNet、Restormer

TWIST2——全身VR遥操控制:采集人形全身数据后,可训练视觉base的自主策略(基于视觉观测预测全身关节位置)

TWIST2——全身VR遥操控制:采集人形全身数据后,可训练视觉base的自主策略(基于视觉观测预测全身关节位置)

前言 我司内部在让机器人做一些行走-操作任务时,不可避免的需要全身遥操机器人采集一些任务数据,而对于全身摇操控制,目前看起来效果比较好的,并不多 * 之前有个CLONE(之前本博客内也解读过),但他们尚未完全开源 * 于此,便关注到了本文要解读的TWIST2,其核心创新是:无动捕下的全身控制 PS,如果你也在做loco-mani相关的工作,欢迎私我你的一两句简介,邀你加入『七月:人形loco-mani(行走-操作)』交流群 第一部分 TWIST2:可扩展、可移植且全面的人形数据采集系统 1.1 引言与相关工作 1.1.1 引言 如TWIST2原论文所说,现有的人形机器人远程操作系统主要分为三大类: 全身控制,直接跟踪人体姿态,包括手臂、躯干和腿部在内的所有关节以统一方式进行控制(如 HumanPlus [12],TWIST [1] ———— TWIST的介绍详见此文《TWIST——基于动捕的全身遥操模仿学习:教师策略RL训练,学生策略结合RL和BC联合优化(可训练搬箱子)》 部分全身控制,

基于FPGA的QAM调制解调技术深度解析与实验指南

基于FPGA的QAM调制解调技术深度解析与实验指南

基于FPGA的QAM调制解调,有详细实验文档 一、系统概述 本系统基于FPGA实现16QAM(正交振幅调制)完整的调制解调功能,采用Altera Cyclone IV GX系列FPGA芯片(型号EP4CGX75CF23C8),开发工具为Quartus II 11.0。系统可生成多种基带信号,经16QAM调制后输出至DAC(数模转换器),同时能接收外部信号并完成解调,还原出原始基带信号,支持上位机通过IIC接口配置参数与选择波形显示,适用于通信领域的信号传输与验证场景。 基于FPGA的QAM调制解调,有详细实验文档 系统整体架构分为信号源模块、16QAM调制模块、载波处理模块、16QAM解调模块、数据输出与控制模块五大核心部分,各模块间通过时钟同步与数据握手信号协同工作,确保信号处理的实时性与准确性。 二、核心模块功能说明 (一)信号源模块:生成高质量基带信号 信号源模块是整个系统的信号输入源头,负责产生符合16QAM调制要求的基带信号,支持多种信号类型与参数配置,满足不同测试场景需求。 1. 核心功能 * 多类型信号生成:可生成伪随机码(PN8序列)、固定长度码