• 通过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_DATDPWR_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

  • 相关阅读:
    hadoopfs: 未找到命令...
    WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    centos 7 安装音乐播放器(亲测可用)(转载)
    Linux 脚本编写基础
    Zip加密
    Qt嵌入cef3关闭窗口时崩溃的问题
    C++11多线程基础
    C++11多线程(std::atomic)
    C++11多线程(thread_local)
    VS 新建RelWithDebInfo模式
  • 原文地址:https://www.cnblogs.com/cai-zi/p/15065045.html
Copyright © 2020-2023  润新知