TIA KNOW HOW schutz mit Openess

undeat

Level-2
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich möchte Programmbausteine im bestehenden TIA_Projekt mit Openess Automatisiert KNOW HOW Schützen. Laut Siemens geht das seit V15_1. Das Benutze ich auch.
Es gibt von Siemens ein PDF: "Openess: Projekterstellung automatisieren". Da ist auf Seite 312 beschrieben, wie das gehen soll.

Eine Instanz vom block habe ich. Ich kann den Namen ändern und sehe das im TIA Portal.
ich finde den Namespace vom ProtectionProvider nicht. Das einzige was ich finde ist Siemens.Engineering.SW.Blocks.PlcBlockProtectionProvider.
Der hat auch die Beschriebenen Methoden.

Allerdings wird mit Siemens.Engineering.SW.Blocks.PlcBlockProtectionProvider provider = block.GetService<Siemens.Engineering.SW.Blocks.PlcBlockProtectionProvider>(); kein Objekt zurück gegeben. provider bleibt = null.

block.Name = "Test" führt zu einer Namensänderung des FC im TIA Portal.
 
Schade. Ich wollte gerade "schnell" was machen um in einem kompletten Programm überall den Know-How zu entfernen. Aber das wird wohl nix.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So das Problem ist gelöst :D

Ich wollte nochmal ein paar Beispiele für den Support Request erstellen und plötzlich gings.
Grund: Ich war offline. Sobald man online ist bekommt man nur null zurück :rolleyes:
 
Und weiter gehts.... Gerade eben war das Problem nach erstellen einer neuen Bibliotheksversion und anschließendem "Vom Typ lösen" wieder da.
Diesmal konnte ich es "beheben" indem ich manuell nochmal das Projekt übersetzt habe.
 

Anhänge

  • Screenshot1.png
    Screenshot1.png
    213,8 KB · Aufrufe: 32
  • Screenshot6.png
    Screenshot6.png
    49 KB · Aufrufe: 30
Zuletzt bearbeitet:
Tja. Antwort vom SR:
Sehr geehrter Herr ****

nachdem ich mit meinen Kollegen Rücksprache gehalten habe, sind wir gemeinsam zu dem Entschluss gekommen, dass die Bearbeitung Ihres Falles den Rahmen des kostenlosen BASIC SUPPORTS deutlich überschreiten würde.
[...]

Wird wohl darauf rauslaufen, dass ich eine Funktion programmieren darf die erkennt ob ich online oder offline bin und wenn alles null ist das Programm einmal übersetzt.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich habe mich auch nochmal dem Thema gewidmet, nachdem sie ja anscheinend Erfolgreich waren und es mittlerweile die V17 gibt, war ich recht optimistisch. Es geht allerdings immer noch nicht. Ich bin aber etwas weiter.

Wenn ich einen Baustein im TIA Portal Know How Schütze und dann mein Programm starte, dann bekomme ich ein Objekt vom Typ protectionProvider und kann mit Unprotect(pw) den Know How Schutz auch wieder aufheben. Danach bekomme ich aber von dem wieder ungeschützten Baustein keinen protectionProvider und kann daher auch kein "Protect(pw)" ausführen.
 
Alles klar jetzt habe ich es.

Der Baustein muss übersetzt worden sein. Erst dann hat er einen protectionProvider

ICompilable compileServiceSwCpu = device.GetService<ICompilable>();
compileServiceSwCpu.Compile();
 
Zurück
Oben