# SPS Kopierschutz



## Mike@Automation (25 August 2010)

Hallo Forum,

ich mache mir schon seit einiger Zeit Gedanken darüber, wie man sein eigenes Programm, was man erstellt hat und dem Kunden übergeben hat, vor unerlaubten Kopieren schützen kann. Es kommt immer wieder vor daß Kunden eine 2. oder 3. Anlage bauen, und das Programm einfach da hinein kopieren und fertig. Insofern wird unser Know-How (das Programm) ohne unser Wissen mehrfach kopiert. Oder es wird einfach an Dritte weitergegeben und so weiter...
Das Problem: Die Kunden wollen meistens den Quellcode. Also mit Passwortschutz is da nichts zu machen das ist zu simpel.
Es müsste was sein, wo man eine Seriennummer oder sonstwas aus der Steuerung einliest und irgendwo im Programm an versteckter Stelle überprüft, und wenns die falsche CPU ist, eben auf stop gehen.
Oder gibt es vielleicht so etwas wie einen Hardlock (Dongel) den man an die MPI- oder DP-Schnittstelle stecken kann, so wie es bei PC-Programmen auch praktiziert wird?

Kennt da jemand eine Lösung?

Wie schütze ich mich vor Raubkopiererei?

Gruß
Mike


----------



## TCP/IP (25 August 2010)

Moin,

wenn Du hier im SPS-Forum nach "protect" suchst, findest Du einige Beiträge dazu.

Das aktuelle Step7 bietet keinen brauchbaren Schutz, aber die nächste Version soll eine echte Verschlüsselung von Passwörtern unterstützten.

tcp


----------



## bike (25 August 2010)

TCP/IP schrieb:


> Moin,
> 
> wenn Du hier im SPS-Forum nach "Know-how" suchst, findest Du einige Beiträge dazu.
> 
> ...



Wenn der Quelltext geliefert wird, wie willst du dann schützen?
Es ist erstaunlich, dass immer wieder gedacht wird ein Programm sei so einmalig, dass es kopiergeschützt werden muss.
Das Wissen kann nur dann weiter gewinnbringend verwendet werden über den Support, der gut sein muss auch nach der Lieferung.

bike


----------



## Sinix (25 August 2010)

Mike@Automation schrieb:


> ...Kennt da jemand eine Lösung?...


 
Vielleicht solltest du überlegen für die Übergabe des Quellcodes ein paar Euronen extra zu verlangen. Alternativ die Weiterverbreitung vertraglich regeln.

MfG


----------



## PN/DP (25 August 2010)

Die MMC der S7-300 haben eine Seriennummer die man auslesen kann. So kann man das Programm an eine bestimmte MMC binden.
Wie kann ich die Seriennummer der MMC auslesen?

Dieser "Schutz" müßte aber sehr gut im Programm versteckt sein, damit ein anderer Programmierer den nicht sofort findet.
Alle Software/technischen Lösungen sind nur Hürden, die aber das unrechtmäßige Kopieren nicht wirksam verhindern können.

So wie Mäuseklavier halte ich nur eine vertragliche Regelung als geeigneten Schutz. Gleich mit Fixierung der Vertragsstrafen.

Gruß
Harald


----------



## klaly (25 August 2010)

@ Mike@Automation
hallo mike, 
bei vipa gibt es einen kopierschutz, bei dem du einzelne bausteine geschütz und dauerhaft in die cpu laden kannst. Diese bausteine können vom endkunden nicht ausgelesen werden, es sind nur die bausteinrümpfe sichtbar. 
Wenn du da einige "ausgetestete" interne bausteine so geschützt ablegst, dann kann auch deine maschine keiner einfach so kopieren. Die geschützten bausteine sollten für eine effektive fehlersuche nicht notwendigerweise einsehbar sein müssen (blackbox). Ähnlich ist es ja auch mit klassisch geschützten bausteinen von siemens, wenn da ein schloß dran ist kann man ja auch nicht direkt rein schauen. 
Natürlich solltest du nicht direkt den OB1 oder andere für die fehlersuche wichtige bausteine schützen, damit die akzeptanz beim kunden und bei seinen instandhaltern gegeben ist. 

Techinsch funktioniert dies bei vipa wie folgt: 


Zu schützende bausteine in eine datei "protect.wld" ablegen und auf MMC kopieren.
Diese mmc in de CPU stecken und urlöschen durchführen.
Dadurch werden diese bausteine in das flash filesystem der CPUübernommen und damit zum festen bestandteil der CPU, ähnlich wie SFCs.
Die bausteine sind zwar sichbar, aber nur als bausteinrump und mit einer länge von 0, bzw. headerlänge.
Die bausteine können zwar ausgelsen werden, dabei wird aber nur der rumpf zum PG übertragen und kein code.
  Aus meiner sicht ist dies ein ziemlich perfekter schutz. 

Nachteil: 
Wenn die CPU kaputt ist, dann kann der kunde keine normale CPU nehmen, 
weil diese natürlich erst mit den protect bausteinen geladen werden müßte.

Lösung: 
Kunde bekommt eine reserve CPU, die entsprechende "kern bausteine" bereis vom maschinenbauer eingepflanzt bekommt. Evtl. so dass diese CPU 
für mehrere ähnliche anlagen verwendet werden kann. 

mfG. klaly


----------



## gravieren (25 August 2010)

klaly schrieb:


> Nachteil:
> Wenn die CPU kaputt ist, dann kann der kunde keine normale CPU nehmen,
> weil diese natürlich erst mit den protect bausteinen geladen werden müßte.
> 
> ...


Nachteil für den Kunden:

Geht der Zulieferer in Konkurs, kann ich auch meine Maschine wegwerfen.

Die Lebensdauer der Maschinen sind teilweise 20 oder mehr Jahre.
Geht der Zulieferer in Konkurs oder der Programmierer ist nicht mehr greifbar dann gibt es ein Problem.

Suche doch mal hier im Forum nach "Kennwort vegessen", "Kennwort rücksetzen",   Programmierer nicht erreichbar, Maschine steht . . .

Für mich wäre das ein K.O.-Kriterium.

Ich arbeite in der Instandhaltung, 
mussten schon mehrfach die Steuerung tauschen oder das PLC-Programm 
neu schreiben.
Wegen Konkurs oder Unfähigkeit des Zulieferers.

Thema Quellcode:
Man merkt erst, was der Quellcode taugt, wenn man ihn selbst überträgt.
Die meisten verlassen sich darauf, dass es der "richtige" ist und nicht das 
Übungsprogramm des Lehrlings  *ROFL* 


P.S:  Das wir teilweise Sondermaschinen haben, sind unsere Machinen bis zu 50 Jahre alt.  (Z.b. Hohnmaschine, mehrfach umgebaut/hochgerüstet, derzeit noch eine S5-95 im inneren des Schaltschranks)


----------



## Ralle (25 August 2010)

gravieren schrieb:


> Nachteil für den Kunden:
> 
> Geht der Zulieferer in Konkurs, kann ich auch meine Maschine wegwerfen.
> 
> ...



Das Problem gibt es auch mit "normaler", für Kunden erstellter Software. Abhilfe schafft da nur die Hinterlegung der offenen Software inkl. Quellen bei einem Treuhänder (Anwalt, Notar etc.), der nach einem Konkurs oder auch bei anderen vereinbarten Ereignissen die Software an den Kunden herausgibt.


----------



## Mike@Automation (25 August 2010)

*SPS kennwortschutz*

Hallo Leute,
erst einmal Danke für die Antworten.

Die Problematik mit den Programmen für den Service etc. ist mir natürlich bestens bekannt. Und daß ein Programm so gut geschützt ist daß niemand den Sicherungscode findet ist natürlich auch utopie. Jeder halbwegs vernünftige Programmierer findet es früher oder später, das ist mir auch klar. Es kann die Sache nur verzögern, aber nicht verhindern.

Die Sache mit den Verträgen ist ja auch schön und gut, aber, will man einen Kunden dann knallhart vor Gericht zerren wenn er mal ein Programm kopiert hat? Ich halte da nichts davon. Genau das würde ich gerne im Vorfeld verhindern.

Tja, ich dachte mir schon daß niemand eine echte Lösung kennt, ich kenne ja auch keine. 

Wäre doch mal eine Idee, einen Dongel zu entwickeln den ich auf die MPI Schnittstelle stecken kann, nur mit dem läuft die CPU. Das wäre doch mal ein echter Schutz. Wäre eine Aufgabe für Siemens.

