基于TestStand和C#开发平台TTStand 过程模型中添加独立的线程--Execution

问题

在实际设备自动化生产过程中,通常会有这样一些需求,比如:

1. 自动扫码枪扫码,得到的条码需要上传MES系统,进行防过站确认,根据结果来决定此产品是否进行测试(中间可能会涉及到机械手动作和夹具的动作)

2. 相机定位操作、相机对取料位和放料位确认操作等等,但是这个时候相机是工业相机,需要连接工控机。

针对上面的需求,如果不加处理的添加到程序中,必然导致产品的CT时间加长。

解决方法

怎么不占用主线程的时间,提高产能?在TTStand中推荐一种方法,步骤如下:

1.进入Process界面,定位到Sequence->Initialize Tester ,插入Sequence Call步骤,调用SubSeq,如下图

  在调用参数设置中,Multithreading and Remote Execution->Run Sequence in a New Execution

  需要设置Settings

有两个项需要修改

Wait for Execution to Complete->Do not wait

Process Model Option->Do not use a process model

设置完成后,那么SubSeq当被调用时,就会以一个新的Execution独立运行,不占用主线程的时间。

2.再看下SubSeq中步骤

在这个Sequence下,就可以添加独立运行的步骤。

注意点:

1.通过FileGlobals.StopFlag变量置true来停止此Execution.所以需要在Cleanup Tester中需要将这个变量置true.

2.在这个While循环下wait时间设置,需要根据实际的情况而定,要慎重设置。

原文地址:https://www.cnblogs.com/YourDirection/p/12485315.html