1 概述

TCP/IP 通讯的传输时间可能太长,并且该时间具有不确定性,无法满足生产自动化领域的要求。因此,在进行时间要求苛刻的IO 有效载荷数据通讯时,PROFINET IO 不使用TCP/IP,而是使用自己的实时通道。

SINAMICS S120作为西门子新一代的驱动器,通过PROFINET网络可实现PN IO的OPC通讯。可通过SimaticNet OPC Server使用PN IO的控制方式对S120驱动器进行起动及调速控制,也可读取驱动器的速度实际值及状态信息。

OPC是Object Linking and Embedding(OLE) for Process Control的缩写,即把OLE应用于工业控制领域。OLE原意是对象链接和嵌入,随着OLE 2的发行,其范围已远远超出了这个概念。现在的OLE包容了许多新的特征,如统一数据传输、结构化存储和自动化,已经成为独立于计算机语言、操作系统甚至硬件平台的一种规范,是面向对象程序设计概念的进一步推广。OPC建立OLE规范之上,它为工业控制领域提供了一种标准的数据访问机制。

OPC全称是OLE for Process Control,它的出现为基于Windows的应用程序和现场过程控制设备间通讯建立了桥梁,OPC包括一整套接口、属性和方法的标准集,用于过程控制和制造业自动化系统。

可做为 Profinet  IO-Device设备的S120产品:

  • CU320/CU320-2 DP插上CBE20 的SINAMICS S120
  • CU320-2 PN 的SINAMICS S120
  • CU310-2 PN 的SINAMICS S120
  • CU305PN的SINAMICS S110

首先需要下述软件:

  • Simatic Net软件 (用于OPC- server/数据交换)
  • Starter/SIMOTION Scout 驱动调试软件

操作步骤:

  1. 创建Starter项目,配置驱动器参数,驱动做为I/O device。
  2. 配置驱动的控制报文并根据需要进行参数互连。
  3. 在Step7中创建项目,配置PC Station。
  4. 配置OPC Server的PC Station。
  5. 使用客户端测试软件进行通讯测试及系统监控。

2 SIMOTION实现OPC通讯的必备条件

2.1 软件兼容性要求

如使用SCOUT软件调试驱动,所需安装的软件兼容性列表可参看SCOUT安装光盘中的下述文件:SCOUT4.1SP5\VOL1\AddOn\1_Important\English\Compatibility\Compatibility_SIMOTION_V415.pdf。

2.2 本示例中使用的硬件及软件

硬件:

  • CU310PN: 6SL3040-0A01-0AA0
  • CF卡:6SL3054-0CG00-1AA0 Fw2.6.2
  • PM340:6SL3210-1SB14-0AA0

软件:

  • SCOUT V4.1.5.6
  • SIMATIC V7.1

3 项目配置

3.1 创建驱动项目

(1) 打开SCOUT/Starter软件,创建一个新项目“CU310 IO OPC”:

图1. 创建新项目

(2)  点击工具栏中的Accessible Node按钮,搜索CU310PN设备。

(3) 搜索到CU310PN设备,如果其IP地址与调试PC的IP地址不在同一网段上,则显示结果如图2所示,Bus node前面显示为?号:

图2. 搜索CU310PN设备

右键点击Bus node后,点击“Edit Ethernet node”菜单修改CU310N的IP地址,如图3:

图3. 编辑设备IP地址

在出现的图4画面中设置CU310PN设备的IP地址及Device name后点击“Assign IP configuration”按钮:

图4. 设置设备的IP地址及Device name

注意:应将CU310PN的IP地址与PC Station的IP地址设到同一个网段。

(4) 点击”Refresh”按钮,重新搜索CU310PN设备,找到设备后点击“Accept”按钮将设备添加至项目中:

图5. 重新搜索设备并接受

(5) 在线CU310PN,并进行驱动配置,关于驱动的配置步骤请参看S120调试手册(文档编号:A0439和A0318),在此不赘述:

图6.在线后配置设备

(6) 配置驱动及控制单元的报文,如对驱动进行速度控制可先选择一个标准报文,以便系统自动进行控制字及状态字的关连:

