提示:海康VisionMaster4.0出来也有一段时间了。 公司项目上开发为了降低成本,VisionMasterr上了首选,之前都是搞康耐视系列, 现在做完项目了, 一起回顾下海康的软件
代码如下(示例):
public static void LoadVmSolution(string _filename)
{
try
{
#region 检测VM4.0是否打开
List<Process> processList = new List<Process>();
Process[] processes = Process.GetProcesses();
foreach (var item in processes)
{
if (item.ProcessName == "VisionMaster")
{
processList.Add(item);
}
}
if (processList.Count != 0)
{
foreach (var item in processList)
{
if (item.ProcessName == "VisionMaster")
{
item.Kill();
}
}
}
#endregion
}
catch
{
}
try
{
VM.Core.VmSolution.Import(_filename);
}
catch (Exception ex)
{
throw ex;
}
}
加载解决方案时,最好关闭一下Vm相关资源
public void Run()
{
try
{
if (null != _VmProcedure)
_VmProcedure.Run();
}
catch
{
}
}
运行流程
代码如下(示例):
public class ToolBlockOutputResult
{
///
/// 流程
///
private VmProcedure _VmProcedure;
///
/// 输出结果构造函数
///
/// 流程名
public ToolBlockOutputResult(VmProcedure procedure)
{
_VmProcedure = procedure;
}
///
/// 获取结果属性结果
///
/// 输出结果Id
///
public double this[string name]
{
get
{
try
{
return Math.Round(_VmProcedure.GetFloatOutputResult(name).pFloatValue[0], 3);
}
catch (Exception)
{
return 0;
}
}
}
}
使用方法
HikCoreLib.VmTool.VmToolBlock vmToolBlock = new HikCoreLib.VmTool.VmToolBlock(0);
double outX = vmToolBlock.Output["X"];
个人比较喜欢用康耐视的那种输出方式,Output[“X”]这种方式
代码如下(示例):
public void SaveVmSolution(string _filename)
{
try
{
VM.Core.VmSolution.Export(_filename);
}
catch (Exception ex)
{
throw ex;
}
}