富士变频器通信应用实例一、概述........最大组成为1台主机能连接31台变频器——对应多点(据网友说,因为通信数据是16个字节数据量比较大,如果变频器台数增加到20台以上时,通信就没有那么稳定了可能还需要关闭plc看门狗)。........据网友说,早期的G11不支持Modbus通讯,需要使用富士电机自己的协议——在其RS485接口手册上有详细的指令格式。从06年开始,G11支持了Modbus通讯,通过用户在变频器参数U49中选择是采用富士电机协议FGI-Bus还是采用ModbusRTU协议。........FRENIC5000的11系列采用共同的通信协议,同样主机的程序能对11系列所有机种进行运行停止控制(参数可能随各机种有所不同)。........采用固定长度的传送帧,使主机侧的程序容易开发。........对应答速度有要求的运行命令和频率设定等使用选用传送帧,能缩短通信时间。二、变频器参数设置........与通讯有关的主要参数设置如下所述(如果变频器通信过程中存在问题无法按设定频率运行等,怀疑其它参数还有问题,那么请将参数初始化参数H03,同时按STOP键和上键设为1,再按FUNC/DATA键确认以后再来设定以下参数)。........下例中,变频器地址设置为2,通讯格式设置为19200bps,8位数据,N无校验,2个停止位:H30:链接功能(通信功能);默认为0,现设置为3——RS485频率设定有效,运行命令有效;H31:RS485地址;默认为1,现设置为2;H32:故障处理;默认为0——立即Er8跳闸,采用默认值;H33:定时时间——通信故障后,在定时时间内继续运行;默认为2.0秒,采用默认值;H34:通讯传送速度(波特率);默认为1——9600bit/s,现设置为0——19200bit/s;H35:数据长度;默认为0——8位数据,采用默认值;H36:奇偶校验;默认为0——无奇偶校验,采用默认值;H37:停止位;默认为0——2个停止位,采用默认值;U49:RS485协议;默认为0——富士专用通讯协议FGI-Bus,采用默认值;F01:频率设定1;当该参数采用默认的0——键盘面板上下键设定(也就是数字设定)时,按变频器面板上的上下键更改设定频率显示“数字设定HzLINK”,设定频率可以更改;当该参数设为11——数字输入或脉冲列输入设定(要用选件卡,详细请参阅选件卡使用说明书)时,按变频器面板上的上下键更改设定频率无效,显示“远方设定有效LINK”。U01~U61:老版本变频器(例如序列号为FEA032G00370-1-072的变频器)没有U参数。三、通讯协议1.命令帧(上位机→变频器):命令帧包括要求帧(标准帧)、选择要求帧、查询要求帧。本文中只列出部分帧,其它类型帧的格式,因为本文中暂未用到,所以不再赘述。有需要的话,请参阅相关手册。下面是要求帧(标准帧)的格式:下面是选择要求帧的格式:2.应答帧(变频器→上位机):........应答帧包括ACK应答帧、NAK应答帧、选择应答帧、查询应答帧、否定应答帧。本文中只列出部分帧,其它类型帧的格式,因为本文中暂未用到,所以不再赘述。有需要的话,请参阅相关手册。下面是ACK应答帧的格式:3.功能号码:下面是本文中用到的部分功能号码:下面是频率命令的格式:4.ASCII码表:下面是富士变频器用到的ASCII码表:5.BCC校验码:这里说一下BCC校验码的计算方法。以16进制命令帧01303205524D30392030303030033532为例,其中下划线部分为BCC校验和的计算对象:30+32+05+52+4D+30+39+20+30+30+30+30+03=252;取低字节,即为52;把这个52的十位和个位分开就得5和2;把5和2这两个数再看成ASCII码,转换成为16进制就最终得到16进制的BCC校验码3532。四、设定运行频率(要求帧标准帧):可采用S01功能来设定频率,也可采用S05功能来设定频率:说明:A.变频器断电后,采用通信设定的频率失效,变频器设定频率恢复为0.0Hz。B.设置频率的时候,要么采用S01功能来设置频率,要么采用S05功能来设置频率;不要这次采用S01功能来设置频率,下次又采用S05功能来设置频率,这样的话可能会导致无法设定频率的情况——S01命令优先,如果一旦运行了S01命令,那么在变频器断电之前,就再也不会接受S05命令(S05命令变为无效),如果要采用S05命令来设置,必须先让变频器断电,重新通电后再采用S05命令来设置频率。1.采用S01功能来设定频率:采用该方法设定频率,其频率设定值和最高频率参数F03的设定值有关。ASCII指令码:SOH02ENQWS01SP4位频率数据ETX2位校验和采用S01功能时4位频率数据的计算例(这里假设最高频率参数F03设定值为120Hz):50.25Hz时,50.25*20000/120=8375,把8375作为10进制数据,转换为16进制数据就是20B7H;60Hz时,60*20000/120=10000,把10000作为10进制数据,转换为16进制数据就是2710H。2位校验和会根据设定频率的变化而变化。如果这个设定频率是个变量,那么在PLC程序中需要对校验和进行计算。上位机发送16进制指令码(设定频率50.25Hz):01303205575330312032304237033730上位机发送16进制指令码(设定频率60Hz):013032055753303120323731300335462.采用S05功能来设定频率:采用该方法设定频率,其频率设定值和最高频率参数F03的设定值无关。ASCII指令码:SOH02ENQWS05SP4位频率数据ETX2位校验和采用S05功能时4位频率数据的计算例:50.25Hz时,50.25*100=5025,把5025作为10进制数据,转换为16进制数据就是13A1H;60Hz时,60*100=6000,把6000作为10进制数据,转换为16进制数据就是1770H。2位校验和会根据设定频率的变化而变化。如果这个设定频率是个变量,那么在PLC程序中需要对校验和进行计算。上位机发送16进制指令码(设定频率50.25Hz):01303205575330352031334131033646上位机发送16进制指令码(设定频率60Hz):01303205575330352031373730033638五、正转运行(选择要求帧):........包括正反转指令的命令帧只能是使能正反转功能端子、X1~X9功能端子,而不能同时进行频率给定——这点,与其他变频器(例如丹佛斯/海利普等变频器)有所不同。ASCII指令码:SOH02ENQf0001ETX91其中,f命令(包括正反转)的数据格式如下:上位机发送16进制指令码:013032056630303031033931指令结果:变频器运行(由STOP状态转为RUN状态),运行频率为设定频率。变频器断电后,采用通信设定的运行状态失效,变频器停止运行。六、反转运行(选择要求帧):ASCII指令码:SOH02ENQf0002ETX92上位机发送(16进制):013032056630303032033932指令结果:变频器运行(由STOP状态转为RUN状态),运行频率为设定频率。变频器断电后,采用通信设定的运行状态失效,变频器停止运行。七、停止:ASCII指令码:SOH02ENQf0000ETX90上位机发送(16进制):013032056630303030033930变频器停止(由RUN状态转为STOP状态),频率闪烁显示0Hz。八、读取当前运行频率ASCII指令码:SOH02ENQRM09SP0000ETX52上位机发送16进制指令码:01303205524D30392030303030033532变频器返回ASCII应答帧:SOH02ACKRM09SP0000ETX53注:上面的0000表示实际读到的频率值,这里以0000表示。例1:变频器返回16进制应答帧:01303206524D30392030303030033533上面返回数据中,读得的ASCII频率为数据为30303030,转换为16进制就是0000H,0000H转为10进制就是0000,0000除以100就是0Hz;3533为BCC校验和。例2:变频器返回16进制应答帧:01303206524D30392D31373730033646上面返回数据中,读得的ASCII频率数据为31373730,转换为16进制就是1770H,1770H转为10进制就是6000,6000除以100就是60Hz;3646为BCC校验和。例3:变频器返回16进制应答帧:01303206524D30392031334131033639上面返回数据中,读得的ASCII频率数据为31334131,转换为16进制就是13A1H,13A1H转为10进制就是5025,5025除以100就是50.25Hz;3646为BCC校验和。如果要采用串口调试工具来调试上例中的变频器,在串口调试工具中应当把参数也设置为变频器一样——通讯格式设置为19200bps,8位数据,N无校验,2个停止位: