Profibus 控制MM4变频器的PZD1的过程控制命令
发给变频器的控制字必须要有一定的顺序。
要使变频器准备好工作的前提是:
要首先发送控制字1:0000 0100 0111 1110=047E
返回的状态字1 满足 1111 1010 0011 0001 =FA31
这时就可以动作了。
如果需要启动
首先发送:
控制字1:0000 0100 0111 1111=047F
如果这时候设定频率不等于0(P1000=Ain1,Ain2),则按斜率启动,一直到达指定的频率。(取决按P1000的输入来源)
如果用MOP升速(P1000=MOP)应再次发送
控制字1:0010 0100 0111 1111=247F
这时候开始加速。
不加速了应发送
控制字1:0000 0100 0111 1111=047F,这时候保持速度。
如果减速应发送
控制字1:0100 0100 0111 1111=447F
不减速了应发送
控制字1:0000 0100 0111 1111=047F
要正常停机应发送
控制字1:0000 0100 0111 1110=047E;电机按斜率减速至0。
当状态字=1111 1011 0011 0001=FB31时侯才是真正停机了。
如果要Off2自由停机,应发送控制字:的(位1)=0
例如:控制字1:0000 0100 0111 1101=047D或 0000 0100 0111 1100=047C
如果要正向点动
首先要发送控制字1:0000 0100 0111 1110=047E且状态字=1111 1011 0011
0001=FB31
再发送控制字1:0000 0101 0111 1110=057E
就可按照点动的设定频率正运转。
如果要反转,则第位11=1 即 或(or)上Hex 0800
所以,在S7-300机器上可以充分的使用双字的OR和AND来控制动作
你要有BOP就好办了。
你按照你的控制要求,例如:采用MOP升速、降速,或使用OFF2、OFF3等等。先用端子实现。在运转过程中,你通过BOP察看各个状态时的实际控制字参数,它的格式是:bHHHH。你把它按控制顺序记下来,就是你应该发送的顺序。是很简单的。(我手头没有手册,没法告诉你具体参数号。另外,设备的控制方式各种各样。)
具体方法:
1、先组态。
2、根据控制要求把PPO1-PPO4选其中一个拖到DP属性的框里,记下I,Q地址。多个变频器也是一样记下各自的I,Q地址。
3、做一个对应的DB。你的PPO是什么样的格式,它也是什么样的格式。PPO有PKW,DB也有PKW。另外,I,Q也一一对应。
4、默认第一个PZD是控制字1,第二个PZD是设定频率,第三个你可以定义。第四个默认是控制字2(就是那个固定频率1.....)。对应的I(就是你收到的应答)第一个是状态字1,第二个是实际频率.....,这些也可以在变频器端自己定义。比如:你可以在变频器端定义应答PZD3=722.0,这时你在PLC收到的就是端子的通断状态。当然你也可以定义实际电流:把PZD4=27就可以了。这些都需要在变频器上设定。
5、把硬件接好。变频器上的地址按照组态的地址设定好。变频器上的P0700,P1000都设成6。建议:使能变频器的规格化,这样你就可以用最大Hex4000发送频率值。H4000具体代表什么频率在P2000定义(默认50Hz)。否则你需要用浮点格式发送设定频率值。
6、在程序中,先把数据(PKW、PZD)放到DB里对应的区域。然后调用WR_DP,指向组态时那个变频器的第一个Q(例如:Q256),数据指向DB的首字,长度。这样就把数据写入了对应的变频器。如果通讯的返回值RET_VAL是零,就成功了。你就可以调用RD_DP(指向I)读入返回数据。这些返回数据是你在变频器端定义的。如果通讯的返回值不是零。就要查找原因。往往是发送的顺序错了,两边定义的不一样,等等
MM420只支持PPO1(4个Word长的PKW和2个字长的PZD)、PPO3(2个字长的PZD)
MM430,MM440还可以支持PPO2(4个Word长的PKW和6个字长的PZD)和PPO4(6个字长的PZD)甚至PPO5(4个Word长的PKW和10个字长的PZD)。到底选那个,完全根据你控制的需要。如果就有一台两台变频器,完全可以选用PPO3,PPO4,仅仅传送控制字,参数用BOP输入就可以了。如果系统有五台、十台、几十台变频器。还是用PPO1,PPO2比较好,你可以用一个DB保存参数(通过触摸屏直接修改),需要时,通过映像DB,一次发送出去,这样简单方便(注:触摸屏可直接读写DB的浮点数,你不必变
换。)。
格式选好后,映像DB就是x2那么大的字长度。一半用于发送,一半用于读取应答数值。
平时不用(不需要修改参数)的时候,你应该在映像DB的PKE的高4位(AK任务识别标志ID)写0=没有任务。你是读参数还是写参数完全看这个AK识别标志。具体参看“大全”的表13-1。有一点要注意:发送后,首先应检查对应AK的应答ID是否是7、8。如果是:有错。请对照表13-3检查应答的数值,找出原因。(方法:直接输出到触摸屏,察看。)
另外,应答的速度可没有Profibus的速度快。你应该等到应答后,在发送下一个参数。
PZD是发送过程数据。第一个PZD是控制字1,就是参数CB收到的控制字1 r2090->实际的控制字1 r00。这个参数当然不能随便发送了。要有一定的顺序。(见前面的帖子)
第二个PZD是主设定频率。主设定频率发送什么样的格式要看你在变频器端的设定。如果默认,你应该发送IEEE格式的浮点数值。如果你使能了USS规格化P2009(0)=1,那么你发送的最大值=4000H(再大就出错了)。具体4000H是多大频率?就是P2000定义的基准频率。(好像08/2002的大全说的不一样。)对于50Hz电机控制,用4000H精度要高一些。
第三个PZD没有定义,你可以自己定义。在变频器端的参数r2050(2)看到。你可以通过BiCo互联用于自己的目的。例如:附加设定值、PID微调信号、DAC的输出等等。
第四个PZD默认定义为控制字2(好像02/2002的DP通讯说明中说的不一样。)。就是参数CB收到的控制字2 r2091->实际的控制字2 r0055
再往下都没有定义,可以按照第三个PZD自己定义。注意:因为DAC(P0771)的输出可以互联到r2050,所以,可以将一些外部控制通过Profibus DP发送给远端的变频器,再通过变频器的DAC将模拟量信号输出。甚至,有可能将语音信号(8位的电话质量)直接通过Profibus DP发送到变频器的DAC-〉喇叭。
对于远程开关量的控制(对变频器的继电器控制):因为,r2050不能直接互联到P0731、P0732、P0733。所以,要通过控制字的没用的位来做。可以互联到控制字1的第12位和控制字2的第6、7、10、14位。也可以用于先驱动自由功能块的布尔运算,然后驱动输出继电器。
对于PZD的应答是自由定义的,在变频器端P2051(0-7)设定。默认的是应答1是状态字1(r0052=52.0)应答2是实际频率(r0021=21.0)应答3未定义,应答4是状态字2(r0053=53.0)。这些你可以根据需要任意改变。例如:你想看到实际电流值,可以将应答3定义成27.0。如果你想看到变频器的哪个输入端子闭合,可以将应答5定义成722.0(就是那个r0722),这意味着,即便你把变频器所有的数字输入都禁止,也可以看到。因此,你完全可以不用PLC的输入模块,就用远程变频器的数字输入端。同理,你也可以把变频器的ADC当作远端模拟量采集信号(当然不是高速),通过把应答n定义成752.0在PLC读到
P0304 Motor voltage rating – 电动机额定电压
P0305 Motor current rating – 电动机额定电流
P0307 Motor power rating – 电动机额定功率
P0308 Motor cosPhi rating – 电动机额定功率因数
P0309 Motor efficiency rating – 电动机额定效率
P0310 Motor frequency rating – 电动机额定频率
P0311 Motor speed rating – 电动机额定速度
P0320 Motor magnetizing current – 电动机磁化
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuoyibo.net 版权所有 湘ICP备2023021910号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务