摘要 随着计算机信息技术、传感器技术和PLC通讯技术的发展,利用PLC组建的自动生产线和智能生产监控系统,日益受到各个行业的产品生产工厂的青睐。本文所介绍松下PLC 的MEWNET模块的通讯方式,采用了RS232与PC-Link形式结合的方式:上位PC通过RS232与被设为主站的PLC连接,下位的各个PLC通过RS484以PC-Link的形式连接。这种结合方式的网络,在功能上克服了PC-Link模式下,下位PLC需要共享有限的链接继电器和链接寄存器空间,没办法满足需要同时采集、交换和处理大量数据的PLC网络的弊端;在成本上,远远低于以ET-LAN Unit模块为基础的以态网形式的PLC网络;而且该网络模式的上位机可在LabVIEW等软件的支持下构成实时监控界面、下载数据到PLC、到处报表等功能。该网络形式非常适合于生产企业建立监控系统,以实现在线半成本、成品的测试数据的统计和分析,提高产品质量稳定性,为企业带来良好的经济效益。 关键字: PLC监控 监控网络 PC-Link 目前,各大品牌的PLC都具有通讯功能,如松下PLC的FP2系列,可通过多种方式组成PLC网络,其中较为常用的网路形式是PC-link网络。不过现有的PLC还局限于逻辑控制与数据采集方面,其本身不具备数据分析能力,不能生产报表或创建数据库。因此,对于一个完整的自动化生产系统,或者一个完整的工控网络来说,上位组态可以说是必不可少的。而要实现上位机PC与PLC的大量数据交换,两者通讯问题是不可回避的。本文主要以松下FP2系列PLC的MEWNET(Multi-wire Link Unit)模块组网后再与上位PC实时通讯的问题展开讨论。 松下FP2系列PLC 支持多种组网方式,除松下公司内部通讯协议的一些组网方式,如PC-link,C-net,S-Link等外,还支持一些开放的通讯方式,如RS232、RS485、Porfubus以及以太网等。实际工作中,在组建PLC的监控网络时,要从网络的功能、通讯速度、成本、编程量以及网络维护等因素加以考虑,可选择单一通讯方式组网,也可采用多种通讯方式一起,组成能满足需求的网络。 要实现一台PC同时与多台松下FP2系列PLC通讯,以太网是最为简单可靠的方式,这种方式构成的网络,通讯速度较高,可以达到2Mbp/S的数据量,实时性较强、数据量较大,是一种较佳的组网方式;然而这种方式中,每个PLC都需增加上一个ET-LAN Unit模块, PC机需求的以太网接口也以相同数量增加。现市场上的ET-LAN Unit价格较高,从而整个网络造价较高;对一些数据实时性需求不那么高的场合,这种方式无疑是一种浪费。 FP2系列PLC的另一种组网方式 ―― PC-link连接,是先通过MEWNET(Multi-wire Link Unit)模块把各个PLC以RS485连接起来,设置不同的站号(站号可在有限范围内,任意不重复地设置),然后再通过编程软件 FPwin-GR给每个站号分配链接数据寄存器和链接继电器,以实现PLC与PLC之间的数据交换,PLC间的数据交换速度可达500Kbs。这种方式的PLC组,如果想实现与上位PC机的通讯,可任选一个PLC做主站(主站站号可在设置范围内任意设置),将主站的PLC的编程口或com1以RS-232与PC串口相连,由主站的PLC将其它站点上的数据集中到主站,并发送给PC,以实现PC与PLC组之间的数据交换,其速度可以达115.2Kbp/s。具体的各PLC间以PC-link连接后再通过RS232与PC连接的网络架构图,即PC-Link 与RS232组合的方式构成的监控网络,如图1-1 图1-1――PC通过RS232与主站连接,所有PLC通过RS485以PC-Link形式连接 以PC-Link 与RS232组合的方式构成的监控网络,从硬件上降低了网络的成本。但 PC-Link 组网形式下,各个PLC站点需要共享链接数据寄存器与链接继电器,而链接数据寄存器与链接继电器的数量很有限 ―― 链接数据寄存器总量只有128个字,链接继电器总量也只有64个字 ,因此,站点越多,每个站点能分配到的链接数据寄存器与链接继电器数量就越少。虽然在数据传输时可以用索引寄存器分时处理数据,但大量数据会拥挤在主站,占用大量的主站的内存,从而大大降低通讯效率,降低数据实时性。所以对于需要快速采集、交换和处理大量数据的PLC组态监控系统,这种处理法显然是不能满足要求的。 对于需要快速采集、交换和处理大量数据的PLC组态监控系统来说,要想利用这种低成本的PC-Link与RS232组合的方式,实现PLC监控,必须解决数据量的处理问题。 根据松下MEWNET模块的开放通讯协议《松下MEWTOCOL通讯协议》,可以轻松的读取与PC连接的以PC- Link 形式连接的各个PLC上的数据,包括直接通过RS232与PC连接的主站PLC和通过RS485连接的其他各站点PLC。 通讯格式“%01#RDD0000000026** 然而使用松下公司的编程软件FPWIN-GR,可以通过设定通讯站点,轻松地通过RS-232读取PC-link 网络各站点PLC的任何数据 ――包括RS484连接的各PLC。站点设置的方法如图1-2.1和1-2.2: 图1-2.1 通过点击“通讯站点指定”后就出现如图1-3: 图1-2.2 以上设置通讯站号的方法,可以轻松地通过RS-232读取PC-link 网络各站点PLC的任何数据,可实现程序的上下载,在线监控等。即,编程软件FPWIN-GR通过编程口以RS-232方式实现了对PC-Link网络其它站点PLC的通讯。也就是说,存在一种协议,可以使PC成功地读写PC-Link网络的各PLC的数据。只要破解此通讯协议,即可在编写组态监控系统时,使用该协议直接读取其它站点的数据,不需要再把其它站点的数据发送给主站,也不需要对站点上的数据作任何处理,从而提高了通讯速率,解决大量数据在主站拥挤,占用了主站大量的内存,数据实时性较差等问题。然而《松下MEWTOCOL通讯协议》对此并没有作任何说明,所以,要解决该通讯协议问题,需要截取编程软件FPWIN-GR在运行“通讯站号指定”,成功读取其他站点PLC时,与PC串口的通讯数据,进行分析。 为了了解FPWIN-GR在“通讯站号指定”时串口数据流,可以使用串口通讯数据监控软件PORTMON.EXE,通过以下操作截取:第一步,运行PORTMON.EXE,设置“与PLC通讯的串口进行监控”的各项参数;第二步,运行FPWIN-GR,确定PC与PLC能正常通讯后,指定通讯站点(如图:1-2.1,1-2.2);第三步,截取。通讯数据监控软件截取的界面如图1-3所示。 图1-3 在串口通讯数据截取界面上发现,在打开串口后,串口数据流有一串“%%EE#0C174.”并返回“%EE$0C72”“%EE#0C174.”在松下公司公开的《松下MEWTOCOL通讯协议》中并没有任何说明,该语句只在“通讯站号指定”设置时才会出现。为了验证“%EE#0C174”在解决PC读取除主站外的其他PLC时,为有效的通讯协议语句,进行以下操作:一,关闭FPWIN-GR,并关闭PC-Link的PLC网络的电源;二,重新上电,运行串口调试助手,发送“%01#RDD0000000026**\r”,结果返回“%01$RC021”(根据《松下MEWTOCOL协议》,“%01$RC021”表示读取指令执行成功);三,发送“%%EE#0C174” 返回“%EE$0C72”(结果与FPWIN-GR指定通讯站点读取其他站点PLC的方法中,串口调试助手所捕捉到的内容相同);四,利用串口调试助手发送“%02#WCSY0030**\r”后,2#的PLC的Y0051状态变亮,即对2站Y0051的写操作成功;五,再读取“02”站点其它数据寄存器的数据,触发内外继电器,结果都能实现,可以正常通讯;六,将“02”改为“03;04;05等”,分别读取其它站点的数据,结果都能一一实现正常通讯。即发送“%%EE#0C174”返回“%EE$0C72”,即可读取PC-Link网络上PLC的数据--不但可读取通过RS232直接与PC连接的PLC,而且还可读取PC-Link中,其他站点PLC的数据。 即,结论1:要通过RS-232直接读取PC-link网络的各个站点的PLC数据,需在读取其它站点前先发送字符串“%%EE#0C174 在实现与其它站点通讯后,发送“%01#RDD0000000026**\r”读取主站上的数据,结果返回错误代码“%01!2403”,证明与PC相连的站点——“01”站(主站),不能再以“%01#RDD0000000026**\r”的格式读取数据。此时断开PLC电源,再重新启动PLC。发送“%01#RDD0000000026**\r”结果有正常数据返回。由此可知,发送“%EE$0C72”,成功读写其他站点的PLC,开启了网络功能后,直接按照《松下MEWTOCOL协议》的格式,并不能读写与PC通过RS232相连的站号为01的PLC的站号,站号“01”失效。 为了解决这个问题,再次运行串口数据监控软件PORTMON.EXE与FPWIN-GR,如图1-2.1、图1-2.2,将“通讯站指定”选择“01站点”也就是与PC连接的PLC站号,FPWIN-GR会出现如图1-4的警告信息: 图1-4 警告信息显示此时与PLC通讯出现错误,与截取的到的错误代码“%01!2403”一致,均表示为传输格式错误。将“通讯站点指定”指回“本站”实现正常通讯,截取到的数据如图1-5 图1-5 通过多次试验发现,使用FPWIN-GR读写本站PLC数据时,出现的通讯语句是以“%EE#……”开头的,并不是《松下MEWTOCOL通讯协议》中陈述的以主站号为代码为开头的。“%01#……”。 为验证“EE”是否为这种网络模式下的有效主站站号,将原的“%01#RDD0000000026**\r”改成“%EE#RDD0000000026**\r”尝试读取主站站点数据,结果为正常返回数据,也就说可以读取源站数据,再将“%EE#RDD0000000026**\r”改为“%02#RDD0000000026**\r”也可以读取“02”站点数据,将“02”改为“03;04;05等,分别读取其它站点的数据,结果都能一一实现正常通讯。 通过进一步的实验验证,无论是01站,还是02、03站直接通过RS232与PC连接,在该网络形式下,需要将源站站号改为“EE”,才可以实现与PC的通讯。由此可得以下结论, 结论2:在发送“%EE#0C174 综合了以上试验结果,以松下FP2系列PLC的MEWNET(Multi-wire Link Unit)模块组网的PLC监控网络,需要用 “%EE#0C174 5. 参考资料: 1) 《松下MEWTOCOL通讯协议》 2) 《FP2和FP2SH硬件手册》 3) 《FP2串口数据单元硬件手册》 4) 《FP2计算机通讯模块硬件手册》 |
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
网友评论
匿名:
最新反馈
- 暂无反馈
无须注册,轻松沟通