第三方调试助手的与S7-1200 PLC的通信

1、概述

西门子S7-1200 PLC支持多种协议通过以太网通讯方式,如OPC、TCP、S7、MODBUS-TCP等。TCP方式相比其它协议,具有更多的灵活性,更快的数据响应等优点,

需要PLC与电脑还有其他设备进行TCP通讯,使用TCP调试助手与PLC做通讯测试

    S7-1200 PLC的TCP通信方式采用“开放式用户通讯”,通过以太网发送或读取数据。

2、测试环境

2.1 硬件平台

1)       PLC:CPU 1211C DC/DC/DC  固件v4.5设定ip:192.168.2.10 子网掩码255.255.255.0

2)      上位机,ip地址:192.168.2.20子网掩码255.255.255.0

 图1 上位机的IP地址设置

2.2 软件平台

1)  博途 TIA V17

2)  TCP/UDP Socket 调试工具2.3

3)西门子PLC调试助手V1.1

2.3 整体思路

1)       PLC编程:配置PLC —> 添加发送和接收数据块—> 发送数据程序 —> 接收数据程序 —> 编译下载

2)       上位机:创建TCP连接—> 接收或发送数据 。能够利用调试工具发送数据,调试助手读取PLC寄存器,为后续的编程做准备。

3、操作步骤

3.1 CPU配置

1)       打开 TIA Portal,创建项目,添加CPU为1211C(DC/DC/DC)。

2)       双击“设备组态”,切换到“设备视图”,点击CPU,右键选择属性。

3)       在常规栏,选择PROFINET 接口[X1]/以太网地址属性,设置CPU的IP地址,本例设置为 192.168.2.10。如图2所示。注:工控机作为上位机时,工控机的IP段多为192.168.2.X。

 图2 PLC 服务器端IP地址设置

4)       在常规栏,选择系统和时间存储器属性,启用系统存储器字节和时钟存储器字节,如图3。

图 3打开系统和时钟存储器

5)设置完全访问权限,并允许远程的GET/PUT 访问

设置完全的访问权限便于后续与第三方通信时候进行有效连接,并打开“允许远程的GET/PUT 访问”用于后续与西门子PLC调试助手 建立连接。如图4所示。

 图4 完全开放访问权限

 图5 勾选“允许远程的GET/PUT 访问

3.2 添加数据块

1)       添加发送数据块。数据块用于存储PLC向上位机发送的数据。点击程序块/添加新块,在打开的对话框中选择数据块,输入名称,类型选择全局DB为保证后面能够与西门子PLC调试助手 进行数据交互 如图6所示。

图6 建立数据块

 2)打开该数据块_1 ,添加发送数据,名称如sss,选择数据类型Array of Byte,即字节数组,数组长度设置为10。如图7所示。

图7 数据块内容

 3) 修改数据块属性。选中数据块_1 ,右键属性,在属性栏去掉优化的块访问,以支持绝对寻址模式。这个非常重要,如果想要西门子PLC调试助手读取寄存器的信息,这个需要去掉“优化的块访问”,如图8所示。

 图8 设置数据块属性

4)添加接收数据块。该数据块用于存储工控机向PLC发送的数据即接收数据。数据块名称数据块_1_rrr,数据类型Array of Byte,操作方法同。如图9所示。

 图9 设置接收数据表格

3.3 编写发送数据程序

1)       打开 Main 程序

2)       添加指令通信/开放式用户通信/TSEND_C到程序段1,调用选项的数据块名称采用默认,如图10所示。

图10 添加指令TSEND_C模块

3) 配置 TSEND_C 的通讯参数。选中 TSEND_C,右键属性,切换到组态页,选择连接参数属性。伙伴项选择未指定连接数据选择新建系统会自动创建一个连接数据,如PLC_1_Send_DB。输入伙伴的IP地址,如192.168.2.20工控机地址由伙伴主动建立连接,PLC的端口可保留默认的2000。连接类型为TCP,连接ID采用默认值。(注:所谓伙伴即与PLC通信的另一方,可以为上位机PC、HMI等),如图11所示。

