第三方调试助手的与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博客
第三方调试助手的与S7-1200 PLC的通信相关推荐
- UE4 TCP通信 (UE客户端与网络调试助手服务端、python服务端通信)
目录 一.使用UE4建立TCP客户端 二.使用网络调试助手建立服务端 三.基于网络调试助手的服务端与UE客户端通信 四.基于python的TCP服务端与UE客户端通信 一.使用UE4建立TCP客户端 ...
- S7 1200 PLC对编码器计数,断电记忆
目录 准备工作 新建项目 PLC硬件配置 添加程序 编辑HMI画面 下载程序并启动 后记: 准备工作 准备一款1200系列PLC,和装有TIA Portal 的上位机,用网线将两者连接.把编码器连接到 ...
- 西门子PLC封装TCP通讯块和调试助手进行TCP仿真测试
说明:由于经常用到TCP通讯,所以封装了一个FB块便于移植调用,该块可以作为Server或Client使用. 硬件:PC 软件:①博途V15 ②S7-PLCSIM Advanced 3.0仿真软件 ③ ...
- PLC实验—西门子S7 1200读取旋转编码器数据并计算电机转速
PLC实验-西门子S7 1200读取旋转编码器数据并计算电机转速 注意PTO控制步进电机实验博途软件需要V14版本,不然没有PTO功能块 软件的下载请点击下方百度网盘的链接 链接:https://pa ...
- 基于s7—1200的电梯控制,wincc hmi动画仿真,带PLC源代码
基于s7-1200的电梯控制,wincc hmi动画仿真,带PLC源代码,hmi源代码,图纸,IO地址分配id=639682504507&
- 西门子plc s-7 1200驱动伺服电机方法
西门子plc s-7 1200驱动伺服电机方法 前言 完整设备连接 驱动实际接线图 程序编写 新建项目 添加工艺对象 配置工艺对象 程序编写 启动方法 选择工作模式 前言 其实,伺服电机还用另外两种工 ...
- PLC实验—西门子S7 1200 PID控制步进电机转速
PLC实验-西门子S7 1200 PID控制步进电机转速 严格讲并不是PID控制,因为并不是并不研究这个方向,研二又比较忙,时间限制只加了比例系数 这里只是抛砖引玉,希望大家可以进一步完善补充 思路 ...
- python写网络调试助手_Qt开源作品4-网络调试助手
## 一.前言 网络调试助手和串口调试助手是一对的,用Qt开发项目与硬件通信绝大部分都是要么串口通信(RS232 RS485 Modbus等),要么就是网络通信(TCP UDP HTTP等),所以一旦 ...
- 西门子S7系列PLC安全防护研究
近年来,随着中国制造的不断崛起,工业控制系统已成为国家关键基础设施的重中之重,工控系统的安全问题也随之而来.工控产品的多样化,造成了工控系统网络通讯协议不同,大量的工控系统采用私有协议,从而导致协议存 ...
- 基于QT的串口调试助手
大家好,我是KookNut39,在CSDN写文,分享一些自己认为在学习过程中比较重要的东西,致力于帮助初学者入门,希望可以帮助你进步.最近在更新C/C++方面的知识,感兴趣的欢迎关注博主,可以去专栏查 ...
最新文章
- 寻找长沙“科技之星”,CSDN星城大巡礼
- JSP中两种include的区别
- 第二章:Android游戏开发之前台渲染
- 卡常神器——register 与 快速读入输出
- 我的Go+语言初体验——【三、spx案例测试_许式伟先生推荐补充(附-视频)】
- 数据结构——二叉树的最小深度算法
- 手游server之数据IO进化
- CentOS7 源码编译安装MySQL8.0.15 shell脚本
- log4j2日志配置
- Work Queues(点对多)
- 5.29 狡猾的商人(把后天的写了,老师不会打我吧)
- spring注解原理解析
- 评:10月PMI指数新高, 带动大盘逆转, 跨年度业绩行情展开
- 出口退税的操作明细流程
- python 转换数字为中文的大写
- lftp命令使用 操作系统(Windows、Linux) PHP学会网 php培训网 PHP暑期培训 PHP寒假培训 PHP假期培训 - powered by phpwhy.com
- Scratch幻影小猫 电子学会图形化编程scratch等级考试三级真题答案2019-9
- 操作系统PV大题_小和尚老和尚喝水问题
- 一个好强的mm写给男朋友的绝交信
- eclips的快捷键
热门文章
- java 100以内的偶数的和_java 2.3 循环语句计算100以内的偶数和(五种方法)
- android 国际电话区号,中国国际区号_电话区号_中国区号是多少-中国区号查询
- 树莓派摄像头——图像 视频采集
- python制作动态表情包,用 Python 开发一个【GIF表情包制作神器】
- 苹果屏蔽更新描述文件_无需越狱,屏蔽 iOS 更新的描述文件来了
- 传统方法VS深度学习方法
- 悉尼大学计算机工程专业世界排名,悉尼大学世界排名及专业排名汇总(QS世界大学排名版)...
- 开关稳压器详解(四)-Buck降压型开关稳压器自举电路
- 汉诺塔解法C语言实现
- ATSC制数字电视机顶盒研究