Tutorial de Siemens S7-200: Conozca en profundidad el Siemens S7-200. Cifrado del desmontaje del PLC de la serie Siemens S7-200
Thread Content
Este mensaje fue editado por última vez por sea7000 el 31-7-2017 a las 12:52.1. Estructura básica del S7-200
La serie S7-200 de Siemens es un PLC de tamaño reducido y de diseño integral. Se utiliza en situaciones donde se necesita un control simple, en reemplazo de los relés. También puede emplearse en sistemas de automatización más complejos. El PLC de tipo integral reúne en un chasis de tipo caja el módulo CPU, los módulos I/O y la fuente de alimentación; el S7-200 corresponde al módulo CPU. Debajo de la cubierta frontal en la Figura 1 se encuentran el interruptor RUN/STOP, el potenciómetro analógico y los conectores de E/S adicionales. La serie de PLC S7-200 ofrece una variedad de módulos CPU con diferentes números de puntos I/O, además de módulos de expansión para entradas y salidas digitales y analógicas, para que el usuario pueda elegir según sus necesidades. Los módulos CPU y los módulos de expansión se conectan entre sí mediante cables planos. El PLC en su conjunto también cuenta con numerosos módulos de funciones especiales, como módulos de entrada/salida analógica, termopares, módulos de resistencia térmica y módulos de comunicación, lo que permite ampliar las funcionalidades del PLC. El S7-200 puede programarse utilizando diagramas en forma de escalera, listas de instrucciones y lenguaje de módulos funcionales. Tiene instrucciones abundantes y potentes, es fácil de dominar y su uso es sencillo. Incorpora un contador de alta velocidad, salidas de alta velocidad, controlador PID, interfaz de comunicación/programación RS485, protocolo de comunicación PPI, protocolo de comunicación MPI y función de comunicación en modo libre. Se puede expandir hasta 248 puntos de E/S digitales o 35 canales de E/S analógicos. Hay un espacio de almacenamiento para programas y datos de hasta 26 kB. 2. Módulos CPU de S7-200: El S7-200 cuenta con 5 tipos de módulos CPU. El CPU221 no tiene funciones de expansión y es adecuado para controladores de pequeño tamaño. El CPU222 sí cuenta con funciones de expansión. El CPU224 es un controlador con capacidades de control más avanzadas. El CPU226 y el CPU226 XM son adecuados para sistemas de control complejos, tanto de pequeño como de tamaño medio. Los parámetros técnicos de los diferentes modelos de CPU de la serie S7-200 se muestran en la Tabla 1. La S7-200 cuenta con funciones como transmisión de datos, comparación, desplazamiento, bucles, cálculo de complementos, llamada a subprocedimientos, modulación de ancho de pulso, salida de secuencias de pulsos, saltos, conversión de datos, operaciones aritméticas, operaciones lógicas a nivel de palabras, operaciones con números en coma flotante, cálculo de raíces cuadradas, funciones trigonométricas y comandos de control PID. Su estructura de programa incluye un programa principal, hasta 8 niveles de subprocedimientos y programas de interrupción. El usuario puede utilizar interrupciones programadas con un tiempo de espera de 1 a 255 ms. El programa del usuario permite establecer una protección con contraseña de 3 niveles, y cuenta con una función de temporizador de monitoreo (perro guardián). De las entradas digitales, 4 se utilizan para interrupciones de hardware y 6 para funciones de alta velocidad. El contador de suma/resta de 32 bits tiene una frecuencia de conteo máxima de 30 kHz. Puede contar los dos grupos de pulsos de un codificador incremental, cuyos intervalos entre pulsos son de 90 grados. Se genera una interrupción cuando el valor de conteo alcanza un valor determinado o cuando cambia la dirección de conteo. En el programa de interrupciones, es posible manipular la salida de manera oportuna. La salida de alta velocidad de dos canales permite generar secuencias de pulsos con una frecuencia de hasta 20 kHz y ancho ajustable. La tarjeta de memoria opcional permite guardar de forma permanente programas, datos e información de configuración. La vida útil típica de la batería opcional para almacenar datos es de 200 días. En los circuitos de salida DC, se utilizan transistores de efecto de campo (MOSFET) como componentes de amplificación de potencia. Solo en los circuitos de salida DV se obtiene una salida de pulsos a alta velocidad; la frecuencia de salida máxima es de 20 kHz. 3. Módulos de expansión para S7-200: En los CPUs S7-200 ya está integrado un cierto número de puntos de E/S digitales para diferentes señales. Si la cantidad de puntos de E/S necesarios supera esa cantidad, se pueden añadir módulos de expansión de entrada/salida para ampliar las funciones del sistema y mejorar su capacidad de control. Los módulos de expansión existen en tres tipos: expansión de entrada/salida, expansión de entrada para termopares/resistencias térmicas y expansión de comunicaciones. Se conectan al módulo CPU a través de conectores de bus (enchufes). Para que la unidad de expansión funcione correctamente, se necesita una fuente de alimentación de +5VDC. Esta fuente es suministrada por la CPU a través del conector de bus. Los puntos de entrada y salida de 24VDC de la unidad de expansión pueden ser alimentados por la fuente de 24VDC de la unidad principal; no obstante, hay que tener en cuenta la capacidad máxima de corriente que puede proporcionar la unidad principal. La CPU 221 no cuenta con capacidad de expansión I/O; la CPU 222 puede conectar hasta 2 módulos de expansión (de tipo digital o analógico). La CPU 224 y la CPU 226 pueden conectar hasta 7 módulos de expansión. (1) Módulos de expansión de entrada/salida
La serie S7-200 ofrece los siguientes módulos de expansión:
① Módulo de expansión de entrada digital EM221 (8DI);
② Módulo de expansión de salida digital EM222 (8DO);
③ Módulo de expansión mixto de entrada y salida digital EM223 (8I/O, 16I/O, 32I/O);
④ Módulo de expansión de entrada analógica EM231 (3AI; tiempo de conversión A/D de 25 μs, 12 bits);
⑤ Módulo de expansión mixto de entrada y salida analógica EM235 (3AI/1AO; tiempo de conversión A/D de 25 μs, tiempo de conversión D/A de 100 μs; ambos con 12 bits).
(2) Módulos de expansión para termopares/resistencias térmicas
Los módulos para termopares y resistencias térmicas (EM231) se utilizan en conjunto con los procesadores CPU222, CPU224 y CPU226. Diversos tipos de termopares (señales en mV) y resistencias térmicas (señales de resistencia) pueden ser transmitidos al S7-200 a través del módulo EM231. El usuario selecciona, a través de los interruptores DIP del EM231, el tipo de termopar o resistencia térmica, la forma de conexión, las unidades de medida y la dirección en caso de fallo por circuito abierto. (3) Módulos de expansión de comunicaciones: Además de las interfaces de comunicación integradas en la CPU, el S7-200 también puede conectarse a redes más grandes a través de módulos de expansión de comunicaciones. La serie S7-200 cuenta actualmente con dos módulos de expansión de comunicación: el módulo de esclavo de expansión PROFIBUS-DP EM277 y el módulo de expansión de interfaz AS-i CP243-2. Las principales características técnicas de los módulos de expansión de entrada/salida para las PLC de la serie S7-200 se muestran en la Tabla 2. 4. Funciones de comunicación del S7-200: El módulo CPU del S7-200 cuenta con comunicación serial RS485, la cual admite los protocolos PPI, DP/T y PROFINET, además del protocolo punto a punto PROFIBUS. Cada red puede tener un máximo de 126 estaciones, y un máximo de 32 estaciones principales. La interfaz de comunicación permite establecer comunicación con los siguientes dispositivos: ordenadores que ejecutan software de programación, el monitor de texto TD200, el panel de operador OP, así como con la CPU S7-200. A través del protocolo de comunicación libre, es posible establecer comunicación en serie con dispositivos de otros fabricantes. El módulo esclavo EM277 PROFIBUS-DP se utiliza para conectar la CPU S7-200 a la red PROFIBUS-DP. La velocidad de comunicación es de 9600-12 Mbit/s. El módulo de comunicación Ethernet industrial CP243-1 tiene una velocidad de transmisión de 10 Mbit/s o 100 Mbit/s, y permite comunicación en modo semidúplex o full-dúplex. Utiliza la interfaz RJ-45 y el protocolo TCP/IP. Se puede utilizar el software STEP 7-Micro/WIN para configurar y programar a distancia a través de Ethernet industrial (subir y descargar programas, monitorear el estado). También se puede conectar otras CPU mediante Ethernet industrial, y procesar datos en la computadora a través de S7-OPC. El módulo de módem EM241 permite el mantenimiento remoto o el diagnóstico a distancia, la comunicación entre PLCs, la comunicación entre PLCs y ordenadores, así como el envío de mensajes cortos a teléfonos móviles. La guía de parametrización del EM241 está integrada en Micro/WIN V3.2. A través del procesador de comunicación CP243-2 AS-i, la CPU S7-200 puede funcionar como estación maestra AS-i; permite conectar hasta 62 estaciones esclavas AS-i, y admitir 496 puntos de entrada/salida digitales a distancia. 5. Software de programación para S7-200: STEP 7-Micro/WIN 32 es un software de programación diseñado específicamente para el S7-200, y funciona bajo el sistema operativo Windows en ordenadores personales. La CPU se comunica con la computadora a través de un cable PC/PPI o mediante una tarjeta de comunicación CP 55111 o CP 5611 conectada al ordenador. A través del cable PC/PPI, se puede lograr una comunicación entre múltiples estaciones maestras en Windows. PASO 7: La estructura de los programas de usuario en Micro/WIN 32 es simple y clara. Se pueden llamar subprogramas o procedimientos de interrupción desde un programa principal; además, es posible inicializar las variables mediante bloques de datos. Los usuarios pueden programar utilizando diagramas de instrucciones (STL), diagramas en forma de escalera (LAD) y diagramas de bloques funcionales (FBD). Los programas escritos en diferentes lenguajes de programación pueden convertirse entre sí. Se puede utilizar una tabla de símbolos para definir los símbolos que corresponden a las direcciones de las variables utilizadas en el programa, lo cual facilita su diseño y comprensión. PASO 7: Micro/WIN 32 ofrece al usuario dos conjuntos de instrucciones, a saber, el conjunto de instrucciones SIMATIC (modo S7-200) y el conjunto de instrucciones según la norma internacional (IEC1131-1). La programación remota se puede realizar a través de un módem; además, es posible depurar programas y diagnosticar fallos mediante escaneos únicos y salidas forzadas. El S7-200 fue desarrollado a partir de los pequeños PLC fabricados por Texas Instruments en Estados Unidos. El predecesor del S7-300/400 fue la serie S5 de PLCs fabricada por Siemens; su software de programación es STEP 7. Aunque el S7-200 y el S7-300/300 tienen muchas similitudes, existen diferencias considerables en cuanto a su sistema de instrucciones, estructura de los programas y software de programación. Datos de pedido para SIMATIC S7-200 SMART
① Números de pedido de la unidad central de procesamiento CPU
Módulo CPU SR20: Parámetros principales: AC/DC/RLY, 12 entradas digitales/8 salidas digitales. Número de pedido: 6ES7 288-1SR20-0AA0.
Módulo CPU SR40: Parámetros principales: AC/DC/RLY, 24 entradas digitales/16 salidas digitales. Número de pedido: 6ES7 288-1SR40-0AA0.
Módulo CPU ST40: Parámetros principales: DC/DC/DC, 24 entradas digitales/16 salidas digitales. Número de pedido: 6ES7 288-1ST40-0AA0.
Módulo CPU CR40: Parámetros principales: AC/DC/RLY, 24 entradas digitales/16 salidas digitales. Número de pedido: 6ES7 288-1CR40-0AA0.
Módulo CPU SR60: Parámetros principales: AC/DC/RLY, 36 entradas digitales/24 salidas digitales. Número de pedido: 6ES7 288-1SR60-0AA0.
Módulo CPU ST60: Parámetros principales: DC/DC/DC, 36 entradas digitales/24 salidas digitales. Número de pedido: 6ES7 288-1ST60-0AA0.
② Números de pedido de los módulos de expansión I/O EM
Módulo EM DI08: Parámetros principales: 8 entradas digitales a 24VDC. Número de pedido: 6ES7 288-2DE08-0AA0.
Módulo EM DR08: Parámetros principales: 8 salidas digitales a través de relés. Número de pedido: 6ES7 288-2DR08-0AA0.
Módulo EM DR16: Parámetros principales: 8 entradas digitales a 24VDC/8 salidas digitales a través de relés. Número de pedido: 6ES7 288-2DR16-0AA0.
Módulo EM DR32: Parámetros principales: 16 entradas digitales a 24VDC/8 salidas digitales a través de relés. Número de pedido: 6ES7 288-2DR32-0AA0.
Módulo EM DT08: Parámetros principales: 8 salidas digitales a 24VDC. Número de pedido: 6ES7 288-2DT08-0AA0.
Módulo EM DT16: Parámetros principales: 8 entradas digitales a 24VDC/8 salidas digitales a 24VDC. Número de pedido: 6ES7 288-2DT16-0AA0.
Módulo EM DT32: Parámetros principales: 16 entradas digitales a 24VDC/16 salidas digitales a 24VDC. Número de pedido: 6ES7 288-2DT32-0AA0.
Módulo EM AI04: Parámetros principales: 4 entradas analógicas. Número de pedido: 6ES7 288-3AE04-0AA0.
Módulo EM AQ02: Parámetros principales: 2 salidas analógicas. Número de pedido: 6ES7 288-3AQ02-0AA0.
Módulo EM AM06: Parámetros principales: 4 entradas analógicas/2 salidas analógicas. Número de pedido: 6ES7 288-3AM06-0AA0.
Módulo EM AR02: Parámetros principales: 2 canales para entrada de resistencias térmicas. Número de pedido: 6ES7 288-3AR02-0AA0.
③ Números de pedido de las placas de expansión de comunicación SB
Placa SB CM01: Parámetros principales: R485/R232. Número de pedido: 6ES7 288-5CM01-0AA0.
Placa SB DT04: Parámetros principales: 2 entradas digitales a 24VDC/2 salidas digitales a 24VDC. Número de pedido: 6ES7 288-5DT04-0AA0.
Placa SB AQ01: Parámetros principales: 1 salida analógica de 12 bits. Número de pedido: 6ES7 288-5AQ01-0AA0.
Breve explicación sobre el cifrado de los PLCs de la serie Siemens S7-200
1. Primero, hay que conocer los métodos comunes de desencriptación de los PLCs. Solo conociendo tanto al enemigo como a uno mismo se puede evitar ser derrotado en cualquier batalla. Solo si se comprenden a fondo los métodos de descifrado más comunes utilizados en los PLC actuales, será posible diseñar mejores sistemas de cifrado. Lo que se vende actualmente son programas para descompilar y descifrar el software; aún no existen programas que permitan leerlo directamente. Para obtener el programa, es necesario extraer el chip EEPROM y modificar sus bloques de sistema, con el fin de eliminar la protección por contraseña. Este método de decodificación realmente logra el objetivo de leer el programa, pero tiene efectos secundarios muy graves, ya que modifica por completo la configuración original de los bloques del sistema. Dado que no se conocían, ni era posible conocer, los parámetros de configuración del bloque de sistema original, se procedió apresuradamente a reemplazarlo por un bloque de sistema obtenido de otro PLC. Esto cambió por completo la configuración original. Por lo tanto, podemos utilizar esta deficiencia para crear un cifrado específico destinado a impedir el desmontaje del equipo. Ahora puede descargar el ejemplo para echarle un vistazo primero. 2. Es necesario establecer una protección con contraseña de 4 niveles. Las versiones de PLC 2.0 en adelante cuentan con una función de cifrado de nivel 4, que es el nivel más alto de cifrado. Si se configura un cifrado de nivel 3 por separado, es muy fácil que sea hackeado. Porque basta con desmontar el dispositivo y leer el chip para obtener la contraseña original; no es necesario modificar el chip. Con esa contraseña, se puede cargar el programa. Por lo tanto, si solo se configura una protección de encriptación de nivel 3, es como si no hubiera protección alguna; es necesario configurar la protección de nivel más alto, es decir, el nivel 4. ¿Y por qué es tan efectiva la protección de nivel 4? Veamos la ilustración a continuación: con la protección por contraseña de nivel 4, no es posible hacer cargas. No importa si conoces o no la contraseña; en otras palabras, incluso si ya conoces la contraseña, no podrás realizar cargas. Para poder cargar el contenido, se utiliza el método de reemplazo de todo el bloque del sistema. Después de este reemplazo, ya no existe la función de encriptación en ese bloque del sistema, y así es posible cargar el programa. Pero esto modifica las configuraciones originales. Por lo tanto, a continuación te enseñaré cómo lidiar con este tipo de reemplazo de bloques del sistema para desencriptarlos. 3. La configuración de los puertos de comunicación no puede ser la predeterminada. Si hace clic en el botón “Valor por defecto” que se muestra en la imagen de abajo, podrá saber que los valores predeterminados para la configuración de comunicación de los bloques del sistema son una tasa de transmisión de 9600 y un número de estación de 2. Para lograr que el enemigo no pueda comunicarse después de realizar el proceso de cracking, lo mejor es establecer una tasa de transmisión de 187.5 kbps. Pero si su cable no soporta esta tasa de transmisión, entonces mejor no intentarlo. La dirección del PLC no debe ser 2, ya que eso es demasiado simple. Elija otro número de estación en su lugar. De esta manera, incluso si se logra descifrar el sistema, se podrá impedir que otros establezcan conexiones de comunicación. Es aún mejor si se cuenta con una pantalla táctil o un ordenador principal para comunicarse con él. Después de la descifrado, como las configuraciones de comunicación no coinciden con las originales, los dispositivos externos no podrán comunicarse, y al final habrá que recurrir a usted. Bien, ¡genial!! 4. Establezca una zona de mantenimiento en caso de apagón especial; no use el valor predeterminado. Observe la configuración de la zona de almacenamiento de datos en caso de apagón que se muestra en la imagen. Todos estos valores son los predeterminados por el sistema. Si no quiere tomarse la molestia de modificarlos, y decide utilizar los valores predeterminados del sistema, entonces su cifrado de nivel 4 no servirá de nada, ya que el sistema utilizará sus propios bloques de datos predeterminados para reemplazar los archivos cifrados de nivel 4. Entonces, ¿cómo se pueden cambiar los valores predeterminados en este bloque de configuración para evitar que el sistema sea hackeado? Existen muchas maneras de hacerlo; todo depende de la creatividad y habilidad de cada uno. A continuación, le daré un ejemplo; puede usarlo como punto de partida para encontrar otras soluciones. 5. Verificar si se han perdido los datos de la zona de retención en caso de apagado. Se utiliza un método de programación para verificar si los valores que se introdujeron previamente siguen intactos. También se comprueba si las minas colocadas han explotado al ejecutar el programa. Además, se verifica si el programa ha sido modificado o descifrado. Sin más preámbulos, vean la imagen: Por supuesto, esto es solo un tipo simple de encriptación; en aplicaciones reales no puede ser tan sencillo y fácil de entender. Lo ideal es hacer que el programa sea lo más complejo posible, de modo que sea imposible entender su funcionamiento. Los datos deben ser transformados, transmitidos, transferidos y sometidos a una serie de operaciones lógicas complejas antes de poder utilizarlos. En la zona de retención de datos en caso de apagado del sistema, se pueden configurar los valores vb0-vb40 como datos que se mantendrán incluso después del apagado. En cambio, los valores a partir de vb40 deben ser eliminados al apagarse el sistema. En el programa, se puede determinar si hay datos disponibles al encenderse el PLC. Si hay datos, entonces el sistema se detiene; de lo contrario, se verifican los datos almacenados en la zona de retención. Se pueden establecer “minas de datos” de antemano, de modo que si los valores que se escribieron anteriormente ya no están allí, el sistema se detiene.
A continuación, algunas preguntas relacionadas:
1. ¿Cuáles son las ventajas de la serie PLC Siemens S7-200?
El SIMATIC S7-200 ofrece una solución unificada y económica. Características distintivas de todo el sistema: rendimiento excepcional, modularidad óptima y comunicación abierta. Estructura compacta y pequeña: la opción ideal para cualquier aplicación en espacios reducidos.
Funciones básicas y avanzadas en todos los modelos de CPU.
Almacenamiento grande para programas y datos.
Respuesta en tiempo real excepcional: se puede controlar completamente todo el proceso en cualquier momento, lo que mejora la calidad, la eficiencia y la seguridad.
Software de ingeniería STEP 7-Micro/WIN fácil de usar: la opción ideal tanto para principiantes como para expertos.
Interfaz R-S 485 integrada, que también puede utilizarse como bus de sistema.
Control de secuencias y procesos extremadamente rápido y preciso.
Control total de los procesos que requieren precisión temporal, a través de interrupciones temporales.
2. Método para acceder al contenido del PLC Siemens S7-200 224CN sin desmontarlo.
No es necesario descifrarlo. Basta observar cómo se iluminan o apagan las luces de entrada/salida del PLC mientras la máquina está en funcionamiento; así se podrá comprender el programa que hay dentro del PLC. Con un poco de práctica, uno mismo podrá entenderlo, lo cual es incluso mejor que intentar descifrarlo. También hay programas en los que, incluso si se introduce código, no se incluyen la tabla de símbolos ni las notas explicativas. Incluso si logras leer ese código, es posible que no lo entiendas. Si vuelves a introducir en la máquina un programa que no comprendes, será aún más difícil su mantenimiento.