S7-200作为主站与台达变频器ModbusRTU通讯 点击:314 | 回复:1



Smile-lyc

    
  • [管理员]
  • 精华:114帖
  • 求助:50帖
  • 帖子:2793帖 | 22283回
  • 年度积分:311
  • 历史总积分:144042
  • 注册:2006年8月04日
发表于:2018-04-05 22:01:12
楼主


一、    台达变频器有关通讯参数

根据下图台达变频器通讯协议的参数,向台达变频器2000h地址写数据01XX000001)时停止运行,写12HXX010010)是正转,写22H (XX100010)是反转。

根据台达变频器通讯协议向变频器2103H地址发送03命令可以查询输出频率,向变频器2104H地址发送03命令可以查询输出电流,向变频器2106H地址发送03命令可以查询输出电压,向变频器210FH地址发送03命令可以查询输出功率,见下表。

通讯参数出厂设定值如下图所示。所以在使用PLC控制变频器之前需要对变频器进行必要的设置,如波特率,地址,通讯格式等等。

通讯协议:台达变频器支持Modbus RTU模式和ASCII码模式,我们用RTU模式,通讯协议如下图:例如要查询地址是012102H的数据,需要发送0103210200028FF7,返回01030417700000FE5CH,其中01是地址,03是查询命令,417700000F是返回的数据8FF7是校验码。如果要向变频器写数据需要发送06命令,例如发送0106010017708622,向01号变频器的0100地址写数据1770,如果操作成功,返回0106010017708622

二、PLC程序

1、     控制要求 
实时读取变频器的输出频率、输出电压、输出电流和输出功率。 
按下加速按钮,变频器频率升高。
按下减速按钮,变频器频率减少。
 
按下正转按钮,变频器正转启动。按下反转按钮,变频器反转运行。按下停止按钮,变频器停止运行。 

2、     程序说明

首先对PLC RS-485 通讯口进行初始化,使其通讯格式为 MODBUS ASCII96007E1。变频器RS-485 通讯口通讯格式需与 PLC 通讯格式一致。

下面对源程序逐条说明。 

3、     源程序如下 

 

先初始化VB99=1赋值,然后定时器每中断一次VB99中的1循环左移一次。用于控制程序执行。


下面是初始化MBUS_CTRL,设置波特率等参数。


下面程序是通过按钮(I0.0—I0.2)控制变频器正转,反转和停机。修改变频器运转命令,M1.0正转,M1.1反转,M1.2,向变频器2000h单元值写入1是停止,12是正转,22是反转,1是停机。

2000h=8192,加上plcMBUS的起始V区起始地址40001=48193,下面程序是把vb100中的数写给变频器的2000单元。

下面程序是按下加速按钮(I0.3vw200单元数值增加100,按下减速按钮(I0.4VW200单元数值减100.

修改变频器频率(vw200单元数值存储的是频率值),加速按钮M1.3,,减速按钮M1.4,当变频器输出为20hz时,可写入2000,5hz时写入500,台达变频器的地址是2001hplc映射地址是vw2008194是向2001H单元写入频率值。

以下为读变频器参数,读变频器2103H是获取输出频率,读2104H是获取输出电流,2106h输出电压,2103h=84518451+40001=48452是向2103H读数据,即读频率值,读出的频率值送变量存储器VB1000单元中。

下面获取输出电流。

下面获取输出电压。

下面获取输出功率。

启动定时器T37,1秒中断一次,ROL_B于是循环左移一位,左边移出的位补到右边。 用于控制读取速度。



1分不嫌少!


楼主最近还看过



工控喵

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 101回
  • 年度积分:0
  • 历史总积分:152
  • 注册:2012年3月14日
发表于:2018-04-06 17:37:30
1楼

感谢分享!!!


热门招聘
相关主题

官方公众号

智造工程师