MySQL - PLC, MySql y Triggers

   
Vista:

PLC, MySql y Triggers

Publicado por Javier (1 intervención) el 27/12/2008 14:58:46
Hola a todos,

Tengo un problema al enviar los datos desde un PLC hacia una base de datos MySQL. Al hacer la conexion mediante la interfaz de RSLogix5000 para que empiece a enviar los datos hacia la base de datos esta genera eventos cada cierto tiempo para poder enviar toda la informacion que se requiere. El problema esta en que cuando creo un trigger en alguna de las tablas que reciben datos desde el PLC, estas empiezan a dejar de recibir los mismos. Las demas tablas que no estan sujetas a una ejecucion de trigger siguen recibiendo datos normalmente.

El trigger que utilizo es el siguiente:

DROP TRIGGER `pod`.`chank`;
CREATE TRIGGER `pod`.`chank` AFTER INSERT
ON pod.floathrpeso FOR EACH ROW
BEGIN
declare estadoact binary (1) ;
DECLARE myc1 CURSOR FOR SELECT estado FROM hrpeso WHERE ( motor = 2 ) ;

OPEN myc1 ;
myloop:LOOP
FETCH myc1 INTO estadoact ;
LEAVE myloop;
END LOOP myloop;

if ( ( new.Val != 5 ) AND ( estadoact != 0 ) ) then
UPDATE hrpeso SET hrs = hrs + ( SELECT ( (((UNIX_TIMESTAMP() - UNIX_TIMESTAMP(MAX(DateAndTime))) / 60 ) /60) ) FROM floathrpeso WHERE ( TagIndex = 2 ) AND ( Val = 5 ) ) , estado = 0 WHERE TagIndex = 2;
ELSEIF ( new.Val = 5 ) then
UPDATE hrpeso SET estado = 1 WHERE motor = 2;
end if;
END;

Lo que hace es recibir la señal de inicio del motor (5) y la señal de parada que puede ser cualquier otra señal mas el tiempo en que ocurrio (DateAndTime) en la tabla FLOATHRPESO; mediante este trigger lo unico que hago es controlar el tiempo de funcionamiento que tuvo el motor y actualizar el mismo en la tabla HRPESO, pero como ya lo mencione una vez que esta implementado, los datos dejan de llegar.

Estas son las versiones que uso para mi servidor:

Apache: 2.2.8
MySQL: 5.0.51 b
PHP: 5.2.6

Todo esto lo instale directamente con WAMPSERVER: 2.0

Por favor si alguien puede ayudarme estaria muy agradecido.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder