多语言展示
当前在线:579今日阅读:26今日分享:39

通过FB286读写多个变频器参数

FB286是一个用于读写变频器中多个参数的功能块,能够一次读写多达16个参数。它在运行过程中内部调用了非周期通信功能块RDREC/SFB52和WRREC/SFB53。它简单易用,省去了非周期通信中填写数据区内容的繁琐步骤,只需要指明参数号、下标即可。那么如何通过FB286读写多个变频器参数呢?
方法/步骤
1

在博图软件中完成硬件组态。在使用FB286之前,必须确保硬件组态已经完成,而且PLC和变频器之间的通信已经建立。

2

在主程序(OB1)或者周期中断程序(例如OB32)中插入FB286. FB286在库程序中显示名称为SINA_PARA.对于不同的PLC,有不同的库。

3

端子分配好变量之后的FB286见下图。对于LAddr端子,可将硬件ID或者实际值标识分配给它。

4

编译并下载程序到PLC后,本例采用监控表实现读/写多个变频器参数。

5

读p1001, p1002, p1003, p1004(固定转速设定值1, 2, 3, 4)。这4个参数的初始值显示在下面Startdrive软件的参数视图中。

6

将FB286端子上的变量设定为如下值:ReadWrite=0,读请求ParaNo=4,需要读取4个参数通过监控表修改FB286对应数据块中的下述变量:“SINA_PARA_DB“.sxParameter[1].siParaNo=1001,第一个参数号“SINA_PARA_DB“.sxParameter[1].siIndex=0,第一个参数下标“SINA_PARA_DB“.sxParameter[2].siParaNo=1002,第二个参数号“SINA_PARA_DB“.sxParameter[2].siIndex=0,第二个参数下标“SINA_PARA_DB“.sxParameter[3].siParaNo=1003,第三个参数号“SINA_PARA_DB“.sxParameter[3].siIndex=0,第三个参数下标“SINA_PARA_DB“.sxParameter[4].siParaNo=1004,第四个参数号“SINA_PARA_DB“.sxParameter[4].siIndex=0,第四个参数下标给Start端子一个上升沿,开始读任务。读任务完成之后,Done位置位。读回的参数值被保存到变量.sxParameter[x].srValue.

7

修改4个参数数值如下:p1001=600rpmp1002=800rpmp1003=1000rpmp1004=1200rpm 将FB286端子上的变量设定为如下值:ReadWrite=1,写请求ParaNo=4,需要写入4个参数通过监控表修改FB286对应数据块中的下述变量:“SINA_PARA_DB“.sxParameter[1].siParaNo=1001,第一个参数号“SINA_PARA_DB“.sxParameter[1].siIndex=0,第一个参数下标“SINA_PARA_DB“.sxParameter[1].srValue=600.0,第一个参数值“SINA_PARA_DB“.sxParameter[2].siParaNo=1002,第二个参数号“SINA_PARA_DB“.sxParameter[2].siIndex=0,第二个参数下标“SINA_PARA_DB“.sxParameter[2].srValue=800.0,第二个参数值“SINA_PARA_DB“.sxParameter[3].siParaNo=1003,第三个参数号“SINA_PARA_DB“.sxParameter[3].siIndex=0,第三个参数下标“SINA_PARA_DB“.sxParameter[3].srValue=1000.0,第三个参数值“SINA_PARA_DB“.sxParameter[4].siParaNo=1004,第四个参数号“SINA_PARA_DB“.sxParameter[4].siIndex=0,第四个参数下标“SINA_PARA_DB“.sxParameter[4].srValue=1200.0,第四个参数值

8

给Start端子一个上升沿,开始写任务。写任务完成之后,Done位置位。通过Startdrive软件的参数视图可见4个参数均已修改成功。

注意事项
1

FB286可在S7-300/400, S7-1200和S7-1500 PLC中使用。

2

FB286可在PROFINET和PROFIBUS通信中使用。

3

FB286可在SINAMICS S/G系列变频器以及MM4系列变频器中使用。

4

中的参数值全部处理为浮点数格式。例如,对于p1000=6(设定值源选择,16位整型),通过FB286读回的参数值为6.0. 在.sxParameter[x].srValue变量中写1.0,通过FB286的写任务,可将p1000写为1.

推荐信息