图7.配置报文

之后可根据需要进行报文扩展,将报文改为BICO类型,在“Input data”及“Ouput data”的“Length”处输入输入/输出的字数:

图8.扩展报文

在扩展的报文中进行参数互连,如将Servo_02的转矩设定值关连到PZD3中发送给主站:

图9.在扩展的报文中关联参数

(7) 在线后,下载配置好的S120项目。

注意:根据驱动对象类型,对于用户自定义报文可传输的最大过程数据数量如下:

通过BICO的方式可连接的驱动参数有限,如电机实际温度参数r35,实际电流值r68,实际转矩值r80等,这些值由控制器读取后需做规格化处理:

实际值 = 读取值/16384*规格化值。

示例:如果读到的r68=1000,P2002=50A

则电流实际值 = 1000/16384*P2002= 3.051A。

3.2 在Step7中创建PC Station

(1) 打开Step7软件后创建一个新项目,插入PC Station:

图10. 插入PC Station

(3)在硬件组态画面中插入OPC Server及IE General:

图11. 配置PC Station

注意:IE General 的IP地址一定与OPC Server PC机的IP地址相同:

图12. 建立Profinet网络

(4)双击OPC Server,在弹出的画面中配置OPC Server的循环时间:

图13.配置OPC Server循环时间

(5)创建Profinet通讯网络,将CU310PN拖曳到PN网络上并配置CU310PN设备控制对象的输入/输出地址及长度(注意:应与SCOUT中配置的输入/输出通讯区数据长度一致):

图14. 配置CU310PN控制对象的输入/输出地址

(6)配置后进行编译。

3.3 配置OPC Server的PC Station

双击安装OPC Server的PC机桌面上的图标,打开PC Station配置画面,点击“Import Station”按钮,引入在Step中配置的PC Station:

图15.引入PC Station

在 Look in中找到在Step7中配置的PC Station项目下的“XDBs”文件夹:

图16. 找到PC Station项目

点击“OK”按钮:

图17. PC Station引入后的确认

图18.配置完成

4 OPC通讯测试

(1) 打开SIMATIC NET自带的客户端测试软件OPC SCOUT:

图19. 打开OPC SCOUT

(2) 创建变量组并设置需要的更新速率:

图20. 创建变量组

(3) 添加所需变量

图21.添加变量

(4) 通讯状态显示

图22.通讯状态显示

  • 可通过对输出地址的写操作来控制驱动器的起动,停止及调速。
  • 也可通过读取输入地址来获得变频器的状态及速度,实际电流,实际转矩,电机温度等信息。

参考

https://support.industry.siemens.com/cs/document/70967711

