TIA Tool -> Tia Projekt Exportieren in Text/Xml-files (für Nutzung mit GIT VSC)

Zuviel Werbung?
-> Hier kostenlos registrieren
Hab Ich auch kein Plan...

Ich nutze mein Tool zum exportieren. Den Scripter auf unserm Buildserver (Teamcity) zum importieren. Da erzeuge ich aber die Bausteinliste für den Scripter über Batchfiles.
 
Schaffst Du es TIA wirklich in Teamcity einzubinden oder ist das eher experimentell?
D.h. läuft das exportieren wirklich unbeaufsichtigt oder muss man doch täglich per Hand eingreifen um TIA am laufen zu halten?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wir haben nicht den Export in Teamcity eingebunden, sondern den import. D.h. wir exportieren manuell wenn wir Änderungen in Standartbausteinen haben, checken diese in Git ein. Teamcity ruft das git repo ab, erzeugt eine Versionsnummer via GitVersion in ein Quellcode File, importiert alles in ein TIA Projekt, übersetzt und legt das ganze als neue Standart Version auf unseren Server ab.

Wir machen aber keine Serienmaschinen, daher heißt Standartprojekt bei uns, Vorlagenprojekt. Aber dadurch wissen wir auf welchem die Anlage basiert.
 
Wir haben jetzt versucht unser komplettes projekt zu exportieren, und wieder zu importieren (über openess scripter), aber das funktioniert nicht wirklich, da nicht übersetzt werden kann ;-(
wir wollen das auf unserem buildserver machen um unsere standartsoftware zu testen und zu versionieren. aber wie gesagt geht nicht wirklich
Mit dem OpennessScripter kann man auch übersetzen:
Beispiele:
Code:
compile Plc SoftAndHardware
Code:
compile ProgramBlocks


Dieses "openness scripter" Tool habe ich auch gesehen, ist aber ziemlich beschränkt von den Möglichkeiten, wenn mich nicht alles täuscht? Es können keine Variablen verwendet werden und somit muss das ganze Skript mit absoluten Pfaden Namen erstellt werden.
Variablen kann der OpennessScripter, Beispiel:
Code:
<project> = "C:\Temp\Projects\Project1\Project1.ap14"
<plcName> = "PLC_1"
open Portal
open Project <project>
select Plc <plcName>
compile Plc Software


Ok, ich teste jetzt mal den Scripter. Verbindung auf und abbauen funktioniert. "sourcegen" funktioniert auch für einen einzeln angegebenen FB. Aber was muss ich für "select ProgramBlocks" angeben, damit er die ganze SPS exportiert?
Hier sind ein paar Beispiele:
Alle Bausteine als XML exportieren:
Code:
select ProgramBlocks
export ProgramBlocks "C:\Temp\Blocks\"
Bestimmte Bausteine als XML exportieren:
Code:
select ProgramBlocks "Main" "Block_1" "Block_2"
export ProgramBlocks "C:\Temp\Blocks\"
Ganze Ordner mit Bausteinen als Xml exportieren:
Code:
select ProgramBlocks /Folder_1/
export ProgramBlocks "C:\Temp\Blocks\"
Alternativ zu XMLs gibt es auch ASCII-Quellen. Dazu statt "export" einfach "sourcegen" schreiben.
Mit folgendem Befehl lässt sich ausgeben, welche Bausteine alles selektiert wurden:
Code:
print ProgramBlocks
 
ich weiss das der openness scripter übersetzen kann, wir nutzen das ja auch! wenn man nur kop fup oder awl als xml exportiert hat, gehts auch. aber probier mal scl, da musst du dann 2 files nutzen, erst den xml export (sonst bekommst dein baustein nicht in den gewünschten ordner) und danach die scl quelle. und wenn dein programm ein bischen komplexer ist und du auch die udt exportierst, bekommst das ganze später nicht so einfach mit openess in ein projekt, zumindest nicht in ein leeres.

wir haben bei uns zwischendrin einige compiles einbauen müssen, alles auf einmal übersetzen ging nicht.

und mit den program alarms gibts das nächste problem, die sind nach dem import weg. die musst extra exportieren (und auch wieder importieren), geht aber nicht über openness.

und mit scl gibts noch probleme, wenn man ein struct array mit startwerten hat. als xml export kein problem, jedoch fehlt da ja der scl quellcode. im scl export, startwerte weg, jedoch mussich den scl quellcode als 2tes einlesen, sonst ist der baustein nicht im richtigen ordner...
 
Ok, selektieren von Unterordnern funktioniert. Dann exportiert er alle Dateien darin. Allerdings ohne Ordnerstruktur. Ich hatte zuerst immer versucht den Hauptordner "Programmbausteine" zu selektieren. Das scheint aber nicht zu gehen. Für einen Komplettexport muss also zumindest Jeder Ordner der oberen Ebene einzeln angewählt werden.

Wie sieht das bei euch mit der Performance aus? Bei mir braucht Skripter 2:10 min um 138 Dateien über sourcegen zu schreiben. 1 Baustein pro Sekunde. Das ist alles andere als schnell. Komplette Projekte können deutlich größer sein.

Geht das bei euch schneller?
 
Denke mein Tool ist da auch nicht schneller... da ich ja auch die Openness API nutze.

Auf unserem Build Server dauert der Import all unserer Bausteine (sind bestimmt auch 100 bis 200) 10 Minuten. Wir müssen dazwischen aber auch 4 mal compile aufrufen... Aber ist mir eig. egal, da dies alles der build Server macht... und ob der 2 oder 10 min braucht... ist im moment nicht so wild
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Alle Programmbausteine bekommst einfach mit
Code:
select ProgramBlocks
Also keine Einschränkung dahinter angeben

Vielleicht kommt ein Export mit Ordnerstruktur ja noch

Was habt ihr so für Systeme im Einsatz, also CPU und RAM?
 
Zurück
Oben