tag 标签: 脚本

相关帖子
相关博文
  • 热度 7
    2022-9-20 10:52
    1758 次阅读|
    0 个评论
    提到CAPL,相信各位一定不陌生,它是由Vector公司开发的类似于C语言的面向过程编程语言,是CANoe和CANalyzer中可用的编程语言。CAPL中程序块的执行由事件控制,在专用的编译器中开发和编译,这样可以访问数据库中的所有对象以及系统变量,作为汽车电子工程师,在工作中会经常用到。 CAPL Browser中打开。 图1 CAPL打开方式 CAPL界面由功能区、程序框架浏览树、输出窗口、编辑区、访问区五部分组成。 图2 CAPL界面 顾名思义,程序编辑区就是编写CAPL脚本的区域;程序架构浏览树起目录的作用,可以把编辑区定位到编写的事件或函数类型的语句;输出窗口可以输出编译过程中的事件和使用搜索时定位到的结果;访问区能够访问到CANoe工程加载的数据库中的信号、创建的系统变量以及CAPL函数库中的语句,直接从右侧访问区拖拽到中间编辑区使用(注意:工程创建路径中不能有中文,否则访问不到数据库文件)。 功能区由五部分构成,首先是File菜单栏,与大多数软件相同,它是文件创建、保存、加载、设置等功能区域。 图3 File菜单栏 Home功能区提供了CAPL编译常用功能,包括代码编译、查找、替换、屏蔽、取消屏蔽等功能。 图4 Home功能区 Filter功能区的作用是管理CAPL的函数库,可以在函数访问区中屏蔽掉不需要的函数。 图5 Filter功能区 Debug功能区是调试的区域,提供了一些基本的调试操作,一般情况下不通过debug模式来调试脚本。基本上编译一次,存在错误可以通过Output输出窗口获得错误类型并进行更改。如果脚本编译成功之后,仍然不能满足测试步骤的输出,一般会使用Write窗口进行调试。 图6 Debug功能区 Layout功能区主要是针对CAPL用户的页面展示。例如进行水平分区、垂直分区等操作方便用户进行脚本编写。 图7 Layout功能区 CAPL应用场景: 节点仿真 关联Simulation Setup中的ECU节点,实现ECU节点仿真和整车网络仿真。 图8 Simulation Setup窗口 测试功能 关联Simulation Setup中的Test Module模块或是Test菜单中的Test Setup,结合TSL(Test Service Library,测试服务库)进行测试功能开发。 图9 Test Setup窗口 分析功能 关联Measurement Setup窗口功能模块中的Program Node,实现总线过滤、分 析功能。 图10 Measurement Setup窗口 CAPL脚本结构: 一个完整的CAPL脚本由三部分组成:变量、各种事件和自定义函数。 图11 CAPL的三部分 CAPL的事件类型包含三种:总线事件、属性事件、时间事件。CAPL常用的事件类型如下图所示。 图12 Measurement Setup窗口 CAPL常用函数: 下面以CANoe中Easy工程的light.can脚本为例介绍CAPL中的常用函数,该脚本与Panel联用实现转向灯仿真。 图13 声明全局变量 上图是CAPL中的全局变量声明,其中 ‘ msTimer ’为声明以ms为单位的计时器;‘ c onst int ’为声明int类型的常值变量,该变量的值无法改变;‘ int ’为声明int类型的变量,该类型变量有符号,长度为2字节。 图14 系统事件 ‘ on start ’是系统事件,测量开始执行会触发该事件,也就是点击Start按钮触发。 图15 CAN消息事件 ‘ on message ’是CAN消息事件,接收到指定消息时执行。‘ on message LightState’是对名字为LightState的报文反应,除直接使用字符串外,还可以使用报文ID指定触发报文。‘ on message 123 ’是对ID为123(dec)的报文反应;‘ on message 0x123’ 是对ID为123(hex)的报文反应;‘ on message *’是对所有的报文反应;‘ on message 100-200’是对ID为100-200间的报文反应。 图15 系统变量事件 ‘ on sysvar sysvar ’是系统变量事件,指定的系统变量值改变时执行。与之相对应另一个系统变量事件是‘ on sysvar_ update sysvar ’,指定的系统变量值更新时执行。 ‘setTimer( msTimer t, long duration)’是设置定时器函数,他有两个输入参数,第一个为声明的定时器变量,第二个是设定的时间。‘cancelTimer( msTimer t)’是取消定时器函数,入参为定时器变量,该函数的作用为取消设定的定时器。 图16 时间事件 ‘ on timer ’为时间事件,定时时间超过时执行,它与设置定时器函数联用。定时器通常应用在实现某个任务循环,在时间事件中写入一个设置定时器函数实现循环。 ‘ on key ’为键盘事件,被指定的键按下时执行。该事件常用于脚本调试。 此外,‘write()’函数在调试脚本中也常使用,该函数基于C语言中的‘printf()’函数,可以将文本消息输出在write窗口中。 北汇信息作为Vector中国的合作伙伴,始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案,为工程师在汽车领域提供“趁手装备“! 注:图片来自Vector。
  • 热度 16
    2011-10-21 10:31
    1390 次阅读|
    0 个评论
    Andrew Armutat 产品市场部 吉时利仪器公司 2602 型双通道系统源表   缩短开发时间。 测试工程师的时间是一种宝贵的资源,一般每年的成本高达100,000美元。在复杂的测试系统中,软件开发向来就是系统总成本的主要部分之一。这在专用的机架式系统中更是如此。基于 TSP 的软件结构为开放式API仪器中的测试序列提供了更为简单的编程接口,该软件结构使得通过多SMU通道创建测试序列变得更为容易,它们就像是单个仪器实体的组成部分一样。 对于一些专业化应用,如在 半导体晶圆 上的测试,带有预写入测试例程的参数测试系统当然有其优点。但另一方面,基于TSP的SMU系统优点在于高度的灵活性和节约成本。可将多个SMU可无缝集成到一个可升级的“无需机架”的系统中,组成插卡式的高产量、多通道的系统。此外,对不断发展的测试要求这种系统只需最低限度地调整SMU硬件即可。软件方面用户通过对一、两个SMU进行标准化设计,以后通过简单地修改测试脚本即可重新用于其它的应用。   登录吉时利官方微博( http://weibo.com/keithley )与专家进行互动,还可以免费索取WB/263: 免费索取《数据采集、测量与控制手册》哦~( http://www.keithley.cn/LLM/land/llm/ ) 2602  http://www.keithley.com.cn/products/localizedproducts/currentvoltage/2602 TSP板载测试脚本处理器 http://www.keithley.com.cn/events/proddemos/newdemofolder/TSP.html  晶圆级的自动化半导体特征分析-ACS集成系统 http://www.keithley.com.cn/semi/acs
  • 热度 13
    2011-10-21 10:28
    1222 次阅读|
    0 个评论
    Andrew Armutat 产品市场部 吉时利仪器公司   2601 型单通道系统源表 快速脚本。 利用脚本和脚本处理器加速测试进程并非新鲜事物;它们很早就用于加速Web连接和管理各种批处理。然而,在测试测量仪器的自动化方面使用脚本和脚本处理器,在过去可能受 ATE仪器 发展方向的限制,一直没有被采用。现在,在吉时利新的SMU(也可称为数字源表,本文中的其它地方与此相同)设计中,测试脚本处理器集成了高速测试序列发生器和控制总线(TSP-Link™),使得多SMU系统可以获得比单通道序列发生器快得多的速度。在吉时利的新型SMU(如 2601 或 2602 ) 系列中,通过TSP-Link相连的多个SMU,与顺序访问的多个SMU情形相反,是用作同步多通道自动测试的,而且速度很快。 TSP-Link 实际上是一个与外部其它仪器设备连接的接口,作为主-从触发器同步/互连装置通信的总线,而TSP则运行按测试需要编写的一系列测试步骤的序列,即脚本(参见图1)。此过程不需要依赖PC控制器,该设计支持源-测量的各种命令,将自动化系统进行并行多通道SMU测试的能力扩展到极致。任何单或多通道SMU系统都可采用TSP进行编程,运行单个高速测试序列或任何嵌入式的测试脚本。在测试序列执行过程中,多SMU之间的协调已不再是一个挑战性的难题。与大机柜式测试系统相比,其结果是可实现在Microsoft®Windows® PC控制的GPIB仪器系统上,测试速度的大大提高。   登录吉时利官方微博( http://weibo.com/keithley )与专家进行互动,还可以免费索取WB/263: 免费索取《数据采集、测量与控制手册》哦~( http://www.keithley.cn/LLM/land/llm/ ) 2601型单通道系统源表http://www.keithley.com.cn/products/localizedproducts/currentvoltage/2601 ATE仪器http://www.keithley.com.cn/bak_news/prod030105a TSP-Link http://www.keithley.com.cn/news/prod080923
  • 热度 21
    2011-5-16 09:43
    2085 次阅读|
    0 个评论
    这部分包含许多脚本例子说明吉时利支持脚本的仪器的一些特点。图 1 示出了两台吉时利系统源表如何使用单脚本控制产生 3 相交流波形。在这个例子中,使用吉时利的 TSP-Link 技术 连接这两台仪器,因而很容易用脚本控制这两台仪器。   图 2 说明了基于 LXI Class B 技术的定时器如何控制脚本工作。在此脚本中, 吉时利 3706 型 LXI Class B 仪器 使用基于 IEEE 1588 的计时器排列一系列测量的顺序。 LXI Class B 的定时特点特别适合避免或最小化由延迟或通信时延导致的系统时延。
  • 热度 25
    2011-5-12 13:38
    1719 次阅读|
    0 个评论
      今天我们会介绍实际操作时的一些案例和经验,并且介绍一下 LXI 和脚本 。 通过发送以下脚本,用户能让仪器执行二分查找法搜索能输出 1mA 电流的电压源: 代码略 这种脚本的好处是避免了读取每个结果和发送指令输出新电平所需的通信时间。虽然有理由询问发送较长消息需要多长时间,但是通常发送一条较长的消息比来回通信许多条较短消息快得多。然而,脚本环境的一个优点是前述代码可以封装为函数定义,然后重用,用的时候就能完全避免发送长消息。例如: 代码略   前面的指令不会让仪器立刻执行,但是它创建了一个命名为 “Search (搜索) ” 的存储程序,之后可以用搜索指令调用: Search(2.5, 0.001)   仪器有一些特点能补充脚本引擎。如果脚本环境提供仪器前面板的编程访问,那么用户就能创建交互式脚本提示用户在前面板输入参数或显示结果。仪器还能提供非易失的板上脚本存储,因此当仪器上电时,这些存储的脚本就能自动执行。这允许执行预先载入的应用,无需任何用户动作,只需要打开仪器的电源。   嵌入式脚本为测试和测量仪器用户提供显著的优点。虽然嵌入式脚本具有一些次要的缺点,例如前面介绍的对查询陌生,但是大多数用户都能很容易使用或者适应。   脚本语言通常能自动管理内存,所以用户无需分配和释放用于字符串或矩阵的存储区。虽然这对用户很方便,但是脚本引擎需要周期性地重新声明不再使用的内存,这个过程被称为 “ 垃圾收集 ” 。虽然垃圾收集能自动进行,但是这得花费时间,而且如果在测试序列的关键时间段上发生垃圾收集就会出现问题。这些问题是可以预防的,但是首先用户必须理解垃圾收集器的影响并且知道如何在测试序列的关键时间段上避免垃圾收集。   下面介绍一下 LXI 和脚本   现行的 测试仪器 LXI 标准不要求仪器可编程或实现脚本。然而, LXI 标准中的许多特点预先考虑了可编程仪器,并提供有用的功能性以增强 LXI 标准仪器的脚本性能。   LXI 标准要求 Class A 和 Class B 仪器通过 LAN 消息支持对等消息传送,并允许 Class C 仪器支持这种消息传送。 LAN 消息能用于通知其它 LXI 仪器事件或者触发另一台仪器执行某些功能。在接收到 LAN 消息时,用户必须能指明采取什么动作。为了实现这个,最灵活的方法以及 LXI 标准推荐的方法是允许用户下载可执行代码(即脚本或程序)到仪器中,然后在接收到适合的 LAN 消息时执行该代码。这提供了极大灵活性,因为用户不被局限于一组预定动作集。   此外, LXI 定义的 LAN 消息格式包含一个小空间,用于包括任意数据作为消息的一部分。可以传送可执行代码(例如一个短脚本)作为 LAN 消息的一部分。这允许一台仪器通过 LAN 消息控制另一台仪器,无需预先设置回应。例如,假定一台仪器能对被测器件( DUT )进行测量。基于测量的结果,第一台仪器必须能改变由另一台仪器施加到 DUT 上的激励。基于第一次测量计算新的激励值,所以在之前第一台仪器并不知道。在这种情况下,第一台仪器可以发送包含一个短脚本的 LAN 消息至第二台仪器以调整激励值。  
相关资源