
PLC与变频器通讯问题扫描.pdf
10页1.通讯方式的设定:PPO 4, 这种方式为0 PKW/6 PZD,输入输出都为6 个 PZD,( 只需要在STEP7 里设置,变频器不需要设置);PROFIBUS的通讯频率在变频器里也不需要设置,PLC 方面默认为1.5MB. 在 P60=7 设置下 ,设置 P53=3, 允许 CBP(PROFIBUS)操作 . P918.1 设置变频器的PROFIBUS地址 . 2.设置第一与第二个输入的PZD 为 PLC 给变频器的控制字,其余四个输入PZD 这里没有用到. 设置第一与第二个输出的PZD 为变频器给PLC 的状态字 ,设置第三个为变频器反馈给PLC的实际输出频率的百分比值, 第四个为变频器反馈给PLC 的实际输出电流的百分比值,其余两个输出PZD 这里没有用到. 3.PLC 给变频器的第一个PZD 存储在变频器里的K3001 字里 . K3001 有 16 位,从高到底为3115 到 3100( 不是 3001.15 到 3001.00). 变频器的参数P554 为 1 时变频器启动为0 时停止 ,P571 控制正转 ,P572 控制反转 . 如果把 P554 设置等于3100, 那么 K3001 的位 3100 就控制变频器的启动与停止,P571 设置等于 3101 则 3101 就控制正转,P572 设置等于3102 则 3102 就控制反转 .(变频器默认P571 与 P572 都为 1 时正转,都为0 时为停止 ). 经过这些设置后K3001 就是 PLC 给变频器的第一个控制字. 此时 K3001 的 3100 到 3115 共 16 位除了位 3110 控制用途都不是固定的,所以当设置P554设置等于3101 时则 3101 可以控制启动与停止, P571 等于 3111 时则 3111 控制正转 ,等等 . K3001 的位 3110 固定为 “ 控制请求 ”,这位必须为1 变频器才能接受PLC 的控制讯号 ,所以变频器里没有用一个参数对应到这个位, 必须保证 PLC 发过来第一个字的BIT 10 为 1. 这里设置为 :P554=3100,P571=3101,P572=3102,当 PLC 发送 W#16#0403时(既0000,0100,0000,0011)变频器正转 . 4.PLC 给变频器的第二个PZD 存储在变频器里的K3002 字里 . 变频器的参数P443 存放给定值 . 如果把参数P443 设置等于K3002, 那么整个字K3002 就是 PLC 给变频器的主给定控制字. PLC 发送过来的第二个字的大小为0 到 16384( 十进制 ),(对应变频器输出的0 到 100%), 当为8192 时,变频器输出频率为25Hz. 5.变频器的输出给PLC 的第一个PZD 字是 P734.1, 第二个 PZD 字是 P734.2, 等等 . 要想把 PLC 接收的第一个PZD 用作第一个状态字,需要在变频器里把P734.1=0032( 既字K0032), 要想把 PLC 接收的第二个PZD 用作第二个状态字,需要在变频器里把P734.2=0033( 既字K0032). (K0032 的 BIT 1 为 1 时表示变频器准备好,BIT 2 表示变频器运行中,等等 .) (变频器里存贮状态的字为K0032,K0033等字 ,而变频器发送给PLC 的 PZD 是P734.1,P734.2等) 在变频器里把P734.3=0148,在变频器里把P734.4=0022,则第三个和第四个变频器PZD 分别包含实际输出频率的百分比值和实际输出电流的百分比值6.程序 :(建立 DB100, 调用 SFC14,SFC15,6SE7的地址为512 既 W#16#200) A. 读出数据CALL DPRD_DAT LADDR :=W#16#200 RET_VAL:=MW200 RECORD :=P#DB100.DBX0.0 BYTE 12(读取 12 个 BYTE) NOP 0 B. 发送数据CALL DPWR_DAT LADDR :=W#16#200 RECORD :=P#DB100.DBX12.0 BYTE 12(写入 12 个 BYTE) RET_VAL:=MW210 NOP 0 C. L DB100.DBW0 T MW20 NOP 0 D. L DB100.DBW2 T MW22 NOP 0 则:DB100.DBX 13.0 控制启动与停止; DB100.DBX 13.1 控制正转 ; DB100.DBX 13.2 控制反转 ; M21.1 变频器 READY; M21.3 变频器 FAULT. 西门子控制字和状态字都是32 位,实际上用的位数不多,控制字用到的有合闸、急停、运行允许、故障复位、点动、PLC 控制等,状态字用到的有开机准备、运行准备、运行信号、故障、报警等。
这是比较简单的控制,如果要参数变更就比较复杂了最简单的学习方法就是看看PLC 和变频器的接口配置,运行中用那些位有用,停止时那些位有用,启动和停止过程中那些位在变化,相信这样去学会比看大全理解的要快PLC 与变频用 DP 通讯硬件组态 1. 将 MASTERDRIVES CBPCBP2 加入组态 2. Profibus 地址 1. 将 MICROMASTER 4 加入组态 2. Profibus 地址Top 选择数据格式 1. MASTERDRIVE中可供选择的PP0 类型 2. IQ address 1. MICROMASTER 4 中可供选择的数据格式 2. IQ address Top Step 7 中的编程创建数据块DB1 说明 1. 在 Step7 中对 PKW ( 参数区 ) 读写参数时调用SFC14和 SFC15 2. SFC14(“ DPRD_DAT”)用于读 Profibus 从站的数据3. SFC15(“ DPWR_DAT ”)用于将数据写入Profibus 从站 4. W#16#100(即 256) 是硬件组态时PKW 的起始地址Top 程序举例1 1. 读参数 r015 注 PKW ,IND 的详细说明见附录 1. W#16#100(即 256) 是硬件组态时PKW 的起始地址 2 .将从站数据读入DB1.DBX0.0 开始的 8 个字节 (P#DB1.DBX0.0 BYTE 8) PKE - DB1.DBW0 IND - DB1.DBW2 PWE1 - DB1.DBW4 参数值的高字位 PWE2 - DB1.DBW6 参数值的低字位 3 .将 DB1.DBX28.0 开始的 8 个字节写入从站(P#DB1.DBX28.0 BYTE 8) DB1.DBW28 - PKE DB1.DBW30 - IND 参数值的高字位DB1.DBW32 - PWE1 参数值的低字位DB1.DBW34 - PWE2 注 PKW ,IND 的详细说明见附录更多内容下载请登陆:http:/ 电邮件: plc808163.COM 程序举例2 ( 读参数数组的数值) 2. 读参数 P401.2 注 PKW ,IND 的详细说明见附录 1. W#16#100(即 256) 是硬件组态时PKW 的起始地址 2 .将从站数据读入DB1.DBX0.0 开始的 8 个字节 (P#DB1.DBX0.0 BYTE 8) PKE - DB1.DBW0 IND - DB1.DBW2 PWE1 - DB1.DBW4 参数值的高字位PWE2 - DB1.DBW6 参数值的低字位 3 . 将 DB1.DBX28.0 开始的 8 个字节写入从站(P#DB1.DBX28.0 BYTE 8) DB1.DBW28 - PKE DB1.DBW30 - IND 参数值的高字位DB1.DBW32 - PWE1 参数值的低字位DB1.DBW34 - PWE2 注 PKW ,IND 的详细说明见附录Top 程序举例3 ( 读须置位参数页的参数) 3. 读参数 U001.2 注 PKW ,IND 的详细说明见附录 1. W#16#100(即 256) 是硬件组态时PKW 的起始地址 2 .将从站数据读入DB1.DBX0.0 开始的 8 个字节 (P#DB1.DBX0.0 BYTE 8) PKE - DB1.DBW0 IND - DB1.DBW2 PWE1 - DB1.DBW4 参数值的高字位 PWE2 - DB1.DBW6 参数值的低字位 3 . 将 DB1.DBX28.0 开始的 8 个字节写入从站(P#DB1.DBX28.0 BYTE 8) DB1.DBW28 - PKE DB1.DBW30 - IND 参数值的高字位DB1.DBW32 - PWE1 参数值的低字位DB1.DBW34 - PWE2 注 PKW ,IND 的详细说明见附录Top 程序举例4( 写参数 ) 4. 写参数 P401.1 (将 W#16#1000 写入 P401.1中) 1. 将 W#16# 8191 写入 DB1.DBW28 (PWE) 注 PKW ,IND 的详细说明见附录 1. W#16#100(即 256) 是硬件组态时PKW 的起始地址 2 .将从站数据读入DB1.DBX0.0 开始的 8 个字节 (P#DB1.DBX0.0 BYTE 8) PKE - DB1.DBW0 IND - DB1.DBW2 PWE1 - DB1.DBW4 参数值的高字位 PWE2 - DB1.DBW6 参数值的低字位 3 . 将 DB1.DBX28.0 开始的 8 个字节写入从站(P#DB1.DBX28.0 BYTE 8) DB1.DBW28 - PKE DB1.DBW30 - IND 参数值的高字位DB1.DBW32 - PWE1 参数值的低字位DB1.DBW34 - PWE2 注 PKW ,IND 的详细说明见附录Top 对 PZD ( 过程数据 )的读写说明 1. 在 Step7 中对 PZD ( 过程数据 ) 读写参数时调用SFC14和 SFC15 2. SFC14(“ DPRD_DAT”)用于读 Profibus 从站的数据3. SFC15(“ DPWR_DAT ”)用于将数据写入Profibus 从站 4. W#16#108(即 264) 是硬件组态时PZD 的起始地址 5. 对特殊结构的PZD 可用 PQW , PIW 进行读写Top 程序举例5 对 PPO5 中 10PZD的读写 DB1中与 PZD 相对应的数据字 1. 在 P918 中设置 Profibus 地址 ,必须与 Step 7 中设置相同 .地址不能重复 . 2. 控制字第十位置“ 1” . PZD1 = W#16#X4XX profibus-dp 的数据通讯格式传动装置通过profibus-dp 网与主站 plc 的接口是经过通讯模块cbp 板来实现的,带有dp 口的 s7-300 和400 plc 也可以通过cpu 上的 dp 口来实现。
采用rs485接口及支持( 9.6k12m)bps 波特率数据传输(数据传输的结构如图1 所示),其中数据的报文头尾主要是来规定数据的功能码、传输长度、奇偶校验、发送应答等内容,主从站之间的数据读写的过程(如图2 所示)核心的部分是参数接口(简称pkw)和过程数据(简称 pzd), pkw 和 pzd 共有五种结构形式即:ppo1、ppo2、ppo3、ppo4、ppo5,其传输的字节长度及结构形式各不相同在plc 和变频器通讯方式配置时要对ppo 进行选择,每一种类型的结构形式如下图 1 数据传输的结构图 2 主从站间数据读写过程ppo1 4 pkw + 2 pzd (共有 6 个字组成)ppo2 4 pkw + 6 pzd (共有 10个字组成)ppo3 2 pzd (共有 2 个字组成)ppo4 6 pzd (共有 6 个字组成)ppo5 4 pkw+10 pzd (共有 14 个字组成)参数接口 (pkw):参数 id 号(pke)、变址数(ind)、参数值(pwe)三部分组成。
