首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#将单元格写入In(康耐视)

C#将单元格写入In(康耐视)
EN

Stack Overflow用户
提问于 2017-03-11 15:59:41
回答 3查看 1.6K关注 0票数 2

我发现这个页面上有一个从Insight-Explorer中提取单元格信息的示例,但是...如果从c#应用程序写入单元格呢?

C# extract Cell Information from In-Sight Explorer (Cognex)

EN

回答 3

Stack Overflow用户

发布于 2020-09-14 05:08:25

如果你想用C#控制摄像机当前作业文件中的单元格,下面的方法对我很管用。请注意,我使用的是In-Sight Explorerv5.9.0,但我也在早期版本上测试过它,它仍然有效。

注释:如果没有Cognex In-Sight SDK许可证,您将无法在Visual Studio中运行此应用程序。您必须构建项目,然后直接运行可执行文件。

  1. 打开Visual Files\Cognex\In-Sight\5.x.x.x\Cognex.InSight.dll)一个新的控制台应用程序(.NET框架)项目
  2. 我在解决方案资源管理器中的项目上使用.NET框架Files\Cognex\In-Sight\5.x.x.x\Cognex.InSight.dll),并向Cognex.InSight.dll文件(通常位于以下位置:E118C:\Program Files (x86)\Common Framework )添加一个通用文件引用e217
  3. Set目标平台以x86
  4. Paste代码,在下面的project
  5. Change中,将调试用户名、密码和ipAddress变量设置为与调试文件夹中的设置相匹配,并找到在构建可执行文件后创建的可执行文件以运行

<代码>G247

代码语言:javascript
运行
复制
using System;
using Cognex.InSight;

namespace ChangeInSightCellValue2
{
    class Program
    {
        static void Main(string[] args)
        {
            string username = "admin";
            string password = "";
            string ipAddress = "127.0.0.1";

            // Create camera object and connect to it
            CvsInSight camera = LogIntoCamera(ipAddress, username, password, true, false);

            // Define which cell you want to modify
            CvsCellLocation cell = new CvsCellLocation(2, 'C');

            // Modify the cell expression
            camera.SetExpression(cell, "Filter($A$0,0,0,0,80,100,320,440,0,0,3,3,1,128,128,128,1,1,0)", true);
        }

        // Log into camera
        private static CvsInSight LogIntoCamera(string sCamIP, string sCamUsername, string sCamPassword, bool forceConnect, bool connectAsynchronous)
        {
            // Create camera object
            CvsInSight insight = new CvsInSight();
            Console.WriteLine("Object created");

            IAsyncResult result;
            // Try logging into the camera on a different thread to prevent locking this one up
            Action action = () =>
            {
                // Connect to camera
                insight.Connect(sCamIP, sCamUsername, sCamPassword, forceConnect, connectAsynchronous);
            };

            result = action.BeginInvoke(null, null);

            if (result.AsyncWaitHandle.WaitOne(5000))
                return insight;

            else
                return insight;
        }
    }
}

备注:如果您在运行此应用程序时使用In-Sight Explorer连接到相机,则In-Sight Explorer将断开与相机的连接,然后在应用程序从相机断开连接后尝试重新连接。

票数 1
EN

Stack Overflow用户

发布于 2017-05-26 11:39:11

您可以使用本地模式命令在In-Sight Explorer中设置电子表格中控件的值(如您链接到的问题中所讨论的)。请注意,您不能将数据写入任何单元格-您只能写入包含EditInt()EditFloat()EditString()CheckBox()等函数的单元格。通过套接字连接将命令以文本形式发送到摄像机端口23。在建立连接时,您需要向摄像机发送用户名和密码。

票数 0
EN

Stack Overflow用户

发布于 2017-05-26 13:27:07

如果您使用的是Cognex SDK,请使用以下函数

  • CvsInSight.SetFloat(...)设置列表控件values
  • CvsInSight.SetInteger(...)设置EditFloat控件values
  • CvsInSight.SetListBoxIndex(...)选择列表中的项boxes
  • CvsInSight.SetString(...)设置EditString控件values
  • CvsInSight.SetCheckBox(...)更改CheckBox控件

的状态

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42732839

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档