コード例 #1
0
        /// <summary>
        /// 查看相机是否连接
        /// </summary>
        /// <param name="camStatus">所以相机的连接状态列表</param>
        /// <returns>true表示所有的相机连接,false表示有相机未连接</returns>
        public static bool CamConnectStatus(out List <CamStatus> camStatus)
        {
            bool isConnect;
            bool isAllConnect = true;

            camStatus = new List <CamStatus>();
            if (!MyRun.havInit)
            {
                StrErrorMsg = "视觉模块未初始化";
                return(false);
            }
            if (HKCameraCltr.GetListUserDefinedName().Count == 0)
            {
                return(false);
            }
            foreach (var camName in HKCameraCltr.GetListUserDefinedName())
            {
                isConnect    = MyRun.IsCamConnect(camName);
                isAllConnect = isAllConnect && isConnect;
                camStatus.Add(new CamStatus()
                {
                    CamName   = camName,
                    IsConnect = isConnect
                });
            }
            return(isAllConnect);
        }
コード例 #2
0
        /// <summary>
        /// 切换型号模板
        /// </summary>
        /// <param name="modelName">模板名</param>
        /// <returns></returns>
        public static bool PrepareModel(string modelName)
        {
            if (!MyRun.havInit)
            {
                StrErrorMsg = "视觉模块未初始化";
                return(false);
            }
            UseModel = MyRun.ReadModelJS(modelName);
            if (UseModel is null)
            {
                StrErrorMsg = "模板" + modelName + "不存在";
                return(false);
            }

            UseCamsName.Clear();
            foreach (var cam in UseModel.cams)
            {
                UseCamsName.Add(cam.CamName);
                if (!MyRun.IsCamConnect(cam.CamName))
                {
                    StrErrorMsg = "相机" + cam.CamName + "未连接";
                }
            }

            UseMatchingFun.Clear();
            foreach (var matching in UseModel.matchings)
            {
                MatchingFun matchingFun = MyRun.GetMatchingFun(matching.Type);
                matchingFun.Read(MyRun.appPath + "\\model\\" + UseModel.modelName, matching);
                UseMatchingFun.Add(matchingFun);
            }

            UseTestItems.Clear();
            foreach (var testItem in UseModel.testItems)
            {
                UseTestItems.Add(MyRun.GetTestItem(testItem));
            }

            return(true);
        }