基于Profibus协议的PLC与霍廷格电源通讯研究与实现论文_许健,李子浩,刘霄枫

(深圳市新旗滨科技有限公司)

摘要:讨论了基于Profibus协议的西门子PLC与霍廷格电源通讯的原理及实现方法,并以霍廷格TruPlasma Bipolar系列电源为例,详细研究了PLC与电源的硬件组态连接,霍廷格电源通讯协议分析以及功能编程等,实现通过Profibus协议对电源的远程控制和状态参数监控。

关键词:Profibus协议;PLC;霍廷格电源

Abstract:The principle and implementation method of Siemens PLC and Huttinggger Power communication based on Profibus protocol are discussed. Taking the Huntinger TruPlasma Bipolar series power supply as an example,the hardware configuration connection between PLC and power supply is studied in detail,Huttinggger Power communication protocol analysis and function programming. Etc.,realize remote control and status parameter monitoring of the power supply through the Profibus protocol.

KeyWords:Profibus Protocol;PLC;Huttinggger Power

引言

Profibus是西门子公司开发的一种现场总线协议,应用领域包括加工制造、过程和自动化,现已成为国际化的开放式现场总线结构。Profibus由Profibus-FMS(Fieldbus Message Specification)、Profibus-PA(Process Automation)和Profibus-DP(DistribusPeripheral)组成。其中Profibus-DP具有高速传送、价格低廉的特点,是专为自控系统和设备级分散式I/O之间设计的接口。

国内某大型真空镀膜生产线控制系统采用西门子公司S7-4OOPLC通过Profibus协议与多台德国霍廷格电源TruPlasma Bipolar系列电源的通讯控制,实现了对电源功率,电压,电流,打弧密度,斜坡时间等参数的实时的有效控制及状态监视。

1 系统硬件构成

S7-400PLC通过Profibus-DP总线连接9台60KW霍廷格电源TruPlasma Bipolar 4060和6台30KW霍廷格电源TruPlasma Bipolar 4030。霍廷格电源TruPlasma Bipolar系类配有DP通讯端口,S7-400PLC通过DP电缆采用串行方式将所有的电源连接在同一通讯链路上。电源的DP地址通过电源本身的操作屏设置,然后通过STEP7 V5.5进行硬件组态。在STEP7的“HW-config”中,先安装霍廷格电源TruPlasma Bipolar4060/4030的GSD文件TruPlasma.GSD,然后选择需要的参数。具体步骤:STEP7硬件组态界面中,选择菜单Options/Install GSD File,安装GSD文件后,在右边硬件目录中一次展开PROFIBUS DP/Additional Field Devices/General/TruPlasmaSeries,将TruPlasmaSeries图标拉到硬件组态中建立的Profibus-DP网络上,然后设置与现场对应的DP地址和通讯速率187.5Kbps,然后展开TruPlasmaSeries选择需要的参数,选择完成后,就建立了TruPlasmaSeries电源的一个子站,将子站复制后粘贴到Profibus-DP网络上,设置好地址,将所有的电源组态好后,执行“编译并保存”,并把硬件组态下载到CPU中。TruPlasmaSeries电源在DP网络中的组态见图1.

图1 TruPlasmaSeries电源在DP网络中的组态

2 霍廷格电源Profibus传输协议解析

TruPlasmaSeries电源的Profibus是一种允许电源单元与DP主站进行通讯的接口协议。TruPlasmaSeries电源在通信过程中充当从设备。它永远不会启动传输。Profibus主站发送以模块编码的命令由电源执行,并产生回复。方便灵活Profibus配置文件的构建允许用户构建所有通信(长度为

输入和输出缓冲区)通过Profibus只使用一个模块或几个模块。