图11 TSEND_C 的通讯参数配置

 4) 配置 TSEND_C 的输入输出。TSEND_C在检测到参数 REQ 上升沿时执行发送作业,因此每次发送数据时,都应在REQ上产生一个脉冲,此处为了简便,调用系统时钟 Clock_1Hz(每秒1次),周期性的发送数据。参数DATA为待发送的数据,此处调用数据块找你的话注意DATA采用纯符号寻址时,发送 LEN 应设置为0默认值,而采用绝对寻址时,应设置为实际发送数据的长度。通讯状态参数 DONE\BUSY等按需要连接。如图12所示。

 图 12 TSEND_C_DB 组态

3.4 编写接收数据程序

1)       添加指令通信/开放式用户通信/TRCV_C 到程序段2,调用选项的数据块名称采用默认。

2)       配置 TRCV_C 的通讯参数。选中 TRCV_C,右键属性,切换到组态页,选择连接参数属性。伙伴项选择未指定连接数据选择3.3 步骤自动创建的数据,如PLC_1_Send_DB切记不要选择新建(此例的通讯连接为自动创建,因此发送与接收共用一个连接,必须保持一致才能正常通讯)。如图13所示。

图13    配置 TRCV_C 的通讯参数

3)       配置 TRCV_C 的输入输出。TRCV_C在检测到参数 EN_R 为1时启动接收。参数DATA为数据接收区,此处调用3.2步骤所创建的数据块。注意DATA采用纯符号寻址时,接收 LEN 应设置为0,而采用绝对寻址时,应设置为实际发送数据的长度。通讯状态参数 DONE\BUSY等按需要连接。具体参数信息请查看帮助文档。如图14所示。

图 14  TRCV_C 的输入输出组态配置

4)       为了方便判断PLC是否正确接收到工控机所发送的数据,可通过以下两种方法测试。
a、将第3.3 的数据发送区设置为与数据接收区相同的数据块,即数据块_1,使PLC把接收到数据发送回工控机
b、添加 MOVE 指令采用数据移动的方法完成此功能,如图15所示.

 图 15 数据转换

4 第三方软件的通信

1) S7-1200服务器与其他设备或软件进行TCP通信。在PC上使用网络调试助手与S7-1200建立TCP通信。打开调试软件,选中左方的TCP Client,然后点击“创建”按钮,输入在3.3内容中的PLC对应的IP地址和端口号,如图16所示。 

 图16 创建客户端并设置通信端口

2)确认后,软件不会自动连接PLC,点击“连接”按钮即可连接PLC。如图17所示。

 图17客户端创建完成

3)确认连接后,如果PLC服务器发送的数据如图18所示。

 图18  上位机接收PLC的数据

此时说明已经可以进行通信了。如图19所示。

图19 查看PLC的网络视图情况

 4)可以在调试工具中输入所需要传递的内容,验证接收情况,可以在PLC的监控表格中显示相关信息。如图20、21 所示。 并在发送框中输入要传送的数据内容。

图20 上位机作为客户端接收数据

图21 接收数据

以上说明S71200与上位机实现通信功能。

注意:调试助手是按照ASCII发送,所以发送qwertyuiop,S7-1200这边接收会显示十六进制,也就是图示中显示的内容。再者要注意发送数据与接收数据的长度的定义。

 5. 西门子PLC调试助手

更加方便快捷地使得西门子S7系列PLC数据交换到工业云平台。

1)这部分调试的内容,在前面的内容中有所涉及,就是在前面的数据设置过程中,已经完成。打开PLC调试助手,输入PLC的地址,就可以进行连接。如图22所示。

 图22  PLC调试助手

2) 为了测试,在TIA17的PLC变量中建立了一些变量来完成测试。如图23所示。

图23 建立变量列表

 3) 输入对应 寄存器地址可以读取PLC中的数据。显示的为ASCII码对应的16进制数。通信的状态如图24所示。

 图24写入数据

4)可以在调试助手读取信息,如图25所示。

 

 图25 读写寄存器数据

提示 

如果报错误: "CLI : function refused by CPU (Unknown error)",主要就是

1. 数据库要是全局变量,

2. 关闭块访问优化功能

3.设置完全访问权限,并允许远程的GET/PUT 访问

参考文献

1. S7-1200_PLC_EASY_PLUS_V4.2

