通过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总线的几个概念 ...
随机推荐
- netty系列之:channel和channelGroup
目录 简介 神龙见首不见尾的channel channel和channelGroup channelGroup的基本使用 将关闭的channel自动移出 同时关闭serverChannel和accep ...
- C1 能力认证——Web进阶
C1 能力认证--Web进阶 DOM节点操作-上 名称 描述 getElementById() 获取带有指定id的节点 getElementsByTagName() 获取带有指定标签名的节点集合 qu ...
- C语言strtok_s函数
strtok_s 在C语言中的作用是分割出一个字符串中的单词 在MSDN上参数表: strtok_s strToken String containing token or tokens. strDe ...
- mysql is not null 执行效率低
a表字段类型为int b表字段类型为varchar a left join b时如果查询条件是is not null,效率很快,is null 效率很低 后来两者改为同类型 int,效率很高
- Shell 函数带中横线问题排查
Shell 中编写的函数,如果函数名中带了中横线,在使用 /bin/sh 执行时会报错. ➜ subprocess git:(master) ✗ cat kubectl.sh _kubectl_api ...
- jmeter分布式导致重复登录的问题、以及写txt、csv、统计行数
经常收到微信好友的各种问题咨询,今天分享一个比较有代表性的,希望对大家有所帮助. 一位微信好友的提问 问题如下: 问题分析 先简单介绍下服务端的处理逻辑,关于登录,服务端的逻辑一般是:校验用户名.密码 ...
- [旧][Android] 消息处理机制
备注 原发表于2016.06.06,资料已过时,仅作备份,谨慎参考 概述 Android 的消息处理机制主要是指 Handler 的运行机制以及 Handler 所附带的 MessageQueue 和 ...
- windev中使用DateFile和Query作为表格数据源的一个重要区别
表格可以使用DateFile(数据表)和Query(查询表)作为数据源,在列表页面中,因为表格一般都设置为不可编辑,所以这两者在表现使用上,区别都不大.尽管如此,我们还是需要清晰的知道,这两者本质上的 ...
- Python "爬虫"出发前的装备之二数据先行( Requests 模块)
1. 概念 爬虫不是动物,而是一种计算机程序. 这种程序有自己特定的功能,能按照使用者给定的一系列规则自行浏览万维网并获取需要的信息.此类程序被称为 网络爬虫(web crawler) 或 网络蜘蛛( ...
- 【windows 操作系统】线程句柄HANDLE与线程ID的关系
什么是句柄 句柄是一种指向指针的指针.我们知道,所谓指针是一种内存地址.应用程序启动后,组成这个程序的各对象是住留在内存的.如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访 ...