So machen wir es auch mit unseren PC-Programmen und USB-Dongel, und das geht wunderbar. Ist natürlich eine andere Welt und nicht wirklich vergleichbar.

Gruß
Mike


----------



## Sinix (25 August 2010)

Mike@Automation schrieb:


> Wäre doch mal eine Idee, einen Dongel zu entwickeln den ich auf die MPI Schnittstelle stecken kann, nur mit dem läuft die CPU. Das wäre doch mal ein echter Schutz....



Wo willst du denn einen Dongel abfragen? Doch nicht etwa im SPS-Programm, dann bist du nämlich genau so weit wie vorher auch


----------



## rostiger Nagel (25 August 2010)

Sag mal Mike,
macht ihr wirklich so ausgefalle Software, die ein findiger Programmierer
in entsprechender Zeit nicht auch erstellen kann oder sogar besser macht
als ihr 

Ist das wirklich so das eure Kunden die Maschine mal eben nachbauen, 
wieviele machen das wirklich, habt ihr diese erfahrung gemacht?
Lohnt es sich den Kopf darüber zu zerbrechen oder macht es mehr sinn
diese Zeit, sinnvoll zu nutzen um die Maschine so Inovativ zu machen und
den Service so zu verbessern, das euer Kunde sagt ich kaufe nur noch da.

Wenn ich mich bemühe, währe ich bestimmt auch irgendwann in der Lage
mein Brot selber zu backen, aber ich kaufe trotzdem beim Bäcker.

gruß Helmut


----------



## IBFS (25 August 2010)

Helmut_von_der_Reparatur schrieb:


> Sag mal Mike,
> macht ihr wirklich so ausgefalle Software, die ein findiger Programmierer
> in entsprechender Zeit nicht auch erstellen kann oder sogar besser macht
> als ihr


 

Wenn es wirklich oberedele Softwarelösungen sind, nehmt ne 
WinAC und macht euch einen Kunden-SDB. Der ist dann 
sowas von sicher 

Frank


----------



## Befree (26 August 2010)

Also ich sehe da einen Unterschied zwischen Softwarelizensen und gekaufter Software. Ich kenne beide Seiten, die Seite der Maschinenbauer und die Seite der Instandhalter. Da ich von einer Firma die Schaltanlagen für Sondermaschinen gebaut hat gekommen bin und jetzt in einer Firma arbeite bei der ich damals für die alte Firma die Anlagen programmiert habe. Ich verbessere jetzt quasi meine eigenen Anlagen. Und musste in den ersten Monaten die von mir Programmierten Anlagen abnehmen.

Desshalb ist meine Meiung dazu klar: Wenn du Software verkaufst und damit meine ich, du wirst dafür bezahlt eine Anlage mit X Ausgänge und x Eingänge zu Programmieren. Brauchst dazu X Stunden und die werden dir bezahlt. Dan ist das Programm am Ende deiner Arbeit und nach der Bezahlung das Programm des Kunden. Punkt. Was er damit macht und ob er es kopiert kann dir Pups sein. dafür kostet es auch ein wenig mehr.
Sollte er aber bei einer !anderen! Anlage als bei der ersten probleme haben, und hilfe brauchen, gibts den support dazu natürlich nur gegen entsprechend Geld.

Aber schreibst du ein Programm für einen Kunden der vor hat dieses Programm in X Maschinen einzusetzen und  möchte für jede Anlage support von dir. Dann einigt man sich eben auf die Kosten der einmaligen erstellung der ersten Anlage + jede weitere Anlage. Alle weiteren werden dann mit einer sagen wir pauschale abgerechnet. Du wirst dann für das einspielen und die eventuelle Anpassung und natürlich für die "Lizens" des ersten Programms bezahlt. Alles vertraglich festgelegt und gut. Der support ist dann natürlich bis zu einem gewissen maße dabei.

Und egal wie du es machst, solange dein Kunde zufrieden ist und ein bisschen Hirnschmalz hat. Holt er sich sowieso lieber dich als irgendeinen anderen da dran zu lassen.

Programme so zu verschlüsseln das sie nur noch einer Firma (einem Programmierer) den Zugriff erlauben halte ich auch für sehr... naja.. scheiße 

Aber das haben meine vorredner ja schon zahlreich begründet.

Mfg

Befree


----------



## rostiger Nagel (26 August 2010)

vlt. ist ja der bessere Bausteinschutz bei den innovierten CPU's eine
Lössung http://support.automation.siemens.c...lib.csinfo&lang=de&objid=44267128&caller=view


----------



## NBerger (26 August 2010)

Also ich schütze auch unsere Anlagen vor ungewünschtem Kopieren.

Gehe da wie folgt vor:

1.) Es wird die Seriennummer der MMC ausgelesen(+ Prefix) und damit ein Hash gebildet (4DW) 
    Dies sollte in einem geeigneten Baustein erfolgen.
2.) Auf dem Bedienteil (oder OB100) wird der Hash eingegeben/hinterlegt.
     (Dies sollte auch in die DOKU!)
3.) alle 10 Minuten vergleiche ich beide. Bei Abweichung läuft ein Timer runter
     Dieser Timer läuft ca. 21 Tage.
4.) Ist der Timer abgelaufen wird die Anlage geeignet stillgesetzt.
5.) Den Timer lege ich dreifach an und mache die Werte unkenntlich (Schieben u. Tauschen der Bytes).Die drei Werte vergleiche ich zyklisch, bei einem Unterschied wurde ein Wert manipuliert, was zum sofortigem Punkt 4 führt.
6.) Die Timerwerte liegen in einem DB der von der CPU im Ram angelegt wird. 
    Im Anlauf der CPU:
     -Testen ob Ram-DB vorhanden:
        Ja: Einen DB im Ladespeicher erzeugen (wenn noch nicht vorhanden) und Timerwerte in im Sichern.
        Nein: (Urlöschen) Testen ob DB im Ladespeicher vorhanden, wenn ja Werte zurückladen in Ram-DB. Sonnst: Erzeugen der DB's und vorbelegen mit 21Tagen (Urgelöscht und MMC gelöscht und Programm neu übertragen)


Vorteile:
- Der Kunde ist  über die Autorisierung informiert.
- Er kann die gesammte Hardware Tauschen und auch die Software ändern
- Bei Tausch der MMC hat der Kunde 21Tage Zeit bei mir eine neue Autorisierung anzufordern. (Natürlich im Tausch gegen die alte MMC)
- Ein Neuanlauf führt nicht zum Neustart des Timers
- Ein Urlöschen führt nicht zum Neustart des Timers 
- Ein Übertragen aller Bausteine führt nicht zum Neustart des Timers 

Anmerkungen:
- Erst ein Löschen der MMC und Urlöschen der CPU setzt den Timer zurück auf Anfangswert. 
- DB-Zugriffe indirekt adressieren um nicht in der Queverweisliste zu erscheinen
- Ablegen des Cods in einem eh geschützten Baustein (z.B. FC72 G7) da jammert auch kein Kunde da von Siemens ja geschützt...

Ist natürlich viel Arbeit

Hoffe ich konnte helfen


----------



## IBFS (26 August 2010)

NBerger schrieb:


> Also ich schütze auch unsere Anlagen vor ungewünschtem Kopieren.
> 
> Gehe da wie folgt vor:
> 
> ...


 

Na du bist ja eine Schlingel.  Das ist die Kopierschutzlogik am Ende aufwändiger als der eigentliche Ablaufanteil 

Frank


----------



## rostiger Nagel (26 August 2010)

*was für ein Quatsch!*



NBerger schrieb:


> Also ich schütze auch unsere Anlagen vor ungewünschtem Kopieren.
> 
> Gehe da wie folgt vor:
> 
> ...



Dazu hätte ich nur zwei wünsche:
Der Kundenkreis der so einen Blödsinn kauft,
ist klein, damit sich das sich nicht zu sehr 
verbreitet. 
Zweitens, du schulst bald um und wirst Gärtner.


----------



## NBerger (26 August 2010)

Also wenns einmal geschrieben ist machts keine Arbeit.
Die Zykluszeit belastung in einem Zyklus alle 10Minuten ist auch vernachlässigbar.

Wenn Ihr eine Anlage geliefert habt und ein Jahr später steht neben dieser eine Zweite,Identische, was erzählst du denn dann deinen Kindern warum sie nichts zu essen bekommen? Weil der gute Tscheche; Pole... ja viel billiger bauen kann ? Mit der Doku wird ja alles offengelegt.

Warum haben wir denn den blöden Licensmanager? Warum wird denn heute alles autorisiert und registriert?

