通过DP总线实现S7-300/400与SINAMICS S120 通讯
一、DP总线通讯功能概述
S7-300/400与SINAMICS S120 之间通过DP总线可进行周期性及非周期性数据通讯。
使用标准S7功能块SFC14/SFC15,S7-300/400PLC通过PROFIBUS周期性通讯方式可将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器;
使用标准S7功能块SFC58 / SFC59,可以实现非周期性数据交换,读取或写入驱动器的参数。
二、S7-300/400与S120装置的连接

三、驱动器站地址设置
1. 驱动装置的PROFIBUS通讯地址设置有两种方法:
(1) 通过CU控制单元上的拨码开关实现地址设置,有效地址值为:1…126,本例中地址设置见下图。
注意:通过拨码开关改变地址时应断掉变频器电源

(2) 在拨码开关全部拨到OFF或ON状态时可以利用参数P918设置地址,否则
P918参数中设置的地址是无效的。
驱动装置的PROFIBUS 通讯波特率默认为:1.5Mbps
2. 在S7-300/400的硬件组态中设定的驱动装置站地址应与驱动装置的站地址一致。

图.1
四、通讯报文设置
对于不同的驱动装置只有特定的报文结构能被选用,详细描述请参考:SINAMICS_S120_Commissioning_Manual。表1为常用报文。
表1.

报文格式999为用户自定义报文,当用户选择此报文格式时,电机的起、停控制位等需自己做关联。此时必须将PLC控制请求置1(P854=1)。
注意:用户可在S7-300/400硬件配置时根据需要配置报文结构,配置结束后进行编译保存;之后打开Starter,核对报文结构是否一致,若不一致需在Starter中打开“configuration”做调整后点击“Transfer to HW config”按钮。

图.2


DC/AC 驱动装置报文设定
图.3
五、用DP总线对电机起、停及速度控制
S7-300/400PLC通过PROFIBUS周期性通讯方式将控制字1(CTW1)和主设定值(NSETP_B)发送至驱动器。
(1) 控制字中Bit0做电机的起、停控制。
(2) 主设定值为速度设定值,频率设定值和实际值要经过标准化,使得4000H(十六进制)对应于100%,发送的最高频率(最大值)为7FFFH(200%)。可以在P2000中修改参考频率(缺省值为50Hz)。
(3) 组态的报文结构 PZD=2或自由报文999时,在S7-300/400 中可用“MOVE”指令进行数据传送;当组态的报文结构 PZD〉2,在S7-300/400 中需调用SFC14和SFC15系统功能块。
• SFC14(“DPRD_DAT”)用于读Profibus 从站的过程数据
• SFC15(“DPWR_DAT”)用于将过程数据写入Profibus 从站
例子:SERVO_02 ”控制字、主设定值的发送及状态字、实际频率的读取程序
(1) 控制驱动器运行:
通过先发送控制字(STW1)047E然后发送047F来启动驱动器,该数据控制字在DB10.DBW8(见图4)中指定,主设定值在DB10.DBD10中设定,运行信号为M1.0。这些值均通过变量表VAT_2设定及监控。控制程序见图3。
(2)停止驱动器:
应发送控制字047E至驱动器。
(3)读取驱动器状态字及频率实际值:
PLC接收状态字1(ZSW1),存放在DB10.DBW0中;接收驱动器传来的频率实际值,存放在DB10.DBD2中。

图3. 控制程序

图4. DB10
六、驱动器参数的读取及写入
1. 扩展PROFIBUS DP功能(DPV1)
非周期性数据传送模式允许:
• 交换大量的用户数据(最多240 bytes)
• 用DPV1的功能 READ 和 WRITE可以实现非周期性数据交换。传输数
据块的内容应遵照 PROFIdrive参数通道(DPV1)数据集DS47(非周期参
数通道结构)。
2. 参数请求及参数应答的结构
参数请求包括三部分:请求标题、参数地址及参数值。
表2.参数请求格式

表3.参数应答格式

表4.参数请求及应答描述

表5.在DPV1参数应答中的错误值描述

3. 读取驱动器参数
S7-300/400PLC通过PROFIBUS非周期性通讯方式读取驱动器参数。
请注意:PLC读取驱动器参数时必须使用两个功能块SFC58 / SFC59 (程序参见图5)
举例如下:
(1) 使用标志位M10.0及功能SFC58块将写请求(数据集RECORD DB1) (图6)发送至驱动器。
将M10.0设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。MW108 (RET_VAL)显示错误代码,用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。
(2) 之后,使用标志位M10.1及功能SFC59块将读请求发送至驱动器,驱动器返回参数值响应(响应块DB2) (参见图7) 。
将M10.1设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。MW110 (RET_VAL) 显示包括错误代码。
用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。

图5. 读取驱动器参数程序

图6. “写”请求数据块DB1

图7. 驱动器返回参数值数据块DB2
4. 写入驱动器参数P1217
S7-300/400PLC通过PROFIBUS非周期性通讯方式写入驱动器参数P1217。举例如下:
PLC写参数时只需使用SFC58,在本项目的Network 3中发送写请求DB1 (参见图9) 到驱动器; PLC读“写参数”响应时需使用SFC59,在本项目中读取驱动器返回的参数值数据块为DB2 (参见图10) 。程序参见图8。
(1) 将M10.0设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。MW108 (RET_VAL)显示错误代码,用于表示功能处理时发生的错误。有关所有错误的描述参见“系统功能/功能块帮助”。
(2) 将M10.1设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。MW110 (RET_VAL) 显示包括错误代码。
用于表示功能处理时发生的错误。有关错误的描述参见“系统功能/功能块帮助”。

