您现在的位置是:首页 > PLC技术 > PLC技术

S7-300与变频器的DP通信实验

来源:艾特贸易2017-10-11

简介1 .读写过程数据区的程序 因为是一致性数据,调用 SFC 14 和 SFC 15 来读写过程数据区 PZD 中的数据。由图 6-46 可知, PZD 区的起始地址为 264 (即 W#16 #108 ),长度为 4B 。下面是 OB1 中的

    1.读写过程数据区的程序

    因为是一致性数据,调用SFC 14SFC 15来读写过程数据区PZD中的数据。由图6-46可知,PZD区的起始地址为264(即W#16 #108),长度为4B。下面是OB1中的程序,在M0.11时发送数据。

    程序段1:读写过程数据

   A    M    0.1   //M0.11时发送数据

   JNB_001    //未满足条件则跳转

   CALL    DPWR_DAT    //调用SFC 15,将数据打包后发送

   LADDR    =W#16#108    //PZD输出区的起始地址(264)

   RECORD    =P#M30.0BYTE 4    //存放要发送的用户数据的源数据区

   RET_VAL    =MW6    //错误代码

   _001:    NOP  0

   CALL  DPRD_DAT    //调用SFC 14,将接收的数据解包

   LADDR    =W#16#108    //PZD输入区的起始地址(264)

   RET_VAL    =MW8    //错误代码

   RECORD    =P#M34.0BYTE 4    //存放读取的用户数据的目的数据区

    2.用过程数据区监控变频器的实验

    控制字的第10位必须为1,表示控制字来自PLC。根据设置的变频器参数,用控制字的第0位控制电动机的起动和停止,用控制字的第1位控制电动机的旋转方向。

    用变量表将控制字16#0403(反时针起动)写入PZD的第一个字MW30(见图6-49),将频率设定值16#200050%的额定频率)写入PZD的第二个字MW32。点击工具栏上的按钮,数据被写入CPU,“状态值”列显示的是CPU中的数据。用变量表将M0.1置为1状态( true),控制字和设定值被发送到变频器,电动机开始旋转。MW36返回的频率实际值逐渐增大,上升的速度取决于参数P462. 001设置的加速时间的值,最后频率实际值在设定值16#2000上下窄幅波动。变频器的参数设置单元(PMU)显示的频率值在25.0 Hz上下波动。

    变量表中的MW34返回的状态字16#5334的意义如下:变频器正在运行,未发出OFF2OFF3关机命令,频率偏差未超出运行值,PZD控制请求,主接触器合闸,顺时针旋转。

    用变量表将控制字16#0400(见图6-50)写入PLC,命令电动机停机。电动机首先减速,减速时间取决于参数P464. 001的值,最后停止转动,返回的频率实际值为16 #FFFF(对应于数值0)。变频器的参数设置单元显示0009(开机准备好)。

用变量表监控过程数据PZD

    6-49    用变量表监控过程数据PZD

用变量表监控过程数据PZD

    6-50    用变量表监控过程数据PZD

   MW34返回的状态字为16#4331,第0位为1,表示合闸准备好;第2位为0,表示变频器停止运行;第12位为0,表示主接触器断开。其余各位的状态与正转运行时的状态字16#5334的相同。

    用变量表发送控制字16#0401(反转起动)和主设定值16#1000(见图6-51),电动机顺时针旋转。MW36返回的转速实际值在16#F000(即-16#1000)上下窄幅波动。变频器的参数设置单元显示的频率值在- 12.5 Hz上下波动。MW34返回的状态字16#1334的第14位为0,表示顺时针旋转。其余各位与反时针旋转时的状态字16#5334的相同。

    用变量表发送控制字16#0403(正转起动)和设定值16#F000(速度值为负值- 16#1000,见图6-52),也可以使电动机顺时针旋转。MW34返回的状态字16#1334与图6-51中的相同。用变量表发送控制字16#0400,电动机减速后停止转动,返回的频率实际值为16#0000。变频器的参数设置单元显示0009(开机准备好)。

用变量表监控过程数据PZD

    6-51    用变量表监控过程数据PZD

用变量表监控过程数据PZD

    6-52    用变量表监控过程数据PZD

    3.参数区PKW的结构

    参数区的第1个字PKE和第2个字IND的结构见图6-53PKE最高的4AK是任务标识符或应答标识符,其意义分别见表6-8和表6-9

 参数区PKW的结构

    6-53    参数区PKW的结构

   PKE的第010位是二进制的基本参数号。第11SPM是报告参数变化的触发位,SI-MOVERT MASTERDRIVES不支持它,该位总是为0

    6-8    主站请求的任务标识符

主站请求的任务标识符

    6-9    从站的应答标识符

 从站的应答标识符

    使用PPO进行周期性通信时,PKW区的第2个字IND的第815位(高字节)为数组参数的子标号(或称下标、索引号)。IND的第7位用于参数页的选择。读写参数P000~P999时,IND的第7位和低位字节为0。参数U000~U999的参数号实际上为2000~2999,读写这些参数时,IND的第7位为1,低位字节为16#80

   PPO报文用双字来传送1个参数,PKW区的第34个字PWE1PWE2(见图6-48)分别是双字的高位字和低位字。数据为16位的字时用PWE2来传送,此时PWE1为零。

    4.读写参数区数据的程序

    读写参数数据区的程序与读写过程数据区的程序基本上相同。其区别主要在于数据区的起始地址和字节数不同。下面是OB1中的程序:

    程序段2:读写变频器参数

   A    M    0.0   //M0.01时发送和接收数据

   JNB_002    //M0.00则跳转

   CALL DPWR_DAT    //调用SFC 15

   LADDR    =W#16#100    //PKW输出区的起始地址(256)

   RECORD    =P#M10.0BYTE 8    //存放要发送的用户数据的源数据区

   RET_VAL    =MW2    //错误代码

   CALL    DPRD_DAT    //调用SFC 14

   LADDR    =W#16#100    //PKW输入区的起始地址(256)

   RET_VAL    =MW4    //错误代码

   RECORD    = P#M20.0BYTE 8    //存放读取的用户数据的目的数据区

   002    NOP    0