Warum sollen wir unsere Arbeit und Know-How nicht schützen?


----------



## MSB (26 August 2010)

Jegliche Form der Authorisierung ist bei genauer Betrachtung lediglich ein "Deppenschutz".
Das fängt beim License-Manager an und hört bei derartigem Käse auf.

Ich frag mich nur gerade wer euren Scheiß nach einer Insolvenz eurerseits,
oder deine Wenigkeit wird vom Zug überfahren ... kurzum wasauchimmer,
denn dann noch sinnvoll warten können soll, wenn ich selbst für einen brunzsimplen CPU-Tausch,
so ein Prozedere durchführen LASSEN muss.


----------



## rostiger Nagel (26 August 2010)

NBerger schrieb:


> Also wenns einmal geschrieben ist machts keine Arbeit.
> Die Zykluszeit belastung in einem Zyklus alle 10Minuten ist auch vernachlässigbar.
> 
> Wenn Ihr eine Anlage geliefert habt und ein Jahr später steht neben dieser eine Zweite,Identische, was erzählst du denn dann deinen Kindern warum sie nichts zu essen bekommen? Weil der gute Tscheche; Pole... ja viel billiger bauen kann ? Mit der Doku wird ja alles offengelegt.
> ...



Glaubst du der Pole oder Inder wäre nicht in
der Lage das selber zu Programmieren, der 
saß doch in der Uni neben dir und hatte so-
gar einen besseren Abschluss als du. 

Um meine Kinder mach dir mal keine sorgen
die fütter ich mit Hartz 4 und den Kindergeld 
durch.


----------



## NBerger (26 August 2010)

Also um den der den Schutz abknipsen kann mache ich mir keine Sorgen, der kann und wird seine Software selber schreiben.

Um die Betriebe die mit anderleuts Arbeit Geld verdienen wollen, aber selbst nichts auf die Beine stellen können gehts. Und die sollen ruhig versagen.

Nacht


----------



## Klärmolch (26 August 2010)

Gut das hier gelesen zu haben.
Diese Abhängigkeit von einer MMC oder ähnlichem werden
wir in Zukunft explizit in unseren Ausschreibungen ausschließen!

Bei uns wird in der Regel nichts selber gebaut, aber das Sterben von
Firmen im Bereich Abwassertechnik ist bei uns schon enorm.
Von fünf Firmen sind Innerhalb 10 Jahren drei platt gegangen,
z.T. vor Erstellung der entgültigen Dokumentation.
Diese Probleme reichen mir als Instandhalter völlig aus.

Gruß
Klaus


----------



## NBerger (26 August 2010)

Eins noch...

Wenn ich sehe was sich, auch hier im Forum, so zusammengeschrieben wird da brauche ich mir um eine halbe Millisekunde Zykluszeit wirklich keine gedanken zu machen.
Schaut euch doch mal an was eure FUP/KOP/SCL/CPC-Editoren für einen Schrott-Code produzieren. 

...


----------



## IBFS (26 August 2010)

NBerger schrieb:


> Schaut euch doch mal an was eure FUP/KOP/SCL/CFC-Editoren für einen Schrott-Code produzieren.


 
Was ihr euch immer über SIEMENS S7 aufregt ihr Schrott-Programmierer. 

Diese Maschine laufen stabil 10-15-20 Jahre lang.

Bisher hat die Leistung immer gereicht und das Gejammer über die teuer S7-400 ist auch Quark.

Bei einer Anlage von 1-2 Mio.€ sind 10T€ bis 15T€ für welche Steuerung auch immer absolut egal.

Solch unqualifizierte Bemerkungen kann ich nicht unkommentiert stehen lassen. :sw21: .. da werde selbst ich zu Feierabend sauer.

Ich könnte jetzt viele andere Steuerungstypen aufzählen wo verschiedenens total blöd gelöst ist. Soll sich doch jeder selbst kasteien wie er will.

Im übrigen sieht man bei S7 wenigstens wie der CODE aussieht.

Bin mal gespannt wie toll der Code (so man ihn sehen könnte) bei 3S, AB, OMRON usw. aussieht. Viel Spass beim Dechiffrieren.

Frank


----------



## NBerger (26 August 2010)

Da haste wohl was falsch verstanden.

Bin selber Siemensfetischist!
Finde es geil wenn vom Bedienkonzept bis runter an die NC-Achse alles konsequent durchgängig ist.

Aber! Die CPU's werden immer schneller und man schaft es, das nichts davon an Anlagenperformens dazugewonnen wird weil ein Code generiert wird der zu AWL locker Faktor 2-3 mal länger ist. 
Hauptsache jeder Doof kanns lesen. Toller Fortschritt.


----------



## IBFS (26 August 2010)

NBerger schrieb:


> Da haste wohl was falsch verstanden.


 
Dann schreibe SCL generiert "ausführlichen" Code (dazu folgend) und haue das nicht mit KOP/FUP/AWL in einen Topf.


MEINE THESE ist:

SCL schreibt das in den AWL Code hinein, den faule Programmierer gern vergessen zu coden. Und dann aufregen, dass der generierte Code länger ist. 

KLEINER SCL CODE


```
FUNCTION FC90 : VOID
VAR_INPUT
    POS         :   INT;
END_VAR
 
VAR_OUTPUT
    X           :   DINT;
    Y           :   DINT;
    Z           :   DINT;        
END_VAR
VAR_IN_OUT
    B           :   DWORD;
END_VAR
X := DB_KISTE.POSITION[POS].X;
Y := DB_KISTE.POSITION[POS].Y;
Z := DB_KISTE.POSITION[POS].Z;
B := DB_KISTE.POSITION[POS].B;
 
END_FUNCTION
```
 
Dazu muss man in diesem Fall wissen: DB_KISTE.POSITION[POS] ist ein ARRAY vom 1 bis 400 


AWL Dazu:


```
SET   
      SAVE  
      =     L      0.1
      L     #POS
      ITD   
      [COLOR=red]L     L#1[/COLOR]
      >=D   
      U     L      0.1
      =     L      0.1
      TAK   
      [COLOR=red]L     L#400[/COLOR]
      <=D   
      U     L      0.1
      =     L      0.1
      TAK   
      L     L#-1
      +D    
      SPO   I007
      SPA   I008
I007: CLR   
      =     L      0.1
I008: L     L#128
      *D    
      SPO   I009
      SPA   I00a
I009: CLR   
      =     L      0.1
I00a: L     L#0
      +D    
      SPO   I00b
      SPA   I00c
I00b: CLR   
      =     L      0.1
I00c: LAR1  
      AUF   "DB_KISTE"
      L     DBD [AR1,P#0.0]
      T     #X
      L     #POS
      ITD   
      [COLOR=red]L     L#1[/COLOR]
      >=D   
      U     L      0.1
      =     L      0.1
      TAK   
      [COLOR=red]L     L#400[/COLOR]
      <=D   
      U     L      0.1
      =     L      0.1
      TAK   
      L     L#-1
      +D    
      SPO   I00d
      SPA   I00e
I00d: CLR   
      =     L      0.1
I00e: L     L#128
      *D    
      SPO   I00f
      SPA   I010
I00f: CLR   
      =     L      0.1
I010: L     L#32
      +D    
      SPO   I011
      SPA   I012
I011: CLR   
      =     L      0.1
I012: LAR1  
      AUF   "DB_KISTE"
      L     DBD [AR1,P#0.0]
      T     #Y
      L     #POS
      ITD   
      [COLOR=red]L     L#1[/COLOR]
      >=D   
      U     L      0.1
      =     L      0.1
      TAK   
      [COLOR=red]L     L#400[/COLOR]
      <=D   
      U     L      0.1
      =     L      0.1
      TAK   
      L     L#-1
      +D    
      SPO   I013
      SPA   I014
I013: CLR   
      =     L      0.1
I014: L     L#128
      *D    
      SPO   I015
      SPA   I016
I015: CLR   
      =     L      0.1
I016: L     L#64
      +D    
      SPO   I017
      SPA   I018
I017: CLR   
      =     L      0.1
I018: LAR1  
      AUF   "DB_KISTE"
      L     DBD [AR1,P#0.0]
      T     #Z
      L     #POS
      ITD   
      [COLOR=red]L     L#1[/COLOR]
      >=D   
      U     L      0.1
      =     L      0.1
      TAK   
      [COLOR=red]L     L#400[/COLOR]
      <=D   
      U     L      0.1
      =     L      0.1
      TAK   
      L     L#-1
      +D    
      SPO   I019
      SPA   I01a
I019: CLR   
      =     L      0.1
I01a: L     L#128
      *D    
      SPO   I01b
      SPA   I01c
I01b: CLR   
      =     L      0.1
I01c: L     L#96
      +D    
      SPO   I01d
      SPA   I01e
I01d: CLR   
      =     L      0.1
I01e: LAR1  
      AUF   "DB_KISTE"
      L     DBD [AR1,P#0.0]
      T     #B
      CLR   
      U     L      0.1
      SAVE  
      BE
```
 
