几经努力,这个问题应该算是可以得到解决了,呵呵。
对于字符串来说,C中的ASCII 0代表结束符,而VBS的CHR只支持到0~127,所以要解决这个问题,MsComm控件发送时必须使用Byte()格式的字节数组数据,接收也必须使用comInputModeBinary的接收方式。
不过遗憾的是VBS并不直接支持Byte()格式,其实我们声明的Dim SendByte(x)只是Variant()格式,因此需要想办法将其转换为Byte()格式就能拿来用了。
目前我的做法是用VB编写一个DLL文件,用于实现Variant()和Byte()之间的互相转化。
经测试,0~255的ASCII均可发送和接受,下面是效果图:


示例文件如下(WinCC V6.2 SP3)以及DLL文件(使用之前请选用RegSvr32.exe 注册一下)见附件:
点击此处查看附件