TruPlasmaSeries电源使用具有不同字节长度的传输模块。模块序列及其数量可以不同(模块的选择和帧的长度仅取决于用户),模块系列数不超过20个且最大输入和输出字节数不超过80。根据实际生产及工艺的需要,采用整数模式,选取使读写电源的一部分功能,而不同的功能参数对应电源的不同模块序列。其中具体选择模块序列如:Module 1,Module 8,Module 21,Module 20,Module 12,Module 14,Module 16,Module 42,Module 26,不同模块序列组合通过硬件组态体现出来,如图一所示的硬件组态。具体的模块定义,结合霍廷格电源厂家提供的资料结合使用需求解析如下内容。

Module 1控制位 该模块由一个字节构成,包括8个位,定义如下:

0:Profibus 主站控制单元(1有效) 1:--

2:主继电器接通(1有效,0关闭) 3:上电(1有效,0关电)

4:报警复位(1有效) 5:复位电弧数(1有效)

6:-- 7:--

Module 8选择控制模式(整数) 该模块由3个字节组成,第一个字节表示控制模式(0表示功率模式P,1表示电压模式U,2表示电流模式I)第二三个字节表示设定值。

Module 21以整数形式设置/读取参数 该模块由4个字节组成,第一个字节定义为数据组数,第二个字节定义为通道数,第三第四字节定义为实际值(读)或者设定值(写),如下表所示。

输出字节

Module 20 确认位 该模块由3个字节构成,该模块由3个字节组成,它提供基本的二进制状态数据。

Module 12 实际输出电压(整数) 该模块由2个字节组成,以整数形式表示实际输出电压。

Module 14 实际输出电流(整数) 该模块由2个字节组成,以整数形式表示实际输出电流。

Module 16 实际输出功率(整数) 该模块由2个字节组成,以整数形式表示实际输出功率。

Module 42 打弧密度 该模块由2个字节组成,表示每秒钟产生的打弧数。

Module 26 打弧次数 该模块由2个字节组成,表示实际打弧数。

3 程序设计

程序功能是为了完成S7-400通过Profibus-DP总线实现对15台电源的信息进行读和写数据操作,考虑到系统的扩展性,暂定可以容纳20台电源。程序设计采用初始化程序循环20次调用FC91,读取电源地址信息。如图1所示硬件组态,因为生产的需要,工艺上选择两种功率的电源,60KW和30KW,但两种电源的通讯协议和定义是一样的。电源60KW_1电源起始地址分别为PIW 2787,PQW1984,电源60KW_2地址为PIW 2821,PQW 2000,分别间隔17个字和8个字(INT型),60KW_1对应DB块DB49,依次,60KW-2---60KW-13,30KW-1---30KW-7对应的DB块为DB50---DB68,实现该功能的初始化程序如下,具体程序解析在右侧,用“//”表示。

L 2787 //电源60KW-1输入起始地址

T #s_Trup_AI_Add

L 1984 //电源60KW-1输出起始地址

T #s_Trup_AO_Add

L 49 //电源60KW-1地址信息存储的DB块号

T #s_Trup_DB_NUM

L 20 //电源数据(实际15台,用20方便扩展)

A_88:T #s_Trup_LoopNum

CALL "FC_TruP_AI_AO_Address" //FC91 读取并存储电源地址信息

AI_Power_Start_Address:=#s_Trup_AI_Add

AO_Power_Start_Address:=#s_Trup_AO_Add

DB_Num_PowerData :=#s_Trup_DB_NUM

//AI_Add

L #s_Trup_AI_Add

L 17 //相邻电源之间输入信息地址相差17个字

+I

T #s_Trup_AI_Add

//AO_Add

L #s_Trup_AO_Add

L 8 //相邻电源之间输出信息地址相差8个字

+I

T #s_Trup_AO_Add

//DB_NUM

L #s_Trup_DB_NUM

L 1

+I

T #s_Trup_DB_NUM

L #s_Trup_LoopNum

LOOP A_88

NOP 0

