| 作者 | 主题 |
|---|---|
|
工控万金油 游士 经验值:227 发帖数:7 精华帖:0 |
楼主
主题:【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变频器参数配置的表格供大家参考 附录: 图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程序 |