首页 理论教育 PLC与变频器通信:西门子工业通信工程应用技术

PLC与变频器通信:西门子工业通信工程应用技术

时间:2023-11-07 理论教育 版权反馈
【摘要】:PZD区通信报文的PZD区是为控制和监测变频器而设计的,可通过该区写控制信息和控制频率,读状态信息和当前频率。当通过PLC对变频器写入PZD时,第1个字为变频器的控制字,其含义见表12-3。当通过PLC对变频器写入PZD时,第2个字为主设定值,即设定的变频器主频率。①正向运行,频率40.00Hz:Step1PLC→MICROMASTER4(请求):047E3333MICROMASTER4→PLC(应答):FB310000设置速度,并检测变频器是否处于准备运行状态,应答数据提示用户,当前频率状态正常,方向设置为正向,并且速度为0。

PLC与变频器通信:西门子工业通信工程应用技术

(1)通信帧结构

变频器DP现场总线控制系统中,S7-300与MM440间用户数据交换的帧主要使用的是有可变数据字段长度的帧(SD2),它分为协议头、用户数据和协议尾,如图12-2所示,其中用户数据是我们需要了解的。

978-7-111-52480-9-Chapter12-3.jpg

图12-2 通信帧的结构

用户数据结构被指定为参数过程数据对象(PPO),有的用户数据带有一个参数区域和一个过程数据区域,而有的用户数据仅由过程数据组成。变频器通信概要定义了5种PPO类型,如图12-3所示。

978-7-111-52480-9-Chapter12-4.jpg

图12-3 用户数据结构

MM440仅支持PPO型1和型3,此处选取的是通信的PPO1类型,包含4个字的PKW数据和2个字的PZD数据,数据格式如图12-4所示。下面分别介绍数据类型的具体内容。

(2)PKW区

PKW区前两个字PKE和IND的信息是关于主站请求的任务或应答报文,PKW区的第3、第4个字规定报文中要访问的变频器的参数。P2013选择可变长度模式(默认值127),主站只发送PKW区任务所必需的字数,应答报文的长度也只是需要多长就用多长,这里主站只使用4个字PKW。

1)PKE。该字的结构见表12-2。其中AK标识分任务和应答模式,表12-2仅列出常用的表示说明。PNU存放要访问的变频器的参数号,当参数超过一定范围时,还以IND中数据位索引

978-7-111-52480-9-Chapter12-5.jpg

图12-4 PPO1类型数据格式

表12-2 PPO1数据格式具体位

978-7-111-52480-9-Chapter12-6.jpg

2)IND。PNU扩展以2000个参数为单位,当参数号小于2000时,表示PNU扩展的IND第7位为0,当参数号大于或等于2000时,表示PNU扩展的IND第7位为1。下标用来索引参数下标,没有值则取0。

3)PWE。PWE的两个字是被访问参数的数值,它包含有许多不同的类型,包括整数、单字长、双字长、十进制浮点数以及下标参数,参数存储格式和P2013的设置有关,可参见变频器手册。

4)举例。

①读出参数P0700(700=02BChex)的数值:

PLC→MICROMASTER4(请求):12BC000000000000

MICROMASTER4→PLC(应答):12BC000000000002

应答报文告诉用户P0700是一个单字长的参数数值为0002 hex。

②读出参数P2010[下标1](0010=00A和IND的位7置1)的数值:

PLC→MICROMASTER4(请求):100A018000000000

MICROMASTER4→PLC(应答):200A018042480000

应答报文告诉用户这是一个双字长参数数值为42480000(IEEE浮点数),可以转换为十进制数形式显示。

③把参数P1082的数值修改为40.00(40.00=42200000 IEEE浮点数):

Step1

PLC→MICROMASTER4(请求):143A000000000000

MICROMASTER4→PLC(应答):243A000042480000

应答识别标志2表明这是一个双字参数,所以必须采用任务识别标志3修改双字参数数值。

Step2

PLC→MICROMASTER4(请求):343A000042200000

MICROMASTER4→PLC(应答):243A000042200000

确认这一参数的数值已修改完毕。

(3)PZD区

通信报文的PZD区是为控制和监测变频器而设计的,可通过该区写控制信息和控制频率,读状态信息和当前频率。

1)STW。当通过PLC对变频器写入PZD时,第1个字为变频器的控制字,其含义见表12-3。一般正向起动时赋值0X047F,停止时赋值0X047E。

表12-3 控制字说明

978-7-111-52480-9-Chapter12-7.jpg

2)HSW。当通过PLC对变频器写入PZD时,第2个字为主设定值,即设定的变频器主频率。如果P2009设置为0,数值是以十六进制数的形式发送;如果P2009设置为1,数值是以绝对十进制数的形式发送。