aus den leider notwendigen AdressregisterUmkopierAktionen
gibt es da noch eine Bereichsabfrage, die man - selbst programmiert - 
natürlich nur einmal ausgeführt hätte. Da aber der SCL-Compiler
nur Konstrukt für Konstrukt übersetzt gibt es dann natürlich
Doppelungen.

Aber wie gesagt, ich möchte nicht wissen wie der pure interne CODE
des Allen Bradlay - ST -Compilers aussieht. Man wird es nie erfahren 

Frank


----------



## Thomas_v2.1 (28 August 2010)

IBFS schrieb:


> aus den leider notwendigen AdressregisterUmkopierAktionen
> gibt es da noch eine Bereichsabfrage, die man - selbst programmiert -
> natürlich nur einmal ausgeführt hätte. Da aber der SCL-Compiler
> nur Konstrukt für Konstrukt übersetzt gibt es dann natürlich
> Doppelungen.



Die Überprüfung der Array-Grenzen kann man auch deaktivieren:


```
{ Scl_MonitorArrayLimits := 'n' }
```

Dann muss/kann man in AWL-Hacker-Manier die Bereichsüberprüfung selber programmieren, und wie damals nach Änderung der Array-Grenzen sein Programm nach den hardcoded Limits durchsuchen.


----------



## Maulwurf (28 August 2010)

Hallo Mike

Hat der Kunde dich nicht für die Erstellung des Programms entlohnt.
Wenn du es im Stundenlohn für ihn erstellt hast, darf er dann nicht damit machen was er will?
Wenn ich eine Schaltung baue, darf die auch jeder abkupfern.

Gruu Bernd


----------



## tschortscho51 (28 August 2010)

Beim Thema Softwareschutz ist auch der Aspekt von Produktepiraterie zu beachten. Bei kleineren überschaubaren Maschinen oder Teilmaschinen ist ein wirksamer Schutz der Software ein wesentlicher Teil dazu.
Ich löse das Problem bei solchen Machinen, in Absprache mit dem Maschinenlieferanten, dadurch, dass ich für eine Systemwiederherstellung eine Software mit lediglich einem AG Abzug mitgebe.
Mancher Maschinen- oder Anlagebauer hat nicht unberechtigte Angst z.B. nach Asien lediglich 1x eine Anlage zu liefern und anschliessend von dort durch "sein" Produkt am Markt konkurenziert zu werden.


----------



## bike (28 August 2010)

Also eines ist doch klar:
Egal was programmiert wird, es wird immer jemand geben, der dies findet.
Wenn ich lese die Seriennummer der MMC und so, bekomme ich Kopfweh.

Ich möchte nicht der Haut dessen,  stecken, der eine Maschine die gekauft und bezahlt ist, der diese stillsetzt. 
Den Schadenersatz möchte ich nicht bezahlen müssen und der Kunde kann dies ohne Probleme erfolgreich einklagen, da hilft ein Student im 3 Semester Jura zum Erfolg.


bike


----------



## mariob (29 August 2010)

Hallo,
mal anders rum: Hier gibt es Leute, die jammern, das sie nix mehr zu essen kriegen weil die bösen Raubkopierer unterwegs sind.
Mein Szenario: Betrieb, ca. 16 Jahre alt, die verwendete Steuerungstechnik genauso, mittlerweile vieles davon abgekündigt und/oder exotisch. Ein bißchen Siemens ist auch dabei.
Einige dieser Steuerungen sind systemrelavant in dieser Hinsicht, das der Betrieb dranhängt. Mein Essen also. Mit großem Aufwand besorgt man sich, teilweise am Rande der Legalität die Hard und Software, um eine Umstellung auf aktuelle Technik zu erreichen. Und dann ist da so eine Pfeife am Werk gewesen, die einem solchen Mist unterschiebt, teilweise bis gar nicht dokumentiert oder irgendwelche nicht dokumentierten Funktionen genutzt. Und den Hersteller der Anlage oder der Steuerung selbst gibt es nicht mehr, so das man nicht einmal mehr fragen kann :sm17:. Selbst wenn man den Auftrag fremd vergibt steht spätestens dann der Auftragnehmer in derselben Position, und wenn derselbe Pech hat hat der auch noch einen Festpreis gemacht.....


Sorry, aber sowas finde ich einfach nur bekloppt.
Mario


----------



## Lipperlandstern (29 August 2010)

So wie es aussieht gibt es gute Argumente FÜR eine Kopierschutz aber auch gute GEGEN einen Kopierschutz.

Klar würde ich es nicht toll finden wenn ich einen Anlage verkaufe und diese dann "kopiert" wird. 
Ich finde es aber auch nicht toll wenn ich eine Anlage habe und keine Änderungen/Reparaturen vornehmen kann weil es den Hersteller nicht mehr gibt und ich gar nicht oder nur mit riesigem Aufwand an die Steuerung komme. Das haben ja schon viele hier erlebt.

Was tun ??? 
Eine Möglichkeit wäre je nach Kunde zu handeln. Einen "alten" Kunden sollte man keinen Kopierschutz unterjubeln. Bei einem neuen Kunden evtl. noch aus dem Asiatischen Raum vielleicht schon.

Ich selber mache nix in Sachen Kopierschutz. 1. möchte das der Instandhalter auch mal kleine Änderungen durchführen kann bzw. ins Programm zu Fehlersuche schauen kann und 2. ist das Programm nicht alles. Es gehört auch einiges an Hintergrundwissen dazu um eine Maschine wie ans laufen zu bekommen.


----------



## Perfektionist (29 August 2010)

Lipperlandstern schrieb:


> ... möchte das der Instandhalter auch mal kleine Änderungen durchführen kann ...


Das ist halt auch so ein Punkt, wo man dann eben manchmal an (Kopier-)Schutz denkt. Ich schütze auch nicht - aber so manchen Kunden würde ich mir dann schon wünschen, dass, wenn der was ändert, mir das auch bekannt gibt :?


----------



## IBFS (29 August 2010)

Perfektionist schrieb:


> Das ist halt auch so ein Punkt, wo man dann eben manchmal an (Kopier-)Schutz denkt. Ich schütze auch nicht - aber so manchen Kunden würde ich mir dann schon wünschen, dass, wenn der was ändert, mir das auch bekannt gibt :?


 
Sobald die Freigabe für den Kunden gegeben wird, selbst was ändern zu können,
ist der übliche Support passé. Den gibt es nur bei Komplettseelsorge.

Frank


----------



## rostiger Nagel (29 August 2010)

IBFS schrieb:


> Sobald die Freigabe für den Kunden gegeben wird, selbst was ändern zu können,
> ist der übliche Support passé. Den gibt es nur bei Komplettseelsorge.
> 
> Frank


 
Neh, das sehe ich wieder anders. Der Kunde kann ändern was er will
Support gibt es immer zur jeder Zeit, nur leider ist es dann die Gewähr-
leistung des Kunden futsch. Wenn er dann Support haben möchte, be-
kommt er den auf jeden Fall, nur wird dieser dann auch in Rechnung
gestellt, was ja wohl verständlich ist.

Und ich bin immer noch der Meinung Programme abzuschließen macht
keinen Sinn wenn der Kunde in der Lage ist die Maschine selber zu 
bauen, kann er Sie wahrscheinlich auch selber Programmieren.
Das Programmieren ist oft auch oft nicht das was Problemme bereitet,
sondern eine Maschine so Inbetrieb zu nehmen das Sie auch wirklich
rund läuft, da ja doch Maschinenabläufe doch Dynamisch sind, es muss
immer ein bischen an Geschwindigkeiten von Achsen gedreht werden,
hier und da der Druck von der Pneumatik angepasst werden.
Dieses erlernt man nur wenn wenn man sich mit der Maschine Täglich
auseinander setzt, dieses macht ja der Maschinebauer.
Da reicht ein einfaches Kopieren der Software nicht aus, man muß sie 
auch begreifen.
Dann Dokumentation und Sicherheitsbetrachtung, muß auch vorhanden
sein, Gefahrenanlysen kann mann nicht kopieren die werden üblicher-
weise nicht herausgegeben.


