一个简单的小项目案例:CPU为S7-1215,订货号:6ES7 215-1HG40-0XB0,固件版本V4.5;BD板CB1241,订货号:6ES7 241-1CH30-1XB0,固件版本V1.0;三台V20变频器;一台KTP700触摸屏。项目需求是S7-1200 PLC通过端子启停的方式控制变频器启停,用Modbus RTU通讯读写变频器频率。
本贴旨在为没有做过1200Modbus RTU的朋友或者是不太熟悉V20变频器Modbus通讯的朋友提供一个案例参考,让大家在第一次做的时候少花时间,少踩坑。
1
首先:博图中组态硬件,直接右侧拖放BD板CB1241到CPU本体位置。这里不做过多描述。
屏蔽双绞线将三台变频器P+,N-并联连接并接到CPU上CB1241 T/RA T/RB, T/RB接P+,T/RA接N-。TA和T/RA用短线连上,TB和T/RB用短线连上。有条件的话接一下电阻,我没有接。
2
设置变频器参数,我这里基本操作就不介绍了,我直接把参数汇总。
快速设置基本参数:
P0100=0 P0304=额定电压(默认400) P305=额定电流 P307=额定功率 P308=功率因数 P0310=额定频率(默认50Hz)
P0311=电机额定转速 P1900=2电机静态识别 P1900=0可运行 P1080=最小频率 P1082=最大频率
恢复出厂:
P0003=1 P0010=30 P0970=21
端子启动,Modbus读写频率:
选择CN011宏P0003=3 P700=2
P701=1(DI1为启动命令) P1000=5
P2021=从站地址
P2014=0(关闭看门狗) P2034=(奇偶校验) P2035=1(1个停止位)
P1120(40322)=加速时间
P1121(40323)=减速时间
寄存器地址:
40100控制字=0400时可写入频率;=0时可读取频率(需格外注意!!)
40101频率设定
40110状态字
40111频率读取
V20恢复出厂设置和快速调试(请复制链接在浏览器中打开)
i链接:
https://www.ad.siemens.com.cn/service/elearning/cn/Course.aspx?CourseID=1440
《V20操作说明》(请复制链接在浏览器中打开)
链接:
https://support.industry.siemens.com/cs/cn/zh/view/109479321
3
编写程序。
“
3.1
Modbus初始化端口
“
3.2
控制字40100写入16#0400
“
3.3
写入设定频率
“
3.4
控制字40100写入16#0
“
3.5
读取频率
“
3.6
因为读取到的频率值实际上是变频的速度值0--100%的工程量值(0-32768),所以要对读写频率进行转化。
这里强调一下尤其要注意这个40100控制字的值转化,写入频率前必须先将40100写入16#0400,读取频率前先将40100写入0,如果不写入该字,则读写频率不能完成。我刚开始没有注意,导致频率可写入不可以读取,花费了不少时间,后来还是认真看了说明才找到问题。上面我也在参数汇总里,用红字强调了。
下面这两张图很重要!