3)ZSW。当通过PLC读变频器PZD时,第1个字为变频器状态字,其含义见表12-4。

表12-4 状态字说明

978-7-111-52480-9-Chapter12-8.jpg

4)HIW。当通过PLC读变频器PZD时,第2个字为运行参数实际值,通常把它定义为变频器的实际输出频率。

5)举例。

①正向运行,频率40.00Hz:

Step1

PLC→MICROMASTER4(请求):047E3333

MICROMASTER4→PLC(应答):FB310000

设置速度,并检测变频器是否处于准备运行状态,应答数据提示用户,当前频率状态正常,方向设置为正向,并且速度为0。

Step2

PLC→MICROMASTER4(请求):047F3333

发送控制命令,起动变频器控制电动机

②变频器正向点动:

Step1

PLC→MICROMASTER4(请求):047E0000

MICROMASTER4→PLC(应答):FB310000

检测变频器是否处于准备运行状态,应答数据提示我们,当前频率状态正常,方向设置为正向,并且速度为0。

Step2

PLC→MICROMASTER4(请求):057E0000

发送命令,使电动机点动运行,正向点动运行频率由P1058决定。

(4)系统功能函数SFC14、SFC15

为了存取相连续的数据区域,使用系统功能函数SFC14(DPRD_DAT)和SFC 15(DP-WR_DAT)。(www.xing528.com)

为了读一个DP从站相连续的输入数据区域,使用系统功能函数SFC 14(DPRD_DAT)。如果一个DP从站有若干个相连续的输入模块,则必须为所要读的每个输入模块分别安排一个SFC14调用。表12-5列出了SFC14的输入和输出参数。

表12-5 SFC14参数表

978-7-111-52480-9-Chapter12-9.jpg

SFC15用来输出连续数据区域,输入和输出参数与SFC15相似,LADDR为目的输出数据地址,RECORD为希望输出数据存储区。见表12-6。

表12-6 SFC15参数表

978-7-111-52480-9-Chapter12-10.jpg

返回值RECORD可以用来判断读写数据是否发生错误,以及发生何种错误,如果无错误发生,返回值为W#16#0000,其他状态可参阅手册。

(5)硬件组态

打开SIMATIC 300 Station,然后双击右侧生成的Hardware图标,在弹出的HW config中进行组态,在菜单栏中选择“View”→“Catalog”命令,打开硬件目录,按订货号和硬件安装次序依次插入机架、电源、CPU以及I/O模块,如图12-5和图12-6所示。

双击MPI/DP槽,在弹出窗口“Interface”→“Type”中选择“PROFIBUS”,然后单击“Properties”按钮,如图12-7所示单击“New”新建一条DP总线,并设置地址为2。单击“Properties”按钮,弹出如图12-8所示窗口,选择DP类型,并设置传输速率为1.5Mbit/s。

978-7-111-52480-9-Chapter12-11.jpg

图12-5 组态主站

978-7-111-52480-9-Chapter12-12.jpg

图12-6 各模块详细信息

978-7-111-52480-9-Chapter12-13.jpg

图12-7 新建PROFIBUS总线

978-7-111-52480-9-Chapter12-14.jpg

图12-8 设置属性

在DP总线上挂上远程I/O模块,设置从站地址为3,并在其上加入相应I/O模块。在DP总线上挂上MM440,并组态MM440的通信区,通信区与应用有关。MM440采用通用串行接口协议,其报文结构将在软件部分讲述。由程序操作的通信数据通过参数标识符值PKW和过程数据PZD传递,最长使用的是PKW为4个字(8个字节),PZD为2个字(4个字节)的固定长度报文,即PPO1类型,因此组态MM440的地址分别对应读写PKW和PZD。

组态MM440步骤如下:

1)打开硬件组态,在右侧选择“PROFIBUS DP”→“SIMOVERT”→“MI-CROMASTER 4”,添加到DP总线上,如图12-9所示。

2)在弹出窗口的下拉列表框中选择“Address”为4,如图12-10所示。

978-7-111-52480-9-Chapter12-15.jpg

图12-9 插入MM440从站

978-7-111-52480-9-Chapter12-16.jpg

图12-10 设置MM440从站地址

3)选择“MICROMASTER 4”→“4 PKW,2 PZD(PP01)”,添加到从站中,如图12-11所示。

4)从站组态完成,设置地址。PKW读为IB288~IB295,PZD读为IB296~IB299,PKW写为QB272~QB279,PZD写为QB280~QB283,如图12-11所示。

978-7-111-52480-9-Chapter12-17.jpg

图12-11 组态从站

(6)软件设计

1)软件资源分配。软件资源分配如图12-12所示。

978-7-111-52480-9-Chapter12-18.jpg

图12-12 软件资源分配

