用vbs怎么提取mscomm接收到的大于127的ascii码?

mscomm接收到的一帧数据为 ed 30 31 32 0d,VBS提供的字符串函数不能处理大于127的ascii码,那么用什么方法能检测到大于127的起始符“ed”呢?

最佳答案

当发送含有ascii码大于127的字符串的时候,就会造成丢失字节问题,解决方法如下:

发送:

procedure SendMessage(AMessage: String);
var
  len,I : integer;
  temp:Variant;
begin
  len:=length(AMessage);
  temp := VarArrayCreate([0, len-1], varbyte);
  for I := 0 to len-1 do    // Iterate
  begin
     temp[i] := ord(char(AMessage[i+1]));
  end;    // for
  MSComm1.Output := temp;
end;

注意在VarArrayCreate的帮助中有这样一句话

Variant arrays with an element type of varByte are the preferred method of passing binary data between OLE Automation controllers and servers.

接收:

接收就简单多了

procedure ReceiveData(Sender: TObject);
var
  temp: array of byte;
  S:string;
begin
  case FComm.commEvent of
    comEvReceive:
    begin
      temp := MScomm1.input;
      s:=string(temp);   //S里面放的就是最后结果
    end;
  end;
end;

可参考:《MSCOMM完美发送接收string类型 》
http://blog.csdn.net/yuechuan/article/details/488085

提问者对于答案的评价:

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc223978.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年3月6日 下午1:26
下一篇 2018年3月6日

相关推荐

  • 1000IE V3远程报警上传怎么做?

    PLC是200smart,HMI是1000IE V3,怎么做成PLC报警后,上传到手机提示?有具体步骤吗? 最佳答案 可以发短信参考:通过智能手机/PDA (C…

    SIMATIC WinCC 2021年7月5日
  • 300PLC与WINCC通讯时电脑的画面参数全是感叹号

    XP系统,多台电脑,俩个PLC CPU型号是315-2DP打开PLC软件时叫设置PG PC接口。我设置了一下全不行。激活WINCC画面上面的参数全是感叹号 问题…

    2017年8月3日
  • WINCC 输入格式问题

    在STEP7中不用程序转换情况下如何实现以下功能: WINCC输入输出域中,变量是INT型。 比如WINCC中输入100,实际传送到PLC的数据是1000;&n…

    SIMATIC WinCC 2019年6月11日
  • 用wincc脚本比较两个字符串型的内部变量是否相等?

    目前编写这样一段程序来实现上述功能但最终没实现,代码如下:char *s1,*s2;int i,m;*s1="VD100"; &n…

    2021年7月5日
  • WinCC 7.0复制器不能复制的原因

    项目设成自动启动,取消激活后电脑提示还是连接状态,不知道怎么彻底地退出,没有彻底退出使用WinCC专用的复制器不能复制项目,请问大侠,1、怎样才能彻底退出项目?2、怎样才能成功复制…

    SIMATIC WinCC 2017年7月26日
  • WINCC中外部变量问题

    WINCC中外部变量如何知道其对应STEP7中的哪个变量?我看在WINCC中外部变量的名称与STEP7中不一样,参数(地址)中地址也与STEP7中对应不上,如何能对应上? 问题补充…

    SIMATIC WinCC 2019年6月11日
  • WinCC flexible项目打不开的原因

    WinCC flexible项目,有时会打不开,打开的进度很慢,而且,到好像是100%的进度了,但就是不出来软件的画面。遇到这种情况,有时把正常的cache文件夹复制到安…

    2017年6月8日
  • 自定义图形填充

    如下图的自定义图形是怎么制作出来的以及怎样填充颜色,形成类似于棒图的功能 图片说明:    最佳答案 请试着做一下这个实例: 动态填充矩形过程变量将直…

    2018年12月5日
  • wincc c动作

    在wincc项目中,画面上的对象只有一处可以点击,而我看了该对象的c脚本共有3处编程(点击功能),为什么另两处鼠标指向时没有闪电符号(就是不能点击)? 问题补充:c脚本中所编辑的属…

    SIMATIC WinCC 2018年12月5日
  • WINCC数据归档设置问题

    怎么设置归档大小,才能加快系统速度,即设置的总归档分段满了之后,系统不会加载太多数据比如:“单个分段为50M,时间为1天,所有分段为1000M,时间为10天”,比“单个分段为100…

    SIMATIC WinCC 2021年7月5日