您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > S7-200与富士G11P11系列变频器的通信实例
这个PLC程序中,我采用了另一种思维方法。........普通的思维方法是:要发送数据时,用MOVB指令把数据写入发送缓冲区;这样发送不同的数据时需要写很多的MOVB指令,程序看来比较复杂,有点头晕。........这个程序的思维方法是:有多少种命令,把发送数据全部在数据块中写入相应的存储区。程序中需要发送某个指令的时候把对应存储区的数据直接COPY到发送缓冲区;这样发送不同的数据时仅需要几个BLK_MOVB指令,不需要写很多的MOVB指令,程序看来比较简洁。博客播客引用加为好友发送消息回复老菜鸟3楼回复时间:2008-11-3020:53:07下面是数据块的内容:楼回复时间:2008-11-3020:55:13下面是主程序的内容:楼回复时间:2008-11-3020:58:06我都发这么多图片了,不填满10个字硬是不准我发送,汗!博客播客引用加为好友发送消息回复老菜鸟6楼回复时间:2008-11-3021:00:22对了,你们说每个回帖最多可以发多少张图片呀?博客播客引用加为好友发送消息回复老菜鸟7楼回复时间:2008-11-3021:02:01下面是中断子程序(中断号26是发送完成中断)的内容:楼回复时间:2008-11-3021:03:59至此,贴图完毕,请提出意见和建议。博客播客引用加为好友发送消息回复kfhzy9楼回复时间:2008-12-115:32:05顶了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!博客播客引用加为好友发送消息回复老菜鸟10楼回复时间:2008-12-120:11:01终于有人顶了,多谢!!!博客播客引用加为好友发送消息回复panlingfeng123楼回复时间:2008-12-123:13:49奇人呀,我顶大力点顶!博客播客引用加为好友发送消息回复792212楼回复时间:2008-12-315:37:42强,高手啊,请问S7-300的通信程序如何做,接其他带通信接口的仪表啊博客播客引用加为好友发送消息回复学为毋庸13楼回复时间:2008-12-515:05:11强,高手啊,请问S7-300的通信程序如何做,和西门子变频器通讯怎么做?博客播客引用加为好友发送消息回复wxgg14楼回复时间:2008-12-120:20:13顶了!!!!!!!!多谢!!!博客播客引用加为好友发送消息回复老愚者15楼回复时间:2008-12-1211:33:04不错,LZ好心.博客播客引用加为好友发送消息回复自动化PLC16楼回复时间:2008-12-1223:00:38学习下了谢谢!。...博客播客引用加为好友发送消息回复张智勇17楼回复时间:2008-12-155:56:45楼回复时间:2008-12-1619:12:50学习中顶博客播客引用加为好友发送消息回复guafa5819楼回复时间:2008-12-1712:39:59学习啊,很不错的啊,通讯还是很值得学习的啊博客播客引用加为好友发送消息回复张智勇20楼回复时间:2008-12-1715:01:29为了方便学习,我把“老菜鸟”的以上内容字直接用文本的形式保存,可以直接导入到西门子编程软件里面试验与富士变频器通信。闲事准备与我公司的富士变频器通信试验。S7-200CPU226CN与富士G11/P11系列变频器的通信实例很少看到富士变频器通信方面的实例,在这里开个帖子弄个实例。该实例经笔者测试,成功!关于富士G11/P11系列变频器的通信协议及更详细的内容,请参阅相关手册,也请查阅下面的帖子:富士变频器通信应用实例:=2008112811473600003........这个PLC程序中,我采用了另一种思维方法。........普通的思维方法是:要发送数据时,用MOVB指令把数据写入发送缓冲区;这样发送不同的数据时需要写很多的MOVB指令,程序看来比较复杂,有点头晕。........这个程序的思维方法是:有多少种命令,把发送数据全部在数据块中写入相应的存储区。程序中需要发送某个指令的时候把对应存储区的数据直接COPY到发送缓冲区;这样发送不同的数据时仅需要几个BLK_MOVB指令,不需要写很多的MOVB指令,程序看来比较简洁。下面是数据块的内容:DATA_BLOCK_TAB用户定义1//BEGIN//按F1键获取帮助和示范数据页//频率给定60Hz:01303205575330352031373730033638正转运行:013032056630303031033931VB20116#1VB20216#30VB20316#32VB20416#05VB20516#66VB20616#30VB20716#30VB20816#30VB20916#31VB21016#03VB21116#39VB21216#31//反转运行:013032056630303032033932VB30116#1VB30216#30VB30316#32VB30416#05VB30516#66VB30616#30VB30716#30VB30816#30VB30916#33VB31016#03VB31116#39VB31216#32//停止运行:013032056630303030033930读取当前运行频率:01303205524d30392030303030033532VB50116#1VB50216#30VB50316#32VB50416#05VB50516#52VB50616#4DVB50716#30VB50816#39VB50916#20VB51016#30VB51116#30VB51216#30VB51316#30VB51416#03VB51516#35VB51616#32END_DATA_BLOCK_TAB下面是主程序的内容:(把下面的内容复制到WINXP的记事本后保存个新名字,如“富士通信.txt”再把“富士.txt”的后缀名修改为“富士.awl”后保存。打开西门子编程软件,点击“文件”/“导入”找到自己保存的“富士.awl”后导入即可。再把上面的蓝色数据块内容复制保存一个“富士数据块.txt”,打开编程软件的数据块后点击“文件”/“导入”找到自己保存的“富士数据块.txt”后导入。注意内容不要遗漏)ORGANIZATION_BLOCK主程序:OB1TITLE=S7-200CPU226CN(6ES7216-2AD23-0XB8)通过自由口通信控制富士FRN3.7G11S-4CX型变频器(序列号FEA032G00370-1-072);//本程序采用PORT1端口与变频器通信,把PORT0端口留给PLC与其编程软件STEP7MicroWIN进行通信,以便实时监测PLC的数据变化;//实际上,早期的G11不支持Modbus通讯,通讯使用富士电机自己的协议--在其RS485接口手册上有详细的指令格式。从06年开始,G11支持了Modbus通讯,通过用户在变频器参数U49中选择是采用富士电机协议FGI-Bus还是采用ModbusRTU协议。不过,笔者的这台富士变频器太老,不支持ModbusRTU协议,所以就采用自由口通信来控制这台富士FRN3.7G11S-4CX型变频器;//虽然MODBUSRTU模式通信相对而言比较简单,不过快乐到自由口通信应用更为广泛和灵活,该程序的自由口通信也比较有参考价值。//变频器参数设置:与通讯有关的主要参数设置如下所诉(如果变频器通信过程中存在问题无法按设定频率运行等,怀疑其他参数还有问题,那么请将参数初始化参数H03,同时按STOP键和上键设为1,再按FUNC/DATA键确认以后再来设定以下参数)。//变频器地址设置为2,通讯格式设置为9600bps,8位数据,E〕偶校验,1个停止位://F01:频率设定1;默认为0,采用默认值;//H30:链接功能(通信功能);默认为0,现设置为3--RS485设定有效,运行命令有效;//H31:RS485地址;默认为1,现设置为2;//H32:故障处理;默认为0--立即Er8跳闸,采用默认值;//H33:定时时间--通信故障后,再定时时间内继续运行;默认为2.0秒,采用默认值;//H34:通信传送速度(波特率);默认为1--9600bit/s,采用默认值;//H35:数据长度:默认值0--8位数据,采用默认值//H36:奇偶校验;默认值0--无奇偶校验,现设置为1--偶校验;//H37:停止位;默认值0--2个停止位,现设置为1--1个停止位;//H49:RS485协议;默认为0--富士专用通信协议FGI-Bus,采用默认值;对于老版本变频器,不用设置该参数(因为没有该参数),默认就是富士专用通信协议FGI-Bus;该程序为控制1台变频器的程序,如果要控制多台变频器,那么发送/接收/频率显示功能还需要进行相关处理--接收条件,频率显示对应的地址等。BEGINNetwork1//PORT1端口自由口通信初始化//首次扫描初始化PORT1通讯口;//SMB30控制PORT0通讯口的通信方式,SMB130控制PORT1通信口的通信方式;//SMB130的值为16#49,就是二进制的1001001;//SM130.0~SM130.1:01为自由口协议;//SM130.2~SM130.4:010为9600波特;//SM130.5:0为每个字符8个数据位;//SM130.6~SM130.7:01为偶校验;//PORT1自由口通信参数即为:9600,8,E,1,即9600波特,8个数据位,偶校验,1个停止位。//设置发送的数据字节数为16#10,就是十进制的16个Bytes。LDSM0.1MOVB16#49,SMB130MOVB16#10,VB10Network2//频率给定60HzLDI0.0EUBMBVB101,VB11,16Network3//正转运行LDI0.1反转运行LDI0.2EUBMBVB301,VB11,16Network5//停止LDI0.3EUBMBVB401,VB11,16Network6//读取当前运行频率//每0.5秒读一次;笔者建议该时间为0.5秒至1秒比较合适;//如果读取时间间隔太短(笔者以100mS为例),将影响其他信号(频率设置/正负转/停止指令)的发送--因为PLC频繁的去接收信息,而
本文标题:S7-200与富士G11P11系列变频器的通信实例
链接地址:https://www.777doc.com/doc-6447210 .html