2)数据块DB1。S7-300与MM440的通信主要是对4个字PKW和2个字PZD进行读写,为使程序编写更为方便,可在程序中开辟一块静态存储空间,即DB1,用来存放要读写的数据,数据块格式与PKW和PZD的结构相似,如图12-13所示,读写区域分开。

978-7-111-52480-9-Chapter12-19.jpg

图12-13 DB1资源分配图

3)PLC控制程序。

①S7-300通过DP控制MM440参数,以实现电动机的起动、停机、正转、反转、变速和正反向点动。

复位按钮(RESET)被按下,当断路器(BREAKER)已经闭合,则触发一次脉冲,进入复位完成状态(RESET_OK),给期望速度(SPEED)赋值为0,并对DB1中要发送的PZD区赋控制字(047Ehex)和主设定值(0),然后触发一个复位通信脉冲(RESET_SEND),调用SFC15和SFC14进行通信操作,写的操作地址从280(118hex)开始4个字节,读的操作地址从296(128hex)开始4个字节,程序如图12-14所示。

978-7-111-52480-9-Chapter12-20.jpg

图12-14 复位程序

在复位完成后,可通过方向开关(FORWORD_BACKWORD)改变电动机的转动方向,断开为正方向,闭合为负方向。方向开关操作PZD中控制字的第11位(DB1.DBX20.3),这里要注意的是程序中字的存储方式是高字节存放低地址,低字节存放高地址,位都是从高到低对齐。方向设置可以在几种方式下完成:电动机起动前、电动机运行中以及电动机点动前。程序如图12-15所示。

978-7-111-52480-9-Chapter12-21.jpg

图12-15 设置电动机转向

将速度按钮(SET_SPEED)置“1”,能够给期望速度赋值,并触发一个速度改变通信脉冲(SET_SPEED_SEND),当电动机处于运行状态时,将建立一次通信改变转速。变频器使用的V/f控制,速度是与频率成正比的,例如本电动机的额定频率是50Hz,该频率下对应的额定转速为1395r/min,当频率为40Hz时,转速对应为1116r/min。要注意的是,传送W#16#4000给主设定值,对应的频率为50Hz。程序如图12-16所示。

978-7-111-52480-9-Chapter12-22.jpg

图12-16 设置电动机速度

复位完成后按下起动按钮(START),进入运行状态(START_ING)。起动分两个步骤,首先让电动机处于准备运行状态,触发起动通信脉冲1(START_SEND1),写PZD中控制字为047Ehex,主设定值为期望频率,并发送;当读回状态字为正方向FB31hex(-1231)或反方向BB31hex(-17615)时,触发起动通信脉冲2(START_SEND2),写控制字为047Fhex,主设定值为期望频率,此后电动机开始运行。程序如图12-17所示。

978-7-111-52480-9-Chapter12-23.jpg

图12-17 起动程序

运行状态下点击停机按钮,将复位运行状态,并触发停止通信脉冲(STOP_SEND),写PZD中控制字047E hex以及主设定值0,电动机停止运行。程序如图12-18所示。

当复位完成,并且电动机不处于运行状态下时,可以按下点动按钮(JOG),检测到按钮按下,触发一个上升沿脉冲,此时将进入点动状态(JOG_ING),设置PZD中控制字第8位为1,第9位为0,并触发点动开始脉冲(JOGUP_SEND),发送控制字,点动的方向由方向开关决定。当点动按钮松开时,触发一个下降沿脉冲,将点动状态(JOG_ING)、控制字第8和第9位复位,并触发点动结束脉冲(JOGDOWN_SEND),发送控制字。程序如图12-19所示。

978-7-111-52480-9-Chapter12-24.jpg

图12-18 停机程序

978-7-111-52480-9-Chapter12-25.jpg

图12-19 点动程序

②S7-300通过DP读取MM440参数,读取控制电压、电流及频率。

该部分的功能是以0.5s的频率刷新当前电压、电流以及频率的值,变频器当前电压、电流以及频率是以32位浮点数的形式存储于参数r0025、r0027和r0021。T1每隔0.5s将触发一个上升沿脉冲,首先触发一个读电压脉冲(VOLTAGE_SEND),给PKW的4个字赋值(1019000000000000 hex),存储于DB1.DB12开始的8个字节中,并建立一次通信,当读回的PKW中PKE为8217(2019 hex)时,说明读取过程成功,将读取电压值(DB1.DB4~DB1.DB7)存储到电压值(VOLTAGE)中,紧接着触发一个读电流脉冲(CURRENT_SEND),根据上述原理再依次读电流和频率值。程序如图12-20~图12-22所示。

978-7-111-52480-9-Chapter12-26.jpg

图12-21 读电流程序

978-7-111-52480-9-Chapter12-27.jpg

图12-22 读频率程序

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