2. LabVIEW通过以太网(TCP)与 S7-1200 PLC通信,LabVIEW通过以太网(TCP)与S7-1200 PLC通信_laipin7的博客-CSDN博客_labview和plc通讯 

3. snap7与西门子PLC连接配置,snap7与西门子PLC连接配置_知者智者的博客-CSDN博客_snap7与plc的连接

4. python snap7读写西门子s7-1200PLC的数据(PLC的I、Q、M、DB、V区)S7-MQTT, python snap7读写西门子s7-1200PLC的数据(PLC的I、Q、M、DB、V区)S7-MQTT_KepOPC的博客-CSDN博客_西门子1200寄存器数据图表

5. CLI: function refused by CPU(Unknown error),CLI: function refused by CPU(Unknown error)_越有能力的人越谦虚的博客-CSDN博客

6. .西门子S7系列PLC如何实现工业互联?(S7中间件)

西门子S7系列PLC如何实现工业互联?(S7中间件)_KepOPC的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/27750.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TIA 博图 使用 S7通讯 Put Get 对两台PLC进行通讯

1.打开设备组态-属性-找到防护与安全: 把允许来自远程的PUT/GET 通讯访问✔,两台PLC都是这样,把组态下载进去。 2.设备与网络中,用端口1把两台设备连在一起: 两台设备需要在同一个网段里面 3.在PLC3新建一个DB块&#…

文心一言 VS 讯飞星火 VS chatgpt (23)-- 算法导论4.2 5题

五、V.Pan 发现一种方法,可以用 132 464 次乘法操作完成 68 x 68 的矩阵相乘,发现另一种方法,可以用 143 640 次乘法操作完成 70 x 70 的矩阵相乘,还发现一种方法,可以用155 424次乘法操作完成 72 x 72 的矩阵相乘。当…

【Python爬虫项目实战二】Chatgpt还原验证算法-解密某宝伪知网数据接口

目录 🐱背景🐱工具🐱分析流程🐔登陆分析🐔检索分析🐔模拟HTML代码请求🐔 解析HTML🐔 再次分析🐟分析js算法🐟 拿下furl🐟拿下sfname🐟拿下sfname🐔 构造请求🐔再次瓶颈🐔分析cookie🐟 成功演示🐱总结

[云炬python3玩转机器学习]6-2模拟梯度下降法

