技术论坛

 【SCL编程案例】一个只需简单配置就能读取多个ABB变频器数据及控制启停的功能块

返回主题列表
作者 主题
工控万金油
游士

经验值:227
发帖数:7
精华帖:0
楼主    2025-05-30 00:34:46
主题:【SCL编程案例】一个只需简单配置就能读取多个ABB变频器数据及控制启停的功能块

下面分享一个应用在多个水泵变频器(ABB ACS510)485总线通讯控制的功能块。只需要设置用户常量的起始(AS_ABB)和结束(AE_ABB)就可以和多台ABB ACS510变频器通讯并控制启停,例如AS_ABB=1,AE_ABB=5,既与地址1,2,3,4,5号变频器进行通讯。

在这个实例的基础上可以拓展多种支持modbus_Rtu的不同设备的通讯,然后只需配置用户常量的设备起止地址即可,真正实现一劳(一次编程)永逸,不需要因为现场设备数量的变动而去修改程序。

程序使用的是西门子S7-1200 PLC+CM1241通信模块,通过TIA Portal STEP7 V20进行编程,详细配置请见附录。源文件详见附件。顺便附上ACS510变频器参数配置的表格供大家参考

ABB_ACS510变频器参数设置.xlsx

MB_VFD.zip

附录:

  1. 程序运行在S7-1200 PLC中,PLC的硬件配置中启用系统和时钟存储器,如图1所示:

                                                                                              图1 启用系统和时钟存储器

  2. 导入外部源文件并生成块,如图2所示:

    

图2 从源文件生成块

3.编译MB_TD_VFD数据块,如图3所示:

图3 编译块

4.在PLC变量的用户常量新建2个常量AS_ABB和AE_ABB,如图4所示:

图4 新建用户常量

5.调用功能块,并配置好端口,波特率,校验位和超时时间,如图5,图6:

图5 配置端口

图6 配置波特率,校验位和超时时间

6.控制启停,对MB_VFD_DB里的Ctrl_Str和Ctrl_Stp变量写1来控制启停,如图7所示:

图7 启停变量

以下为SCL源码:

图8 SCL程序

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。