Vai al contenuto
PLC Forum


S7 300 Simulare Un Guasto Hardware


Hackman

Messaggi consigliati

Mi hanno richiesto di bloccare l'esecuzione del programma dopo un certo periodo di tempo, simulando un guasto hardware.

Conoscete qualche modo per mandare in system fail la cpu fermare l'esecuzione del programma?

Link al commento
Condividi su altri siti


Attenzione a fare queste cose, se il cliente fà controllare il programma ad un'altro programmatore e questo rileva che l'impianto è stato fermato "apposta", ti fanno un fondoschiena grande come una casa. ;)

Link al commento
Condividi su altri siti

Simulare un guasto hardware non credo sia molto semplice, ma mandare in stop la cpu è invece semplicissimo.

Se ci pensi un pò sono convinto che ci riesci da solo.

Attento però a fare queste cose. Come ti ha già detto Cablo, rischi di finire in un mare di guai.

Non essendo molto convinto della legalità di un'operazione simile (io non l'ho mai fatto), chiedo il permesso ai moderatori per poter spiegare come fare.

Link al commento
Condividi su altri siti

gente che non paga.

Hai centrato il problema.

Il cliente non è mio ma della ditta che mi ha commisionato il software e sono stati loro a chiedermi esplicitamente questa cosa, oltre alla password sul plc, quindi le eventuali rogne se le sbrigano da soli.

Per mandarla in stop ci riesco senza problemi, ora non mi ricordo se si accende anche il led sf.

Però credo sia troppo evidente, cercavo qualcosa di più sofisticato.

Farò delle prove.

Modificato: da Hackman
Link al commento
Condividi su altri siti

fai bene se non pagano fagli fermare l'impianto

non ho provato ma se vai a leggere una pew inesistente di certo ti da errore sf

mi raccomando non caricare nella cpu gli ob di sblocco

a quel punto blocchi delle uscite o non elabori più una parte del programma ecc. ci sono diversi modi

non usare l'orologio interno

poi fammi sapere come hai risolto

Modificato: da puntalino
Link al commento
Condividi su altri siti

Non avevo capito bene il problema

non credo che da SW puoi simulare un errore HW

il massimo che da SW puoi fare , è un errore SW

gli ob di sblocco

ovviamente evita OB121 errore programma utente

non usare l'orologio interno

difficile farlo se vuoi mandare in fault dopo un po' di tempo ( o conti dei secondi , o usi l'orologio )

per generare un errore SW , puoi fare di tutto e di piu' ( a me vengono da soli senza sforzarmi troppo )

devi comunque essere coscente che un programmatore può risalire a quello che hai fatto ( le PW non sono invalicabili )

Ciao

Luca

Link al commento
Condividi su altri siti

emanuele.croci

Premetto che questo sistema, di cui si è già parlato, non è per nulla simpatico e, se il cliente lo scopre (e può scoprirlo...!), il rapporto di fiducia POTREBBE essere compromesso. Io quindi preferisco non usarlo.

Non comprendo tuttavia, nell'ipotesi di un cliente NON PAGATORE, i rischi legali che vengono ventilati:

- una causa penale? ma dai.... in Italia fai fatica ad andare in galera se schianti 120 persone a Linate.... (purtroppo è dura realtà!!)

- una causa civile? beh, ma se non mi paghi probabilmente sono già in causa con te e sto aspettando quei 7-8 anni per avere ragione. Fammi causa, così almeno 1-1 e siamo pari...

Per lo meno, caro cliente, aspetterai 7-8 anni ad impianto fermo, a questo punto forse è meglio mettersi d'accordo AMICHEVOLMENTE!

Inoltre mi pare che il metodo: "non paghi, ergo ti tolgo il servizio" sia già ampiamente usato da primarie aziende (tipo la Vodafone, la mia scheda prepagata funziona così), quindi non vedo lo scandalo a livello di principio.

L'importante, se lo fai, è di rispettare alcune sagge regole:

- fai qualcosa che non crei pericolo per le persone o le cose (se no sei un delinquente)

- fai qualcosa che non sia facile da beccare (se no sei un ....pirla), almeno che abbiano il dubbio della fatalità!

- fai qualcosa che non sia facile da ripristinare => ad es. un qualsiasi errore sw autoindotto che non blocchi il sw principale te la aggira chiunque in 2 minuti mettendo una sfilza di OB82, OB86, OB121, OB122, ecc.... vuoti dentro al plc

