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. 等等. |