Tengo algo que contarte más importante que lo que estás viendo en este vídeo, es muy probable que te interese. Es aquí: www.programacionmultidisciplinar.com/inicio
Buenos días, muchas gracias por compartir sus conocimientos, por favor puede subir un curso de PLC sim, ya que como no cuento con un PLC real, ya que son muy costosos para los talleres de mi carrera, nuevamente muchas gracias y bendiciones.
Buenas, me he fijado que en la ayuda de siemens pone como InOut el connect y tu lo usas como static, hay algún fallo ahí o se puede poner de las dos formas?
Entiendo que todos esos equipos serán pasivos, quiero decir, que la función de lectura/escritura hacia ellos las haría el PLC. Personalmente yo haria MB_CLIENT, al menos 1, para cada equipo. Ten en cuenta que el que actua como servidor es más bien pasivo (se deja leer y escribir). Normalmente los equipos suelen ser pasivos, donde el PLC accede a ellos para leerles y escribirles, por eso normalmente se suelen hacer en el PLC mb_clients (uno o varios) para cada equipo, depende de los datos que se vayan a leer/escribir. De hecho, incluso si hablamos de comunicar varios PLC con modbus, mucha gente lo que haría son MB_CLIENTS entre ellos y listo, también funcionaría. Al final gustos colores 😛
holaa! Si quiero acceder a distintos datos como int, bool y reales, podría hacer un tipo de datos struct o crearía un tipo de datos de usuario? O como podría hacer?
@@programacionmultidisciplinar si, estoy comunicando una pantalla touchwin con un 1200, por medio de modbus tcp entonces no sé porque pero la pantalla no me estaba leyendo los bits, solo leía los enteros. Yo hice un struct de 2 arrays de enteros y booleanos , para poder leer los bits tuve que usar un move y cargarle un 1 a un int cuando estuviera el bit encendido pero eso consume memoria.
@@wilderandresveracordero5395 El tema es que estos bloques de modbus a mí nunca me dejaron leer variables tipo bool. Tuve que usar variables tipo byte y luego coger bit a bit de cada byte para su uso en mi programa.
@@programacionmultidisciplinar Una pregunta de esa forma que lo haces, como puedo tomar un byte y leer por ejemplo el bit 4 y el 7 de ese byte? Y mucha gracias eres el mejor mentor que he tenido de lejos, y eso que el curso es virtual
@@wilderandresveracordero5395 Por ejemplo, una variable tipo BYTE (también sirve para word o dword) puedes acceder usando "%X". Imagina que tienes la variable "prueba" del tipo byte. Si quieres acceder al bit 0 pondrías "prueba.%X0", si quisieras acceder al bit 7 pondrías "prueba.%X7". Se utiliza X para acceder al bit, puedes utilizar B para acceder al byte. Por ejemplo si tienes una variable tipo word o dword y quieres acceder al byte 2 pondrias "variable.%B2" Saludos Andrés!
Excelente vídeo!!! ¿No habría problema con dejar un S7-1200 como servidor y que a la vez tenga conectado un variador de frecuencia por medio de profinet en el swicth de la CPU (1215)? Al menos al compilar no me genera problemas, pero no lo he podido probar en la realidad... Gracias
Son dos cosas diferentes, el servidor mb_Server es para una comunicación modbus, el profinet es profinet, quiero decir, no hay problema en tener ambos a la vez, ya que son protocolos totalmente diferentes y excluyentes. Salu2 pelecero
Buenas, como consulta como podria leer el estado de una memoria O marca de este plc por medio del mb_server por ej puedo leer las salidas digitales (Q0.0;Q0.1...) pero no puedo leer por ej las (M0.0 M0.1)
Si no recuerdo mal, para las marcas era a partir del registros 10001, aun así te recomiendo que mires en el manual del fabricante del plc las comunicaciones modbus, ahí te debe especificar los registros.
No se que me ocurre, lo he intentado todo y modbuspoll no lee, el puerto lo he cambiado tropecientas veces y el status es 7002, entiendo que no es ningún fallo y solo que esta a la espera. No se si es algun cortafuegos, algo que bloquee, me quedado sin recursos. Cualquier rayo de luz sera agradecido. Saludos
Hola y gracias por el vídeo. Quisiera saber si es posible manejar dos redes en un mismo puerto. Tengo dos S7-1214 y quiero que uno envíe datos al otro (Servidor-Cliente). Pero a su vez ese cliente hace de Servidor para una red externa. ¿Es esto posible?. En este ultimo, cuando hago funcionar el bloque de "Server", deja de funcionar el "Client" y viceversa. ¿A qué se debe?. Un saludo y muchas gracias!
Buenas pelecero, Por un mismo puerto no es posible manejar 2 redes (2 subredes diferentes). Hay PLC que disponen de 2 puertos con redes diferentes. Si tus PLC disponen de 1 puerto, no van a poder conectarse a subredes diferentes. Por otro lado, creo que si es compatible el client con el server, no deberías tener problemas. Tampoco se como los has programado, me falta información. Salu2
Buenas, lo siento, pero el tutorial parece estar mal. Lo he seguido al pie de la letra para comunicar dos plcs modbus, y no hay manera. Llevo semanas rompiéndome la cabeza y nada. El server me da el error 80B6, y en el F1 no me sale que problema es.😢
Tengo algo que contarte más importante que lo que estás viendo en este vídeo, es muy probable que te interese. Es aquí: www.programacionmultidisciplinar.com/inicio
Muchas gracias por este magnífico documento audiovisual
nuevamente muchas gracias
Buenos días, muchas gracias por compartir sus conocimientos, por favor puede subir un curso de PLC sim, ya que como no cuento con un PLC real, ya que son muy costosos para los talleres de mi carrera, nuevamente muchas gracias y bendiciones.
No sé si se puede simular pero estaría bien un ejemplo de cliente - servidor práctico!!
Buenas noches
Gracias
Buenas, me he fijado que en la ayuda de siemens pone como InOut el connect y tu lo usas como static, hay algún fallo ahí o se puede poner de las dos formas?
Es decir, ¿debería crear 4 bloques para cada tipo de registro? En caso que quiera tener información de las cuatro clases de registro.🤔
Buenas noches Abel.
Si un PLC , escribe y lee datos en varios equipos de A/C el PLC es server o es client?
Gracias.
Entiendo que todos esos equipos serán pasivos, quiero decir, que la función de lectura/escritura hacia ellos las haría el PLC. Personalmente yo haria MB_CLIENT, al menos 1, para cada equipo.
Ten en cuenta que el que actua como servidor es más bien pasivo (se deja leer y escribir). Normalmente los equipos suelen ser pasivos, donde el PLC accede a ellos para leerles y escribirles, por eso normalmente se suelen hacer en el PLC mb_clients (uno o varios) para cada equipo, depende de los datos que se vayan a leer/escribir.
De hecho, incluso si hablamos de comunicar varios PLC con modbus, mucha gente lo que haría son MB_CLIENTS entre ellos y listo, también funcionaría. Al final gustos colores 😛
Muchas gracias Abel.
Estoy aprendiendo contigo un montón de cosas.
Ojalá te vaya el canal de lujo, te lo estás currando.
@@franciscopasadasgonzalez7746 Se agradece mucho! Muchas gracias máquina!
Hola amogo muchas gracias por el video, tengo un consulta es posible consultarle a ese server desde varios clientes
holaa! Si quiero acceder a distintos datos como int, bool y reales, podría hacer un tipo de datos struct o crearía un tipo de datos de usuario? O como podría hacer?
Ambas opciones deberían ser válidas Andrés!
¿Tienes una aplicación entre manos?
@@programacionmultidisciplinar si, estoy comunicando una pantalla touchwin con un 1200, por medio de modbus tcp entonces no sé porque pero la pantalla no me estaba leyendo los bits, solo leía los enteros. Yo hice un struct de 2 arrays de enteros y booleanos , para poder leer los bits tuve que usar un move y cargarle un 1 a un int cuando estuviera el bit encendido pero eso consume memoria.
@@wilderandresveracordero5395 El tema es que estos bloques de modbus a mí nunca me dejaron leer variables tipo bool. Tuve que usar variables tipo byte y luego coger bit a bit de cada byte para su uso en mi programa.
@@programacionmultidisciplinar Una pregunta de esa forma que lo haces, como puedo tomar un byte y leer por ejemplo el bit 4 y el 7 de ese byte? Y mucha gracias eres el mejor mentor que he tenido de lejos, y eso que el curso es virtual
@@wilderandresveracordero5395 Por ejemplo, una variable tipo BYTE (también sirve para word o dword) puedes acceder usando "%X".
Imagina que tienes la variable "prueba" del tipo byte. Si quieres acceder al bit 0 pondrías "prueba.%X0", si quisieras acceder al bit 7 pondrías "prueba.%X7".
Se utiliza X para acceder al bit, puedes utilizar B para acceder al byte. Por ejemplo si tienes una variable tipo word o dword y quieres acceder al byte 2 pondrias "variable.%B2"
Saludos Andrés!
Excelente vídeo!!!
¿No habría problema con dejar un S7-1200 como servidor y que a la vez tenga conectado un variador de frecuencia por medio de profinet en el swicth de la CPU (1215)?
Al menos al compilar no me genera problemas, pero no lo he podido probar en la realidad...
Gracias
Son dos cosas diferentes, el servidor mb_Server es para una comunicación modbus, el profinet es profinet, quiero decir, no hay problema en tener ambos a la vez, ya que son protocolos totalmente diferentes y excluyentes.
Salu2 pelecero
Cuantos sensores podria conectar a un s7 1200? para leerlos en un labview?
Podrías conectar tantos sensores como entradas tuviera! Esto dependerá del modelo de PLC y de si tiene módulos de entradas extra!
Salu2!
Buenas, como consulta como podria leer el estado de una memoria O marca de este plc por medio del mb_server por ej puedo leer las salidas digitales (Q0.0;Q0.1...) pero no puedo leer por ej las (M0.0 M0.1)
Si no recuerdo mal, para las marcas era a partir del registros 10001, aun así te recomiendo que mires en el manual del fabricante del plc las comunicaciones modbus, ahí te debe especificar los registros.
No se que me ocurre, lo he intentado todo y modbuspoll no lee, el puerto lo he cambiado tropecientas veces y el status es 7002, entiendo que no es ningún fallo y solo que esta a la espera. No se si es algun cortafuegos, algo que bloquee, me quedado sin recursos. Cualquier rayo de luz sera agradecido. Saludos
Hola y gracias por el vídeo. Quisiera saber si es posible manejar dos redes en un mismo puerto. Tengo dos S7-1214 y quiero que uno envíe datos al otro (Servidor-Cliente). Pero a su vez ese cliente hace de Servidor para una red externa. ¿Es esto posible?. En este ultimo, cuando hago funcionar el bloque de "Server", deja de funcionar el "Client" y viceversa. ¿A qué se debe?. Un saludo y muchas gracias!
Buenas pelecero,
Por un mismo puerto no es posible manejar 2 redes (2 subredes diferentes). Hay PLC que disponen de 2 puertos con redes diferentes. Si tus PLC disponen de 1 puerto, no van a poder conectarse a subredes diferentes.
Por otro lado, creo que si es compatible el client con el server, no deberías tener problemas. Tampoco se como los has programado, me falta información.
Salu2
Buenas noches Abel
Como se podría hacer para asignar los valores de unas sondas a la Array para poder leer y escribir en este?
Gracias.
Con un MOVE puedes igualar ambos datos, al ser sondas, serían entradas de las que solo leerías su valor.
Buenas, lo siento, pero el tutorial parece estar mal. Lo he seguido al pie de la letra para comunicar dos plcs modbus, y no hay manera. Llevo semanas rompiéndome la cabeza y nada. El server me da el error 80B6, y en el F1 no me sale que problema es.😢
Pon la dirección 0.0.0.0 en el parametro connect
Después que viene?
Controladores PID 😉
@@programacionmultidisciplinar excelente