Si no tienen un PLC físicamente, les recomiendo practicar con el PLC virtual de Codesys, les dejo un vídeo para que vean como habilitarlo :) ua-cam.com/video/EMG2w0phJqc/v-deo.html
@@CarlosAbner Hola Carlos De momento ninguno en concreto. Estoy aprendiendo para usarlo en un curso de domótica en combinación con Raspberry y parto con el déficit de no saber Codesys. Aprovechando tu ofrecimiento no descarto realizarte alguna consulta a lo largo del curso. Gracias por anticipado y mil gracias por tus clases
Buenas noches. Esta muy bien el ejemplo , quería preguntar como se hace cuando no tienes un PLC Real y quieres simular un tramo horario, es que estoy probando el bloque de leer y no me funciona.
00:11 Introducción 00:29 Tipos de Datos Date / Time 06:31 Ejemplos tipo Dato TIME 07:27 Ejemplos tipo Dato DATE 08:34 Creación de un proyecto 09:21 Agregar Librerías "Time and Date", "Util" y "Basic OSCAT" 10:50 Ejercicio para leer fecha y hora de un PLC 13:30 Ejercicio para escribir fecha y hora de un PLC 17:29 Ejemplo de una aplicación 20:54 Obtener la hora de un tipo de dato DATE_AND_TIME
4 роки тому
Schneider también trabaja con CoDeSys sobre todo con los autómatas de la ganma media los M241 M251 el software SoMachine hace uso de la herramienta CoDeSys.
Mira ahí podrías hacer uso de la librería OSCAT, hay varias funciones. Lo que hace es obtener el tiempo universal (UTC) y después lo transforma a una fecha con su hora, después hay otro bloques de función que transforman la hora "universal" a tu hora local indicando un Offset además de que puedes habilitar o deshabilitar el horario de verano... Te recomiendo que revises la parte de Calendar_calc, ahí es donde hay una variable para habilitar el "summertime" además puedes indicar el offset de tu LDT(Local Time) con respecto al UTC (Universal Time)
Muchas gracias por la información, al momento de conectarme al plc virtual y leer la hora, la hora de mi computadora se cambia, cómo podría arreglar eso?
@@CarlosAbner Hola, así es al momento de obtener la fecha y hora con el plc virtual mediante getdateandtime, la fecha me la correcta, pero la hora me la adelanta 6 horas.
Hello 👋 I checked this video that you guided me to and could understand the method of fetching date and time. Thank you so much. Also, I will be trying fetching of date and time tomorrow. I have a plc based on raspberry pi and I am working on it using codesys V3.5.17.30. Today, I was working on creating persistent variables for keeping the variable values unchanged even if power to the plc is off. But for some reason, it didn't work. Do you have any video for persistent variables? The raspberry pi plc doesn't have an ADC but has ADS1115 chip working on I2C protocol. I downloaded all the libraries but the sample code is in Structured Text. I wanted to convert it into Ladder program. Is there a way I can do that? I love your videos. Even though I don't understand Spanish I keep watching them 😁
Hi Manasa, I think that you already solve that problem. For some reason this comment went to spam and until now I have realized that. About the ST code, I think the only way is to transcribe and switch to Ladder =/ And thank you for your comment, I am glad that you like our videos
Hola Carlos, voy ya por el video 39, pero mi pregunta la hago en este video ya que se trata de tiempos... Resulta que quiero variar el tiempo a controlar con un potenciómetro, es un programa en SFC y es para un calificador de tiempo de una acción. Ya he intentado así tPotTiempo_1: ARRAY[30..300] OF TIME; pero no se como colocarle si son minutos o segundos. La idea es variar con un potenciómetro un numero entero y que ese sea el tiempo que usaré en un determinado calificador de una acción. También he intentado haciendo una matriz tipo entero así iPotTiempo_1: ARRAY[30..300] OF INT; y en el calificador he colocado T#iPotTiempo_1s la s significa que son segundos, pero no se puede porque me da error. Otro intento fue usar la función MUX, donde el que selecciona es iPotTiempo_1, y los datos de entrada son tiempos, por ejemplo: T#5s, T#10s, T#15s, T#20s, Pero Codesys no me permite ingresar tiempos en los datos del MUX. No se que hacer. No se si me hice entende r a ver si me puedes decir que hago para variar los tiempos a mi gusto con un potenciómetro o control deslizante
Hola amigo, a ver si entendí. Podrías crear una variable de tipo INT, ligarla a un potenciometro en la visualización y después en la lógica agregar una función que sea INT_TO_TIME, digamos que la salida se llame tTIempo y ya esa sería tu variable convertida de ENTERO a TIME. Solo recordar que el valor de entrada de la función la toma en ms. No se si es a lo que te refieres, quedó al pendiente...
@@CarlosAbner si entendí amigo. Es cierto se me paso por alto convetir la variable de entero a tiempo. Mañana lo intento hacer y te comento como me fué
@@CarlosAbner Hola Carlos, te cuento que aunque agregué la bliblioteca Time and Date y el paquete Oscat Basic. Trabajando en LD la función INT_TO_TIME no se mostraba en pantalla. Por lo que intenté hacerla en ST así: tTiempo1:= INT_TO_TIME (iTiempo1); y a pesar que no daba error, no se hacia la conversión.
Abner, como posso instalar no codesys o oscat basic? Abner, ¿cómo puedo instalar oscat basic en codesys? Mi biblioteca no lo tiene, y por eso no puedo conseguir el tiempo.
Hi, I recreated this program to understand the read and write concept of date and time in the plc. But of course I am using Raspberry Pi based PLC so, I couldn't add the third library "Basic OSCAT 3.3.3.0". The function blocks 'GetDateAndTime' and 'SetDateAndTime' output did not go high even when their input conditions were TRUE. Could it be because I didn't add the Raspberry Pi library for Date and Time? If so, where can I get the library file for Raspberry Pi for the same? I can post the pictures but where should I post them? Should I mail you?
Please ignore my above comment. This WORKS!!! 😁 I recreated it and this time I added the POU to the main task. I was working with multiple POUs. So, I missed calling the program
Hola Carlos, tengo instalado CODESYS V3.5 SP15 Patch 4 y necesito programar un PLC Festo modelo: CPX-E-CEC-C1. Cuando quiero seleccionar este controlador no me aparece en las opciones, vi que vos tenes uno que entiendo que descargaste (el CECC) Yo debería hacer lo mismo? de donde lo descargaria?
Hola Bruno, para ese PLC tengo entendido que tienes que instalar Festo Automation Suite, lo descargas directamente de la página de Festo, después tendrías que agregar la paquetería de ese PLC pero según recuerdo, una vez que tengas instalado el software, presionar "Help" o "Ayuda" y te debe aparecer una opción de actualizar, y desde ahí instalas las paqueterías y complementos de Codesys.
Me he quedado en el Gateway con circulito verde , le doy doble clic izquierdo y se queda buscando y retorna a esperar que le de nuevamente doble clic para que pueda aparecer el PLC virtual, le he dado varias veces doble clic pero no agrega el PLC virtual, no se que pasará amigo. Mi versión es Codesys 3.5 SP4 Patch 1 pbf, no se si sea eso Que el tuyo es SP7 Patch 2.
@@CarlosAbner Hola Carlod, Gracias por tu atención. Ya solucioné, era que tenia activo el modo SIMULACIÓN. Cuando me salí de simulación pudo agregar un PLC DESKTOP-V6UHT2F[0106] (Activo). Al principio no me quería funcionar con XDone FALSE a la salida, pero luego de un rató funcionó con XDone TRUE a la salida . Me arroja la fecha correcta pero la hora no (Esperaba la misma de mi computador). Use SetDayAndTime y le coloqué una hora y fecha ficticia, luego ley la fecha y hora y me arrojó el valor le escribí. ;) estoy aprendiendo.
Videotronica Tutoriales ¡Excelente amigo!, que bueno que pudiste solucionarlo y probar los bloques de función. Así tal cual lo hiciste yo lo hice en el video con un PLC físico, una de las ventajas de Codesys ese PLC Virtual
Diego Ibarguen Pues sería crear un programa o rutina en el lenguaje que ocupes y después la declaración de variables sería la misma, podrías copiar y pegar las que en este video declaramos y al final, en el programa, sería cuestión de mandar llamar cada una de las funciones. Por el momento no estoy en mi computadora, más tarde podría revisarlo
@@CarlosAbner Hola Carlos, te comento. CODESYS Es algo nuevo para mi, tenemos un proyecto para monitorear variable de temperatura, una de las ventajas que veo es que puedes visualizar en otro dispositivo por medio de VISU. en el sftw. Me da la opcion de graficar el comportamiento de la variable ya pudimos agregar la fecha y la hr en el prtograma, pero en la grafica solo me aparece los segundos que toma la lectura, es decir en la grafica no aparece la hr real aunque ya la tengamos en el programa, otra opcion que intentamos fue guardar los datos y convertirlos a CSV . pero al guardarlos el dato de la fecha y hr me los arroja en un nunero muy largo y no coincide con la fecha ni hr real. Espero me puedas apoyar. Saludos!!
@@renevela6749 Ok Rene, mira lo que te entiendo es tener en alguna parte de la visualización algo que muestre la fecha y hora, Te invito a ver el siguiente video a partir de minuto 23 a ver si es a lo que te refieres, (aunque en ese caso lo que muestro son segundos) ua-cam.com/video/0CBRaYLhcSc/v-deo.html En caso de que sea así, ahora podrías utilizar la siguiente sintaxis %t[HH:mm:ss:ms] o %t[yyyy-MM-dd dddd] Referenciando a tu variable de tipo DT (Date and Time) te debe mostrar ese formado
Buenos días Carlos, observando el vídeo en el minuto 11:06 observo que usas un modulo llamado RTCLK, ese no lo tengo para poder hacer la práctica. El que me pasaste al correo es el que está más arriba de la imagen que se llama OSCAT_BASIC. Queria pedirte si me puedes hacer el favor de enviarme el package RTCLK a mi correo alexander_cm@hotmail.com, o decirme el link de donde puedo descargar esos packages de la pagina de codesys, yo he entrado a STORE pero no encuentro o no se buscar esos packages para poder agregarlos al programa. Agradezco nuevamente tu ayuda.
Hola amigo, tienes que agregar la librería de Time and Date, a partir del minuto 9:10 viene como hacerlo. Después sería mandar llamar ese bloque en el programa. Aquí el detalle es que yo estoy utilizando un PLC físico, es un CECC-LK y pues si me aparecía la hora pero si utilizas la "Simulación", por ejemplo, al ejecutar el bloque de GetDateAndTime no te aparecerá la hora, tendrías que conectarte a un PLC físico o utilizar el PLC Virtual, no se si sepas hacerlo
@@CarlosAbner Muchas gracias por tu amabilidad, ya estoy empezando a practicar, a tener en cuenta que no tengo PLC pero me sirve para tener el LADDER creado para estudio si debo llegar a usar algún dia.
Si no tienen un PLC físicamente, les recomiendo practicar con el PLC virtual de Codesys, les dejo un vídeo para que vean como habilitarlo :)
ua-cam.com/video/EMG2w0phJqc/v-deo.html
Gracias Crack
@@franciscopasadasgonzalez7746 de nada Francisco (Y)
Buenas tardes Carlos, tengo un problema de usuario y contraseña , y no me deja simular, que puedo hacer.
grandisimo canal y mejor maestro. Muchas gracias.
Agradezco tu palabras y tu tiempo para escribirlas, saludos Ivan (Y)
Carlos amigo, muchas gracias por tu conocimiento compartido, pude hacer toda la práctica de principio a fin y comprenderla
Videotronica Tutoriales ¡Que bien! 👍🏼, te invito a seguir practicando y también pueden proponer ideas para traer más variedad
Muy bien. Aunque tengo verlo otra vez Hay que repensarlo :-)
Jose Eduardo Perez Hola Jose, si es un poco complejo este tema, si tienes alguna duda en específico con gusto te puedo apoyar 🙂
@@CarlosAbner Hola Carlos De momento ninguno en concreto. Estoy aprendiendo para usarlo en un curso de domótica en combinación con Raspberry y parto con el déficit de no saber Codesys. Aprovechando tu ofrecimiento no descarto realizarte alguna consulta a lo largo del curso. Gracias por anticipado y mil gracias por tus clases
¡Gracias por compartirnos tus conocimientos!🙌🏻
Muy interesante, muchas gracias por compartir su trabajo, saludos
Gracias por su comentario
Buenas noches.
Esta muy bien el ejemplo , quería preguntar como se hace cuando no tienes un PLC Real y quieres simular un tramo horario, es que estoy probando el bloque de leer y no me funciona.
Hola Francisco, con el PLC virtual, busca un video en el canal donde explico cómo conectarse
00:11 Introducción
00:29 Tipos de Datos Date / Time
06:31 Ejemplos tipo Dato TIME
07:27 Ejemplos tipo Dato DATE
08:34 Creación de un proyecto
09:21 Agregar Librerías "Time and Date", "Util" y "Basic OSCAT"
10:50 Ejercicio para leer fecha y hora de un PLC
13:30 Ejercicio para escribir fecha y hora de un PLC
17:29 Ejemplo de una aplicación
20:54 Obtener la hora de un tipo de dato DATE_AND_TIME
Schneider también trabaja con CoDeSys sobre todo con los autómatas de la ganma media los M241 M251 el software SoMachine hace uso de la herramienta CoDeSys.
Angel Raúl Ricardo Rodríguez Gracias por el dato, ya revise algunos videos y si, es tal cual el entorno de Codesys
Buen día, ¿Qué función podría usar para que se cambie el horario de verano a invierno y viceversa de manera automática?
Saludos.
Mira ahí podrías hacer uso de la librería OSCAT, hay varias funciones.
Lo que hace es obtener el tiempo universal (UTC) y después lo transforma a una fecha con su hora, después hay otro bloques de función que transforman la hora "universal" a tu hora local indicando un Offset además de que puedes habilitar o deshabilitar el horario de verano...
Te recomiendo que revises la parte de Calendar_calc, ahí es donde hay una variable para habilitar el "summertime" además puedes indicar el offset de tu LDT(Local Time) con respecto al UTC (Universal Time)
Muchas gracias por la información, al momento de conectarme al plc virtual y leer la hora, la hora de mi computadora se cambia, cómo podría arreglar eso?
JOSE URIBE Hola José, ¿te refieres a que en los bloques no se muestra lo hora real que muestra tu computadora?
@@CarlosAbner Hola, así es al momento de obtener la fecha y hora con el plc virtual mediante getdateandtime, la fecha me la correcta, pero la hora me la adelanta 6 horas.
Hello 👋 I checked this video that you guided me to and could understand the method of fetching date and time. Thank you so much. Also, I will be trying fetching of date and time tomorrow.
I have a plc based on raspberry pi and I am working on it using codesys V3.5.17.30.
Today, I was working on creating persistent variables for keeping the variable values unchanged even if power to the plc is off. But for some reason, it didn't work. Do you have any video for persistent variables?
The raspberry pi plc doesn't have an ADC but has ADS1115 chip working on I2C protocol. I downloaded all the libraries but the sample code is in Structured Text. I wanted to convert it into Ladder program. Is there a way I can do that?
I love your videos. Even though I don't understand Spanish I keep watching them 😁
Hi Manasa, I think that you already solve that problem. For some reason this comment went to spam and until now I have realized that.
About the ST code, I think the only way is to transcribe and switch to Ladder =/
And thank you for your comment, I am glad that you like our videos
@@CarlosAbner hi Carlos 😀 yes, you got that right. I solved it. 😁
Hola Carlos, voy ya por el video 39, pero mi pregunta la hago en este video ya que se trata de tiempos... Resulta que quiero variar el tiempo a controlar con un potenciómetro, es un programa en SFC y es para un calificador de tiempo de una acción.
Ya he intentado así tPotTiempo_1: ARRAY[30..300] OF TIME; pero no se como colocarle si son minutos o segundos. La idea es variar con un potenciómetro un numero entero y que ese sea el tiempo que usaré en un determinado calificador de una acción.
También he intentado haciendo una matriz tipo entero así iPotTiempo_1: ARRAY[30..300] OF INT; y en el calificador he colocado T#iPotTiempo_1s la s significa que son segundos, pero no se puede porque me da error.
Otro intento fue usar la función MUX, donde el que selecciona es iPotTiempo_1, y los datos de entrada son tiempos, por ejemplo: T#5s, T#10s, T#15s, T#20s, Pero Codesys no me permite ingresar tiempos en los datos del MUX. No se que hacer.
No se si me hice entende
r a ver si me puedes decir que hago para variar los tiempos a mi gusto con un potenciómetro o control deslizante
Hola amigo, a ver si entendí.
Podrías crear una variable de tipo INT, ligarla a un potenciometro en la visualización y después en la lógica agregar una función que sea INT_TO_TIME, digamos que la salida se llame tTIempo y ya esa sería tu variable convertida de ENTERO a TIME. Solo recordar que el valor de entrada de la función la toma en ms.
No se si es a lo que te refieres, quedó al pendiente...
@@CarlosAbner si entendí amigo. Es cierto se me paso por alto convetir la variable de entero a tiempo. Mañana lo intento hacer y te comento como me fué
Videotronica Tutoriales está bien, me comentas 👍🏼
@@CarlosAbner Hola Carlos, te cuento que aunque agregué la bliblioteca Time and Date y el paquete Oscat Basic. Trabajando en LD la función INT_TO_TIME no se mostraba en pantalla. Por lo que intenté hacerla en ST así: tTiempo1:= INT_TO_TIME (iTiempo1); y a pesar que no daba error, no se hacia la conversión.
Videotronica Tutoriales ¿qué versión de Codesys estás utilizando?, lo intentaré más tarde
Do you have Best sample on how can I use it in visualization?
pulgar arriba
Abner, como posso instalar no codesys o oscat basic?
Abner, ¿cómo puedo instalar oscat basic en codesys?
Mi biblioteca no lo tiene, y por eso no puedo conseguir el tiempo.
Escríbeme al correo que aparece en la descripción del video
Hi, I recreated this program to understand the read and write concept of date and time in the plc. But of course I am using Raspberry Pi based PLC so, I couldn't add the third library "Basic OSCAT 3.3.3.0". The function blocks 'GetDateAndTime' and 'SetDateAndTime' output did not go high even when their input conditions were TRUE. Could it be because I didn't add the Raspberry Pi library for Date and Time? If so, where can I get the library file for Raspberry Pi for the same? I can post the pictures but where should I post them? Should I mail you?
Please ignore my above comment. This WORKS!!! 😁
I recreated it and this time I added the POU to the main task. I was working with multiple POUs. So, I missed calling the program
Very good!
@@CarlosAbner 👍
Do you have sample how to make it in visualization?
Hola Carlos, tengo instalado CODESYS V3.5 SP15 Patch 4 y necesito programar un PLC Festo modelo: CPX-E-CEC-C1. Cuando quiero seleccionar este controlador no me aparece en las opciones, vi que vos tenes uno que entiendo que descargaste (el CECC) Yo debería hacer lo mismo? de donde lo descargaria?
Hola Bruno, para ese PLC tengo entendido que tienes que instalar Festo Automation Suite, lo descargas directamente de la página de Festo, después tendrías que agregar la paquetería de ese PLC pero según recuerdo, una vez que tengas instalado el software, presionar "Help" o "Ayuda" y te debe aparecer una opción de actualizar, y desde ahí instalas las paqueterías y complementos de Codesys.
@@CarlosAbner Perfecto ya lo hice. Este PLC se programaria desde la imterfaz de Festo Automation Suite verdad?
Es correcto
Me he quedado en el Gateway con circulito verde , le doy doble clic izquierdo y se queda buscando y retorna a esperar que le de nuevamente doble clic para que pueda aparecer el PLC virtual, le he dado varias veces doble clic pero no agrega el PLC virtual, no se que pasará amigo. Mi versión es Codesys 3.5 SP4 Patch 1 pbf, no se si sea eso Que el tuyo es SP7 Patch 2.
Videotronica Tutoriales Si me ha pasado, ¿cuál es el dispositivo que agregaste?
@@CarlosAbner Hola Carlod, Gracias por tu atención. Ya solucioné, era que tenia activo el modo SIMULACIÓN. Cuando me salí de simulación pudo agregar un PLC DESKTOP-V6UHT2F[0106] (Activo). Al principio no me quería funcionar con XDone FALSE a la salida, pero luego de un rató funcionó con XDone TRUE a la salida . Me arroja la fecha correcta pero la hora no (Esperaba la misma de mi computador). Use SetDayAndTime y le coloqué una hora y fecha ficticia, luego ley la fecha y hora y me arrojó el valor le escribí. ;) estoy aprendiendo.
Videotronica Tutoriales ¡Excelente amigo!, que bueno que pudiste solucionarlo y probar los bloques de función. Así tal cual lo hiciste yo lo hice en el video con un PLC físico, una de las ventajas de Codesys ese PLC Virtual
BRO COMO PUEDO PASAR ESA PRACTICA A TEXTO ESTRUCTURADO Y GRAFCET, AGRADECERIA TU RESPUESTA
Diego Ibarguen Pues sería crear un programa o rutina en el lenguaje que ocupes y después la declaración de variables sería la misma, podrías copiar y pegar las que en este video declaramos y al final, en el programa, sería cuestión de mandar llamar cada una de las funciones. Por el momento no estoy en mi computadora, más tarde podría revisarlo
@@CarlosAbner DALE BRO , TE LO AGRADECIRIA
Hola, como puedo ver el tiempo real en la grafica? Es decir la hr y fecha real?
Hola Rene, ¿a qué gráfica te refieres?
@@CarlosAbner Hola Carlos, te comento. CODESYS Es algo nuevo para mi, tenemos un proyecto para monitorear variable de temperatura, una de las ventajas que veo es que puedes visualizar en otro dispositivo por medio de VISU. en el sftw. Me da la opcion de graficar el comportamiento de la variable ya pudimos agregar la fecha y la hr en el prtograma, pero en la grafica solo me aparece los segundos que toma la lectura, es decir en la grafica no aparece la hr real aunque ya la tengamos en el programa, otra opcion que intentamos fue guardar los datos y convertirlos a CSV . pero al guardarlos el dato de la fecha y hr me los arroja en un nunero muy largo y no coincide con la fecha ni hr real. Espero me puedas apoyar. Saludos!!
@@renevela6749 Ok Rene, mira lo que te entiendo es tener en alguna parte de la visualización algo que muestre la fecha y hora,
Te invito a ver el siguiente video a partir de minuto 23 a ver si es a lo que te refieres, (aunque en ese caso lo que muestro son segundos)
ua-cam.com/video/0CBRaYLhcSc/v-deo.html
En caso de que sea así, ahora podrías utilizar la siguiente sintaxis
%t[HH:mm:ss:ms] o
%t[yyyy-MM-dd dddd]
Referenciando a tu variable de tipo DT (Date and Time) te debe mostrar ese formado
Buenos días Carlos, observando el vídeo en el minuto 11:06 observo que usas un modulo llamado RTCLK, ese no lo tengo para poder hacer la práctica. El que me pasaste al correo es el que está más arriba de la imagen que se llama OSCAT_BASIC. Queria pedirte si me puedes hacer el favor de enviarme el package RTCLK a mi correo alexander_cm@hotmail.com, o decirme el link de donde puedo descargar esos packages de la pagina de codesys, yo he entrado a STORE pero no encuentro o no se buscar esos packages para poder agregarlos al programa. Agradezco nuevamente tu ayuda.
Hola amigo, tienes que agregar la librería de Time and Date, a partir del minuto 9:10 viene como hacerlo. Después sería mandar llamar ese bloque en el programa.
Aquí el detalle es que yo estoy utilizando un PLC físico, es un CECC-LK y pues si me aparecía la hora pero si utilizas la "Simulación", por ejemplo, al ejecutar el bloque de GetDateAndTime no te aparecerá la hora, tendrías que conectarte a un PLC físico o utilizar el PLC Virtual, no se si sepas hacerlo
@@CarlosAbner Muchas gracias por tu amabilidad, ya estoy empezando a practicar, a tener en cuenta que no tengo PLC pero me sirve para tener el LADDER creado para estudio si debo llegar a usar algún dia.
Te envié a tu correo cómo conectarte al PLC Virtual, no es la simulación, es diferente. Creo que sería conveniente hacer un video sobre eso 😅
@@CarlosAbner Ya descargué la presentación, gracias. Por ahora voy en el minuto 12:11 mas tarde que lo usé contaré por acá como me fué