模拟梯度下降法 In [1]: import numpy as np import matplotlib.pyplot as plt import datetime;print (Run by CYJ,,datetime.datetime.now()) In [2]: plot_x np.linspace(-1., 6., 141) plot_xOut[2]: array([-1. , -0.95, -0.9 , -0.85, -0.8 , -0.75, -0.7 , -0.65…

OneFlow源码解析:静态图与运行时

作者|郑建华 更新|许啸宇、张文骁、成诚 OneFlow静态图的训练效率远高于动态图(eager模式)。本文试图通过一个简单例子,结合v0.8.0版本的代码,解读一下静态图和运行时的实现机制。 在开始之前,建…

infer源码阅读之yolo.cu

目录 yolo.cu注意事项一、2023/3/30更新前言1.宏定义2.Norm3.后处理3.1 affine_project3.2 decode3.2.1 decode_common3.2.2 decode_v8 3.3 nms3.4 invoker 4.预处理5.decode_mask6.AffineMatrix7.InferImpl7.1 adjust_memory7.2 preprocess7.3 load7.4 forwards 8.其它9.拓展之…

【爬虫实例】从B站和某论文网站分析python爬虫的一般编写思路———To someone

问题背景 好久没写爬虫了,前两天友人来问我python能不能爬论文,能不能告诉她爬虫的基本运行原理是什么,跑起来是什么样子。 我一看,论文爬取——爬虫最实用的场景之一,这不拿捏? 于是便尝试现场演示一番。…

【Metaverse系列一】元宇宙的奥秘

你有没有想过逃离闷热的会议室,瞬间移动到马尔代夫的沙滩上开会?开完会,纵身跳入大海和美人鱼捉迷藏。然后一个鲤鱼打挺直冲云霄,进入天宫一号开展科学研究,发现微重力环境下韭菜的长势喜人,而且在特定光照…

科大讯飞版ChatGPT测评:很好很强大

大家好,我是黄海广。 今天我体验到了科大讯飞版本的ChatGPT,这个产品凭借其强大的功能和出色的性能,超出了我对国产大模型的预期。 一、产品简介 这个模型全名叫讯飞星火认知大模型,官方是这么解释这个产品的: “科大讯…

七大语言模型PK,ChatGPT内容基线测评稳居第一

随着ChatGPT的爆火与流行,大型语言模型(LLM)与生成式人工智能(AIGC)不断跃入大众视野,随之也带来了许多内容风险隐患。 近日,知道创宇内容安全专家对互联网上流行的7款大型语言模型进行了全面和…

ChatGPT风靡全球,我们应该为未来感到担心吗?

近期,关于ChatGPT的话题再次引爆全网,不少用户加入到“玩疯了”的阵营中……有赞叹不已的、有表示惊奇的、有展示BUG的,但总体来说,ChatGPT的整体社交评价还是非常向好的。 微软CEO纳德拉就坦言,ChatGPT服务的风靡&…

库克考虑卸任苹果CEO,谁会是下一任接班人?

作者 | Carol 出品 | CSDN(ID:CSDNnews) 十年前,8 月 24 日那天,史蒂夫乔布斯宣布辞去苹果 CEO 一职,正式任命蒂姆库克成为苹果的新掌门人。如今,恰逢库克上任苹果 CEO 十周年。在今年4月份&…

历史上的今天:乔布斯辞去苹果CEO一职;Windows 95 发布

整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2022 年 8 月 24 日,14 年前的今天,北京奥运会闭幕式举办,宣告圆满结束,为所有国人打上了一针强心剂。而在科技历史上&am…

最全盘点苹果高管团队 谁有可能成为下一代继任者?

编译|辰辰 出品|网易智能 随着苹果首席执行官蒂姆库克(Tim Cook)已经掌舵10年,他和高级副手们正将更多注意力放在培养公司新一代领导者上。 目前库克管理团队的成员都是在苹果工作20多年,已经赚到数千万美元、年龄在55岁至60岁左右…

行业报告 | AI+制造业赋能,机器视觉开启掘金新大陆(上)

原创 | 文 BFT机器人 01 核心要点 Al制造业赋能,META 发布 SAM 助力机器视觉迎来 GPT 时刻。 机器视觉技术使得工业设备能够“看到”它正在进行的操作并进行快速决策,完整机器视觉系统由硬件软件组成,分别进行成像和图像处理工作。 目前,以“…

2024奇点将至:人类尚未准备好迎接S2F大于100的巨硬资产

奇点将至! “奇点”这个词儿本来是搞人工智能的那帮人从物理学里借用过来唬人的。大意是指所谓AGI通用人工智能降临的那一刻。计算机将在智能上全方位碾压人类。 最近ChatGPT的爆红让无数人产生了错觉,真的彷佛看到AGI近在咫尺。 但是,穿越过…

chatGPT人工智能对话系统H5写作论文毕业论文付费问答写代码分销

ChatGPT对话问答系统是一款功能神奇的人工智能应用,具有广泛的用途和应用领域。以下是一些主要功能: 编写代码:ChatGPT可以帮助用户编写和理解各种编程语言的代码。撰写文案、论文、小说:ChatGPT能够根据用户的需求,协…

万字长文爆肝 DNS 协议!

试想一个问题,我们人类可以有多少种识别自己的方式?可以通过身份证来识别,可以通过社保卡号来识别,也可以通过驾驶证来识别,尽管我们有多种识别方式,但在特定的环境下,某种识别方法可能比另一种…

万字长文详细搞懂 volatile 关键字

volatile 这个关键字大家都不陌生,这个关键字一般通常用于并发编程中,是 Java 虚拟机提供的轻量化同步机制,你可能知道 volatile 是干啥的,但是你未必能够清晰明了的知道 volatile 的实现机制,以及 volatile 解决了什么…

李开复们混战AI,谁最有戏?

作者 | 王敏 编辑 | 金玙璠 2023年以来,AI“狂飙”。 ChatGPT一经问世,就掀起了新一轮AI革命。过去的几个月里,AI领域重磅“炸弹”一个接着一个。从业者们常常一觉醒来,就会因为硅谷发布新的AI产品而不得不快速更新认知。 伴随着热…