TIA TIA Openness: GenerateBlocksFromSourceAndCompile

wbach

Level-1
Beiträge
84
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,

hat schon jemand erste Erfahrungen mit TIA Openness V13 gesamlt und mit generieren von Blocks einer einzelnen Quelle?
Ich habe mithilfe von Openness ein Programm nachgebaut das eine .INP-File nachbildet und die externen .SCL-Files generiert. Leider bietet Siemens im Beispiel (TiaPortalOpennessDemo_V13SP1) nicht wie man eine einzige Quelle generieren kann. Kann mir jemand hierbei helfen?

Ich habe:

Code:
private void OpenINP(string INPFile)
        {
            string[] lines = System.IO.File.ReadAllLines(INPFile);
            int lineLength = lines.Length;

            for (int i = 0; i < lineLength; i++)
            {
                string aktLine = lines[i];
                string newAkt = aktLine.Replace(" ", "");
                string searchWord;
                string devname = txt_PLCName.Text;

                int commentSemi = newAkt.IndexOf(";");

                if (commentSemi != -1)
                {
                    searchWord = newAkt.Remove(commentSemi);
                    //searchWord = .SCL-File
                    //Hier Befehl zum Generieren der .SCL-File
                }
            }
        }

Leider bin ich kein Programmierer und das sind auch meine ersten C# Erfahrungen. :(

Ich hoffe mir kann jemand hierbei helfen.

LG
 
Habe es geschafft. Falls es jemanden interessiert:

Code:
private void OpenINP(string INPFile)
        {
            string[] lines = System.IO.File.ReadAllLines(INPFile);
            int lineLength = lines.Length;

            for (int i = 0; i < lineLength; i++)
            {
                string aktLine = lines[i];
                string newAkt = aktLine.Replace(" ", "");
                string searchWord;
                string devname = txt_PLCName.Text;

                int commentSemi = newAkt.IndexOf(";");

                if (commentSemi != -1)
                {
                    searchWord = newAkt.Remove(commentSemi);
                    
                    foreach (Device device in MyProject.Devices)
                    {
                        IDeviceItemAggregation deviceItemAggregation = device.DeviceItems;
                        foreach (IDeviceItem deviceItem in deviceItemAggregation)
                        {
                            if (deviceItem.Name == devname || device.Name == devname)
                            {
                                ControllerTarget controllerTarget = deviceItem as ControllerTarget;
                                ExternalSource tet = controllerTarget.ExternalSourceFolder.ExternalSources.Find(searchWord);
                                tet.GenerateBlocksFromSourceAndCompile();
                            }
                        }
                    }
                }
            }
        }

LG
 
Zurück
Oben