Page 1

Ing. José Carlos Cudris Cantillo

COMUNICACIÓN DDE ENTRE PLC FESTO Y EXCEL MEDIANTE LA INTERFAZ IPC DATA SERVER

1


Ing. José Carlos Cudris Cantillo

INTRODUCCION IPC Data Server es una interfaz que permite comunicar varios controladores con uno o varios programas cliente DDE. La comunicación se puede realizar mediante protocolos como el TCP/IP que permite conectar un máximo de 48 IPC, o por cable serial RS-232 con el cual se pueden conectar un máximo de 4 IPC.

CONFIGURACION DEL IPC Abrir el programa IPC Data Server el cual debe ser instalado previamente en la carpeta Festo Software.

Ventana Principal IPC Data Server

2


Ing. José Carlos Cudris Cantillo En la opción Config se encuentran las dos formas de comunicación, IPCs si se realiza por TCP/IP o FPCs si se realiza por cable serial RS-232.

Menú Config

COMUNICACIÓN MEDIANTE CABLE SERIAL RS-232 Para realizar la configuración de la comunicación mediante RS-232, se selecciona la opción FPCs (RS-232). Luego clic en el botón Config del FPC que queremos habilitar, se activa la casilla Enable y se escoge el puerto por donde se realiza la comunicación y la velocidad de transmisión, por defecto es COM1 a 9600 Baudios. Teniendo la configuración terminada damos clic en el botón OK.

Ventana de Configuración del FPC

3


Ing. José Carlos Cudris Cantillo COMUNICACIÓN MEDIANTE CABLE UTP Para realizar la configuración de la comunicación mediante TCP/IP el controlador debe tener una dirección IP previamente asignada, si éste no tiene una, asignarle una mediante el cable serial RS-232 a través del FST con el driver TCPIP. Una vez se tenga una dirección IP asignada se procede a habilitar el IPC dando clic en el botón Config y activando la casilla Enable, luego se coloca la dirección IP del IPC que se esta configurando o se puede dar clic en el icono con las gafas y se selecciona la dirección IP correspondiente, luego se activan las casillas con los datos que queremos leer o escribir desde el programa cliente DDE, y para finalizar clic en OK.

Ventana de Configuración de IPC

NOTA: No puede haber más de un IPC configurado con la misma dirección IP ya que se generaría un error. Una vez configurado el tipo de comunicación se procede a la programación en Excel, la cual se realiza bajo el entorno de Visual Basic.

4


Ing. José Carlos Cudris Cantillo

PROGRAMACION EN EXCEL Para empezar con la programación se necesita la barra de herramientas de Visual Basic que se encuentra en el menú Ver/Barra de Herramientas/Visual Basic.

Barra de Herramientas de Visual Basic

5


Ing. José Carlos Cudris Cantillo

Cuadro de Controles

Con las herramientas que se encuentran en el cuadro de controles se procede a diseñar la siguiente interfaz.

Interfaz en Excel

En el campo se ingresa el siguiente código =IPC_DATA|IPC_1!EW0 este código permite leer automáticamente la palabra cero de las entradas del IPC1, mediante comunicación TCPIP. Si al contrario se desea realizar esta operación por puerto serial RS-232 se ingresa el código =IPC_DATA|FPC_1!EW0, nótese el cambio de IPC por FPC. Pero no solamente se pueden leer palabras entradas, también se puede leer palabras o bits de salidas, banderas, contadores, temporizadores, registros de la siguiente manera. Lectura de la palabra de salida 1 del IPC2 mediante comunicación TCPIP. =IPC_DATA|IPC_2!AW1 Lectura de la palabra de banderas 4 del IPC1 mediante comunicación RS-232. =IPC_DATA|FPC_1! MW4 Lectura del BIT 4 de la palabra de banderas 0 del IPC3 mediante comunicación TCPIP. =IPC_DATA|IPC_3! M0.4

6


Ing. José Carlos Cudris Cantillo PROGRAMACION DE BOTONES Seleccione el botón que se va a utilizar para enviar los datos al controlador y de clic derecho sobre el, luego clic en Ver código y se despliega la ventana de programación de Macros.

Ingrese el siguiente código dentro de la subrutina. CODIGO PARA ENVIAR DATOS POR TCPIP Channel = Application.DDEInitiate("ipc_data", "ipc_1") Application.DDEPoke Channel, Sheets("Hoja1").Range("D9"), Sheets("Hoja1").Range("E9") Application.DDETerminate Channel Para el botón de Leer se procede con el mismo procedimiento que el botón enviar y se ingresa el siguiente código. CODIGO PARA LEER DATOS POR TCPIP Channel = Application.DDEInitiate("ipc_data", "ipc_1") Value = Application.DDERequest(Channel, Sheets("Hoja1").Range("D12")) Sheets("Hoja1").Range("E12") = Value Application.DDETerminate Channel

NOTA: Para mayor información consultar la ayuda del FST.

7


Ing. José Carlos Cudris Cantillo La ventana de código debe quedar de la siguiente manera.

El código para hacer esto mediante comunicación serial es el siguiente. CODIGO PARA ENVIAR DATOS POR RS-232 Channel = Application.DDEInitiate("fpc_data", "fpc_1") Application.DDEPoke Channel, Sheets("Hoja1").Range("D9"), Sheets("Hoja1").Range("E9") Application.DDETerminate Channel CODIGO PARA LEER DATOS POR RS-232 Channel = Application.DDEInitiate("fpc_data", "fpc_1") Value = Application.DDERequest(Channel, Sheets("Hoja1").Range("D12")) Sheets("Hoja1").Range("E12") = Value Application.DDETerminate Channel SIGNIFICADO DE TERMINOS Application.DDEInitiate: Inicializa el canal de la aplicación DDE y establece la comunicación con el controlador a través del IPC Data Server. Application.DDEPoke: Permite el envío de datos a través de un canal preestablecido. Application.DDERequest: Permite la lectura de datos a través de un canal preestablecido. Application.DDETerminate: Termina la comunicación a través de IPC Data Server y cierra el canal establecido. Sheets: Hoja donde se encuentra la celda a la cual se quiere escribir el datos recibido, o leer un datos para ser transmitido. Range: Coordenadas de la celda donde se quiere almacenar el dato recibido o donde se encuentra el datos que será enviado. 8

Manejo PLC Festo con Excel  

En este documento se describem los pasos necesarios para realizar el control y supervision de un PLC de la marca Festo mediante una interfas...