[西门子] 【技术论坛精华帖】S7-1200通过CB1241与V20通讯读写频率

[复制链接]
查看77913 | 回复0 | 2024-12-8 13:58:05 | 显示全部楼层 |阅读模式
一个简单的小项目案例: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,如果不写入该字,则读写频率不能完成。我刚开始没有注意,导致频率可写入不可以读取,花费了不少时间,后来还是认真看了说明才找到问题。上面我也在参数汇总里,用红字强调了。

下面这两张图很重要!









之前做过不少Modbus读写频率的通讯案例,例如ABB,汇川等品牌的,与V20的区别就是上述红字部分,所以着重说明一下。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则