Preparar un PC para comunicar con un PLC Beckhoff a
travs de Ethernet
Supongamos la siguiente situacin: tengo un PLC Beckhoff con el que
realizo intercambio de datos para mostrarlos en una aplicacin hecha en Visual Basic (o .NET) a travs de Ethernet (ver esta entrada). En el ordenador con el que he hecho la programacin no hay problemas, la comunicacin es impecable, pero si nos llevamos el ejecutable del programa (con sus respectivas bibliotecas DLL y similares) a otro PC nos vamos a encontrar con que no funciona.
El motivo es que la comunicacin con el PLC se hace a travs de un
enrutado propio de Beckhoff: AMS Router. Por lo tanto es imprescindible instalar TwinCAT en todos los PC que vayan a ejecutar la aplicacin. En el proceso de instalacin es suficiente con seleccionar la opcin TwinCAT CP, que es el controlador de Beckhoff para paneles de control (Control Panels).
Advertencia: es imprescindible que el sistema operativo del PC
sea de 32 bits, yo lo he probado con xito sobre un Windows 7 Starter.
Una vez instalado reiniciamos el PC y en el arranque aparecer la
siguiente pantalla (que hasta donde yo s, no se puede ocultar):
Tambin aparecer en la bandeja del sistema el icono de TwinCAT,
desde donde podremos abrir el System Manager. El System Manager nos servir para buscar en la red el PLC e incluirlo en el AMS Router, para ello, verificando previamente que tenemos el PLC funcionando y conectado en red, pulsaremos sobre 'Choose target...' y en la ventana que aparece sobre 'Search (Ethernet)'.
Tenemos el dilogo para aadir una ruta. Marcaremos en 'Address Info:'
la casilla 'IP Address' y pulsamos 'Broadcast Search'. Si todo va correctamente en breve aparecer nuestro PLC, solo tenemos que seleccionarlo y pulsar en 'Add Route'.
Nos pedir una contrasea para el administrador del sistema operativo
del PLC, que si no la hemos modificado ser una cadena vaca o un espacio, dependiendo del modelo de PLC. Ya solo nos queda seleccionar nuestro PLC como Target System, as que lo marcamos y pulsamos 'OK'.
Y listo, ya tenemos comunicacin con nuestro PLC.
Para comprobar que nuestro PLC aparece en el AMS Router vamos al icono de TwinCAT en la bandeja del sistema, con el botn derecho seleccionamos 'Properties' y en la pestaa AMS Router debe figurar el PLC.
Listo, ahora si ejecutamos nuestra aplicacin en Visual Basic debera
comunicar perfectamente con el PLC.
Ahora una advertencia: el System Manager, tal y como lo tenemos en
esta situacin no tiene asignado el programa del PLC, simplemente lo usamos para aadir la direccin del PLC al AMS Router. Si se nos ocurre pulsar el botn de 'Activar la configuracin' y aceptamos... borraremos el programa del PLC!!!
Comentando este problema con un tcnico de Beckhoff me plante
limitar el acceso del usuario final al System Manager. Lo primero sera borrar los accesos al software de Beckhoff del men de inicio de Windows:
Y tambin debemos limitar el acceso desde el icono del TwinCAT en la
bandeja. Para ello es necesario modificar una entrada del registro, as que ejecutamos el editor de registro de Windows 'regedit' y buscamos: HKEY_LOCAL_MACHINE\SOFTWARE\Beckhoff\TwinCAT\System\SysPopu pMenuType
Tiene valor 2 y lo cambiamos a 1.
Con esto pasamos de un men como este (por error lo instal en alemn):
a este otro sin acceso al System Manager:
Hemos dificultado el acceso de un usuario a aplicaciones peligrosas, aunque realmente siguen instaladas en nuestro PC. Si un usuario ejecuta el System Manager es porque con toda probabilidad lo conoce y sabe donde est. En mi opinin este es un tema a mejorar y accesos que puedan afectar al funcionamiento de la mquina deberan estar protegidos con contrasea.