----------



## JesperMP (29 August 2010)

Ich mache auch ein "Kopierschutz" in einige von meine Programme.
Aber nur die "Standard Maschinen", nicht Maschinen oder Anlagen mit Kundenanpassungen. Bei die letztere bekommen die Kunden normalerweise den vollen zugriff.

Mein Kopierschutz ist in den Art von NBerger's, wenn nicht so aufwendig.
Wenn den Kopiershutzt zuschaltet (wenn das Program kopiert wurde), schalte ich der Maschine nicht aus, nur die meist avanzierte Funktione. Ein Kunde wird nie erleben das der Maschine steht wegen den Kopierschutz.

Wir haben es tatsäglich erlebt unsere designs werden kopiert, Programme, Diagramme, Handbücher, Prospekte usw. Nicht in europa (*), sondern in Asien. Wenn man sich dagegen nicht schützt ist man einfach naiv !
*: In Europa werden "nur" unsere Maschinenzeichnungen kopiert.

Sind meine Programme so avanziert das keine andere sie selber nachprogrammieren kann ? Vielleicht nicht, aber es steckt Mann-Jahre drin. Am mindesten sollen unsere Konkurrenten so viel Zeit und Aufwand spendiren wie wir.


----------



## rostiger Nagel (29 August 2010)

Jasper, das mit den "Menpower" ersezten finde ich ein wenig sinnlos.
In China lassen sich zu deinen Gehalt  wahrscheinlich 20 Programmierer
beschäftigen.


----------



## bike (29 August 2010)

Helmut_von_der_Reparatur schrieb:


> In China lassen sich zu deinen Gehalt  wahrscheinlich 20 Programmierer
> beschäftigen.


Also inzwischen verdienen die Jungs in Fernost auch gutes Geld. Das mit 20 oder so ist nicht (mehr).
Wir haben es nicht geschafft in China eine eigene Fertigung kostendeckend aufzuziehen, obwohl wir das Wissen und auch das Geld hatten.
Es hat das Verständnis gefehlt für die Technik.
Es ist eben nicht damit getan in Deutschland zu studieren, es fehlen vielleicht ein paar Gene?  
Langsam wünsche ich mir Kunde zu sein und ein geschütztes Programm in einer Anlage zu haben.
Der Lieferant würde nicht vom Hof kommen, denn die Anlage wird bestimmt immer Probleme haben. 
Und wenn mir mal langweilig ist, würde ich dem Lieferanten sein "Kopierschutz" rausbauen. 
Denn den gibt es definitiv nicht, weder in PLC noch in anderen Programmen.  

bike


----------



## bike (29 August 2010)

Perfektionist schrieb:


> Das ist halt auch so ein Punkt, wo man dann eben manchmal an (Kopier-)Schutz denkt. Ich schütze auch nicht - aber so manchen Kunden würde ich mir dann schon wünschen, dass, wenn der was ändert, mir das auch bekannt gibt :?


Das ist eigentlich leicht zu erreichen:
Ein gutes Verhältnis zu dem Kunden, bei der Inbetriebnahme, die Jungs und Madl einbinden und die fragen und melden dann rechtzeitig ob und was sie ändern dürfen bzw wollen.
Das ist unsere Erfahrung und wir fahren recht gut damit.


bike


----------



## Perfektionist (30 August 2010)

bike schrieb:


> Das ist eigentlich leicht zu erreichen:
> Ein gutes Verhältnis zu dem Kunden, ...


Ich würde nun nicht behaupten, dass es am guten Verhältnis lag, dass mir jüngst nicht die aktuellste Fassung der Software vorlag. Der Kunde bzw. einer seiner zig Mitarbeiter hatte schlicht versäumt, mir die Änderung mitzuteilen. Vielleicht dachte er, ich würde niemals mehr an die Anlage ranmüssen. Und ich hab nicht damit gerechnet, dass der Kunde was geändert haben würde. Und so kam ich an die Anlage mit einer Änderung, die auf einem unzutreffenden Programmstand aufbaute. Mit Schutz wäre das nicht passiert. Schutz hätte nicht nur den Unwillen (das was Du schlechtes Verhältnis nennen würdest) ausgeschlossen, sondern auch dieses einfache Versehen verhindert. Zum guten Verhältnis kam nun hinzu, dass ich nicht nur die Kundensoftwareänderung prüfen, sondern auch noch in meinen Programmstand übernehmen musste. Und nach Möglichkeit nicht das Maulen darüber anfangen durfte, dass mir vielleicht deswegen die Zeit davonlief. Was tut man nicht alles, für ein gutes Verhältnis? Und so toleriert man halt auch, dass da jemand - gutes Verhältnis oder auch nicht - an der Software was rummacht, ohne Bescheid zu sagen. Vielleicht passiert das bei gutem Verhältnis sogar noch öfter, eben weil ich dem Kunden nicht zutraue, eigenmächtig zu handeln.


----------



## bike (30 August 2010)

Perfektionist schrieb:


> Und ich hab nicht damit gerechnet, dass der Kunde was geändert haben würde. Und so kam ich an die Anlage mit einer Änderung, die auf einem unzutreffenden Programmstand aufbaute. Mit Schutz wäre das nicht passiert.


Schutz, irgend etwas zu ändern gibt es eigentlich nicht und sollte es auch nicht geben.
Und was denkst du, wie oft ich einen anderen Stand habe, als der, der in der Anlage ist?
Da kommt jedoch die Kapselung bei uns zum tragen, dass es auch nicht zu viel Aufwand ist, die Änderung relativ schnell und leicht in die Projekte einzubauen.




Perfektionist schrieb:


> Schutz hätte nicht nur den Unwillen (das was Du schlechtes Verhältnis nennen würdest) ausgeschlossen, sondern auch dieses einfache Versehen verhindert.


Danke, dass du so elegant hier alles hin und her drehst.
Nenne es wie du es willst.

bike

P.S:Sei doch einfach lockerer, dann klappt es auch mit den Schreibern hier.


----------



## Lipperlandstern (30 August 2010)

Perfektionist schrieb:


> .....Und so kam ich an die Anlage mit einer Änderung, die auf einem unzutreffenden Programmstand aufbaute. Mit Schutz wäre das nicht passiert.....



Das kann doch kein wirkliches Problem sein. Ich gehe mal davon aus das die Änderungen des Kunden sehr kleine Änderungen waren. Das bekommt man mit einem Vergleich schnell raus. Dann haste deinen aktuelle Version und kannst deine Änderung da reinpflegen. Hättest Du einen Onlinezugriff auf deine Anlagen wäre das ganze noch viel einfacher zu händeln.

Das ist für mich kein Argument FÜR einen Kopierschutz


----------



## Perfektionist (30 August 2010)

bike schrieb:


> Und was denkst du, wie oft ich einen anderen Stand habe, als der, der in der Anlage ist?


Bei mir ist es nicht der Regelfall, ich dachte, bei Dir auch nicht.



bike schrieb:


> Da kommt jedoch die Kapselung bei uns zum tragen, dass es auch nicht zu viel Aufwand ist, die Änderung relativ schnell und leicht in die Projekte einzubauen.


*kopfkratz* wie soll das gehen? Deine Kunden haben wohl einen tadellosen Programmierstil ... (?)



bike schrieb:


> Danke, dass du so elegant hier alles hin und her drehst. Nenne es wie du es willst.


Ich habe versucht, wiederzugeben, was ich verstanden hatte.



bike schrieb:


> P.S:Sei doch einfach lockerer, dann klappt es auch mit den Schreibern hier.


Im Moment kommt es mir so vor, als ob wir beide speziell immer wieder mal aneinander geraten würden. Ich kann nicht so recht fassen, woran es liegt. Ich versuche es mal damit:





> Langsam wünsche ich mir Kunde zu sein und ein geschütztes Programm in einer Anlage zu haben.
> Der Lieferant würde nicht vom Hof kommen, denn die Anlage wird bestimmt immer Probleme haben.


Wie gesagt, so recht fassen kann ich es nicht. Mir fallen dazu so Worte wie Überheblichkeit, Selbstgerechtigkeit oder sowas ein. Wohlwissend, dass Charakterzüge, die einem selbst zueigen sind, einem bei einem anderen Menschen umsomehr ins Auge fallen.


----------



## Perfektionist (30 August 2010)

Lipperlandstern schrieb:


> Das kann doch kein wirkliches Problem sein. Ich gehe mal davon aus das die Änderungen des Kunden sehr kleine Änderungen waren. Das bekommt man mit einem Vergleich schnell raus.


