首页 > 其他分享 >海康VM应用FAQ 1.2 全局脚本--方案加载后自动执行某流程

海康VM应用FAQ 1.2 全局脚本--方案加载后自动执行某流程

时间:2024-07-04 21:55:55浏览次数:21  
标签:1.2 -- 流程 FAQ VM Sleep 间隔 运行 加载

【需求描述】

VM方案加载成功后,自动执行某个流程。

【应用场景】

  • 每次上电打开软件后,告知上位机软件准备就绪的信号;
  • 监控VM软件的运行状态,判断软件是否有奔溃,即Vm方案加载后连续运行某一流程,与上位机进行交互(与通信的心跳管理类似,不同的是通信的心跳只能监控通信是否断开,且仅为通信数据。而该方式流程可以随意搭建,即可以是通信数据,也可以是IO信号,如软件打开后连续执行某一个流程,控制相机IO输出高电平,当上位机接收为低电平信号时,就是有问题了)。
  • 无触发应用场景,上电后软件自动加载自触发连续运行。
  • 运行某个流程,初始化某些变量。

【实现方式】

单次运行方式:

public override int InitAfterLoadSol()
{
 //加载方案完成信号并延时4s,时间自定义修改
Sleep(4000);
 //控制流程1执行一次,流程号在VM流程界面查看,如图所示,实际改为想要运行的流程
ImvsPlatformSDK_API.IMVS_PF_ExecuteOnce_V30_CS(m_operateHandle,10000,null);
return 0;
}

连续运行方式有两种:

①while(true)死循环+sleep控制运行间隔+单次触发指定流程
  • 优点:可以控制运行间隔;              
  • 缺点:只能删代码关闭运行的流程;
  • 缺点解决方案:可以不写死循环,制定循环运行几次。
public override int InitAfterLoadSol()
{
//加载方案完成信号并延时4后执行,时间自定义修改
Sleep(4000);
//控制流程1执行1次,流程号在VM流程设置界面查看
while(true)
{
ImvsPlatformSDK_API.IMVS_PF_ExcuteOnce_V30_CS(m_operateHandle,1000,null);
Sleep(1000);//流程两次运行间隔
}
return 0;
}

ContinousExecute连续运行某指定流程。
  • 优点:可以随时手动停止运行的流程;    
  • 缺点:全局脚本不能控制运行间隔,只能在流程里用脚本sleep控制流程运行耗时,或者设置流程运行间隔,从而实现控制流程两次运行间隔。
public override int InitAfterLoadSol()
{
//加载方案完成信号并延时4后执行,时间自定义修改
Sleep(4000);
//控制流程1执行1次,流程号在VM流程设置界面查看
ImvsPlatformSDK_API.IMVS_PF_ContinousExecute_V30_CS(m_operateHandle,1000);
return 0;
}

[PS]适用版本VM4.1.0及以后。

标签:1.2,--,流程,FAQ,VM,Sleep,间隔,运行,加载
From: https://blog.csdn.net/Alice_six/article/details/140190489

相关文章

  • 查看 mysql 版本号
    mysql--versionmysqlVer8.3.0formacos14.2onarm64(Homebrew)mysql--helpmysqlVer8.3.0formacos14.2onarm64(Homebrew)Copyright(c)2000,2024,Oracleand/oritsaffiliates.OracleisaregisteredtrademarkofOracleCorporationand/or......
  • 2024.7.4
    2024.7.4【又苦又甜,也挺好嘛,很像生活】Thursday五月廿九<theme=oi-"graphtheory">P2865[USACO06NOV]RoadblocksG主要就是求一个严格次短路,但是有一定条件,道路可以连续走我们先求解出最短路,基于“次短路与最短路一定只有一条边不同”我们对起点和终点都做一次......
  • linux找回root密码
      linux找回root密码如果您忘记了Linux系统的root密码,并且没有其他方法可以访问系统,您可以按照以下步骤重置root密码:重启您的Linux系统。在启动时,当GRUB菜单出现时,选择要启动的内核版本,然后按下 e 键来编辑启动选项。 找到以 linux 开头的行,通常......
  • Intel DPC++安装与使用
    IntelDPC++安装与使用 DPC++(DataParallelC++)是Intel公司使用oneAPI实现的SYCL和SYCL编译器,这里记录一下V100服务器安装DPC++过程下载安装DPC++编译器前往官网下载地址,左侧选择Compilers->Intel®oneAPIDPC++/C++CompilerandIntel®C++CompilerClassic,选择目前最......
  • 旅游系统(附管理端+前台)PHP源码
    一.前言今天小编给大家带来了一款可学习,可商用的,旅游系统 源码,支持二开,无加密。支持景点管理,登录,景点预定,意见反馈,统计等功能。详细界面和功能见下面视频演示。二.视频演示 三.技术栈后端技术栈:PHP5.6,PHP7.xMYSQL前端技术栈:HTML5CSS3当......
  • 模拟集成电路设计系列博客——9.2 电平转换器
    模拟集成电路设计9.2电平转换器电平转换器是集成电路设计中的一个重要部分,常用于芯片多电压域低功耗设计和I/O中。我们知道在集成电路中,I/O电压与Core电压常常处于两个不同的电压域,因此我们需要使用电平转换器(levelshifter)来将I/O电压降低到Core电压,或者将Core电压抬升到I/O电......
  • SQL246 获取employees中的first_name (RIGHT和LEFT函数)
    题目连接selectfirst_namefromemployeesorderbyright(first_name,2);MySQL中的RIGHT()和LEFT()函数是用于从字符串中提取子字符串的内置函数。LEFT()函数用于从字符串的左侧开始提取指定数量的字符。其基本语法如下:LEFT(str,len)str是要从中提取字符的原......
  • 泛语言计划 第二弹 函数
    开始之前,我们先复习一下数学中是怎么定义函数的。数集A和B,如果A所有数在B中都存在且只有一个数与之对应,则称B是A的函数由此,我们可以看出一个关键词:对应。编程中的函数也一样,只是编程中不一定是数,也可以是布尔值、字符串,甚至操作。这个A集,我们叫他参数,B集,叫他返回值。如果B是操......
  • list、set、map的区别
    1.元素的重复性:1.1list可以存放重复的元素1.2set的add方法可以存放重复的元素,但最终set中存放的元素是不重复的。1.3map是以键值对的方式存储的,key不能重复,值可以重复。2.元素是否为null2.1list可以存放多个null2.2set中add方法可以存放多个null,但最终set中只有一个nul......
  • WPF Performance Suite, Microsoft Windows Performance Toolkit
    Copyfrom https://www.cnblogs.com/lindexi/p/12086719.htmlhttps://learn.microsoft.com/en-us/previous-versions/aa969767(v=vs.110) 1.Downloadurl:  https://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKPerformanceT......