使用市售 USB转RS232串口与PLC通信的测试报告(转载)
新的笔记本基本上已没有RS-232串口了,取而代之的是USB接口,而工控产品又大都使用232口.由此便出现了USB----RS232转换器.不料却让人大失所望.您有如此感受吗?(以下转载)希望能对受此困惑者以帮助!
使用市售 USB转RS232串口与PLC通信的测试报告
德阳四星电子技术开发中心 2005-4-14
USB ( Universal Serial Bus ,中文名 “ 通用串行总线 ” )以其即插即用和热插拔等诸多优点得到了广泛的应用,正在迅速地替代传统的 RS232 串口(俗称 COM 口),市场调查表明,现在 90% 的笔记本电脑和 50% 的台式电脑已取消了 RS232 口的配置,转而将 USB 口作为标准配置。可以预测,今后的个人电脑将不会再配置 RS232 口了!
我们的工控设备如 PLC 和一些传统设备如 MODEM 、条码读入器、手机等仍然在使用 RS232 、 RS422 、 RS485 等传统的接口,个人电脑的 USB 口要与这些设备连接通信必然要经过 USB 到 RS232 的转换,目前已有多种 USB 到 UART 的转换芯片,市场上出售的 USB 转 RS232 产品更是多达上百种型号,价格从 30 ~ 200 多元不等(欧姆龙的 USB 转 RS232 产品价格高达上千元)。工作原理大致相同:采用单片 USB 到 UART 的转换芯片或采用 USB 接口芯片和单片机将 USB 协议转换成 TTL 电平的 UART 协议,再由 RS232 接口芯片将 TTL 电平转换成 RS232 标准电平,电脑上安装相应的驱动程序将 USB 扩展成 COM 口( RS232 ),这样一来就可使用原来的通信程序与传统设备通信了。
许多用户反映采用市售的 USB 转 RS232 再用传统的 PLC 编程电缆连接 PLC 通信时出现诸多问题,为此我们购买了二十多种不同型号的 USB 转 RS232 产品,用 PLC 编程电缆与不同品牌型号的 PLC 作了测试,其测试结果分类如下:
测试所用 PLC :西门子 S7-300 、 S7-200 、 LOGO !,三菱 FX 、 A ,欧姆龙 CQM1 , GE 90-30 ,松下 FP3 ,富士 NB0 ,施耐德 Neza 。
A 类 USB 转 RS232
PLC 编程软件 操作系统 测试结果
GE IC693CPU311Y CIMPLICITY ME V5.0 WinXP OK
GE IC693CPU311Y CIMPLICITY ME V5.0 Win2000 OK
GE IC693CPU311Y CIMPLICITY ME V5.0 Win98 失败
GE IC693CPU311Y LM90 V9.0 DOS 失败
三菱 A1SCPU GPP V40E WinXP OK
三菱 A1SCPU GPP V40E Win2000 OK
三菱 A1SCPU GPP V40E Win98 失败
三菱 A1SCPU MEDOC V2.3 DOS 失败
三菱 FX2 GPP V40E WinXP OK
三菱 FX2 GPP V40E Win2000 OK
三菱 FX2 GPP V40E Win98 失败
三菱 FX2 MEDOC V2.3 DOS 失败
西门子 LOGO ! LOGO! Soft V4.0 WinXP OK
西门子 LOGO ! LOGO! Soft V4.0 Win2000 OK
西门子 LOGO ! LOGO! Soft V4.0 Win98 失败
西门子 S7-200 STEP7 Micro/Win V3.2 WinXP 上、下载OK,找不到PLC
西门子 S7-200 STEP7 Micro/Win V3.2 Win2000 上、下载OK,找不到PLC
西门子 S7-200 STEP7 Micro/Win V3.2 Win98 上、下载OK,找不到PLC
西门子 S7-300 STEP7 V5.2 WinXP 失败
西门子 S7-300 STEP7 V5.2 Win2000 失败
西门子 S7-300 STEP7 V5.2 Win98 失败
欧姆龙 CQM1 CX-P V1.2 WinXP OK
欧姆龙 CQM1 CX-P V1.2 Win2000 OK
欧姆龙 CQM1 CX-P V1.2 Win98 OK
富士 NB0 Flex V1.0 WinXP OK
富士 NB0 Flex V1.0 Win2000 OK
富士 NB0 Flex V1.0 Win98 OK
松下 FP3 FPSOFT V1.1 WinXP OK
松下 FP3 FPSOFT V1.1 Win2000 OK
松下 FP3 FPSOFT V1.1 Win98 失败
施耐德 Neza Uni-Telway V1.6 WinXP 失败
施耐德 Neza Uni-Telway V1.6 Win2000 失败
施耐德 Neza Uni-Telway V1.6 Win98 失败
台达 DVP 系列 PLC WPLSoft V2.03 WinXP OK
台达 DVP 系列 PLC WPLSoft V2.03 Win2000 OK
台达 DVP 系列 PLC WPLSoft V2.03 Win98 OK
B 类 USB 转 RS232
PLC 编程软件 操作系统 测试结果
GE IC693CPU311Y CIMPLICITY ME V5.0 WinXP 失败
GE IC693CPU311Y CIMPLICITY ME V5.0 Win2000 失败
GE IC693CPU311Y CIMPLICITY ME V5.0 Win98 失败
GE IC693CPU311Y LM90 V9.0 DOS 失败
三菱 A1SCPU GPP V40E WinXP OK
三菱 A1SCPU GPP V40E Win2000 OK
三菱 A1SCPU GPP V40E Win98 OK
三菱 A1SCPU MEDOC V2.3 DOS 失败
三菱 FX2 GPP V40E WinXP 失败
三菱 FX2 GPP V40E Win2000 失败
三菱 FX2 GPP V40E Win98 失败
三菱 FX2 MEDOC V2.3 DOS 失败
西门子 LOGO ! LOGO! Soft V4.0 WinXP 下载 OK ,上载失败
西门子 LOGO ! LOGO! Soft V4.0 Win2000 下载 OK ,上载失败
西门子 LOGO ! LOGO! Soft V4.0 Win98 失败
西门子 S7-200 STEP7 Micro/Win V3.2 WinXP OK
西门子 S7-200 STEP7 Micro/Win V3.2 Win2000 OK
西门子 S7-200 STEP7 Micro/Win V3.2 Win98 OK
西门子 S7-300 STEP7 V5.2 WinXP OK
西门子 S7-300 STEP7 V5.2 Win2000 OK
西门子 S7-300 STEP7 V5.2 Win98 失败
欧姆龙 CQM1 CX-P V1.2 WinXP 失败
欧姆龙 CQM1 CX-P V1.2 Win2000 失败
欧姆龙 CQM1 CX-P V1.2 Win98 失败
富士 NB0 Flex V1.0 WinXP OK
富士 NB0 Flex V1.0 Win2000 OK
富士 NB0 Flex V1.0 Win98 失败
松下 FP3 FPSOFT V1.1 WinXP OK
松下 FP3 FPSOFT V1.1 Win2000 OK
松下 FP3 FPSOFT V1.1 Win98 失败
施耐德 Neza Uni-Telway V1.6 WinXP 失败
施耐德 Neza Uni-Telway V1.6 Win2000 失败
施耐德 Neza Uni-Telway V1.6 Win98 失败
台达 DVP 系列 PLC WPLSoft V2.03 WinXP 失败
台达 DVP 系列 PLC WPLSoft V2.03 Win2000 失败
台达 DVP 系列 PLC WPLSoft V2.03 Win98 失败
C 类 USB 转 RS232
PLC 编程软件 操作系统 测试结果
GE IC693CPU311Y CIMPLICITY ME V5.0 WinXP 失败
GE IC693CPU311Y CIMPLICITY ME V5.0 Win2000 失败
GE IC693CPU311Y CIMPLICITY ME V5.0 Win98 失败
GE IC693CPU311Y LM90 V9.0 DOS 失败
三菱 A1SCPU GPP V40E WinXP 失败
三菱 A1SCPU GPP V40E Win2000 失败
三菱 A1SCPU GPP V40E Win98 失败
三菱 A1SCPU MEDOC V2.3 DOS 失败
三菱 FX2 GPP V40E WinXP OK
三菱 FX2 GPP V40E Win2000 OK
三菱 FX2 GPP V40E Win98 OK
三菱 FX2 MEDOC V2.3 DOS 失败
西门子 LOGO ! LOGO! Soft V4.0 WinXP OK
西门子 LOGO ! LOGO! Soft V4.0 Win2000 OK
西门子 LOGO ! LOGO! Soft V4.0 Win98 OK
西门子 S7-200 STEP7 Micro/Win V3.2 WinXP 失败
西门子 S7-200 STEP7 Micro/Win V3.2 Win2000 失败
西门子 S7-200 STEP7 Micro/Win V3.2 Win98 失败
西门子 S7-300 STEP7 V5.2 WinXP 失败
西门子 S7-300 STEP7 V5.2 Win2000 失败
西门子 S7-300 STEP7 V5.2 Win98 失败
欧姆龙 CQM1 CX-P V1.2 WinXP OK
欧姆龙 CQM1 CX-P V1.2 Win2000 OK
欧姆龙 CQM1 CX-P V1.2 Win98 OK
富士 NB0 Flex V1.0 WinXP 失败
富士 NB0 Flex V1.0 Win2000 失败
富士 NB0 Flex V1.0 Win98 失败
松下 FP3 FPSOFT V1.1 WinXP OK
松下 FP3 FPSOFT V1.1 Win2000 OK
松下 FP3 FPSOFT V1.1 Win98 失败
施耐德 Neza Uni-Telway V1.6 WinXP 失败
施耐德 Neza Uni-Telway V1.6 Win2000 失败
施耐德 Neza Uni-Telway V1.6 Win98 失败
台达 DVP 系列 PLC WPLSoft V2.03 WinXP OK
台达 DVP 系列 PLC WPLSoft V2.03 Win2000 OK
台达 DVP 系列 PLC WPLSoft V2.03 Win98 失败
从以上测试结果可以看出,不同的 USB 转 RS232 产品支持的 PLC 通信结果是不同的,其原因主要有以下几点:
• USB 转 UART 芯片与电脑中运行的驱动程序提供的是仿真串口(或称虚拟串口),并未做到将 USB 模拟成“物理的 UART 串口”,所以不支持串口本身的纯硬件操作,如直接读写硬件寄存器的操作。
• 芯片所支持的 UART 数据格式(数据位、校验位、停止未等)与编程软件通信的数据格式不同,或芯片的缓冲区太小造成数据溢出。
• 编程软件的通信程序编写方式不同造成通信失败,电脑插上 USB 转 RS232 后,在驱动程序的管理下虽然在在 Windows 的设备管理器中出现了 COM 口,但这只是软件虚拟的 RS232 口,通信程序须通过较上层的系统调用来读写该口,如采用直接读写该口的物理寄存器的方式也许就访问不到物理地址。
• 有些 USB 转 UART 芯片的缓冲区较小,通信程序也许需插入一定的等待延时或进行流控管理。
• 驱动程序与操作系统的配合问题,早期的 Win98 系统支持 USB 要差一些。
• USB 转 UART 芯片升级后,由于价格降低,芯片简化造成通信失败,如 PL2303 芯片原来支持与三菱 FX 和 A 系列 PLC 通信,升级后的芯片 PL-2303HX 则不能与 A 系列通信。
• 有些 PLC (如施耐德)支持 USB 转 RS232 通信的通信方式,但要识别芯片的 VID 、 PID 和序列号,使用与施耐德的 USB 编程电缆 TSXPCX3030-C 相同芯片的 USB 转 RS232 也不能通信。
解决办法:
我们的电脑只有 USB 口,如何使用编程软件与 PLC 通信,只有以下解决办法:
• 直接选用 PLC 厂家为各自的 PLC 开发的 USB 编程电缆,这个办法简单省事。
• 根据不同品牌型号的 PLC 购买不同型号的 USB 转 RS232 ,再配以原来的传统编程电缆使用,这种方法很麻烦,需在众多厂家的型号中去筛选和测试。你购买的 USB 转 RS232 也许支持某些品牌型号的 PLC ,但却不能支持另一种品牌型号的 PLC 通信。
• 采用 USB 接口芯片加单片机自己开发适合 PLC 通信的 USB 转 UART 协议接口,这种方案要求用户掌握 USB 与 UART 较深层次的技术。
• 在电脑中安装总线式的 RS232 串口卡,台式机有许多 PCI 总线的多串口卡,笔记本电脑有 PCMCIA 串口卡选用,但要注意有的编程软件不支持扩展串口。
• 尽量使用高版本的编程软件。
以上拙见是笔者对现在 USB 转 RS232 市场调查的一些看法,仅供同行参考,随着技术的进步,也许今后的 USB 转 UART 芯片会做到将 USB 模拟成“真正的物理 RS232 口”。