- meglio qualcosa che non blocchi del tutto la macchina, ma la faccia andar male, ad intermittenza, in modo non ottimizzato, con parametri strambi: se vendetta dev'essere, almeno che sia divertente!

- fai testare il blocco a un tuo collega: gli metti KO il software e lui cercherà di sbloccarlo. Se non ci riesce lui, che conosce la macchina, è già una buona partenza.

- cerca di capire, nella tua macchina, qual è la parte programmabile meno conosciuta: magari hai, che so, un regolatore di temperatura programmabile che quasi nessuno conosce, e potresti mandare in blocco quello anziché il plc S7 che 1000 tecnici sanno programmare

- poniti il problema di come rimuovere il blocco se il cliente paga, se no rischi una vera figura di m...

Ciao e buona fortuna!

Emanuele

Link al commento
Condividi su altri siti

Siamo in Italia, la patria del diritto ma anche, e sopratutto, del rovescio. Basta leggere Manzoni e Collodi par rendersi conto che non è cambiato molto, se non in peggio: chi deleinque se la cava e chi è onesto oltre ai danni ha anche le beffe.

Quindi è possibile che il cliente moroso citi il fornitore per danni e magari riesca anche ad ottnerli. E' sufficiente trovare un magistrato a cui piace il tema delle soluzioni ardite e prova ad elaborare la motivazione brillante ed acuta.

Personalmente questi espedienti li considero legittima difesa.

Devono essere scritti molto bene, cosa non facile, perchè devono essere di difficilissimo riconoscimento e, soprattutto, devono risultare come "bachi" casuali.

Sono anche contrario a pubblicare questi metodi per due motivi principali: l'uso da parte di disonesti e l'uso da parte di inesperti.

Nel primo caso questo genere di persone già s'ingenano in proprio per fregare il prossimo e non mi sembra il caso di fornir loro idee supplementari.

Nel secondo caso potrebbero combinare guai seri che travalicano anche le intenzioni legittime.

Se una persona è abbastanza esperta è sufficiente un'idea generale per indicrgli la via.

Batta ai fatto benissimo, a parer mio, a non pubblicare le metodologie che conosci. Io darei le info "ad personam" una volta che avessi stabilito l'affidabilità dell'interlocutore.

Link al commento
Condividi su altri siti

emanuele.croci

Diciamo che se uno ha tempo da perdere... è meglio investirlo più proficuamente per trovarsi dei buoni fornitori e dei buoni clienti!!

Piuttosto che il modo migliore per fregarsi a vicenda...

Ciao, Emanuele

Link al commento
Condividi su altri siti

Salve colleghi,

mi richiamo a questo post per sapere se potrebbe esistere una sorta di chiave hardware per proteggere il software di un PLC S7-300.

Qualcuno di voi ha mai auto esperienza in questa soluzione?, la mia idea sarebbe di collegare una sorta di chiave HW primo per evitare che il mio SW venga utilizzato su altri PLC senza il mio consenso, secondo potrebbe essere utilizzata anche per una sorta di "legittima difesa" bloccando il SW dopo xx tempo se non vine saldato il pagamento convenuto.

Attendo vostri commenti

Grazie

Silvano

Modificato: da Service
Link al commento
Condividi su altri siti

emanuele.croci

Non ho mai sentito parlare di una roba del genere per S7 (chiave hardware del tipo di quelle che si usano per i programmi PC).

Tuttavia, se trovi una chiave hardware che funzioni su porta seriale la cosa dovrebbe essere fattibile.... (anche se francamente non ho la minima idea di come funzioni una chiave hw)

Al limite monti una scheda CP340 seriale o ti prendi un modello con seriale incorporata nella cpu S7.

Potrebbe essere un'idea interessante!

Non per me ma per chi fa macchine di serie....

Ciao, Emanuele

Modificato: da emanuele.croci
Link al commento
Condividi su altri siti

Oltre alla funzione di chiave HW dovrebbe anche avere un orologio interno, in modo da poter anche gestire il tempo dopo il quale deve intervenire la "lettima difesa", inoltre io pensavo di collegarla al PLC tramite l'MPI in modo da non dover aggiungere una scheda seriale sul PLC.

Io dubito che sia possibile trovare qualche cosa di simile in commercio, io penso che dovrebbe essere costruita una schedina dedicata.

