基于西门子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

Flutter 组件 genkit 的适配 鸿蒙Harmony 实战 - 驾驭大模型开发套件、实现鸿蒙端 AI 智能流式响应与提示词工程自动化方案

Flutter 组件 genkit 的适配 鸿蒙Harmony 实战 - 驾驭大模型开发套件、实现鸿蒙端 AI 智能流式响应与提示词工程自动化方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 genkit 的适配 鸿蒙Harmony 实战 - 驾驭大模型开发套件、实现鸿蒙端 AI 智能流式响应与提示词工程自动化方案 前言 在鸿蒙(OpenHarmony)生态向智能化、全场景自动化的演进过程中,“生成式 AI(Generative AI)”不再仅仅是一个噱头,而是重塑应用交互逻辑的核心底座。面对日益复杂的 LLM(大语言模型)调用链路、层出不穷的提示词(Prompt)版本管理以及对实时流式响应(Streaming)的严苛要求。如果仅仅依靠原始的 HTTP POST 请求。那么不仅会导致开发效率极低。更难以应对 AI 业务中常见的“幻觉审计”与“多模型动态切换”等高阶挑战方案。 我们需要一种“开发者友好、

初识Langchain之AI语言大模型

初识Langchain之AI语言大模型

目录 1. 什么叫模型 2. 什么是大语言模型 2.1 神经网络 2.2 自监督学习 2.3 半监督学习 2.4 语言模型 3. 大语言模型的能力 1. 什么叫模型 今天我们来聊一聊什么叫做模型。 模型是⼀个从数据中学习规律的“数学函数”或“程序”。旨在处理和⽣成信息的算法,通常模仿⼈类的认知功能。通过从⼤型数据集中学习模式和洞察,这些模型可以进⾏预测、⽣成⽂本、图像或其他输出,从⽽增强各个⾏业的各种应⽤。 简单来说就是一个模型只会处理一件事,我们也可以把它理解为单个工作流,然后多个模型组合在一起就是语言大模型了。 它和工作流的区别在我看来就是它这个处理是需要提前训练。我们看下面这个图片,我们就像这样把下面这些狗狗的图片全部都喂给模型,并且我们需要给每一张图片都标注好这个是狗,这样再经过很多张这样图片让AI看,然后AI就学会分辨什么是狗了。

人工智能、机器学习和深度学习,其实不是一回事

人工智能、机器学习和深度学习,其实不是一回事

一、人工智能、机器学习与深度学习的真正区别 在当今科技领域,我们经常听到人工智能、机器学习和深度学习这三个词。它们虽然相关,但含义不同。 1.1 人工智能 人工智能是计算机科学的一个分支,旨在研究如何合成与分析能够像人一样行动的计算主体。简单来说,AI 的目标是利用计算机来模拟甚至替代人类大脑的功能。 一个理想的 AI 系统通常具备以下特征:像人一样思考、像人一样行动、理性地思考与行动。 1.2 机器学习 机器学习是实现人工智能的一种途径。它的核心定义是:赋予计算机在没有被显式编程的情况下进行学习的能力。 与传统的基于规则的编程不同,机器学习不依赖程序员手写每一条逻辑指令,而是通过算法让机器从大量数据中寻找规律,从而对新的数据产生预测或判断。 1.3 深度学习 深度学习是机器学习的一种特殊方法,也称为深度神经网络。它受人类大脑结构的启发,通过设计多层的神经元网络结构,来模拟万事万物的特征表示。 1.4 三者之间的层级关系 厘清这三者的关系对于初学者至关重要。人工智能 AI是最宏大的概念,包含了所有让机器变聪明的技术。机器学习 ML是 AI

【AI】大语言模型 (LLM) 产品的开发流程参考

【AI】大语言模型 (LLM) 产品的开发流程参考

🔥小龙报:个人主页 🎬作者简介:C++研发,嵌入式,机器人等方向学习者 ❄️个人专栏:《AI》 ✨ 永远相信美好的事情即将发生 文章目录 * 前言 * 一、个人开发者的大语言模型 (LLM) 产品的开发流程参考 * 1.1 准备工作 * 1.2 构建知识库索引 * 1.3 定制大模型 * 1.4 用户交互界面开发 * 1.5 测试与部署上线 * 1.6 监控结果 * 二、组织/商用级别的大语言模型 (LLM) 产品开发流程参考 * 2.1 准备工作 * 2.2 定制大模型 * 2.3 模型部署与集成 * 2.4