S7200CPU226CN与富士G11P11系列变频器地通信实例.doc
《S7200CPU226CN与富士G11P11系列变频器地通信实例.doc》由会员分享,可在线阅读,更多相关《S7200CPU226CN与富士G11P11系列变频器地通信实例.doc(24页珍藏版)》请在三一文库上搜索。
1、word这个PLC程序中,我采用了另一种思维方法。.普通的思维方法是:要发送数据时,用MOVB指令把数据写入发送缓冲区;这样发送不同的数据时需要写很多的MOVB指令,程序看来比拟复杂,有点头晕。.这个程序的思维方法是:有多少种命令,把发送数据全部在数据块中写入相应的存储区。程序中需要发送某个指令的时候把对应存储区的数据直接COPY到发送缓冲区;这样发送不同的数据时仅需要几个BLK_MOVB指令,不需要写很多的MOVB指令,程序看来比拟简洁。博客播客 引用 加为好友 发送消息 回复老菜鸟 3楼 回复时间:2008-11-30 20:53:07 下面是数据块的内容:博客播客 引用 加为好友 发送消
2、息 回复老菜鸟 4楼 回复时间:2008-11-30 20:55:13 下面是主程序的内容:博客播客 引用 加为好友 发送消息 回复老菜鸟 5楼 回复时间:2008-11-30 20:58:06 我都发这么多图片了,不填满10个字硬是不准我发送,汗!博客播客 引用 加为好友 发送消息 回复老菜鸟 6楼 回复时间:2008-11-30 21:00:22 对了,你们说每个回帖最多可以发多少X图片呀?博客播客 引用 加为好友 发送消息 回复老菜鸟 7楼 回复时间:2008-11-30 21:02:01 下面是中断子程序中断号26是发送完成中断的内容:博客播客 引用 加为好友 发送消息 回复老菜鸟 8
3、楼 回复时间:2008-11-30 21:03:59 至此,贴图完毕,请提出意见和建议。 博客播客 引用 加为好友 发送消息 回复kfhzy 9楼 回复时间:2008-12-1 15:32:05 顶了!博客播客 引用 加为好友 发送消息 回复老菜鸟 10楼 回复时间:2008-12-1 20:11:01 终于有人顶了,多谢! 博客播客 引用 加为好友 发送消息 回复panlingfeng123 11楼 回复时间:2008-12-1 23:13:49 奇人呀,我顶大力点顶!博客播客 引用 加为好友 发送消息 回复7922 12楼 回复时间:2008-12-3 15:37:42 强 ,高手啊,请问
4、S7-300的通信程序如何做,接其他带通信接口的仪表啊博客播客 引用 加为好友 发送消息 回复学为毋庸 13楼 回复时间:2008-12-5 15:05:11 强 ,高手啊,请问S7-300的通信程序如何做,和西门子变频器通讯怎么做?博客播客 引用 加为好友 发送消息 回复wxgg 14楼 回复时间:2008-12-12 0:20:13 顶了!多谢! 博客播客 引用 加为好友 发送消息 回复老愚者 15楼 回复时间:2008-12-12 11:33:04 不错,LZ好心.博客播客 引用 加为好友 发送消息 回复自动化PLC 16楼 回复时间:2008-12-12 23:00:38 学习下了 谢
5、谢!。. 博客播客 引用 加为好友 发送消息 回复X智勇 17楼 回复时间:2008-12-15 5:56:45 谢谢了西门子与变频器通讯比三菱的简单博客播客 引用 加为好友 发送消息 回复振翅雄鹰 18楼 回复时间:2008-12-16 19:12:50 学习中 顶 博客播客 引用 加为好友 发送消息 回复guafa58 19楼 回复时间:2008-12-17 12:39:59 学习啊,很不错的啊,通讯还是很值得学习的啊 博客播客 引用 加为好友 发送消息 回复X智勇 20楼 回复时间:2008-12-17 15:01:29 为了方便学习,我把“老菜鸟的以上内容字直接用文本的形式保存,可以直
6、接导入到西门子编程软件里面试验与富士变频器通信。闲事准备与我公司的富士变频器通信试验。“再把“的后缀名修改为“后保存。打开西门子编程软件,点击“文件/“导入找到自己保存的“后导入即可。再把上面的蓝色数据块内容复制保存一个“,打开编程软件的数据块后点击“文件/“导入找到自己保存的“后导入。注意内容不要遗漏 ORGANIZATION_BLOCK 主程序:OB1 TITLE=S7-200 CPU2266ES7216-2AD23-0XB8通过自由口通信控制富士FRN3.7G11S-4CX型变频器序列号FEA032G00370-1-072; / 本程序采用PORT1端口与变频器通信,把PORT0端口留给
7、PLC与其编程软件STEP 7 MicroWIN进展通信,以便实时监测PLC的数据变化; / 实际上,早期的G11不支持Modbus通讯,通讯使用富士电机自己的协议在其RS485接口手册上有详细的指令格式。从06年开始,G11支持了Modbus通讯,通过用户在变频器参数U49中选择是采用富士电机协议FGI-Bus还是采用Modbus RTU协议。不过,笔者的这台富士变频器太老,不支持Modbus RTU协议,所以就采用自由口通信来控制这台富士FRN3.7G11S-4CX型变频器; / 虽然MODBUS RTU模式通信相对而言比拟简单,不过快乐到自由口通信应用更为广泛和灵活,该程序的自由口通信也
8、比拟有参考价值。 / 变频器参数设置:与通讯有关的主要参数设置如下所诉如果变频器通信过程中存在问题无法按设定频率运行等,怀疑其他参数还有问题,那么请将参数初始化参数H03,同时按STOP键和上键设为1,再按FUNC/DATA键确认以后再来设定以下参数。 / 变频器地址设置为2,通讯格式设置为9600bps,8位数据,E偶校验,1个停止位: / F01:频率设定1;默认为0,采用默认值; / H30:功能通信功能;默认为0,现设置为3RS485设定有效,运行命令有效; / H31:RS485地址;默认为1,现设置为2; / H32:故障处理;默认为0立即Er8跳闸,采用默认值; / H33:定时
9、时间通信故障后,再定时时间内继续运行;默认为2.0秒,采用默认值; / H34:通信传送速度波特率;默认为19600bit/s,采用默认值; / H35:数据长度:默认值08位数据,采用默认值 / H36:奇偶校验;默认值0无奇偶校验,现设置为1偶校验; / H37:停止位;默认值02个停止位,现设置为11个停止位; / H49:RS485协议;默认为0富士专用通信协议FGI-Bus,采用默认值;对于老版本变频器,不用设置该参数因为没有该参数,默认就是富士专用通信协议FGI-Bus;该程序为控制1台变频器的程序,如果要控制多台变频器,那么发送/接收/频率显示功能还需要进展相关处理接收条件,频率
10、显示对应的地址等。 BEGIN Network 1 / PORT1端口自由口通信初始化 / 首次扫描初始化PORT1通讯口; / SMB30控制PORT0通讯口的通信方式,SMB130控制PORT1通信口的通信方式; / SMB130的值为16#49,就是二进制的1001001; / SM130.0SM130.1:01为自由口协议; / SM130.2SM130.4:010为9600波特; / SM130.5:0为每个字符8个数据位; / SM130.6SM130.7:01为偶校验; / PORT1自由口通信参数即为:9600,8,E,1,即9600波特,8个数据位,偶校验,1个停止位。 /
11、设置发送的数据字节数为16#10,就是十进制的16个Bytes。 LD SM0.1 MOVB 16#49, SMB130 MOVB 16#10, VB10 Network 2 / 频率给定60Hz LD I0.0 EU BMB VB101, VB11, 16 Network 3 / 正转运行 LD I0.1 EU BMB VB201, VB11, 16 Network 4 / 反转运行 LD I0.2 EU BMB VB301, VB11, 16 Network 5 / 停止 LD I0.3 EU BMB VB401, VB11, 16 Network 6 / 读取当前运行频率 / 每0.5秒
12、读一次;笔者建议该时间为0.5秒至1秒比拟适宜; / 如果读取时间间隔太短笔者以100mS为例,将影响其他信号频率设置/正负转/停止指令的发送因为PLC频繁的去接收信息,而接收没有完成的情况下又不能发送指令此时频率设置/正负转/停止指令无效;只有等到接收完成后,才可以接收其他指令,可是在很短的时间后又开始下一次发送频率读取指令了,这个时间间隔很短经常引起频率设置/正负转/停止指令无效。 / 如果读取间隔时间很短笔者以100mS为例测试,采用串口调试助手,也会导致该富士变频器响应跟不上,变频器经常输出错误信息。如果PLC接收到错误消息,也就失去了快速监测的意义了。当读取间隔时间增大到200mS,
13、就没发现有错误信息了。 LD SM0.0 LPS AN T37 TON T37, 5 LPP A T37 BMB VB501, VB11, 16 Network 7 / 在发送数据前中断接收工作;如果不这样做,一旦遇上PLC工作中出现通讯线断开以后再连接上的情况,PLC将无法发送数据,无法执行控制指令。更具体的说明,请参阅PORT1通讯口接收信息控制程序段的注释; / 从指定的PORT1端口发送数据缓冲区TBL的数据,TBL的第一个数据本例为VB10指明了发送的字节数本例为16,即VB11VB26; LD I0.1 O I0.2 O I0.3 O T37 EU R SM187.7, 1 RCV
14、 VB601, 1 XMT VB10, 1 Network 8 / 首次扫描;定义PORT1发送完成中断服务为INT-0; / 全局中断允许。 LD SM0.1 ATCH INT0, 26 ENI Network 9 / 通讯口接收信息控制 / 初始化接收信息控制字节SMB187:16#B0即二进制11010000;使能RCV;检测信息起始字符;检测空闲线信息条件;设置检测起始字符来判断接收开始,检测空闲线超时来判断接收完毕; / 初始化接收信息控制字节SMB187:16#9C即二进制10011100;用任意字符开始一条信息允许使用信息定时器,来监控信息接收是否超时。这对于自由口协议的主站是非
15、常有用的,并且当在指定时间内,没有来自从站的任何响应的情况,也需要采取超时处理。对于空闲线时间设置为0,当接收指令执行时,信息定时器启动。如果没有其他终止条件满足,信息定时器超时会接收接收信息功能。设置:il1,sc0,bk0,SMW90/SMW190=0,SMB88/SMB188被忽略,c/m1,tmr1,SMW92/SMW192信息超时时间,单位为毫秒。信息定时器的典型值是在当前波特率下,接收到最长信息所需时间值的大约1.5倍。 / 用户接收:用户可以通过程序来完毕接收信息功能,先将SMB87或SMB187中的使能位置为0,再次执行接收指令即可。这样可以立即终止接收信息功能。 / 关于通信
16、超时的问题,在SM187.2设为1的时候,并不是超过SMW192的时间值即终止接收,而是只有接收到首字符后未能在规定时间内完成接收才可以自动终止接收,如果收不到首字符,RCV将一直保持有效。解决方法:如果要停止RCV,需要复位相应的SM187.7,但是需要执行一次RCV才能有效,因为只有新的RCV指令CPU才去读SMB。所以,无论怎么设置SMB187,一旦运行中通讯线断开,RCV就可能一只在执行,因此在发送指令前必须先禁止接收将SM187.7复0然后执行RCV指令,RCV指令执行时将会检测SM87.7的状态,当发现SM87.70时,即停止端口1的接收。在使用XMT指令前,首先执行R SM87.
17、7,1;RCV VB100,0两条指令VB100可以换成其他地址; / 设定信息起始字符为16#01; / SMB190设置空闲线超时; / SMB194设置接收的最大字符为16个字节; / 接收信息控制字节en sc ec il c/m tmr bk 0 / en:0禁止接收信息功能。1允许接收信息功能。每次执行RCV指令时检查允许/禁止接收信息位。 / Sc:0忽略SMB88或SMB188。1使用SMB88或SMB188的值检测起始信息。 / Ec:0忽略SMB89或SMB189。1使用SMB89或SMB189的值检测完毕信息。 / il:0忽略SMW90或SMW190。1使用SMW90或
18、SMW190的值检测空闲状态。 / c/m:0定时器是内字符间定时器。1定时器是信息定时器。 / Tmr:0忽略SMW92或SMW192。1当SMW92或SMW192中的定时时间超出时终止接收。 / Bk:0忽略中断条件。1用中断条件作为信息检测的开始。 LD SM0.1 MOVB 16#9C, SMB187 MOVW 16#1, SMW188 MOVW 0, SMW190 MOVB 255, SMB192 MOVB 16, SMB194 Network 10 / 变频器输出频率计算 / 只有VB=16#4D时,接收到的数据才是变频器返回的频率数据; / 根据RCV接收指令和富士专用通信协议F
19、GI-Bus可知,VB610613的数据就是当前频率值。 / 把字节转换为整数; / 把ASCII代码数值转换为16进制数; LD SM187.7 AB= VB607, 16#4D LPS BTI VB611, VW810 BTI VB612, VW812 BTI VB613, VW814 BTI VB614, VW816 AW VW810, 16#40 MOVW VW810, VW820 -I 16#37, VW820 LRD AW VW812, 16#40 MOVW VW812, VW822 -I 16#37, VW822 LRD AW VW814, 16#40 MOVW VW814, V
20、W824 -I 16#37, VW824 LRD AW VW816, 16#40 MOVW VW816, VW826 -I 16#37, VW826 Network 11 / 把这些16进制数组合起来并转换成实数; LD SM187.7 AB= VB607, 16#40 MOVW VW820, VW830 *I 16#1000, VW830 MOVW VW822, VW832 *I 16#0100, VW832 MOVW VW824, VW834 *I 16#10, VW834 MOVW VW830, VW840 +I VW832, VW840 MOVW VW840, VW842 +I VW8
21、34, VW842 MOVW VW842, VW844 +I VW826, VW844 ITD VW844, VD846 DTR VD846, VD850 Network 12 LD SM187.7 AB= VB607, 16#40 MOVR VD850, VD888 /R 100.0, VD888 END_ORGANIZATION_BLOCK SUBROUTINE_BLOCK SBR_0:SBR0 TITLE=子程序注释 BEGIN Network 1 / 网络标题 / 网络注释 END_SUBROUTINE_BLOCK INTERRUPT_BLOCK 发送完成中断:INT0 TITLE=下
22、面是中断子程序中断号26是发送完成中断的内容: BEGIN Network 1 / 发送完成中断 / 从指定的PORT端口接收数据缓冲区TBL的数据,TBL的第1个数据本例为VB601指明了接收的字符数; / 在接收的时候有个问题需要说明一下,因为接收的控制字设置中启动了空闲线检测,所以SMW190设置的时间没用也就是说,只要没检测到完毕字符,不会因为超时而终止接收。而在实际的测试中,也印证了上面的说法:在上例中,只要接收时没用接收到完毕字符,而且接收到的字节也不够,那么PLC不会因为没有接收到信息而超时停止接收此时,虽然RCV指令已经断开,但因为接收没有完成,它仍然在执行接收操作。此时如果执
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- S7200CPU226CN 富士 G11P11 系列 变频器 通信 实例