以上初始化程序通过对电源地址的循环寻址,循环读取不同电源地址信息,同时循环写入电源对应的数据DB块。程序中,通过对间接寻址指针内容的动态修改,就完成了主体程序执行的结果变更。如何动态改写指针的赋值呢?我们需要将指针内容按照顺序逐一指向相应的数据字,这种对指针内容的动态修改,其实就是遍历。对于遍历,最简单的莫过于循环。一个循环包括以下几个要素:

1、初始循环指针

被循环主体(主体程序)

2、循环指针自加减

3、继续或者退出循环体的条件判断

被循环的程序主体必须位于初始循环指针之后,和循环指针自加减之前。正是由于对真正的目标程序(主体程序)不做任何变动,而寻址指针是这个程序中唯一要修改的地方,可以认为,寻址指针是主体程序的入口参数,就好比功能块的输入参数。因而可使得程序标准化,具有移植性、通用性。

具体实现对电源的各种功能模块参数信息的读取和写入操作由下列程序实现,具体程序解析在右侧,用“//”表示。

NET1

L #DB_Num_PowerData //读取DB块号

T #t_DB_Num_PowerData

OPN DB [#t_DB_Num_PowerData] //打开电源对应DB块

L 0

LAR2

NET2

L 0

LAR1

//DI

L #AI_Power_Start_Address //读取电源输入地址首地址指针

SLD 3

L P#2.0

+D

T DBD [AR1,P#42.0] //Module 21 参数组,模块21 Set/read parameter,Read Only,2byte

//DO

L #AO_Power_Start_Address

SLD 3

T DBD [AR1,P#10.0] //控制字Q地址,Module 1 Control Bits,1byte

L P#1.0

+D

T DBD [AR1,P#14.0] //选择控制模式选择Q地址,Module 8 select control mode,1byte

L P#1.0

+D

T DBD [AR1,P#18.0] //选择控制模QW控制数值地址,Module8 select control mode,2byte

L P#2.0

+D

T DBD [AR1,P#22.0] //Module21 参数组,Module 21 Set/read parameter,1byte

L P#1.0

+D

T DBD [AR1,P#26.0] //模式Module21 参数通道,Module 21 Set/read parameter,1byte

L P#1.0

+D

T DBD [AR1,P#30.0] //Module 21 参数数值,Module 21 Set/read parameter,2byte

//反馈值写入DB块中

//1

L #AI_Power_Start_Address

SLD 3

LAR1

L IW [AR1,P#4.0]

T DBW [AR2,P#100.0]

L IB [AR1,P#6.0]

AW W#16#7

T DBB [AR2,P#102.0] //Module 20 ACKnowledgement Bits 确认位

//电压

L IW [AR1,P#7.0]

T DBW [AR2,P#104.0]

//电流

L IW [AR1,P#9.0]

T DBW [AR2,P#106.0]

//功率

L IW [AR1,P#11.0]

T DBW [AR2,P#108.0]

//打弧密度

L IW [AR1,P#13.0]

T DBW [AR2,P#110.0]

//打弧次数

L IW [AR1,P#15.0]

T DBW [AR2,P#130.0]

4 结束语

采用西门子PLC400系列,通过组态西门子Profibus通讯协议与霍廷格电源TruPlasma Bipolar的实时通讯,很好的实现了对霍廷格电源的远程数据访问和对电源的远程开关机,功率,电压,电流的设置,满足了生产工艺的应用需求,目前这种方式已经应用在多条真空磁控溅射多模生产线上。

参考文献:

[1]廖常初.西门子工业通信网络组态编程与故障诊断.北京:机械工业出版社,2009.

[2]Oprerating Instructions for TruPlasma Bipolar 4030 Power Supply;Rev.5.3.18.2.WP4WI2020K.17.01

论文作者:许健,李子浩,刘霄枫

论文发表刊物:《电力设备》2018年第30期

论文发表时间:2019/3/27

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于Profibus协议的PLC与霍廷格电源通讯研究与实现论文_许健,李子浩,刘霄枫
下载Doc文档

猜你喜欢