西门子plc S7-200SMART提供了免费的MODBUS-RTU库程序,还要知道变频器的启动,停止,频率和电流对应的寄存器地址就可以编写梯形图程序了。 
首先必须保证接线正确,PLC的端口3为+,8为-,如下图为PLC和V20的接线  
 
然后是对变频器的参数进行设置,如: 
P0700[0] 选择命令源 
P2023[0]RS485 协议选择 
P2010[0]USS/MODBUS 波特率 
P2021[0]MODBUS 地址 
P2022[0]MODBUS 应答超时 
下面就要编程实现对变频器的控制: 
1,调用Modbus RTU的主站程序,初始化Modbus Master端口:  
 
EN:使能位,必须用SM0.0一直接通 
Mode:为1 = Modbus, 0 = PPI (stop Modbus),用SM0.0一直接通 
Baud:波特率,一般为9600 
Parity:效验方式,0=无效验,1=奇效验,2=偶效验 
Port:0=CPU集成的端口,1=通过扩展SB信号板的端口 
Timeout:从站响应时间,超时时间,单位:ms毫秒 
Done:完成标志位 
Error:错误代码 
2,控制变频器启动,读或写从站数据指令,变频器寄存器地址40100对应了变频器的启动。  
 
EN:使能位,必须用SM0.0一直接通 
First:读写请求,必须使用脉冲触发,加沿指令 
Slave:从站地址(0-247) 
RW:读写命令,1=写,0=读,此处要控制启动需要使用1 
Addr:从站通信数据起始地址,要写Modbus地址 
Count: 通信数据区地址的数量 
DataPtr:主站通信数据区地址 
Done:完成标志位 
Error:错误代码  
 
上图指令写入到VW0,可以控制变频器的正反转,每个变频器的对应的写入值不同。 
3,读取变频器的相关参数,由上面的描述,RW为0,则为读取数据,此处为读取寄存器地址为40111的频率值,并进行转换,是否需要转换,需要看变频器的要求,其他品牌的变频器不一定需要。  
 
需要特别注意的一边就是RS485为半双工通讯方式,每次对变频器的读写只能有一个指令在执行,所以需要进行轮询程序的编写。一般可以使用Done和Error做为下一个读写指令的启动指令。


 会员中心
 会员中心 会员注册
 会员注册 返回顶部
返回顶部 刷新页面
刷新页面 下到页底
下到页底