图8. 写入驱动器参数程序

图9. 写请求DB1

图10. 驱动器返回的数据块DB2
七、程序参考实例
读参数示例程序请参考附带文件:DP_r0945.zip
写参数示例程序请参考附带文件:DP_Write.zip
参考:
https://support.industry.siemens.com/cs/document/72296758/%E9%80%9A%E8%BF%87dp%E6%80%BB%E7%BA%BF%E5%AE%9E%E7%8E%B0s7-300-400%E4%B8%8Esinamics-s120-%E9%80%9A%E8%AE%AF?dti=0&lc=zh-CN
通过DP总线实现S7-300/400与SINAMICS S120 通讯的更多相关文章
- https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic net::ERR_CONNECTION_TIMED_OUT问题解决
使用adminTLE时,有时候出现 https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic, ...
- 西门子S7200/300/400以太网通讯处理器选型分类
北京华科远创科技有限研发的远创智控转以太网模块适用于西门子S7-200/S7-300/S7-400.SMART S7-200.西门子数控840D.840DSL.合信.亿维PLC的PPI/MPI/PRO ...
- HTTP状态码:300\400\500 错误代码
一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 ...
- ajax中error函数参数与返回值详解 200 300 400 500
201-206:都表示服务器成功处理了请求的状态代码,说明网页可以正常访问. 200:(成功) 服务器已成功处理了请求.通常,这表示服务器提供了请求的网页. 201:(已创建) 请求成功且服务器已创建 ...
- NV 200, 300, 400, 500, 600, 700, 800
NV GF6系列架构分析(GPU gem2 读书笔记) http://www.cnblogs.com/wangdaniu/archive/2006/02/20/334089.html 总线带宽:PCI ...
- S7 300数据块中的变量指定断电保持特性
利用DB块内变量属性的保持性,勾选上就可以保持了.300PLC数据块默认断电保持.
- 简单Profibus/DP实验系统的组建
转自:http://www.dndev.com/Profibus/profibustr/system_4.html 引言: 为了让更多刚接触到Profibus系统的朋友能对Profibus的网络架构及 ...
- 最大值最小化(DP)
题目来源:网易有道2013年校园招聘面试一面试题 题目描述: 在印刷术发明之前,复制一本书是一个很困难的工作,工作量很大,而且需要大家的积极配合来抄写一本书,团队合作能力很重要.当时都是通过招募抄写员 ...
- bzoj 1187: [HNOI2007]神奇游乐园 插头dp
1187: [HNOI2007]神奇游乐园 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 668 Solved: 337[Submit][Statu ...
随机推荐
- Redis 竟然能用 List 实现消息队列
分布式系统中必备的一个中间件就是消息队列,通过消息队列我们能对服务间进行异步解耦.流量消峰.实现最终一致性. 目前市面上已经有 RabbitMQ.RochetMQ.ActiveMQ.Kafka等,有人 ...
- 简单的springboot + vue
安装vue 脚手架 npm install -g @vue/cli 查看vue 版本 vue -V 创建vue项目 vue create vue_project Vue CLI v4.5.13? Pl ...
- Vue2.0源码学习(3) - 组件的创建和patch过程
组件化 组件化是vue的另一个核心思想,所谓的组件化就,就是说把页面拆分成多个组件(component),每个组件依赖的css.js.图片等资源放在一起开发和维护.组件是资源独立的,在内部系统中是可以 ...
- Centos下Ambari2.7.5的编译和安装
前言 终于,要开始写点大数据相关的文章了.当真的要开始写老本行的时候,还是考虑了挺久的.一是不知道从何处写起,二是如何能写点有意思的. 我们常说,过程比结果重要.也是有很多人喜欢准备完全之后,才会开始 ...
- Java IO模型:BIO、NIO、AIO
Java IO模型:BIO.NIO.AIO 本来是打算直接学习网络框架Netty的,但是先补充了一下自己对Java 几种IO模型的学习和理解.分别是 BIO.NIO.AIO三种IO模型. IO模型的基 ...
- 我的平安夜-Merry Christmas
我的平安夜-Merry Christmas 平安夜给自己买的第一个"苹果",嘻嘻. 今夜,不想去学习技术知识点什么的, 我们就想到哪里写哪里,就简单聊聊思维方式吧. 其实我不想做今 ...
- [题解]第十一届北航程序设计竞赛预赛——F.序列
题目描述 (1,--,n)的一个排列S,定义其对应的权值F[S]为:将S划分为若干段连续子序列,每个子序列都是上升序列,F[S]的值等于能划分出的最小段数. 求n的全排列的F[S]的和,答案mod(1 ...
- 【C# .Net GC】条件自动垃圾回收 HandleCollector类
条件自动回收 达到指定条件后自动执行GC回收垃圾. GC中的方法AddMemoryPressure和RemoveMemoryPressure 本机资源有时会消耗大量内存,但用于包装它的托管对象只占用很 ...
- 【windows 操作系统】Windows系统机制之对象管理器
转载自 Windows系统机制之对象管理器 设计的几个目的: 提供一种公共统一的机制来使用系统资源 将对象保护隔离到OS中的一个地方,从而确保统一的一致的对象访问策略 提供一种机制来管理进程对对象的使 ...
- 举例说明EF CORE中模型之间的一对多、多对多关系的实现
该例子是我临时想出来的,不具有任何的实际意义.类图如图1所示. 图1 类代码: [Table("student")] public class Student { public i ...