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

【Cursor 和 Copilot 对比分析】

【Cursor 和 Copilot 对比分析】

Cursor 和 Copilot 对比分析 引言 在人工智能技术快速发展的 2025 年,AI 编程工具正深刻改变着软件开发的工作方式。作为这一领域的两大代表性产品,Cursor和GitHub Copilot分别代表了两种截然不同的技术路线:Cursor 作为AI 原生 IDE,从底层重新定义了开发体验;而 GitHub Copilot 则以插件化集成的方式,在不改变传统开发习惯的前提下提供 AI 辅助。 根据最新市场数据,GitHub Copilot 占据了 **41.9%** 的市场份额,拥有超过 1500 万用户,年收入达到 20 亿美元。与此同时,Cursor 在短短两年内实现了从 0 到 5 亿美元年收入的突破,付费用户超 36 万,其母公司 Anysphere

AI安全:视觉提示词注入攻击代码/实战教学| 针对Hugging Face开源大模型Stable Diffusion Model

AI安全:视觉提示词注入攻击代码/实战教学| 针对Hugging Face开源大模型Stable Diffusion Model

提到提示词注入(Prompt Injection),大家的第一反应往往是精心构造的文本越狱指令。 而在图生图任务中,输入图像在本质上扮演了视觉提示词的角色,与文本指令共同指导生成模型。 基于这一视角,本文展示针对视觉提示词的注入攻击:通过PGD对抗攻击算法对输入图像进行像素级微调,使其生成的违规图像能够绕过开源大模型的NSFW安全检测机制。 临近毕业,感觉市场对提示词注入比较感兴趣,因本人读博期间一直研究对抗攻击算法,所以决定尝试用对抗攻击的思路完成提示词注入攻击,误导开源模型生成违规图像。 完整代码链接:https://github.com/YujiangLi0v0/Injection_Attack_Inpainting.git 目录 * 一、 NSFW防线:开源模型的安全过滤机制 * 二、 攻击场景定义 (Threat Model) * 三、 环境搭建 * 四、 核心攻击流程详解 * 4.1. 固定随机因子 * 4.2 数据预处理 * 4.3. 攻击部分 * 4.3.1 重写扩散模型推理过程

怎么查AI重复率?4步轻松搞定+ AIGC检测工具实测指南

怎么查AI重复率?4步轻松搞定+ AIGC检测工具实测指南

当ChatGPT、Claude等AI工具成为学术写作的辅助手段时,一个新的问题开始困扰学生和研究者:如何确认自己的论文中AI生成内容的占比?AI重复率(又称AIGC率)的检测不仅关系到学术诚信,更可能影响论文的最终通过。很多人尝试用常规查重工具,但发现它们无法精准识别AI生成的文本——要么误判原创内容,要么漏掉AI生成的段落。这时候,选择一款专门针对AIGC率查询的工具就变得至关重要。PaperPass作为深耕学术查重领域近20年的平台,其最新升级的AIGC检测功能正好解决了这一痛点,帮助用户快速、准确地识别论文中的AI生成内容。 什么是AI重复率(AIGC率)? AI重复率并非传统意义上的文本复制比,而是指论文中由人工智能生成的内容占总字数的比例。随着AIGC技术的普及,学术机构越来越关注AI工具的合理使用边界。《2026年全球学术诚信报告》显示,超过62%的高校已将AI生成内容的未标注列为学术不端行为。但AI生成的文本往往没有明显的“复制痕迹”,常规查重工具依赖的字词匹配算法对此束手无策。这就像用普通X光片无法诊断深层组织病变一样,需要更精准的“医学影像技术”来识别AI生成的

Ollama下载模型太慢?试试国内HuggingFace镜像+LLama-Factory组合

Ollama下载模型太慢?试试国内HuggingFace镜像+LLama-Factory组合 在本地跑一个大模型,第一步不是写代码、调参数,而是——等它下载完。 这听起来有点荒诞,却是许多中国开发者的真实日常。当你兴致勃勃地打开终端,输入 ollama run llama3:8b,满心期待地准备开启微调之旅时,现实却给你泼了一盆冷水:进度条纹丝不动,网络连接频繁中断,几个小时过去连基础权重都没拉下来。 问题出在哪?根源就在于——Ollama 默认从 HuggingFace 官方仓库拉取模型,而这个服务器远在海外。对于国内用户来说,这无异于“越洋取经”,不仅速度慢如龟爬,还常因网络波动导致失败重试,白白浪费时间和算力资源。 但其实,我们完全不必硬扛这条路。真正聪明的做法是:绕开公网瓶颈,借助国内镜像高速获取模型 + 使用 LLama-Factory 实现低门槛、高效率的本地微调。这套组合拳不仅能让你把“等待下载”的时间省下来喝杯咖啡,还能让7B甚至13B级别的模型在一张消费级显卡上顺利训练起来。 镜像加速:别再用裸连 HuggingFace