发布于 2004-08-27 21:24:12
0楼
你要有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)读入返回数据。这些返回数据是你在变频器端定义的。如果通讯的返回值不是零。就要查找原因。往往是发送的顺序错了,两边定义的不一样,等等。
这就是简单的用法。供你参考。
学而时习之,不亦说乎?温故而知新,不亦乐乎?