Vehicle spy3 functionBlock脚本编程中应当注意的问题

学习目标:Vehicle spy3 functionBlock脚本编程

Vehicle spy3 functionBlock脚本编程,是目前来说比较冷门的一项script语言。

(1)优点:简洁明了,易于上手。它采用了选择模式,先构思好流程图,然后点点点,基本就可以完成任务。

(2)缺点:也因为其简单,所以无法完成较为复杂的功能。

但是随着目前Vehicle spy3工具被越来越多的主机厂和供应商使用,相关的开发测试人员也需要掌握Vehicle spy3 functionBlock脚本编程


学习内容:Vehicle spy3 functionBlock脚本编程应该注意的问题

提示:具体的语法规则,各位可具体查询Vehicle spy3的内置文档查询,本文,具体总结functionBlock脚本编程应该注意的问题,因为有些工程师本身有一定的编程能力,而functionBlock脚本编程,与其他编程语言不同的地方,需要非常注意:

(1)if 和end if 的配对关系

首先我们看 C语言在使用if语句时,要想实现if判断后,执行多个语句块,就需要使用{},来括起来

if(a==0)
{
  Max=a+1;
 printf("%d",Max);
}
else
{ 
   Max=a-1;
   printf("%d",Max);
}

但是functionBlock没有{}标识符的,假如我们想实现上述功能,应该怎么办?functionBlock

也有自己的语法:

if(a=0)           //a是自定义AppSignal
 sevalue(b=5)       //b是自定义AppSignal
 transmit(Message1) //Message1库中已经定义的信息
 else if(a>0)
  sevalue(b=6)
  transmit(Message2)//Message2库中已经定义的信息
 endif
endif
if(a=0)           //a是自定义AppSignal
 sevalue(b=5)       //b是自定义AppSignal
 transmit(Message1) //Message1库中已经定义的信息
 else 
  sevalue(b=6)
  transmit(Message2)//Message2库中已经定义的信息
 endif

以上两图,实现的效果一样,都是if和else语句后执行语句超过一;

可以看出,functionBlock中 if语句(包括elseif也要有endif与其匹配)在遇见 endif  和其匹配之前,默认为执行语句块。

此时又有同学,提出问题,如果我们只想执行if(a=0)后的第一条语句,setvalue(b=5)该如何写脚本

if(a=0)           //a是自定义AppSignal
 sevalue(b=5)       //b是自定义AppSignal
 endif
 transmit(Message1) //Message1库中已经定义的信息
 

这样if(a=0),执行setvalue(b=5),再顺序执行 transmit(Message1)

if(a!=0),不执行setvalue(b=5),直接跳转到transmit(Message1)

关于if 和endif的配对规则:endif总是向上搜索,与其距离最近的if配对。

(2) wait for相关问题

wait for是functionBlock特有的语句

 可以直接输入等待时间,默认单位是s,按下两次"=="便会弹出

即可定制等待时间变量。

(3) 其他注意事项

1:if(a=0)   //a是自定义AppSignal,注意看if(a=0),其他语言中都是if(a==0),经过测试发现

functionBlock中使用 “==”会直接报错

 修改后,则没问题

 2:functionBlock具有自循环的性质,如下图,代码从第一行开始跑->16行(空语句也是语句),然后自动跳转到第一行。所以我们编程时,可以利用这种特点,来简化代码。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值