使用市售USB转RS232串口与PLC通信的测试报告
添加时间:2008-10-17 11:51:41 点击次数:9043

使用市售 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 系列通信。

解决办法:

我们的电脑只有 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 口”。