Esta semana quiero contarte cómo hacer para proteger bloques en Step 7. Como ves en el título he añadido la coletilla, si puedes. ¿por qué digo esto? Porque te voy a enseñar cómo proteger tus bloques y también te voy a enseñar como esta protección la revienta un niño de seis años con conocimientos medios de informática.
No te voy a enseñar a usar cualquiera de los programas que pululan por la red para desproteger los bloques. Vas a ver cómo con un programa de bases de datos (típicamente Access) puedes hacerlo en un minuto.
Con ello no estoy alentado a la piratería, simplemente te enseño lo estúpido que es pensar que por proteger los bloques estos son invulnerables.
¿Proteger bloques en Step 7? ¿Para qué?
Una de las cosas como cliente y sufridor de las máquinas que no llego a comprender en general es la actitud y empeño de ciertas empresas en proteger los bloques.
Ya sé que puede que me vaya a meter en un jardín, pero no me importa compartir mi punto de vista contigo. Si no compartes mi visión lo respeto, pero esta es la mía, al menos a día de hoy.
Por lo general las empresas que compran la maquinaria son clientes finales cuyo mercado dista bastante del fabricar y comercializar máquinas como las compradas. Por otro lado, y a poco grande que sea la empresa, serán sus técnicos cualificados quienes mantendrán las máquinas y tendrán que pelearse con el programa en caso de fallo o mal funcionamiento.
Proteger los bloques implica que quieres ocultar el funcionamiento de la máquina ¿en serio? ¿en serio crees que habiendo comprado la máquina, el problema de replicarla va a ser el no tener el código del PLC?
- Tengo la máquina funcionando la cual puedo observar cada detalle y desguazarla si quiero
- Veo cada paso que da, cómo funciona y lo que hace.
- Tengo los esquemas eléctricos
¿Crees que con ello si una empresa quiere replicarte la máquina el problema es que no tiene el código fuente?
A mi modo de ver, el único problema es tener la gente cualificada que pueda programar una máquina similar.Por tanto:
- Si la tienes, sólo necesita saber cómo funciona para replicar el comportamiento
- Si no la tienes, por mucho que tengas el código fuente es como si me das un manual en marciano.
Bajo mi punto de vista a ti como creador de nuevas máquinas no te van a contratar por tus conocimientos en en sector X. Te van a contratar y comprar tus máquinas por los conocimientos, tu buen hacer y tu tiempo.
Imagina que tu cliente tiene una fábrica de cementos. ¿Crees que le vas a enseñar algo en ese sector tanto en su proceso como en cómo deben ser sus máquinas que él te está pidiendo? Si el no las construye es porque o no tiene la gente capacitada para ello o no disponen del tiempo para hacerlo. En ninguno de los casos es un enemigo para tus intereses, y el compartir tu programa de tu máquina no hará más que mejorar las relaciones, no empeorarlas con discusiones absurdas que no van a ninguna parte.
Como puedes imaginar como cliente y mantenedor quiero la disponibilidad de las fuentes para conocer mi máquina y poder solucionar los problemas que seguramente tiene. Aún no he conocido ninguna máquina que no se pare y que al pararse siempre sepas qué le pasa y todo esté bien documentado y con las alarmas pertinentes. A veces, hay que conectarse y ver qué le pasa y porqué hace o no hace tal o cual cosa. Eso no significa ni que esté mal programada ni que no esté bien documentada, pero es que todas las causas por las que se puede parar una máquina compleja es difícil de prever y por tanto es necesario conectarte y ver que diantre sucede.
Y por último, como puedes imaginar, si estuviera de acuerdo con proteger a toda costa e know how, no estarías leyendo este blog, porque simplemente no existiría y feliz de mi, pensaría que por no compartir mis conocimientos, el resto de la Humanidad es tonta de baba y el más listo soy yo…
En fin, que como digo no hace falta que estés de acuerdo conmigo, sólo quiero que veas, que en el caso de Siemens, cómo hacerlo sirve más bien para bien poco.
Te dejo con el vídeo.
¿Cuál es tu opinión?
Mi intención no es crear polémica ya que estos temas siempre suelen suscitar defensores y retractores por ambos bandos. Pero sí me gustaría saber qué opinión te merece la entrada de hoy.
Un saludo.
Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí
Puedes seguirme en cualquiera de las siguientes redes sociales.
10 Comentarios
Que tal Ing. Estoy de acuerdo, siempre es necesaria toda la información a la hora de entregar el proyecto, aunque en mi caso a mi jefe lo que mas le preocupa es que el código caiga en manos de la competencia y nos copie nuestro estandar de programación,
Saludos
El comentario me parece correcto y acertado, cuando un fabricante o » colega» quieren copiar lo hacen sin más y por lo que he podido ver con el paso de los años esta forma de trabajar no tiene ningún futuro con el tiempo a «estos» les ha supuesto tener que vivir las consecuencias de no conocer en profundidad aquello que generalmente han copiado pues raramente se han preocupado por analizarlo o mejorarlo, el interés final ha sido reducir costes…
Hola Íñigo y todos:
El último comentario de Luis me ha parecido un punto de vista muy interesante. Yo no desarrollo máquinas, si bien soy usuario de las mismas (o mejor, me dedico a repararlas), donde trabajo hay de todo, máquinas con el know-how abierto y otras protegidas mediante contraseña. Creo que quien no ha protegido está exponiéndose a que algún «manazas» meta la mano y la líe. Creo que es bastante arriesgado dejar abierto un programa a las manos de ???, y ya se sabe, luego «esto no va y aquí nadie ha tocado nada», así que mandarme un técnico de los vuestros «ya», por no decir si esa modificación puede llegar a causar un accidente. Otra parte es el periodo de garantía, en el que las reclamaciones van a ir al fabricante de la máquina, creo que no todo el mundo va a decir, espera, no modifiques, que la máquina está en garantía… Si hablamos desde el «sentido común» y de alguien que sabe lo que hace, probablemente no habrá problema en dejar el código, pero, ¿como lo sabe el fabricante?. Y que conste que en mi empresa, cuando ha habido que hacer algo, lo hemos podido hacer con el programa, si no, ya me dirás… Creo que la clave está en la comunicación entre la empresa usuaria y el fabricante (esto a la vez puede servir al fabricante para mejorar su producto), tener técnicos capacitados y reconocidos por el propio fabricante, por ejemplo. Por cierto, también hay empresas que parte del negocio es servir repuestos, si tengo el código, ante una avería de hardware solo tendré que adquirir uno nuevo (al precio de mi proveedor), cargarle el programa, y, en principio, a funcionar… Si no tengo el código, tendré que pedir el repuesto al fabricante de la máquina al precio que el considere, con lo cual también es una forma que tiene el fabricante de generarse beneficios de cara al futuro… Bueno, que conste que no me posiciono ni en una parte ni en otra, creo que es un tema sobre el que se podrían escribir muchas líneas, y es muy interesante plantear puntos de vista. Me alegro que lo hayas sacado «a colación». Os leo atentamente. Saludos.
Estimado
me parece muy interesante este tema, sin embargo, en lo personal prefiero entregar el programa por varias razones 1° el entregar el codigo genera confianza con el cliente. 2° si el cliente es capaz de interpretar tu trabajo explicado de manera abreviada y lo entiende para mi es un objetivo. 3° Una relacion transparente con el cliente, te va a tener presente en sus futuros proyectos. recuerda una sigla famosa MIDE CONTROLA ADMINISTRA Y MEJORA, el proceso de mejora continua te va a dar la respuesta a largo plazo.
lñigo felicitaciones por este espacio que me a servido mucho
Gracias Iñigo, muy interesante, pero…
Como hago esto en un proyecto creado en Tia portal v.13???
Saludos, Gracias!
Hacer que exactamente? Que yo sepa, desproteger sin las claves no se sabe aún como hacer y protegerlo el propio tia tiene la opción de proteger los bloques.
Saludos
Buenas Iñigo Gútiez,
antes de nada felicitarte por los videos que haces. La verdad es que he aprendido muchismo con ellos.
Te escribo para ver si me puedes iluminar un poco con el tema de las contraseñas. Me preguntaba sí era posible recuperar una contraseña desconocida del safety program. ¿Existe algún fichero en el que quede registrado?. Ójala fuera tan fácil como cambiar los 3 por 0 en el fichero subblk. Según lo que indagao no hay manera. O bien tienes la contraseña o estás vendido.
Bueno si podrías por favor confirmar mis sopechas.
Muchas gracias por tu tiempo.
Un saludo.
Lo desconozco. No se si se puede. Lo lamento.
Buena tarde.
Podrías ayudarme??
Tengo un PLC s7-400 programado en CFC y quiero agregarle nuevas DBs, en primera no me deja cargar cuando el PLC está en run y en segunda no me deja cargar nuevos bloques.
Sabría que podría hacer??
De antemano agradezco su tiempo.
Saludos
No programo en ese lenguaje, no sabría decirte si puedes cargar los bloques sin pasar por stop. Si es así, y dependiendo de la cpu, asegúrate de que si tiene modo run y run-p este en esta última.