通过PROFINET实现S7-1200与CU320-2 PN S120通讯
1.概述
S7-1200 与 CU320-2PN 之间通过 PROFINET IO 可进行周期性及非周期性数据通讯。
使用 S7 功能块 DPWR_DAT/DPRD_DAT,S7-1200PLC 通过 PROFINET 周期性通讯方式可将控制字 1(STW1)和主设定值(NSOLL_A)发送至驱动器,并从驱动器读取状态字(ZSW1)和实际值(NIST_A);
使用 S7 功能块 WRREC/RDREC,可以实现非周期性数据交换,读取或写入驱动器的参数。
关于如何将配备 CU310-2 PN/CU320-2 DP/CU320-2 PN 的 SINAMICS S120 连接到PROFINET IO 系统中,请参见系统手册“SIMOTION SCOUT 通讯”。
控制单元通过 PROFINET IO 连接到 SIMATIC S7 的示例,请参见 FAQ“S7-CPU 和SINAMICS S120 之间的 PROFINET IO 通讯(http://support.automation.siemens.com/WW/view/en/27196655)”中的在线支持。
2.项目配置
2.1软硬件要求
TIA Portal V13 Update2 以上版本
Starter/SIMOTION SCOUT V4.4
S7-1200 PLC
CU320-2PN Fw4.7
将CU320-2PN的X150 P1通过网线与S7-1200的X1 P1连接,中间使用交换机连接。
2.2配置TIA项目
创建一个 S7-1200 的新项目

点击添加新设备,选择自己的S7-1200型号

在网络视图中,将CU320-2 PN拖入画面中

选择自己的固件版本

建立S7-1200与CU320-2 PN的通讯网络

设置S7-1200的IP地址

设置CU320-2 PN的设备名称及IP地址

在设备视图中双击DO SERVO和DO Control Unit添加驱动对象和控制单元

为驱动对象及控制单元添加报文


编译并下载进S7-1200

2.3配置SCOUT项目
在SCOUT里创建S120项目,搜索可用节点

选中S120,为CU320-2 PN(X150接口)分配IP地址及设备名称
http://www.ad.siemens.com.cn/service/answer/solved_211949_1097.html


在线后自动配置项目,在专家列表中设置P922参数,设置对应的通信报文。
保存项目并下载进S120,copy RAM to ROM。


将P840关联到r2090参数的bit0,P864设置为1,如图

3.编程
3.1电机启停及速度控制
S7-1200通过周期性通讯方式将控制字1(STW1)和主设定值(NSOLL_A)发送至驱动器
(1)控制字(MW10)中Bit0做电机的启停控制;
(2)主设定值(MW12)为速度设定值,频率设定值和实际值要经过标准化,使得4000H(十六进制)对应100%,发送的最高频率(最大值)为7FFFH(200%)。可以在P2000参数中修改参考频率(默认50Hz);
(3)在S7-1200中需调用“SFC14(DPRD_DAT)”和“SFC15(DPWR_DAT)”系统功能块,如下图:
DPRD_DAT用于读取驱动装置中的过程数据
DPWR_DAT用于将过程数据写入驱动装置

在调用DPRD_DAT和DPWR_DAT系统功能块的时候需要注意,LADDR应该采用默认变量表中的系统变量Standard_telegram_1_PZD-2_2

3.2出现报错

下位组件错误,S7-1200无法与S120(CU320-2 PN)通讯
3.3解决方法
考虑是CU320-2PN的通讯未设置好,导致S7-1200无法与其通信。经过咨询西门子技术人员(电话400 810 4288)发现是三个报文的顺序不匹配
TIA项目中,三个的顺序是390报文-标准报文1-标准报文1;那么SCOUT项目中的顺序也应一致(可以看到上文中不一致)
故应将SCOUT项目做如下修改:离线后调整三者的顺序,保存项目并下载

解决完错误之后,即可建立监视表,查看MW10、MW12、MW20、MW22的值。

首先将MW10强制为047E(十六进制),MW12强制为0052(十六进制);
再将MW10强制为047F(十六进制),电机即开始旋转,可以监视到MW22的参数基本在0052(十六进制)
P2000参数为3000rpm,故电机实际转速为3000*0052H/4000H=15rpm。(4000H的十进制数为16384)


参考
https://support.industry.siemens.com/cs/cn/zh/view/109478999
http://www.ad.siemens.com.cn/service/elearning/Course/1069.html
https://www.ad.siemens.com.cn/1847/Video/VideoPlay?courseId=2786
通过PROFINET实现S7-1200与CU320-2 PN S120通讯的更多相关文章
- C# 构建S7服务器 西门子的虚拟服务器 测试通讯 HslCommunication应用
本文将使用一个gitHub开源的组件技术来实现S7服务器的功能,使用的是基于以太网的TCP/IP实现,不需要额外的组件 github地址:https://github.com/dathlin/HslC ...
- 各种工业以太网比较(EtherCAT,EtherNet/IP,ProfiNet,Modbus-TCP,Powerlink)
EtherCAT(以太网控制自动化技术)是一个以以太网为基础的开放架构的现场总线系统,EterCAT名称中的CAT为ControlAutomation Technology(控制自动化技术)首字母的缩 ...
- Python通过snap7库与西门子S7-1200建立S7通信,读写存储器数据,顺便写个流水灯
1.snap7 简介 snap7 是一个基于以太网与S7系列的西门子PLC通讯的开源库. 支持包括S7系列的S7-200.S7-200 Smart.S7-300.S7-400.S7-1200以及S7- ...
- PROFIBUS,PROFINET,Ethernet三者的区别
PROFIBUS,PROFINET,Ethernet三者的区别 简单一点说,PROFINET=PROFIbus+etherNET,把Profibus的主从结构移植到以太网上,所以profinet会有C ...
- 如何实现PLC与THINGWORX工业物联网平台对接
物联网(Internet of Things),简称 IoT,对于制造商来说,是行业乃至世界范围内的一股变革浪潮.在我们设计和制造的产品中,将会不断嵌入各种软件.传感器和启用 IP 的连接功能.IDC ...
- 西门子S7-1200与 G120系列变频器USS通信
西门子S7-1200 紧凑型PLC在当前的市场中有着广泛的应用,作为经常与SINAMICS G120系列变频器共同使用的PLC,其USS通信协议的使用一直在市场上有着非常广泛的应用.本文将主要介绍如何 ...
- 西门子 S7-300 PLC 从入门到精通的100个经典问题
1:使用CPU 315F和ET 200S时应如何避免出现“通讯故障”消息? 使用CPU S7 315F, ET 200S以及故障安全DI/DO模块,那么您将调用OB35 的故障安全程序.而且,您已 ...
- 自学工业控制网络之路2.2-PROFINET
返回 自学工业控制网络之路 自学工业控制网络之路2.2-PROFINET PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技 ...
- 关于485通信不稳定问题解决方案[STM32产品问题]
485通讯不稳定的问题(具体表现为有时能通讯上,有时通讯不上) RS485在连接设备过多.通讯距离过长.双绞线质量差,接线不规范等,都会导致通讯不稳定的问题. 解决方案: 一.关于485总线的几个概念 ...
随机推荐
- Solution -「USACO 2020.12 P」Sleeping Cows
\(\mathcal{Description}\) Link. 有 \(n\) 个牛棚,大小为 \(t_{1..n}\),\(n\) 头奶牛,大小为 \(s_{1..n}\),奶牛只能住进不小 ...
- SonarQube之采购选型参考
SonarQube是DevOps实践中主流的一款质量内建工具,过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具,比如pmd-cpd.checkstyle.findbugs ...
- 关于SpringCloud中,使用 Hystrix的问题
springCloud升级后.导致 HtystrixDashboard 默认的servlet请求路径修改了 将业务的微服务使用 HtystrixDashboard 仪表盘第一次监控时出现 Unable ...
- nginx加大缓存
http { server { listen 0.0.0.0:81; server_name localhost; -- proxy_buffer_size 128k; proxy_buffers 3 ...
- 来自牛逼哥的阴间MD5(web)
这个web题目是来自队里面牛逼哥的题目,审计源码, 看到这两个参数,前面的a和b就是直接输出数字,再看下面的,需要弱比较的输出一个c,要求应该是需要一个加密之前是一个0e开头的字符串,加密之后还是0e ...
- 内网渗透中mimikatz的使用
0x01 简介 mimikatz,很多人称之为密码抓取神器,但在内网渗透中,远不止这么简单 0x02 测试环境 网络资源管理模式: 域 已有资源: 域内一台主机权限 操作系统:win7 x64 域权限 ...
- Pentest Box之疑难杂症(解决)
问题一:metasploit连不上数据库怎么破???? 1.首先找到配置路径:F:\bin\customtools (F代表:pentest box整个路径) 2. 编辑 customaliases ...
- 一键生成的BI智能数据看板谁不爱?
随着互联网思维的深化,如财务.市场.运营.销售等越来越多的岗位,都开始重视并自发性的开始了解并学习数据分析,来引导帮助决策. 人力资源制定效能仪表盘,去实时掌握人员状况和人均效能,通过对招聘漏斗的分析 ...
- Anaconda:指令 安装、更新、卸载库
学习总结自:如何使用anaconda安装或更新自己想要的库_xiexu911的博客-CSDN博客_anaconda 安装库 打开Anaconda Prompt后,输入指令及响应 conda list: ...
- while + else 使用,while死循环与while的嵌套,for循环基本使用,range关键字,for的循环补充(break、continue、else) ,for循环的嵌套,基本数据类型及内置方法
今日内容 内容概要 while + else 使用 while死循环与while的嵌套 for循环基本使用 range关键字 for的循环补充(break.continue.else) for循环的嵌 ...