La mia idea era di avere questa chiave, chiamiamola così, che interrogata dal PLC all'avvio della macchina risponde con una logica ad alogoritmo, in modo che non sia identificabile, con dei dati che indicano oltre al codice per sbloccare il Software anche con un conteggio di giorni per sapere da quanto tempo è in funzione la macchina.

Purtroppo io non ho molta eperienza di elettronica, non so se questa è una cosa fattibile o se sto fantasticando un po' troppo.

Link al commento
Condividi su altri siti

Se fai una piccola ricerca trovarai più di un produttore italiano di chiavi che ti permette di fare quello che desideri. Sono dispositivi dotati di processori o di FPGA che ti permettono di fare protezioni anche molto sofisticate.

La domanda di fondo, però, è: ne vale veramente la pena? A parte i costi non banali se un'azienda ha intenzione di copiarti il software, nel caso di applicazioni in serie, non è difficile bypassare la protezione. Lo si fa comunemente con i programmi PC dove è molto più complesso il debug. Con un dispositivo come il PLC, concepito proprio per avere un debug semplicissimo e facile da usare, trovare i punti di interrogazione e bypassarli è quasi elementare.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Scusa Livio, ma ho fatto una ricerca con Google ma non ho trovato questi prodotti, sicuramente non ho inserito le key giuste.

Ti spiacerebbe passarmi qualche link o nomi di produttori, magari in privato per non fare piìubblicità.

Grazie

Link al commento
Condividi su altri siti

Gabriele Corrieri

Ciao

nel mondo pc le chiavi hardware non si chiamano propriamente "hardware key" ma "dongle", con questa keyword dovresti trovare molto più materiale.

Ciao

Link al commento
Condividi su altri siti

  • 4 months later...

:ph34r: Non è possibile mettere indicazioni sul contratto, del tipo "la macchina collaudata il giorno x prevede un funzionamento di 120 giorni, in caso di mancato pagamento la macchina cesserà di funzionare, altrimenti provvederemo a fornirvi una password che vi permettera un funzionamento eterno :lol:

Link al commento
Condividi su altri siti

La soluzione di TRC mi sembra la piu' seria , informare un cliente in anticipo e' sempre la cosa migliore

Non le ho ancora provate ma tra le novita' delle nuove CPU S7 400 V5 ci sono :

1-Protezione del KnowHow con la lettura del numero di serie della Memory Card

2-Introduzione di una protezione alla scrittura aggiuntiva con SFC 109 "PROTECT"

Quindi si dorvebbe riuscire a fare qualcosa di interessante

C'e' qualcuno che le ha provate ???

Ciao

Luca

Link al commento
Condividi su altri siti

  • 3 weeks later...

Ciao a tutti,

a me è capitato, nell'azienda in cui lavoro, di vedere all'azione una "bomba ad orologeria": dopo qualche tempo che la macchina funzionava, una parte di questa (un ribaltatore) ha "smesso" di funzionare, senza però segnalare SF od altro sulla cpu (è un S7-400), semplicemente non girava il traino, impedendo il funzionamento logico di tutta la linea.

Tentando di rimediare al problema, mi sono imbattuto in blocchi programma protetti che non ho potuto aprire, quindi l'unica soluzione è stata quella di utilizzare la teleassistenza con la germania (la macchina è tedesca) e nel giro di qualche ora, dopo che si sono accordati i rispettivi uffici commerciali, hanno tagliato quell' FC e hanno incollato l'altro FC nascosto in una directory dell'HD della macchina.

Tutto questo per dire che tutto il mondo è paese (anche per i precisi colleghi teutonici), che non è indispensabile bloccare tutta la linea ma magari anche solo la parte più banale di questa, se è indispensabile, e che mi piacerebbe capire come compilare degli FC protetti, probabilmente in file sorgente. ;)

Link al commento
Condividi su altri siti

mi piacerebbe capire come compilare degli FC protetti, probabilmente in file sorgente

Niente di più facile, ed è spiegato anche da qualche parte nel manuale.

Generi il sorgente del blocco (FC, FB, DB) che vuoi proteggere, apri il file sorgente, sotto alla riga con "VERSION: ....." aggiungi una riga con l'istruzione "KNOW_HOW_PROTECT" e ricompili. Il tuo blocco apparirà ora col simbolino del lucchetto.

