6ES7222-1HF22-0XA8使用选型
目前,各dapinpai的PLC都具有通讯功能,如松下PLC的FP2系列,可通过多种方式组成PLC网络,其中较为常用的网路形式是PC-bbbb网络。不过现有的PLC还局限于逻辑控制与数据采集方面,其本身不具备数据分析能力,不能生产报表或创建数据库。因此,对于一个完整的自动化生产系统,或者一个完整的工控网络来说,上位组态可以说是必不可少的。而要实现上位机PC与PLC的大量数据交换,两者通讯问题是不可回避的。本文主要以松下FP2系列PLC的MEWNET(Multi-wire bbbb Unit)模块组网后再与上位PC实时通讯的问题展开讨论。
松下FP2系列PLC 支持多种组网方式,除松下公司内部通讯协议的一些组网方式,如PC-bbbb,C-net,S-bbbb等外,还支持一些开放的通讯方式,如RS232、RS485、Porfubus以及以太网等。实际工作中,在组建PLC的监控网络时,要从网络的功能、通讯速度、成本、编程量以及网络维护等因素加以考虑,可选择单一通讯方式组网,也可采用多种通讯方式一起,组成能满足需求的网络。
要实现一台PC同时与多台松下FP2系列PLC通讯,以太网是为简单可靠的方式,这种方式构成的网络,通讯速度较高,可以达到2Mbp/S的数据量,实时性较强、数据量较大,是一种较佳的组网方式;然而这种方式中,每个PLC都需增加上一个ET-LAN Unit模块, PC机需求的以太网接口也以相同数量增加。现市场上的ET-LAN Unit价格较高,从而整个网络造价较高;对一些数据实时性需求不那么高的场合,这种方式无疑是一种浪费。
FP2系列PLC的另一种组网方式 ―― PC-bbbb连接,是先通过MEWNET(Multi-wire bbbb 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-bbbb连接后再通过RS232与PC连接的网络架构图,即PC-bbbb 与RS232组合的方式构成的监控网络,如图1-1
图1-1――PC通过RS232与主站连接,所有PLC通过RS485以PC-bbbb形式连接
以PC-bbbb 与RS232组合的方式构成的监控网络,从硬件上降低了网络的成本。但 PC-bbbb 组网形式下,各个PLC站点需要共享链接数据寄存器与链接继电器,而链接数据寄存器与链接继电器的数量很有限 ―― 链接数据寄存器总量只有128个字,链接继电器总量也只有64个字 ,因此,站点越多,每个站点能分配到的链接数据寄存器与链接继电器数量就越少。虽然在数据传输时可以用索引寄存器分时处理数据,但大量数据会拥挤在主站,占用大量的主站的内存,从而大大降低通讯效率,降低数据实时性。所以对于需要快速采集、交换和处理大量数据的PLC组态监控系统,这种处理法显然是不能满足要求的。
对于需要快速采集、交换和处理大量数据的PLC组态监控系统来说,要想利用这种低成本的PC-bbbb与RS232组合的方式,实现PLC监控,必须解决数据量的处理问题。
根据松下MEWNET模块的开放通讯协议《松下MEWTOCOL通讯协议》,可以轻松的读取与PC连接的以PC- bbbb 形式连接的各个PLC上的数据,包括直接通过RS232与PC连接的主站PLC和通过RS485连接的其他各站点PLC。 通讯格式“%01#RDD0000000026**”表示读取站点“01”上的数据寄存器“DT0”到“DT26”上的数据,而“01”表示与PC相连接的PLC,也就是主站站号(注意:“”为“carriage return”,是“回车”符,即字符串“\r”)。根据《松下MEWTOCOL通讯协议》,把站号代码“01”改为“02”,即可以读写站点“02”上的数据,但实际读取的结果是没有任何信息返回。再尝试其它站点,如“03、04、05……”结果是相同的。也就是说,通过PS232只能读取PC-bbbb中与PC直接连接的PLC的数据(该PLC在此处被设为01站),并不能读取PC-bbbb 网络中,通过RS485连接的各站点PLC的数据。
然而使用松下公司的编程软件FPWIN-GR,可以通过设定通讯站点,轻松地通过RS-232读取PC-bbbb 网络各站点PLC的任何数据 ――包括RS484连接的各PLC。站点设置的方法如图1-2.1和1-2.2:
图1-2.1
通过点击“通讯站点指定”后就出现如图1-3:
图1-2.2
以上设置通讯站号的方法,可以轻松地通过RS-232读取PC-bbbb 网络各站点PLC的任何数据,可实现程序的上下载,在线监控等。即,编程软件FPWIN-GR通过编程口以RS-232方式实现了对PC-bbbb网络其它站点PLC的通讯。也就是说,存在一种协议,可以使PC成功地读写PC-bbbb网络的各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-bbbb的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-bbbb网络上PLC的数据--不但可读取通过RS232直接与PC连接的PLC,而且还可读取PC-bbbb中,其他站点PLC的数据。
即,结论1:要通过RS-232直接读取PC-bbbb网络的各个站点的PLC数据,需在读取其它站点前先发送字符串“%%EE#0C174”, 并正常返回“%EE$0C72.”,触发开启网络功能。。但要注意,此功能非断电保持,PLC在每次断电重新启动后要再次发送此字符串,才能读写其它站点数据。
在实现与其它站点通讯后,发送“%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”,启用了网络通讯功能后,不能再用主站站号作读写操作的站号代码,如“%01#……”读写主站数据,要以“%EE#……”代替主站站号,才能实现与其通讯。经过试验还发现,在开启网络功能后,只要将与PC通过RS232连接的PLC的站号设为EE,无论该站是原来的02、03还是04站, PC都可直接读写该PLC。即图1-1所示的PLC网络中,需要输入指令“%EE#0C174”,PC才可以直接读写除本站外的PLC,而本站的PLC在开启网络功能后,需要将本站站号设为EE,才可以继续读写本站。
综合了以上试验结果,以松下FP2系列PLC的MEWNET(Multi-wire bbbb Unit)模块组网的PLC监控网络,需要用 “%EE#0C174”语句开启网络通讯功能,以读取主站之外的PLC数据,而主站PLC的站号,在开启网络通讯功能后,需要将主板站号设为EE,才可以再次对主站PLC读写,以便实现对整个网络的PLC的数据的读写等操作。 该网络可以通过VB、VC、Labview 等编程软件通讯程序的支持,实现与PC-bbbb形式的 的PLC的通讯。再与其它成熟的组态软件组成二次开发,便可实现功能强大的组态监控系统,该类系统可实现实时监控界面、快速采集、交换和处理大量数据、下载数据到PLC、导出报表等功能,而且硬件成本较,适合于生产企业建立监控系统,以实现在线半成品、成品的测试数据的统计和分析,提高产品质量稳定性,为企业带来良好的经济效益。
欧姆龙PLC过程控制系统提供了从简单回路控制到先进过程控制的各种功能,将DCS功能内置于PLC中,使用梯形图(顺序表)、功能块的方法编程,支持NS触摸屏画面自动创建,支持组态软件OPC数据库自动导入,支持冗余,具有小型化、快速性、可扩展性、编程工程量小、可靠性高等特点。
欧姆龙PLC过程控制系统的构成如下:
回路控制板/单元、过程控制CPU单元、回路控制CPU单元本身不带输入、输出,必须和基本I/O单元、模拟量I/O单元、过程I/O单元、通讯单元等结合使用,可构成20个回路10ms~250个
回路0.5s(运算周期)的快速过程控制系统。(以上运算周期是按一般情况得出的,即一个回路由Ai4 端子+线性化功能块+基本PID+Ao4 端子构成。)
NS触摸屏中有关过程控制的画面可用CX-One中的Face Plate Auto-Builder for NS自动生成,回路控制板/单元可用CX-One中的CX-Process Tool编程、过程I/O单元可用CX-One中的CX-Programmer设置。回路控制板/单元、过程I/O单元特点分别如下:
塑料大棚膜挤出机将塑料颗粒电加热,用螺杆经机头吹塑成塑料薄膜,要求实现高精度温度控制。某塑料大棚膜挤出机使用33个回路的加热控制及27个回路的加热冷却分散控制。利用电加热,风机吹风冷却,通过控制连接电热器及风机的接触器的吸合时间(占空比)来达到温控效果。 使用产品如下表:
序号 | 产品 | 数量 | 说明 |
1 | CJ1G-CPU45P | 1 | 使用顺序控制功能,回路控制功能,可控制150个回路 |
2 | CJ1W-AD081-V1 | 1 | 8路模拟量输入模块 |
3 | CJ1W- DA08V | 1 | 8路模拟量输出模块 |
4 | CJ1W- ID232 | 2 | 32点开关量输入单元 |
5 | CJ1W- OC211 | 4 | 16点继电器输出单元 |
6 | CJ1W- DRM21 | 1 | DeviceNet主站单元 |
7 | DRT2-TS04T | 15 | 分散的DeviceNet温度采集单元 |
8 | DRT2-OD16 | 8 | 16点晶体管输出单元 |
9 | DRT2-ID16 | 3 | 16点开关量输入单元 |
10 | NS10-V2 | 1 | 触摸屏 |
加热冷却控制的功能块图如下:
使用回路控制CPU单元,实现了jingque的温度控制,改善了吹塑薄膜的质量。