通过PROFIBUS用S7-400PLC控制6SE70变频器的参数设置与编程

1.通讯方式的设定:ppo4,这种方式为0pkw/6pzd,输入输出都为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发过来第一个字的bit10为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的bit1为1时表示变频器准备好,bit2表示变频器运行中,等等.)
(变频器里存贮状态的字为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.0byte12(读取12个byte)
nop0
b.发送数据
call'dpwr_dat'
laddr:=w#16#200
record:=p#db100.dbx12.0byte12(写入12个byte)
ret_val:=mw210
nop0
c.l'db100'.dbw0
t'mw20'
nop0
d.l'db100'.dbw2
t'mw22'
nop0
则:db100.dbx13.0控制启动与停止;
db100.dbx13.1控制正转;
db100.dbx13.2控制反转;
m21.1变频器ready;
m21.3变频器fault.
等等.