erstens: nein. zweitens: ja! drittens: ja!
viertens: der MA, der es gemacht hat, war im Urlaub, als ich ihn dazu gerne befragt hätte (gibt noch andere Gründe, warum jemand nicht greifbar ist - an dem Tag hatte ich halt Pech wegen Urlaub).



Lipperlandstern schrieb:


> Dann haste deinen aktuelle Version und kannst deine Änderung da reinpflegen.


Aber ich hab noch nicht verstanden, was er da getan hat. Und die ZuLi auch noch nicht. Oder gar geänderte FB-Deklarationen.



Lipperlandstern schrieb:


> Hättest Du einen Onlinezugriff auf deine Anlagen wäre das ganze noch viel einfacher zu händeln.


Du meinst Fernwartung? Welche Art von Fernwartung meinst Du? Ich kenne da eine Art, die sich eines Rechners beim Kunden per Remote-Desktop bedient. Das ist der Schilderung nach weitgehend perfekt (ich selbst habs noch nicht benutzt - mir wurde mitgeteilt, dass die Möglichkeit besteht). Und dann kenne ich verschiedene andere Dinge. Wo dann der Zugriff z.B. auf ZuLis nicht möglich ist. Oder Kunden, die neurotisch reagieren, wollte man deren SPS ans Internet koppeln.



Lipperlandstern schrieb:


> Das ist für mich kein Argument FÜR einen Kopierschutz


Deinen Standpunkt kenne ich nun wohl. Sonderlich gut begründet finde ich ihn aber nun nicht.


----------



## thomass5 (30 August 2010)

... die perfekte Art wäre es sicher gewesen, vor Deiner Änderung den Kunden um das aktuelle Projekt zu bitten und darauf aufzubauen. ...

Da kann sich keiner beschweren, er weis von nichts. Weder Du noch der Kunde.

Thomas


----------



## Perfektionist (30 August 2010)

thomass5 schrieb:


> ... die perfekte Art wäre es sicher gewesen, vor Deiner Änderung den Kunden um das aktuelle Projekt zu bitten und darauf aufzubauen. ...
> Da kann sich keiner beschweren, er weis von nichts. Weder Du noch der Kunde.


gelesen?


Perfektionist schrieb:


> ... Und ich hab nicht damit gerechnet, dass der Kunde was geändert haben würde.


klar - in Zukunft mach ich das. Beschwert hat sich keiner bei niemandem - es ist halt passiert. Klar, hätten da irgendwelche Krämerseelen davon Wind bekommen, dann hätten sich da dann irgendwelche über die Abrechnung aufgegeilt. Ob Hol- oder Bringschuld? Ich weiss es nicht. Aber möglicherweise ist es nicht meine Aufgabe, mich drum zu kümmern, ob ich die aktuellste Version in der Hand halte (insbesondere dann, wenn der Kunde die Software als sein Eigentum sieht?).


----------



## thomass5 (30 August 2010)

Perfektionist schrieb:


> gelesen?



klar gelesen!

Insbesondere dann, wenn der Kunde die Software als sein Eigentum ansieht, sollte der Dienstleister in seinem eigenen Interesse nach dem aktuellen Stand fragen und ankündigen darauf seine Änderung durchzuführen. 

Thomas


----------



## IBFS (30 August 2010)

Seid froh, dass ihr bei S7 so einen schönen OFFLINE/ONLINE-Vergleich habt. Also nutzt ihn auch.

Das gibt es Programmiersysteme, da geht das nicht sooooo einfach wie bei S7 

Oder garnicht, wenns Projekt nicht komplett auf der CPU ist. (Wie war das doch gleich bei 3S?) 


Frank


----------



## Perfektionist (30 August 2010)

@Thomas: von der Seite, dass ja ich als Auftragnehmer die Software ändern will und nicht der Auftraggeber eine Änderung durchführen lassen möchte, hab ich die Sache noch garnicht betrachtet.

@Frank: das Nichtvorhandensein einer Online/offline-Vergleichsmöglichkeit kann auch disziplinieren. Im Übrigen leben die Simatic-Leute bei Verwendung von Protool schon lange mit nicht vorhandenen On-/Offline-Vergleichmöglichkeiten.


----------



## IBFS (30 August 2010)

Perfektionist schrieb:


> @Frank: das Nichtvorhandensein einer Online/offline-Vergleichsmöglichkeit kann auch disziplinieren. Im Übrigen leben die Simatic-Leute bei Verwendung von Protool schon lange mit nicht vorhandenen On-/Offline-Vergleichmöglichkeiten.


 
Ich dachte nur an die SPS (scheiss doch auf die VISU) die Maschine muss laufen, der Rest ist Zweitrangig.  

Frank


----------



## Blockmove (30 August 2010)

thomass5 schrieb:


> klar gelesen!
> 
> Insbesondere dann, wenn der Kunde die Software als sein Eigentum ansieht, sollte der Dienstleister in seinem eigenen Interesse nach dem aktuellen Stand fragen und ankündigen darauf seine Änderung durchzuführen.
> 
> Thomas



*ACK*

Die Software gehört in Normalfall zu einer vom Kunde erworbenen Anlage. Also kann ich als Kunde erstmal damit machen was ich will. Sicherheitstechnik, Gewährleistung- und Garantie-Ansprüche und CE-Kennzeichnung mal aussen vor gelassen.

Wir haben schon oft genug Modifikation an Anlagen nur mechnaisch vom Hersteller durchführen lassen und die Software selber geändert, da die Programmierer vom Anlagenhersteller grottenschlecht waren / sind.

Gruß
Dieter


----------



## Aventinus (30 August 2010)

Perfektionist schrieb:


> @Thomas: von der Seite, dass ja ich als Auftragnehmer die Software ändern will und nicht der Auftraggeber eine Änderung durchführen lassen möchte, hab ich die Sache noch garnicht betrachtet.



Ich kenne mittlerweile beide Seiten, die des Lieferanten und jetzt die des Kunden.
Ich bin der Meinung, als Kunde vergebe ich den Auftrag für eine Änderung jedesmal dem Lieferanten, der mit das beste Angebot macht (nicht zwangsläufig das billigste ;-) ). Da der Lieferant in der Regel den Umbau der Anlage des Kunden anbietet (und nicht den Umbau der Anlage, die der Lieferant glaubt beim Kunden zu finden) sollte er sich den aktuellen Stand vom Kunden geben lassen. Somit ist sichergestellt, dass beide vom gleichen sprechen. 

Schließlich haben ja beide Seiten ein begründetes Interesse daran, dass ein Umbau reibungslos über die Bühne geht.

Aber ich kann dich beruhigen, ich habs früher bei manchen Kunden auch nicht damit gerechnet, dass die Software ändern und mich drauf verlassen dass mein Stand paßt ;-)


----------



## thomass5 (30 August 2010)

Blockmove schrieb:


> da die Programmierer vom Anlagenhersteller grottenschlecht waren / sind.
> 
> Gruß
> Dieter



Dies ist mir persönlich glücklicherweise bislang erspart geblieben. Unterschiede gibts/gabs schon, aber grottenschlecht bisher nicht.

Thomas


----------



## bike (30 August 2010)

Perfektionist schrieb:


> Mir fallen dazu so Worte wie Überheblichkeit, Selbstgerechtigkeit oder sowas ein.


Stimmt, das bin ich, wenn Wissen und Können so bei dir ankommen.
PLC kann ich, das ist eben so.

Mir ist auch klar, dass es immer jemand gibt, der besser als ich ist.
Da kenne ich selbst einige , und das ist gut so.

bike


P.S:Mir ist es inzwischen einfach zu dumm, so angemacht zu werden. Ich mache es ja auch nicht.


----------



## IBFS (30 August 2010)

bike schrieb:


> P.S:Mir ist es inzwischen einfach zu dumm, so angemacht zu werden. Ich mache es ja auch nicht.


 
@bike
Du bist viel zu empfindlich, wir sind doch keine "Konstruktöre", die heulen bei jedem Bissel gleich los *ROFL*


Frank


P.S. Du must beim *Perfektionist *zwischen den Zeilen lesen, da steht das Wahre.


----------



## bike (30 August 2010)

IBFS schrieb:


> @bike
> Du bist viel zu empfindlich, wir sind doch keine "Konstruktöre", die heulen bei jedem Bissel gleich los *ROFL*
> 
> 
> Frank



Bin ich das? Eher weniger.
Und heulen ist auch nicht mein Metier.

