通过PROFINET实现S71200与CU3102PNS120通讯.docx
《通过PROFINET实现S71200与CU3102PNS120通讯.docx》由会员分享,可在线阅读,更多相关《通过PROFINET实现S71200与CU3102PNS120通讯.docx(17页珍藏版)》请在冰豆网上搜索。
通过PROFINET实现S71200与CU3102PNS120通讯
通过PROFINET实现S7-1200与CU310-2PNS120通讯
CommunicationbetweenS7-1200andCU310-2PNwithPROFINET
Getting-startedEdition2012年12月
摘要本文介绍了通过PROFINET实现S7-1200与CU310-2PN通讯的硬件组态、驱动器控制及驱动器参数读、写的编程方法。
关键词PROFINET,S7-1200,CU310-2PN,通讯,硬件组态,编程。
KeyWordsPROFINET,S7-1200,CU310-2PN,Communication,HardwareConfiguration,Program
1PROFINETIO通讯功能概述4
2S7-1200与CU310-2PN装置的连接4
2.1硬件配置列表...............................................................................................................4
2.2所使用的软件...............................................................................................................4
2.3通讯参数设置...............................................................................................................4
3项目配置..........................................................................................................5
3.1S7-1200的配置5
3.2SINAMICSCU310-2PN的配置10
4通过PN总线对电机起、停及速度控制12
5驱动器参数的读取及写入...............................................................................13
5.1非周期性通讯方式简介..............................................................................................13
5.2S7-1200PLC通过PROFINET非周期性通讯方式读取驱动器参数16
5.3S7-1200PLC通过PROFINET非周期性通讯方式修改驱动器参数19
6程序实例........................................................................................................21
1PROFINETIO通讯功能概述
S7-1200与CU310-2PN之间通过PROFINETIO可进行周期性及非周期性数据通讯,使用S7功能块DPWR_DAT/DPRD_DAT,S7-300/400PLC通过PROFINET周期性通讯方式可将控制字1(STW1)和主设定值(NSOLL_A)发送至驱动器,并从驱动器读取状态字(ZSW1)和实际值(NIST_A);使用S7功能块WRREC/RDREC,可以实现非周期性数据交换,读取或写入驱动器的参数。
2S7-1200与CU310-2PN装置的连接
2.1硬件配置列表
设备
订货号
版本
CPU1214DC/DC/DC
6ES7214-1AE30-0XB0
V2.2
CU310-2PN
6SL3040-1LA01-0AA0
CF卡
6SL3054-0EF00-1BA0
Fw4.5
电机模块
6SL3120-1SB14-0AA0
伺服电机
1FK7022-5AK71-1LA3
表1测试所采用的硬件列表
2.2所使用的软件
∙TIAPortalV11SP2HF4
∙STARTERV4.3SP1(SCOUTV4.3SP1)
2.3通讯参数设置网络连接配置
IP地址及通讯名称
Device
Devicename
CPU1214
plc1200
CU310-2PN
S120pn
PG
图1网络连接视图
IPaddress169.254.11.2
169.254.11.3
169.254.11.4
表2设备IP地址及DeviceName的设置
注意:
所有节点的子网掩码:
255.255.0.0。
3项目配置
3.1S7-1200的配置
(1)安装GSD文件
CU310-2PN的GSD文件PNGSD.ZIP在CF卡中的存贮路径为...\SIEMENS\SINAMICS\DATA\CFG。
如果在TIAPortal的硬件组态目录树中有此相关的GSD文件,可不安装。
(GSD文件下载链接:
Siemens-Sinamics_S_CU3x0-20111221.zip)
图2安装GSD文件
(2)在网络视图中为CPU1214建立PROFINET网络
从右侧的目录中将“SINAMICSS120CU310-2PNV4.5”拖到该网络中,并分配给“PLC_1”,如图3所示。
图3网络组态
(3)为设备分配设备名称及IP地址
进入网络视图,设置S7-1200的设备名称及IP地址,如图4,5所示。
图4设置S7-1200的设备名称
图5设置S7-1200的IP地址设备名称进入网络视图,设置CU310-2PN的设备名称及IP地址,如图6,7所示。
图6设置CU310-2PN的设备名称
图7设置CU310-2PN的IP地址
(4)为CU310-2PN组态报文
点击“设备视图”,选择CU310-2PN设备,为其配置驱动对象及报文。
配置驱动对象:
将图8右侧产品目录中的DOServo插入到下侧子槽中。
图8为驱动装置组态驱动对象为驱动对象配置报文:
将所需报文拖入到驱动对象的子槽中
图9为驱动装置组态报文
配置CU对象:
将图10右侧产品目录中的DOControlUnit插入到下侧子槽中。
图10配置CU对象
为CU对象配置报文:
将所需报文拖入到CU对象的子槽中
图11为CU组态报文
3.2SINAMICSCU310-2PN的配置
打开STARTER软件,新建一个项目,在“Project”菜单中选择“AccessibleNodes”选项,搜索在线的节点,如图12所示。
图12搜索在线的节点
在搜索到的CU310-2PN站点上点击右键,选择“EditEthernetNode”,在弹出的对话框中设置IP地址和子网掩码以及DeviceName,并点击按钮完成设置,如图13所示。
图13编辑CU310-2PN的IP地址和DeviceName
完成上述设置之后,可以重新在“Project”菜单中选择“AccessibleNodes”选项,将在线的S120上载到PG/PC中,可使用“Automaticconfiguration”对驱动装置在线进行自动配置,并完成静态识别和控制器优化,具体过程可以参考西门子下载中心网站上的S120调试手册
(文档编号为5053)。
然后为驱动器配置报文,配置结束后执行"CopyRAMtoROM"将参数存贮至CF卡中。
本例中:
∙驱动SERVO_02选择报文“Standardtelegram1”。
∙CU选择报文“SIEMENStelegram390”。
后面的非周期
通讯要用到此数值
图14CU310-2PN报文配置
4通过PN总线对电机起、停及速度控制
S7-1200通过PROFINET周期性通讯方式将控制字1(STW1)和主设定值(NSOLL_A)
发送至驱动器。
(1)控制字中Bit0做电机的起、停控制。
(2)主设定值为速度设定值,频率设定值和实际值要经过标准化,使得4000H(十六进制)对应于100%,发送的最高频率(最大值)为7FFFH(200%)。
可以在P2000中修改参考频率(缺省值为50Hz)。
(3)在S7-1200中需调用“DPRD_DAT”和“DPWR_DAT”系统功能块,如图8所示。
“DPRD_DAT”用于读驱动装置的过程数据。
“DPWR_DAT”用于将过程数据写入驱动装置。
图15S7-1200编程
在调用“DPRD_DAT”和“DPWR_DAT”系统功能块的时候需要注意:
“LADDR”应该采用
“默认变量表”中的系统变量“Standard_telegram_1_PZD-2_2[AI/AO]”,如图15所示。
图16默认变量表
例子:
“Drive_1”控制字、主设定值的发送及状态字、实际频率的读取程序
(1)控制驱动器运行:
通过先发送控制字(STW1)047E然后发送047F来启动驱动器,该数据控制字在
MW20中指定,主设定值在MW22中设定。
(2)停止驱动器:
应发送控制字047E至驱动器。
(3)读取驱动器状态字及频率实际值:
PLC接收状态字1(ZSW1),存放在MW10中;接收驱动器传来的频率实际值,存放在MW12中。
5驱动器参数的读取及写入
5.1非周期性通讯方式简介非周期性数据传送模式允许:
•交换大量的用户数据
•用DPV1的功能READ和WRITE可以实现非周期性数据交换。
传输数据块的内容应遵照PROFIdrive参数通道(DPV1)数据集DS47(非周期参数通道结构)。
S7-1200与S120的非周期通讯需要采用系统功能块“WRREC”和“RDREC”,其中“WRREC”将“请求”发送给S120,功能块参数Record的格式如表3所示;“RDREC”将S120的“应答”返回给PLC,功能块参数Record参数的格式如表4所示,表5和表6则列出了“请求”和“应答”中各个参数和错误的详细解释。
表3参数请求格式
表4参数应答格式
表5参数请求及应答的详细描述
表6参数应答中的错误值描述
5.2S7-1200PLC通过PROFINET非周期性通讯方式读取驱动器参数
请注意:
PLC读取驱动器参数时必须使用两个功能块“WRREC/RDREC”,“INDEX”参数为通道号47,“ID”参数为通讯地址,与周期性通讯的地址一致,应采用“默认变量表”中的系统变量“Standard_telegram_1_PZD-2_2[AI/AO]”。
另外,在为发送和接收缓冲区定义数据块的时候,注意选择“Blockaccess”方式为“Standard-compatiblewithS7-300/400”,如图18所示,否则发送和接收数据时会报故障。
图17创建全局数据块
下面举例说明S7-1200通过PROFINET非周期性通讯方式读取驱动器参数P1121:
(1)使用标志位M50.0及功能块“WRREC”将读请求(数据集为DB3开始的10个字节)发
送至驱动器,见图18。
将M50.0设定为数值1启动读请求,当读请求完成后必须将该请求置0,结束该请求。
ERROR=1表示执行此功能块时有错误产生,而STATUS指示功能块执行状态或错误信息
。
图18发送“读参数”请求
(2)使用标志位M50.1及功能块“RDREC”读取参数的请求响应(数据集为DB4开始的10
个字节),见图19。
将M50.1设定为数值1读取参数请求响应,完成后必须将该位置0,结束该请求。
ERROR=1表示执行此功能块时有错误产生,而STATUS指示功能块执行状态或错误信息。
图19接收“读参数”请求的响应
通过变量表读取轴号为2的驱动对象(即SERVO_02)的P1121(16#0461)参数:
返回的参数值为浮点数10.0:
图20“读参数”请求数据集
参看图15中的轴号
图21驱动器返回参数值数据集
5.3S7-1200PLC通过PROFINET非周期性通讯方式修改驱动器参数
PLC写参数时可以只使用“WRREC”,将写请求发送到驱动器,INDEX参数为通道号47,ID参数为通讯地址,与周期性通讯的地址一致,应采用“默认变量表”中的系统变量“Standard_telegram_1_PZD-2_2[AI/AO]”。
当需要从PLC读取“写参数”响应时,需使用RDREC。
下面举例说明S7-1200通过PROFINET非周期性通讯方式修改驱动器参数P1217:
在本项目的Network7中发送写请求DB5(参见图22)到驱动器,读取驱动器返回的参
数值数据块为DB6(参见图23)。
(1)将M150.0设定为数值1启动写请求,当写请求完成后必须将该请求置0,结束该请求。
ERROR=1表示执行此功能块时有错误产生,而STATUS指示功能块执行状态或错误信
息。
图22发送“写参数”请求
(2)将M150.1设定为数值1读请求,完成后必须将该请求置0,结束该请求。
ERROR=1表示执行此功能块时有错误产生,而STATUS指示功能块执行状态或错误信息。
图23接收“写参数”请求的响应
修改轴号为2的驱动对象(即SERVO_02)的P1217(16#04C1)参数。
图24“写参数”请求数据集驱动器将修改后的状态返回给PLC。
图25驱动器返回状态数据集
6程序实例
驱动器控制及读、写参数示例程序请参考附带文件:
(1)S7-1200项目文件:
S71200CU310-2PN.rar
(2)CU310项目文件:
Cu3102pn.rar