Tieni presente però che rimuovere questa protezione è abbastanza semplice.

Link al commento
Condividi su altri siti

Grazie Batta,

provato e funziona! Ho esperienza in AWL e KOP ma zero in SCL, quindi ho scaricato da Siemens il manuale getting started e quello di programmazione SCL: mi rimetto a studiare!

Tu dici:

Tieni presente però che rimuovere questa protezione è abbastanza semplice.

nel manuale, fino ad ora, ho trovato solo una breve citazione a KNOW_HOW_PROTECTED ma nulla che si riferisse a come sbloccare se non togliendo la suddetta parola chiave e ricompilando. Quindi mi chiedo se una volta cancellato il file sorgente, il suo FC (o FB,DB,..) creato possa comunque essere sbloccato e come.

Ciao, Alessandro.

Link al commento
Condividi su altri siti

Chiaro che la Siemens non ti dice come sproteggere un blocco, altrimenti la protezione non avrebbe più senso.

Poteva però essere fatto qualche sforzo in più per creare una protezione più forte, invece, purtroppo o per fortuna :rolleyes: , non è necessario essere dei mostri per rimuovere la protezione.

Quando però si parla di eludere protezioni si cammina su un terreno minato, dato che l'operazione potrebbe essere illegale. Posso rimuovere la protezione da un mio blocco del quale ho smarrito i sorgenti, ma se sproteggo un blocco non mio, senza autorizzazione di chi ne detiene i diritti, compio un'azione illegale.

Per questo motivo, come già detto in altre discussioni sullo stesso argomento, fino a quando rimarranno in vigore le leggi attuali, io mi rifiuterò di spiegare come si fa, anche in privato.

Probabilmente solo spiegare come rimuovere la protezione non è contro la legge, ma mi pare comunque contrario allo spirito del forum. Questo basta e avanza per non dare aiuti in tale senso.

Del resto anche tu cerchi di proteggere i tuoi blocchi, e penso vorresti che tale protezione fosse irremovibile. Accontentati quindi di aver imparato come creare blocchi protetti, senza pretendere di vedere i blocchi che altre persone hanno deciso di proteggere.

Personalmente non proteggo mai niente, e mi farebbe piacere se anche gli altri si comportassero nello stesso modo. Rimane il fatto che così non è, e si deve comunque rispettare chi decide di porre una protezione sul suo software.

Modificato: da batta
Link al commento
Condividi su altri siti

Concordo pienamente con le tue opinioni Batta, e mi dispiace che tu abbia inteso la mia richiesta di informazioni sullo sblocco di protezione come una volontà di violare i diritti altrui; semplicemente credevo, magari ingenuamente, che così come esiste il comando di protezione, esistesse quello di sblocco, un pò come invece avviene nell' S7-200 per togliere la password smarrita o dimenticata da un programma e ripristinare la cpu.

Comunque, parlando in senso generale di etica professionale, riprendendo la discussione dei post precedenti, compie per primo un'azione illegale chi, come nel mio caso, vede innescate le "bombe ad orologeria" senza che il costruttore abbia portato a conoscenza di tale rischio il cliente insolvente: diventerebbe quindi una lecita azione di autodifesa il ripristino di tale blocco, fermo restando il dovere di far fronte alle condizioni riportate nel capitolato, da entrambe le parti.

Riguardo poi ai diritti relativi ai blocchi programma, se nel contratto (così come del resto prevede la normativa vigente) il fornitore della macchina si impegna a fornire al cliente anche il software, allo stesso tempo non può eludere tale impegno inserendo blocchi protetti, o sbaglio?

Intendiamoci, tutto ciò sottolineando la mia ferma intenzione a non voler essere polemico con quanto detto nei post precedenti: siamo tutti vittime dei propri uffici commerciali che impongono mezzi cautelativi al limite della legalità e, come sempre, a farne le spese è il softwerista, continuamente tra l'incudine ed il martello! ;)

Link al commento
Condividi su altri siti

  • 3 weeks later...

Bhe, il fatto che non si possa fare è tutto da vedere, una buona forma contrattuale risolve tutto.

Io personalmente mi son fatto fare una serie di documentazioni che, se necessario, mi permettono di fermare l'impianto "LEGALMENTE" in qualsiasi momento, prendetevi un buon avvocato e fate altrettanto.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...