Doch wenn jemand sich so nennt und dann nicht so arbeiten habe ich ein Problem. 
Und dann noch so beratungsresistent zu sein, keine andere Meinung zu zulassen, das ist heftig.

Vielleicht kommt meine auch Reaktion daher, dass ich mit zu vielen "Spezialisten" zu tun habe?

Na egal, it is as it is


bike


----------



## JOHKU (30 August 2010)

Blockmove schrieb:


> Die Software gehört in Normalfall zu einer vom Kunde erworbenen Anlage.  Also kann ich als Kunde erstmal damit machen was ich will.  Sicherheitstechnik, Gewährleistung- und Garantie-Ansprüche und  CE-Kennzeichnung mal aussen vor gelassen.
> 
> 
> Dieter


Wie ist das mit AutoCad oder Office?
Ich denke es gibt durchaus schützenswerte Software.
Dem Käufer gehört das uneigeschränkte Nutzungsrecht.
Der Lieferant ist verpflichtet alle Scnittstellen offenzulegen (siehe VBA Skripte etc).
Bei SPS Programmen muss das HMI so gestaltet werden dass eine 100% Störungsaufklärung auch ohne PG möglich ist.
Dann kann man auch an Know-How Schutz denken.
Wir  verwenden auch einen (eher schwachen) Kopierschutz mit Hilfe der MMC  Seriennummer. Dieser beschränkt sich jedoch blos auf die schlüssel FBs,  d.h. die Software ist offen, kann seitens Kunden verändert werden ist  aber ohne Überwindung des Kopierschutz nur auf einem System ablauffähig.


----------



## thomass5 (30 August 2010)

JOHKU schrieb:


> Wie ist das mit AutoCad oder Office?
> Ich denke es gibt durchaus schützenswerte Software.
> Dem Käufer gehört das uneigeschränkte Nutzungsrecht.
> Der Lieferant ist verpflichtet alle Scnittstellen offenzulegen (siehe VBA Skripte etc).
> ...



Autocad oder Office ist in meinen Augen das gleiche wie die z.B. Step7
Entwicklungsumgebung. Die *.doc Datei das gleiche wie das lauffähige Programm in der CPU.

Thomas


----------



## Paule (30 August 2010)

Warum wird eigentlich nie die Bedienungsanleitung geschützt?

Dann könnte ich 20 Seiten leeres Papier abgeben und sagen:
"Tut mir leid Leute, die Bedienungsanleitung ist Lesegeschützt, aber rein schreiben dürft ihr was ihr wollt."


----------



## vierlagig (30 August 2010)

Paule schrieb:


> Dann könnte ich 20 Seiten leeres Papier abgeben



ob DU es nun beschreibst oder nicht...naja, egal,...
20 seiten deutet eher auf mini-anlagen, wenn man das noch anlagen nennen darf, hin.

ansonsten und darüber hinaus: ich unterstütze einen kopierschutz, auch und evtl. so, dass beim kunden priviligiertes personal eine kopie zur weiterverarbeitung anfertigung darf ... details bitte vertraglich fest halten


----------



## Paule (31 August 2010)

vierlagig schrieb:


> ob DU es nun beschreibst oder nicht...naja, egal,...
> 20 seiten deutet eher auf mini-anlagen, wenn man das noch anlagen nennen darf, hin.


*ROFL*
Man 4L, das war ein Witz.
Die zwanzig leeren Seiten sind natürlich beidseitig beschrieben. *ROFL*

Ist aber auch egal was für eine Zahl ich da genommen hätte.


----------



## vierlagig (31 August 2010)

beidseitig beschrieben reißts!


----------



## Perfektionist (31 August 2010)

bike schrieb:


> ...
> Doch wenn jemand sich so nennt und dann nicht so arbeiten habe ich ein Problem.
> Und dann noch so beratungsresistent zu sein, keine andere Meinung zu zulassen, das ist heftig.
> ...


Dafür hast Du sicherlich belastbare Belege?

Ich hab mal einen Beleg dafür, dass bei Dir das Fähnchen einfach nur im Wind hängt:


bike schrieb:


> Der Erklärung von Harald ist nichts mehr hinzu zufügen.
> Es ist nicht hoch genug anzurechnen, dass sich jemand soviel Zeit nimmt, um dies so ausführlich zu erklären.
> bike


In dem betreffenden Thread habe ich der Erklärung von Harald einiges hinzugefügt. Und ich danke ihm sehr dafür, dass er sich auch die Zeit genommen hat, mir wiederum darauf zu antworten. Im Gegensatz zu Haralds Beiträgen, die man diskutieren kann, reihe ich Deine Beiträge eher in die Kategorie Stimmungsmache ein.


----------



## bike (31 August 2010)

Ich entschuldige mich, denn ich habe vergessen, dass du der Erfinder der PLC Programmierung bist.

bike


P.S: und wenn ich Stimmung mache, dann hoffe ich gute.


----------



## IBFS (31 August 2010)

bike schrieb:


> Ich entschuldige mich, denn ich habe vergessen, dass du der Erfinder der PLC Programmierung bist.


 
*bike & Perfektionist* ihr kommt gleich in die Krabbelgruppe 

Die Anträge habe ich schon ausgefüllt! 

Frank


----------



## JOHKU (31 August 2010)

thomass5 schrieb:


> Autocad oder Office ist in meinen Augen das gleiche wie die z.B. Step7
> Entwicklungsumgebung. Die *.doc Datei das gleiche wie das lauffähige Programm in der CPU.
> 
> Thomas


Lieber Thomas Du hast nicht verstanden was ich meine.
Z.B AutoCad ist eine Software in der enorme Entwicklung steckt die aber leider in relativ geringen Stückzahlen verkauft wird. Ich muss akzeptieren dass der Preis einer Lizenz auf den ersten Blick als gigantisch oder fast als räuberische Erpressung empfunden wird. Gleichzeitig muss sich eine Firma wie Autodesk gegen Cloneprodukte behaupten die kein eigenes Konzept entwickelt haben aber ein Softwareprodukt mit identischer Funktionalität anbieten. 
Und jetzt schliessen wir den Kreis zur SPS.
Eine Firma entwickelt ein Verfahren, die Betonug liegt auf Verfahren!
Dieses wird in Software umgesetzt. Die Software beinhaltet nun nicht nur die Programmierkunst des Programmierers sondern auch das jahrelange Know-How der Firma zu diesem Verfahren. Und eben diesen MUSS geschützt werden unabhängig davon ob nun der Code grottenschlecht ist oder auch nicht!


----------



## MSB (1 September 2010)

JOHKU schrieb:


> Eine Firma entwickelt ein Verfahren, die Betonug liegt auf Verfahren!
> Dieses wird in Software umgesetzt. Die Software beinhaltet nun nicht nur die Programmierkunst des Programmierers sondern auch das jahrelange Know-How der Firma zu diesem Verfahren. Und eben diesen MUSS geschützt werden unabhängig davon ob nun der Code grottenschlecht ist oder auch nicht!



Also jetzt stellen mer uns mal janz dumm.

Imho 2 Möglichkeiten:
- Ich habe selbst (bzw. innerhalb meiner Firma) genügend Know-How um das Jahrelang entwickelte Verfahren zu durchschauen,
dann ist mir der SPS-Code wenn ich nun böswillig agieren würde eigentlich egal.

- Ich habe nur den SPS-Code, von mir aus auch perfekt kommentiert, aber keine Ahnung vom Verfahren,
dann werde ich durch den SPS-Code nur äußerst spärrlich all die herrlichen Kleinigkeiten rausfinden auf die es beim Verfahren ankommt.

Obige 2 Punkte könnten aber auch nur auf mich zutreffen, ich bin was das anbelangt ein recht digitaler Typ:
- entweder ich schnall die Maschine, was diese macht, dann lest sich der Code wie ein offenes Buch, eine halbwegs vernünftige Symbolik reicht

- ich schall die Maschine nicht, dann bringt auch der bestens, bis zum exzess kommentierte SPS-Code nur marginalen Erfolg.

Mfg
Manuel


----------



## Klärmolch (1 September 2010)

Den Instandhalter/Programmierer der die Maschine/Anlage
nicht geschnallt hat und trotzdem fummelt, halte ich für sehr "mutig" und
ein eventueller Erfolg ist ein Glückstreffer.

Gruß
Klaus


----------



## thomass5 (1 September 2010)

JOHKU schrieb:


