我必须在变量中分配什么参数才能从 Main 启动它?

What parameter i have to assign inside my variable so i can start it from my Main?

我是 C# 和 Tia Openness 的新手,遇到了问题。我不知道我的 ImportSingleTextList(); 里面有什么参数。它是西门子的一个例子,但从来没有提到如何在 main 中调用它。 That is my code.

private static void ImportSingleTextList(HmiTarget hmitarget)
        {
            TextListComposition textListsComposition = hmitarget.TextLists;
            IList<TextList> importedTextLists = textListsComposition.Import(new FileInfo(@"D:\SamplesImport\myTextList.xml"), ImportOptions.Override);
        }

我猜你必须仔细查看你的 HmiTarget。是class,那么你应该实例化它的第一个实例;这个 class 有什么构造函数——带参数还是不带参数?单击 HmiTarget 并查看它期望的输入。
我猜你 class 有某种可枚举的 hmitarget.TextLists 你必须填写或获取。

想必您有一个 Project 实例。您必须从 Project->Device->DeviceItem(->DeviceItem) 向下钻取,直到找到可以提供 SoftwareContainer 服务的 DeviceItem。可能所有此类 DeviceItem 都位于 Device 下面的第一层;我没有检查过。无论如何,这是我编写的搜索第一和第二 DeviceItem 级别的方法:

public static HmiTarget GetHmiTarget(Device hmiDevice)
    {
        //search first level of DeviceItems
        foreach (DeviceItem di in hmiDevice.DeviceItems)
        {
            SoftwareContainer container =
            di.GetService<SoftwareContainer>();
            if (container != null)
            {
                HmiTarget hmi = container.Software as HmiTarget;
                if (hmi != null)
                    return hmi;
            }

            //search second level of DeviceItems
            foreach (DeviceItem devItem in di.DeviceItems)
            {
                SoftwareContainer subContainer = devItem.GetService<SoftwareContainer>();
                if(subContainer != null)
                {
                    HmiTarget hmi = subContainer.Software as HmiTarget;
                    if (hmi != null)
                        return hmi;
                }
            }
        }
        return null; //nothing was found at the first or second levels

    }

要获取设备,您可以使用 PROJECT.Devices.Find(NAME),其中 PROJECT 是您的 TIA portal 项目实例,NAME 是您的 HMI 设备的字符串名称。