通过PROFINET网络实现SINAMICS 120的PN IO OPC通讯,起动及调速控制 | OPC通讯的更多相关文章

  1. Profinet网络的RT/IRT容量

    轴数很多的时候,还考虑过PROFINET最大IRT容量的问题. [1]每个Profinet网络的RT个数, simition D 64 CPU 1511/1513-1 128 CPU 1515-2/1 ...

  2. MODBUS转PROFINET网关将电力智能监控仪表接入PROFINET网络案例

    本案例控制的主要对象是变送器的显示与报警.系统主PLC 选用西门子CPU,通过小疆智控MODBUS 转 PROFINET网关GW-PN5001采集IM300电力智能监控仪数据. 1.首先加入 GSD ...

  3. Linux企业级项目实践之网络爬虫(27)——多路IO复用

    与多线程和多进程相比,I/O多路复用的最大优势是系统开销小,系统不需要建立新的进程或者线程,也不必维护这些线程和进程. 主要应用: (1)客户程序需要同时处理交互式的输入和服务器之间的网络连接 (2) ...

  4. python网络编程-Select\Poll\Epoll异步IO

    首先列一下,sellect.poll.epoll三者的区别 select select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监视多个文件描述符的数组,当select ...

  5. Python网络编程(http协议,IO多路复用、select内核监听)

    前言: 什么是IO? 分为IO设备和IO接口两个部分 如Linux系统,I/O操作可以有多种方式 比如DIO(DirectI/O) AIO(AsynchronousI/O异步I/O) Memory-M ...

  6. Python之网络编程之并发编程的IO模型,

    了解新知识之前需要知道的一些知识 同步(synchronous):一个进程在执行某个任务时,另外一个进程必须等待其执行完毕,才能继续执行 #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调 ...

  7. Linux 网络编程基础(3) -- 数据的IO

    首先介绍两个数据结构及相关的操作函数:struct iovec.struct msghdr struct iovec { void * iov_base;    /*向量的缓冲地址*/ size_t ...

  8. BA-冷源系统--一次流量控制方案(转载)

    空调水变一次流量控制方案 浙大网新快威科技 黄逸林 一.引言 建筑物中央空调系统的冷冻水一次泵,传统上都采用固定转速水泵.空调水的变一次流量控制系统(VPF:Variable-Primary-Flow ...

  9. 业以太网:西门子PROFINET诊断功能SFC12-OB86-SFB20概览

    [OB86配合SFC12在PROFINET诊断中的应用] OB86是机架故障组织块,操作系统在检测到下列PN系统故障时将调用OB86: 1.检测到PROFINET IO设备故障,故障产生和消失时分别调 ...

随机推荐

  1. Jetpack的ViewModel与LiveData

    本文基于SDK 29 一.ViewModel与LiveData的作用: 1.viewModel: 数据共享,屏幕旋转不丢失数据,并且在Activity与Fragment之间共享数据. 2.LiveDa ...

  2. linux服务器登录微信报警通知

    linux服务器ssh登录安全规则中,理论上要做到:防火墙限制,hosts.allow限制,root禁止登录,用户权限分配,ssh端口修改,登录时间限制,堡垒机登录. 这里只讲登录时间限制和登录报警通 ...

  3. python中try...except的用法

    num = [1,2,0,3,1.5,'6'] for x in num: try: # 尝试执行下列代码 print (6/x) except ZeroDivisionError: print('0 ...

  4. ssh远程端口转发&&windows系统提权之信息收集&&网安工具分享(部分)

    一.ssh远程端口转发 背景:当我们在渗透过程中,获取到内网的一台仅有内网IP的服务器后,我们可以通过ssh隧道,将内网某个主机的端口进行远程转发 1.网络拓扑图 假设获取的服务器为web服务器,we ...

  5. Wireshark教程之数据包操作

    实验目的 1.工具介绍 2.主要应用 实验原理 1.网络管理员用来解决网络问题 2.网络安全工程师用来检测安全隐患 3.开发人员用来测试执行情况 4.学习网络协议 实验内容 1.工具基本使用 2.快速 ...

  6. 人工智能进度好慢,呜呜呜 还是先来学python!!!!!!!二十三讲、二十四讲!

    0:十转2 def my_bin(x): a ='' if x : a = my_bin(x//2) return a+str(x%2) else: a+='0b' return a print(my ...

  7. Renix软件如何发送CRC错误的报文——网络测试仪实操

    我们在日常使用Renix软件时,有时候需要发送CRC错误的报文,那么如何操作呢?接下来为你详细介绍一下操作步骤. 1.打开Renix软件,连接机框并预约测试端口: 2.添加流模板 3.给P1设置CRC ...

  8. Python 中的闭包和自由变量

    1.定义 在函数内部再定义一个函数,并且这个函数用到了外部函数的变量(LEGB),最后返回新建函数的函数名索引,那么将这样的能够访问其定义时所在的作用域的函数以及用到的一些变量称之为闭包.被引用的非全 ...

  9. Oracle ASM 磁盘组基础知识整理(收藏版)

    转至:https://cloud.tencent.com/developer/article/1494403 为什么要写这么一篇基础知识呢?还是有那么一点点原因的,不是胡编乱造还真是有真实存在的事件的 ...

  10. shell脚本实现文件的自动上传以及下载 scp sftp lftp 还有expect命令

    转至: 最近需求要求定期从一个[定期更新的文件] 中解析员工信息 ,插入到数据库中. 按理来说很简单,  无非就是io流读文件,然后crud balalalala..... 其实不是的, 我我写的这个 ...