【问题标题】:Writing textlist in codesys在 codesys 中编写文本列表
【发布时间】:2015-10-30 23:47:26
【问题描述】:

我应该如何在运行时在CODESYS中动态编写一个文本列表?

我正在使用文本列表作为源以显示在组合框(下拉列表框)中

提前致谢

【问题讨论】:

  • 你的问题解决了吗?我正在使用字符串并在元素之间插入“,”钩子......它的监视器将其检测为新索引。但最大字符串值为 255。有问题。有什么建议吗?

标签: codesys


【解决方案1】:

首先,您需要使用ComponentManager 获取文本列表工厂来创建实例:

    const Guid TextListFactoryGuid = new Guid("{7a60005b-e690-45b3-8aca-cd15950a3e73}");
    var textListFactory = (IObjectFactory)ComponentManager.Singleton.CreateInstance(TextListFactoryGuid);

然后,创建测试列表对象本身的实例:

    var textListObject = (ITextListObject)textListFactory.Create();

需要将文本列表对象添加到对象管理器中:

    SystemInstances.ObjectManager.AddObject(
            SystemInstances.Engine.Projects.PrimaryProject.Handle,
            parentGuid,
            Guid.NewGuid(),
            textListObject,
            textListName,
            -1);

最后,现在您有了ITextListObject,您可以向它添加字符串iditem

    textListObject.AddEmptyRow();
    var textListElement = textListObject.GetTextListRowAt(textListObject.Count - 1);
    textListElement.ID = id;
    textListElement.Default = item;

希望这就是你所追求的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-09
    • 2014-06-17
    • 2021-08-25
    相关资源
    最近更新 更多