Automation Interface (Import PLCOpenXML)

Exilim

Level-1
Beiträge
44
Reaktionspunkte
3
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich stehe mal wieder vor einem Verständnisproblem:

ich bin z. Z. dabei mich mit dem Automation Interface von Beckhoff zu beschäftigen.
Dabei ich mir eine Sache aufgefallen, die mir nicht ganz klar ist:

Ich versuche über die PlcOpenImport() – Methode eine bestehende PLCOpen.xml – Datei meinem vorher angelegtem TwinCAT-Projekt zu importieren.
Der Importvorgang funktioniert auch soweit, solange ich mich auf der Ebene der PLC (TIPC^MyPLCProject^MyPLCProject Project) befinde. Möchte ich Jedoch dem Ordner (TIPC^MyPLCProject^MyPLCProject Project^POUs) eine XML Importieren, funktioniert der Vorgang nicht mehr.

Dem Anschein nach, können PLCOpenXML-Dateien nur innerhalb der höchsten Ebene importiert werden. Oder mache ich etwas falsch?

Viele Grüße
 
Morgen,

hast du einmal probiert die Optionen zu ändern? Evtl. liegt es daran.
Wenn ich dazu komme teste ich es einmal die Tage.

Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Hack,

Wenn du die "PLCIMPORTOPTIONS" meinst, dann ja... habe alle durchprobiert.
Mir kommt es so vor, als würde er nicht mit dem ItemSubType "TREEITEMTYPE_PLCFOLDER" klarkommen.

Viele Grüße
 
Morgen,

nach dem testen verstehe ich dein Problem nicht mehr ganz. Wo gibst du diesen Pfad an?
Ich brauche nur einen Pfad beim LookupTreeItem, dort suche ich natürlich ein PLC Projekt da es nur dort die Methode PlcOpenImport gibt.
Der Ordner ist ja ITcSmTreeItem und das hat die Methode nicht.

Sehe ich das richtig das du eine Cast Fehler bekommst?

Grüß
 
Guten Morgen,

das bedeutet also, dass ein Import von PLCOpenXML-Files nur in der PLC-Porject "Ebene" durchgeführt werden kann?

Was wenn ich einen Ordner erstelle und in diesem eine PLCOpenXML-Datei Importieren möchte?

Viele Grüße
 
Naja.... Ich möchte später ein komplettes Maschinenprogramm generieren.
Dieses Programm besteht aus n Bausteinen die in einem "template"-pool als PLCOpenXML-Files verfügbar sind...

Ich persönlich finde es ein wenig unglücklich, wenn alle importierten Bausteine in der selben Ebene sind.

Viele Grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Ich habe die Tree Item auch mit Typ 601 i.e TREEITEMTYPE_PLCFOLDER auch mit importChild ausprobiert. Kein Erfolg. Habt ihr inzwischine schön eine Lösung gefunden ?

Grüße
 
Moin,

da google einen mit der Frage hier her führt:
Im unteren Teil der xml gibt es ein Segment ProjectStructure. Dort muss der Ordner über dem Objektnamen als Knoten <Folder> eingefügt werden.
In etwa so:
<addData>
<data name="http://www.3s-software.com/plcopenxml/projectstructure" handleUnknown="discard">
<ProjectStructure>
<Folder Name="DUTs">
<Object Name="MotorType" ObjectId="b8e5828c-f82e-4705-a4cb-109cb57adbf8" />
</Folder>
</ProjectStructure>
</data>
</addData>

Damit wird das Objekt im Ordner DUTs abgelegt und das Projekt sieht wieder sauber aus.
VG
 
Zurück
Oben