西门子s7 200smart与3台力士乐变频器通讯程序 原创可直接用于生产的程序,程序带注释,并附送触摸屏程序,有接线方式和设置,通讯地址说明等。 程序采用轮询,可以后续根据要求适当修改后扩展。 器件:西门子s7 200smart PLC,3台力士乐VFC-3610系列变频器,昆仑通态7062k以太网触摸屏 功能:实现频率设定,启停控制,实际频率读取等,状态读取指示
凌晨三点半的车间里,电工老张盯着闪烁的通讯指示灯猛嘬了口烟。三台力士乐变频器像商量好了似的集体装哑巴,急得他直挠头。别慌,这套基于S7-200 Smart的轮询通讯方案专治各种变频器通讯不服,咱们直接上干货。
硬件搭台子先整明白
RS485通讯线别整那些花里胡哨的,双绞屏蔽线最实在。PLC的PORT0口接3号端子(485+)和8号端子(485-),三台变频器的通讯端子按顺序挂总线。重点来了:终端电阻必须给最后一台安排上,不然信号反射能让你怀疑人生。站地址设置别犯强迫症,01/02/03这种傻瓜式编号最稳妥,记得在变频器参数里把P-07改成2(Modbus RTU模式)。
// 主程序轮询框架 NETWORK 1 //初始化 LD SM0.1 MOVB 9, SMB30 //9600波特率,无校验 MOVB 3, VB100 //设备总数 MOVB 0, VB101 //当前设备索引 NETWORK 2 //定时触发 LDN T37 TON T37, 50 //50ms轮询间隔 NETWORK 3 //设备轮询 LD T37 = M0.0 //轮询启动信号 A M0.0 CALL SBR0 //执行通讯子程序这段代码的精髓在定时器T37,像老式电报机似的咔哒咔哒推进轮询节奏。VB101这个变量就是指挥棒,0/1/2分别对应三台变频器。想加设备?把VB100里的3改成5,再复制几段子程序就完事。
通讯子程序才是戏肉
西门子s7 200smart与3台力士乐变频器通讯程序 原创可直接用于生产的程序,程序带注释,并附送触摸屏程序,有接线方式和设置,通讯地址说明等。 程序采用轮询,可以后续根据要求适当修改后扩展。 器件:西门子s7 200smart PLC,3台力士乐VFC-3610系列变频器,昆仑通态7062k以太网触摸屏 功能:实现频率设定,启停控制,实际频率读取等,状态读取指示
以读取实际频率为例,重点看这个功能块:
// 读取03号变频器实际频率(40001H寄存器) MOVB 16#03, VB200+0 //设备地址 MOVB 16#03, VB200+1 //功能码 MOVW 16#0000, VW201 //起始地址40001 MOVW 16#0001, VW203 //读取长度 MOVB 6, VB207 //字节计数 XMT VB200, 0 //发送指令表 RCV VB300, 0 //接收缓冲区这组指令看着简单,暗藏玄机。40001寄存器对应的是16#0000,这里藏着Modbus地址映射的坑。特别注意VW201这地址用了字操作,别手滑写成字节。接收数据存到VB300开始的区域,记得校验CRC的字节顺序,力士乐家的设备有时候会闹脾气。
触摸屏组态别整虚的
昆仑通态7062K的界面设计讲究个快准狠,重点盯住这几个变量:
- 启停控制:M0.1~M0.3(对应三台设备)
- 设定频率:VW10/VW12/VW14(单位0.01Hz)
- 实际频率:VW20/VW22/VW24
- 故障代码:VW30/VW32/VW34
按钮元件关联M区地址时,记得勾选"脉冲触发"。数值输入框绑定V存储区,数据格式选浮点数,换算公式直接填/100。状态指示灯用到位状态监视,把变频器的状态字拆解出来做故障报警。
调试翻车实录
- 碰到通讯超时先别骂街,拿万用表量量AB线电压。正常应该在2V左右晃悠,要是超过3V八成是终端电阻没加
- 频率设定值死活写不进去?检查变频器参数P-08是不是设成3了(通讯给定模式)
- 数据时有时无多半是接地闹的,把PLC和变频器的PE端子连成等电位试试
- 遇到"飘忽不定"的通讯故障,把报文监控打开。200 Smart自带的串口监视能救命,看到AA 55开头的报文就是力士乐在回话
这套方案在汽配厂流水线上跑了两年没掉链子,最骚的是去年车间主任非要加个第四台变频器,咱们把VB100从3改成4,复制粘贴了一段子程序,半小时就验收了。源码打包文件里藏着个彩蛋——用SM0.5做的通讯心跳灯,接个LED到PLC输出端,灯闪得越规律,设备越健康。