> Lieber Thomas Du hast nicht verstanden was ich meine.
> Z.B AutoCad ist eine Software in der enorme Entwicklung steckt die aber leider in relativ geringen Stückzahlen verkauft wird. Ich muss akzeptieren dass der Preis einer Lizenz auf den ersten Blick als gigantisch oder fast als räuberische Erpressung empfunden wird. Gleichzeitig muss sich eine Firma wie Autodesk gegen Cloneprodukte behaupten die kein eigenes Konzept entwickelt haben aber ein Softwareprodukt mit identischer Funktionalität anbieten.
> Und jetzt schliessen wir den Kreis zur SPS.
> Eine Firma entwickelt ein Verfahren, die Betonug liegt auf Verfahren!
> Dieses wird in Software umgesetzt. Die Software beinhaltet nun nicht nur die Programmierkunst des Programmierers sondern auch das jahrelange Know-How der Firma zu diesem Verfahren. Und eben diesen MUSS geschützt werden unabhängig davon ob nun der Code grottenschlecht ist oder auch nicht!



Ich denke schon, dich verstanden zu haben. Das SPS-Programm beinhaltet ja nicht allein das "Verfahren"(siehe MSB). Steckst Du dann übertrieben die komplette Maschine in einen schwarzen Kasten? Die Maschine wird ja für den Kunden hergestellt selbst eine Serienmaschine. Und auch das besste Verfahren entsteht nur mit dem Kunden, der dies braucht, in der realen Welt testet, anwendet und weiterentwickelt. Wenn Du nicht möchtest, das Dein Verfahren von anderen genutzt wird musst Du das Endprodukt selbst herstellen und vermarkten (lassen) oder den Kunden mit Deiner ständigen Verfügbarkeit im Servicefalle überzeugen können. Ansonsten muß Dein Gesamtkonzept mit Service, Ersatzteilen, ... passen um Deinen Aufwand der Verfahrensentwicklung zu vergüten. Bsp. MS/Autodesk  Es ist für einige Unternehmen günstiger die Lizenzkosten zu tragen, als die Mitarbeiter auf ein Konkurenzprodukt zu schulen, die ganze Infrastruktur umzustellen, in eine ungewisse Produktzukunft zu sehen und und und. 

Wenn Dir Dein Kunde das Programm geschützt abnimmt und für den Servicefall einen entsprechenden Vertrag eingeht sei froh darüber. 

Ich habe letztens auch einen iPod für meine Tochter gekauft und billigend die umständliche Befüllung mit Musik in kauf genommen. Ausschlaggebend waren einige Merkmale in Kombination (Farbe, eingebauter Lautsprecher, Lautsärkebegrenzung, Kamera. 

Langsam sollte ein Mod. das Thema in den Stammtisch verschieben.

Thomas


----------



## Perfektionist (1 September 2010)

Klärmolch schrieb:


> ... nicht geschnallt hat ...


Und wer will das beurteilen?


----------



## Klärmolch (1 September 2010)

Das sieht man spätestens am Ergebnis.

Nun sollten wir aber wieder zum Thema zurückkehren.
Jeder hat dazu seine eigene Meinung, das sollten wir auch alle akzeptieren.

Gruß
Klaus


----------



## Perfektionist (1 September 2010)

Klärmolch schrieb:


> Das sieht man spätestens am Ergebnis.


eben: zu spät.

Was war das Thema? Kopierschutz? Ach ja, ich erinnere mich: ich schrieb: "(Kopier)schutz kann auch vor Fummelei schützen." So, oder so ähnlich ...

EDIT: ... ach ja, ich find es gut, wenn jeder akzeptieren kann, dass jeder seine eigene Meinung hat. Das erspart jede Menge unnützer Diskussionen, da ja eh keiner von seinem Standpunkt abrücken braucht, wenn jeder jeden akzeptiert ...


----------



## borromeus (16 März 2015)

Ich spiele mich mit dem Gedanken dem Kunden als Service eine PCS7-Runtime mit PLC-SIM als VMWARE zu Verfügung zu stellen.
Das ziemlich aufwändige daran ist, dass wir die Prozesse simulieren wollen. Dazu werden in CFC einfach entsprechende Simulationsstrecken eingebaut. Es gibt daher schon eine Bilbiothek für Regelstreckennachbildung.
Und, zum Thema passend, wir wollen nicht dass diese Bausteine woanders "landen" die dort funktionieren.
Hat wer Ideen in dieser Konstellation VMWARE/PCS7/PLCSIM diese FB's (es geht nur um die Streckensimulation) zu schützen?
Sprich: wie oben geschrieben: der Kunde zahlt die Software sowieso und kann damit 10 Anlagen bauen wenn er will, mir geht es nur um den Schutz "unserer" Bausteine im Nichtproduktivbetrieb unter Simulationsbedingungen.
Das kann also ruhig ein bisschen "schärfer" sein, es passiert ja nichts.


Gruß
Karl

Edit: zur IBN werden diese Bausteine "deaktiviert".


----------



## Thomas_v2.1 (16 März 2015)

Das einzig wirklich wirksame ist die S7 Block Privacy. Musst natürlich schauen ob das überhaupt für PCS7 freigegeben ist.

Ob jetzt eine Reglerstreckensimulation so schützenswert ist? Ich würde mir bei so einem Baustein nichtmal die Mühe machen für sowas den "normalen" Bausteinschutz aufzuheben, sondern gerade selber schreiben.


----------



## borromeus (16 März 2015)

Danke für Deinen Beitrag Thomas, 
aber ZB ist die Abdampfmenge einer Destillationskolonne von zig Parametern abhängig, da schreibt man schon mal 2-3 Wochen und muss sich vorher einige Zeit mit der Verfahrenstechnik und der Physik beschäftigen, Kurvengruppen hinterlegen etc. etc.
Ein PT1- Glied würde ich auch nicht schützen.
;-)


----------



## Thomas_v2.1 (16 März 2015)

Dann würde ich mich eher fragen: Kann damit außerhalb dieser konkreten Anlage überhaupt jemand etwas anfangen ohne den verfahrenstechnischen Aufbau dieser zu kennen, und wie lange wird er benötigen um mit diesem Baustein überhaupt etwas anfangen zu können.
Bei SPS-Programmen ist es selten (nicht immer) so, dass das Know-How nur in der Software steckt, sondern in der Kombination aus Software, Hardware, Verfahrenstechnik etc.


----------



## borromeus (16 März 2015)

Jemand, der zB so fit wie Du ist, kann.
Der Kunde hat ja öfters solche Anlagen.


----------



## Rudi (16 März 2015)

Ich als Kunde würde auf jeden Fall ein lesbares Programm verlangen !


----------



## borromeus (16 März 2015)

Rudi schrieb:


> Ich als Kunde würde auf jeden Fall ein lesbares Programm verlangen !



Für eine Gratisleistung für ihn zum Testen kann er verlangen was er will- er bekommt es nicht!


----------



## thomass5 (16 März 2015)

wie wäre es mit realer Hardware auf der die Streckensimulation läuft? Von außen verrammelt und vergossen bis auf die Kommunikationsschnittstelle. So kann er sich mit seinem Programm andocken ohne Dein Programm zu benötigen . Änderungen könntest du ja via diverser Fernzugriffsmöglichkeiten (Teamviewer Remote Desktop usw...) mit Passwortschutz vornehmen...


----------



## Ing_Lupo (17 März 2015)

Hallo

wenn Du den extra Hardware Ansatz verfolgen moechtest. 
Die INSIvIs CPU s haben einen  Know How Schutz auf BS Ebene. Die Datenschnittstelle über S7 Kom . Die CPU ist recht günstig und auch Remote erreichbar. 

Gruß
Lupo


----------



## ducati (28 März 2015)

hi borromeus, da ich ja weiss, dass Du viel weisst, verstehe ich nicht genau, an welcher Stelle das Problem liegt... Quellen entfernen ist doch immer der erste Ansatz... 
Thomas, funktioniert block privacy überhaupt mit plcsim? hab grad nicht die Moeglichkeiten was zu testen...


----------



## ducati (29 März 2015)

hab grad noch etwas nachgedacht. Braucht der Kunde unbedingt ne ES? sonst wuerd ich nur ne OS + plcsim installieren und dem Kunden auch nur das Os Projekt aufspielen. plcsim bekommt nur diese plcsim Datei, weiss Grad nicht wie die heisst... jetzt noch Know how protect + wirrem AWL Code + zusaetzliche eingaenge am fb welche irgendwie verschaltet werden muessen damit der fb funktioniert. dann hat doch keiner mehr Lust die fbs anderweitig zu verwenden...


----------

