Vamos a repasar una serie de conceptos generales de programación aplicados en un entorno de Simatic S7.
Lamento que la primera lección sea una pequeña chapa teórica y que no vayas a ver ni una línea de código, pero por muchas vueltas que le he dado, es que es necesario unos mínimos.
Pero míralo de una forma positiva, así ya lo damos por zanjado y pronto comenzaremos a escribir líneas y líneas de código (el que no se conforma es porque no quiere).
Los elementos de un autómata como bien sabes son dos: el hardware (el aparato en sí con sus tarjetas, cableado etc) y el software (los programas).
Dentro de los programas tendremos dos partes a su vez:
- El SO del autómata
- El programa de usuario que tú vas a desarrollar y que desempeñará las funciones para las cuales se ha ideado.
El SO del autómata será el que se encargue por un lado de interpretar y ejecutar el programa que has diseñado además de otras funcionalidades como pueden ser el diagnóstico de alarmas y errores, administrar la memoria, comunicación con otros elementos, exploración de las entradas y la transmisión de órdenes a las salidas entre otras muchas que sabemos que hace, pero poco nos importa ahora el saber cómo.
Programacion en Step 7
El programa de usuario es sobre lo que versa este curso.
En este programa vas a poder determinar las condiciones con las que arrancará el autómata, tratará datos y señales del proceso para finalmente dar unas órdenes de actuación sobre los diferentes actuadores y elementos de la instalación.
Estructura de la memoria.
A grandes rasgos la memoria del autómata va a ser dividida en las siguientes partes:
- Imagen de las E/S.
- E/S de la periferia
- Marcas
- Valor y estado de temporizadores y contadores
- Módulos de datos (DB)
- Datos temporales que se pierden al final de cada ciclo.
Imagen de E/S
Las imagenes de las entradas y las salidas no son mas que las señales E o A que se usan en el programa.
Son eso, imágenes, ya que no leemos el valor instantáneo de la entrada o forzamos instantáneamente la salida, sino que leemos en el caso de las entradas el valor de la entrada física cuando se refrescó la imagen de las entradas antes de comenzar el nuevo ciclo del OB1 (programa principal).
Igualmente en el caso de las salidas, cuando el programa pone a uno o a cero una salida no lo está haciendo inmediatamente, sino que está dando valor a la imagen de la salida, y esta imagen de la salida será volcada a las salidas reales antes de comenzar un nuevo ciclo del OB1.
E/S de la periferia.
A diferencia del caso anterior, se puede leer directamente el valor actual de cualquier sensor.
Para ello debemos leerlos en bytes (PEB), word (PEW) o doble word (PED) ya que el acceso no puede ser directo a un bit en concreto (a diferencia de las imagenes de E/S).
Igualmente pasa con las salidas, que podemos forzar el estado de las salidas de forma inmediata accediendo a las salidas de periferia (PAB,PAW,PAD)
Marcas
Las marcas son variables indexadas y globales, por tanto no hay que declararlas, pero si es conveniente darles un nombre y tipo (entero, doble,real..).
Se les puede dar valor dentro de cualquier parte del programa. Dependiendo de la CPU este área es mayor o menor.
Los valores pueden ser remanentes tras el apagado del PLC o volátiles (se pierden tras apagar el PLC).
Su acceso puede ser desde bit hasta un áncho indeterminado si se usan punteros de área.
Temporizadores y contadores.
La programacion en Step7 tiene la peculiaridad de tener temporizadores de dos tipos: por software (IEC) y temporizadores S7 (o llamados también de S5 ya que existían ya en la versión anterior).
Estos últimos son temporizadores hardware y son limitados dependiendo de la CPU (por ser hardware), no así los IEC que por ser creados por software, la limitación es la propia memoria disponible, pero no hay un número determinado de ellos.
Los contadores pues son eso, elementos usados para contar o decontar cantidades.
Módulos de datos (DB).
Son áreas de memoria que a diferencia de las marcas, está definidas por el usuario. Pueden ser de longitudes dispares y con contenidos de todo tipo.
Las variables contenidas en los DB son remanentes por defecto al apagado del PLC.
Variables temporales.
Son variables que se declaran dentro de los módulos que sirven para realizar cálculos intermedios y locales que no necesitan ser usados más allá del módulo en cuestión y en el ciclo en el que son llamadas o tratadas.
Te dejo con el primer vídeo del curso…
Actualización (23/09/13): Como bien han apuntado en los comentarios, las variables temporales no se re-inicializan como yo he comentado en el vídeo. El valor inicial de la variable temporal es el valor último que tomo esa variable, lo cual no deja de ser tremendamente peligroso ya que si no le das valor antes de leerla el contenido de dicha variable es indeterminado, especialmente si la función es llamada varias veces a lo largo del programa y la variable va tomando valores dispares.
Módulos
Para acceder y tratar los datos almacenados en las áreas de memoria, existen diferentes tipos de módulos cuyas caracteristicas serán diferentes para cada requerimiento que sea necesario:
- Módulos de organización (OB)
- Funciones (FC).
- Bloques de función (FB).
- Bloques de memoria (DB)
- Módulos de sistema (SFC,SFB,SDB)
Módulos de organización
Lo primero que has de saber de estos módulos es su especifidad, sólo sirven para lo que han sido diseñados y no se llamarán desde otros bloques sino que será el propio autómata quien gestiona las llamadas a estos módulos en función de sus características.
Hay varios tipos de módulos de organización:
- OB de arranque (OB100-102): Son bloques con los que se arranca el PLC en función del tipo de arranque y depende del tipo de CPU para que tenga todos los tipos o sólamente el OB100, que es el arranque completo. Sólo se ejecuta una vez, en el arranque. Una vez terminado pasa al principal.
- El OB1: Es un tipo es sí mismo y es el principal. Se ejecuta de forma recurrente y desde él se hace llamadas a los FC y FB del programa
- OB cíclicos: También se pueden hacer llamadas a otros FC o ejecutar código desde estos OB. Tienen la peculiaridad frente al OB1 que se ejecutan a tiempo fijo (por ejemplo el OB35).
- OB Horarios: Son OB que dependen de la fecha y hora. Se pueden realizar tareas desde en un momento concreto a ser cíclicos cada x tiempo (desde minutos a todos los años en un momento concreto)
- OB de fallo (OB85, OB86, OB121 etc). Son OB predefinidos para cada tipo de fallo y son llamados cuando el fallo es detectado. Dentro de cada OB se puede tratar el fallo y tomar las decisiones pertinentes en cada caso.
Todos los OB tienen la peculiaridad de tener reservados 20bytes de memoria local donde podrás hallar variables específicas de cada OB. Así podrás tener información de en qué momento ha sido llamado o la frecuencia de llamada en el caso del OB35 por poner un ejemplo.
Los más usados con una diferencia notable con el resto:
- OB100: Arranque desde cero. En el daremos las condiciones y valores iniciales (si procede) en el arranque.
- OB1: Programa principal (lógico)
- OB35: Programa cíclico por excelencia ya que hay otros pero que no están disponibles en todas las CPU. Puedes programar tareas a tiempo fijo facilitando contajes y mediciones que sean necesarias conocer su periodicidad.
Luego están los de fallo que dependiendo de la aplicación usarás unos u otros o ninguno. Pero con estos 3 tienes el 80% de las necesidades de los OB cubiertos.
Funciones (FC)
Las funciones son bloques que pueden ser llamados desde OB, FC o FB y se usan fundamentalmente para:
- Estructurar el código de tal forma que no esté todo metido en el OB1 sino que se hace de forma arbórea e inteligible dividiendo el programa por zonas, máquinas, submáquinas…
- Usarlos como funciones que traten unos valores de entrada y den como resultado unos valores de salida. Lógicamente la idea de esto es por un lado dar claridad y por otro lado permite la reutilización de la función.
Tienen la peculiaridad de poder definir de forma interna variables temporales con las que jugar dentro del bloque pero que no tienen remanencia y el valor de estas variables se pierde de ciclo de ejecución a ciclo de ejecución, es decir, al inicio de la ejecución del FC valdrá cero, y aunque al final de la ejecución del FC la variable valga 100, en el siguiente ciclo de scan, la variable volverá a valer cero por esta falta de remanencia.
Por ejemplo, podemos crear un FC1 y un FC2. En el FC1 desarrollar un programa que sume a +b y nos de c. En el FC2, hacer varias llamadas al FC1 para que nos haga varias sumas.
El bloque FC1 denominado «sumar» lo reutilizamos y contendrá variables de entrada y salida mientras que el FC2 simplemente lo usaremos llamándolo desde el OB1 y lo denominaremos «todas_las_sumas» haciendo una única llamada desde el OB1 a este bloque.
No tiene ninguna importancia la falta de remanencia de las posibles variables intermedias ya que lo que realiza es un cálculo matemático en cada ciclo.
Bloques de función (FB)
Los bloques de función son parecidos a los anteriores con la particularidad que tienen variables internas llamadas estáticas que dan remanencia de ciclo a ciclo.
Para lograr esta remanencia tendrán asociado un bloque de memoria (DB) llamados para estos casos de instancia.
Los FB pueden ser llamados desde los OB, FC o FB además de poder ser usados dentro de las estáticas de otros FB (multiinstancias).
En definitiva son los módulos que usaremos para una programación orientada a objetos de otros lenguajes ya que podremos realizar un módulo que nos gestione por ejemplo un transportador y podremos crear tantos transportadores como queramos pudiendo desentendernos de cómo funcionan internamente una vez sepamos depurado el código del FB.
Módulos de datos(DB)
Los módulos de datos pueden ser der de tipo global o de instancia. Los de instancia los hemos visto que son necesarios para la ejecución de los FB y toman la estructura de la declaración de las variables del propio FB.
Los DB globales son módulos declarados por el usuario y pueden contener variables de todo tipo definiendo estructuras complejas.
En ambos casos el acceso a la información es global ya que incluso se puede acceder a la información de un DB de instancia desde otro bloque.
Módulos de sistema.
Al igual que en los casos anteriores existen una serie de FC y FB que están integrados en el propio sistema operativo del PLC. Pueden ser llamados y consultados para obtener o tratar información. Al igual que pasa con los FB, los SFB necesitan de su correspondiente SDB.
Por ejemplo con el SFC0 podrás consultar la hora del reloj del PLC.
CICLO DEL PROGRAMA
Como ya he ido adelantando existen unos módulos que son los encargados de ejecutar los programas de usuario. En el siguiente esquema puedes ver de forma gráfica cómo es la ejecución cíclico del programa (ya visto anteriormente aquí)
Como puedes imaginar, ejecutar todas las instrucciones conllevará un tiempo denominado tiempo de ciclo:
El tiempo de ciclo es el tiempo medido en ms que se necesita para ejecutar completamente todas las instrucciones y llamadas realizadade desde el OB1, la ejecución de otros OB llamados (si fuera el caso) y actividades del SO (actualizar las imágenes de E/S por ejemplo).
El tiempo no es constante ya que no todos los ciclos tienen la misma carga de trabajo bien porque no siembre se hacen las llamadas de OB cíclicos o porque no se hacen llamadas a todos los bloques en función de las circunstancias y valores de las diferentes variables.
Este tiempo está vigilado por un watchdog (típicamente fijado en 150ms fijado en la configuración del hardware) y si se supera, el PLC se irá a estado de STOP.
¿Cómo se puede superar este tiempo?
Pueden ser por varias causas, pero una típica es programar mal un bloque haciéndolo sin salida (un lazo infinito) con lo que irremediablemente se va a STOP aunque hay otras como pueden ser un programa eXcesivamente largo.
También se puede ir el PLC a STOP debido a los tiempos de ejecución por llamadas a OB cíclicos en tiempos muy cortos con cargas de trabajo muy altas. Por ejemplo, programando el OB35 a 2ms y si su carga de trabajo es muy alta, puede que con la siguiente llamada aún no haya terminado las operaciones del ciclo anterior, y el PLC se coja la baja.
Bromas a parte, veamos más en concreto en qué orden ejecuta las diferentes tareas durante este tiempo de scan.
En primer lugar cuando arranca el PLC ejecuta los OB de arranque. El más habitual es el OB100.
Enseño a programar PLC de Siemens a través de mis cursos.
Más información sobre mi aquí
Puedes seguirme en cualquiera de las siguientes redes sociales.
152 Comentarios
Gracias por el curso.
Quiero animarte a seguir y darte las gracias por compartir con los demas unos conocimientos que tanto cuesta adquirir. Creo que somos conscientes del esfuerzo y la dedicacion de tiempo que lleva escribir un curso de este tipo, y todo ello de forma gratuita.
Cualquier curso que he querido hacer es caro y normalmente se celebra fuera de mi ciudad, y aun asi se podria considerar una buena inversion por la demanda profesional que hay de gente con conocimientos de S7.
Esto no es exactamente una opinion sobre el curso, pero si unas palabras de animo y de reconocimiento de tu esfuerzo.
Por supuesto que al menos a mi, si que me esta sirviendo de algo, y me gusta.
Un saludo.
Hola super interesante el comienzo, siempre se aprenden cosas nuevas…
… hoy tras la incorporación al trabajo eh conocido que para mi es algo nuevo pero he visto que lleva algún tiempo ya en el mundo (y yo sin saberlo) y quiero compartirlo y quizás ya lo conozcas me gustaría que me des tu opinión ya que posiblemente compre uno para probar ya que parece goloso… http://helmholz.com/prod,80_81_82.html
Presente!!!!!
gracias y me sumo a los comentarios anteriores
Me parece genial el arranque del curso.
Todo muy detallado.
GENIAL
Hola pues yo tambien me sumo a los comentarios anteriores. yo habia leido el curso el miercoles.
tengo algunas pequeñas dudas, pero antes de ponerlas en el blog, volvere a leer y ver los videos y asi hacer preguntas claras y concretas.
!!! Iñigo !!!! verdaderamente felicitaciones por este trabajo EXELENTE
el curso esta super interesante y eso q es el principio
un saludo
Andres
Hola a todos,
Gracias por los ánimos. De verdad os digo que es super gratificante que os guste.
Sé que es de forma amateur y que seguramente haya inexactitudes, pero se trata de coger una base que espero sepa explicaros.
Sólo os pido un poco de tiempo para entrar en materia con más chicha.
Saludos!!
hola Iñigo ,me ha gustado la primera clase o lección ,me queda claro lo de ob1 ,ob100 y demás » por que no lo entendía» tengo ganas de que publiques la segunda parte gracias.
Hola.
El resto de las entradas las tienes en la pestaña de curso online.
Un saludo
Hola a todos.
He encontrado un manual de programacion en S7 en una de las paginas de la universidad Miguel Hernandez.
Parece un compendio de las cosas basicas que hay que saber, a mi me parece un manual estupendo para un principiante como yo. Voy a poner el enlace al manual, y a la pagina de la asignatura en la que aparece.
No es mi intencion hacer algo «no permitido» poniendo este enlace, por lo que si no se puede hacer, lo retiraria, pero como digo es algo que aparece como publico en la citada pagina. Mi intencion es aportar un granito de arena en lo que pueda, nada mas.
http://isa.umh.es/asignaturas/ci/Step%207%20Avanzado.PDF
Mas info en la pagina de la asignatura
http://isa.umh.es/asignaturas/ci/
Espero que os sirva.
Hola,
Sí tenéis cualquier documento que no tenga derechos de autor o que sean de libre distribución y copia no hay ningún problema en publicitarios.
Todo lo que rodea a Siemens S7 esta inventado ya y hay bibliografíaen muchos sitios pero casi ttoda con copyright.
Como digo en el apartado «acerca de» no es mi intención sustituir a los libros de Siemens ni a otros manuales.
Si os parece voy a crear un apartado en el blog donde ir colgando toda la información que este disponible y que sea de libre distribución y bibliografía que pueda ser interesante comprar si a alguno le interesa.
Un saludo
Genial, un comienzo estupendo para los que no tenemos mucha idea, me has aclarado muchas cosas que tenia dudas.
Enhorabuena, y gracias por la ayuda.
Estoy deseando ver la proxima leccion.
Hola.
Este curso me sera muy util, ya que anteriormente he programado plc de siemens pero era en Step5.
Espero poderlo seguir y animandote.
Gracias.
Me a parecido muy bien el curso de programacion ya que esta todo muy bien explicado, esperando con ansias la proxima clase sigue asi
Excelente curso, esperamos ansiosos el siguiente contenido, y ojala tengas información así como en Siemens pero para Allen B
Saludos
El curso esta super bien explicado y la idea de complementar cada definicion teorica con un video es genial, sobre todo por q hay pequeños detalles q se pueden escapar leyendo….
Iñigo tengo una pequeña duda.
mejor dicho no comprendi totalmente los DB. la idea esta clara los tipos tambien, la explicacion q das super y la comparacion con las marcas igual.
lo q no logro entender es la forma en q hay q crearlos y como podremos llamarlos desde diferentes bloques si los datos q pondremos dentro, seran unicos para cada uno de los DBs.
-cundo dices todo typo de extructuras (como cuales????)
-q es un ARRAY???? (bueno si lo vamos a ulizar )
-cadenas (si seran utilizadas)
comprendo q las llamas variables complejas
bueno no es q quiera molestar simplemente es q es mejor q sea claro desde el principio. Ahora q si mas adelante veremos estos terminos detalladamente puen dejalo q seguro lo entendere en ese momento.
lo q pasa es q he visto en uno de tus videos en otro capitulo q utilizas una de estas extructuras para hacer movimientos en winCC (es por eso q quicera tenerlo claro).
tengo depronto una sujerencia para hacer,,,,
cuando pones abreviaciones. Si puedes poner el significado entre parentesis como ya lo as hecho algunas veces seria super asi al leer los textos sera mas facil.
por ejemplo puciste (PEB) deduje: periferia entrada bays. !!!QUE NO ES UNA CRITICA!!!
que el curso esta super bien extructurado, pero como pediste opiniones.
haaaa se me olvidava puciste, q si nos intereza comprar materiales pichar en el lian del blog, pequeño problema: q cuando se pincha desde el blog me envia a una pagina que dice error de carga la pagina no se puede encontrar. POR Q ESE PAR DE CAFES TE LOS PAGARIA CON GUSTO y estoy seguro q no soy el unico.
un saludo
Andres
Leo hasta los comentarios y me alegra ver que mucha gente esta valorando lo que estas haciendo,sigo en la cola de los que vamos detras aprendiendo,una vez mas gracias….
Andres,
No te preocupes por las definiciones ni los temas de DB, array… ya llegará a su debido tiempo. Puedes ir mirando otros post en la zona de teoría ya que se habla de todas estas cosas.
En cuanto a lo de PEB.. .es que se llama así. Cuando haces una llamada, verás que se usa por ejemplo PEB0 o PEW0… pero como digo, tiempo al tiempo.
Sobre enlazar a la tienda online, os lo agradecería un montón. He añadido el link en el menú como tienda Online. La gente de Masvoltaje os tratarán genial, os lo puedo garantizar ya que estamos creando una gran relación.
Pronto tendréis los primeros frutos de esta nueva paso en nuestra relación que os traerá a vosotros como lectores del blog alguna que otra ventaja a la hora de comprar.
Os adelanto que el capítulo de esta semana va a ser un poco rollo también porque prácticamente va a ser vídeos y un poco tediosos. La semana que viene ya empezaremos con cosas más interesantes y productivas.
Un saludo en general para todos y gracias por el seguimiento.
Buenas! la verdades que està estupendo el curso, he empezado hoy asi que voy con un poco de retraso, pero intentare ponerme al dia
Enhorabuena y muchas gracias!
Muy recomendable. Espero que se peuda profundizar mucho en el tema.
Saludos.
Domingo
Enhorabuena y gracias por el curso
excelente, muy bueno , muy entendible
Muchas gracias a todos!!
Buenas noches señor Lñigo, quiero participar en el curso que usted dicta, como se hace para lograr tal fin. Gracias.
Desde la sección de curso s7 tienes una parte gratuita y otra en forma de pdf de pago.
Saludos.
Buenos días
Esta genial tienes un seguidor
Esta claro los vídeos están bien, más vale una imagen que mil palabras
Un saludo
Un excelente profesor al que no le faltan alumnos.
Gracias por toda la información y por el esfuerzo!
excelente blog, compartir tus conocimientos
ya he subido al foro los simuladores!!!!!!!!!!!!!!!
gracias por los videos y la información.
Hola Iñigo, me parece genial la iniciativa y el tiempo que le dedicas a difundir tus conocimientos. Es de agradecer.
Por otro lado comentarte que hay un pequeño error en el tema de las variables temporales. En contra de lo que se dice por ahi (incluido Siemens), las variavles temporales no se borran cuando salimos del modulo ni se inicializan cuando entramos de nuevo. Todos los modulos comparten un mismo area de memoria para las variables temporales, por lo que si usamos variables en varios modulos los datos de uno «machacan» los del anterior, de ahi que se diga que se pierden… pero si nadie escribe sobre ese area de memoria, esos datos seguiran ahi cuando nuestro programa vualva al modulo.
Esto es importante ya que si en un modulo «leemos» una temporal sin haberla escrito antes podemos tener un valor cualquiera (dependiendo de que modulo la escribiera antes) y por tanto no tendriamos el control del programa.
Espero haberme explicado con claridad.
Saludos y gracias por la dedicacion.
Hola JuanF,
Muchas gracias por comentar.
En relación a las temporales, la verdad es que como siempre le doy valor antes de leerla no lo había cuestionado. Pero tienes razón ya que lo he comprobado.
Voy a corregir la entrada porque realmente está mal lo que yo he dicho.
Muchas gracias por el aporte y aclaración.
Por aquí un ciber-alumno incondicional de Iñigo.
Seguimos aprendiendo.
Gracias por tu tiempo.
Hola Juan!
Espero poder acompañarte algún sábado mañanero con post nuevo mientras desayunas jeje.
Saludos!
Excelente, me sumo a todos los comentarios ya citados por todos. No queda mas que agradecerte por compartir tu conocimiento y seguir de cerca el blog para continuar aprendiendo.
Sinceramente.. No había visto que esta detallado el comienzo del curso..y sobre todo gratis.. sinceramente gracias.. voy a seguir a pleno este curso y espero poder contactarme con ud.. para cualquier duda ..el único inconveniente es que no puedo ver los vídeos…
saludos desde Argentina. Buenos Aires
Gracias Jorge, cualquier duda, en el post concreto o en el foro para intentar resolverla
Para ver los videos supongo que si están en el trabajo estará prohibido y desde casa con google chrome no deberías tener problemas.
Saludos
Muchas gracias por este curso, Yo también me sumo a todos los comentarios anteriores, es muy de agradecer tu esfuerzo, y el hecho de que compartas tus conocimientos. Gracias por el curso. Es ameno y facil de seguir.
Muchas gracias, soy un alumno que viene de intercambio y el curso hasta ahora me esta ayudando bastante
Yo seré breve, simplemente genial!
Mil gracias por compartir tu tiempo y conocimientos.
Me parece muy bueno, gracias por compartir tus conocimientos.
Hola Iñigo
Ante todo muchísimas gracias por este curso.
Lo encuentro muy interesante e instructivo, y me parece algo muy noble por tu parte compartir con nosotros tus conocimientos.
Gracias.
Hola Iñigo!
Soy ingeniero electrico y empecé el viernes un master en control de procesos industriales. Empezaron con el tema de programacion en AWL….imaginate…chino para mi….
Con tus cursos lo tengo todo super claro!
me has ayudado un monton.
un abrazo,
Bea
Muchas gracias Iñigo, aunque por el momento no he leído mucho, me está pareciendo muy interesante, ameno y claro. Los vídeos fenomenal. . . Ánimo !!
Me parece perfecto tanto la estructura como el contenido, así como también el tiempo de ejecución de dicho contenido y de los vídeos.
Mucho ánimo con el curso porque me parece muy valiente por tú parte, y que mucho te tiene que gustar enseñar, para que dediques tanto tiempo en preparar un curso como éste.
Y te estoy muy, pero que muy agradecido por ello, aunque no puedo dedicarle tanto tiempo como quisiera, pero poco a poco voy a ir viendo los distintos bloques del curso.
Un saludo y muchas gracias nuevamente.
Me parece muy interesante, creo que lo voy a seguir, me apetece mucho aprender a programar estos plc. Un saludo,
Muchas gracias por todo el esfuerzo profesional y humano que pones en tus charlas para ayudarnos, Iñigo Gútiez.
Saludos.
Acabo de empezar mi vida con siemens, hasta ahora he utilizado otros PLCs, y esta introduccion es clara, voy a seguir con las siguientes lecciones
Muy bueno, se agradece la molestia de crear este curso de manera altruista…un millon de gracias!!!
Muy agradecido Sr Iñigo. Necesito nociones básicas ya que sólo he trabajado con R. Automation y esto me viene muy bien.
Saludos
Muchas gracias por este gran curso Iñigo,
En un principio pensaba que no me iba a hacer mucha gracia lo de los videos intercalados, pero la verdad es que es una gozada echar una lectura rápida y luego ver un video en el que lo explicas.
Un saludo,
muchas gracias Iñigo por esta informacion y en hora buena —menudo curro– gracias otra vez y animo para seguir con esta labor tan altruista
Esta Genial¡¡¡ Enhorabuena por el trabajo, y gracias por compartirlo.
Explicaciones claras, concisas y estructuradas. Ojala me lo hubiesen explicado así en la universidad en su día. Yo lo vi hace tiempo y estoy refrescando por que me apasionaba, y el trabajo no me dejo meterme en estas faenas.
Lo dicho, muchas gracias.
Voy a seguir leyendo.
Un saludo.
todo bien…excepto por el sonido muy bajo……nada más…
Buen día.
Quería darte las gracias por la oportunidad que nos das de aprender a programar en step 7. la verdad es mi primera vez frente a esta herramienta pues anteriormente me encontraba dedicado de lleno Rockwell. Bueno saludos y espero seguir encontrado buena información sobre Siemens.
MUCHAS GRACIAS por este gran curso ,estoy realizando un curso on-line y tus videos me sirven de gran ayuda , muchísimas gracias.
Estupendo artículo Iñigo.
El inicio es normal que sea un poco más pesado, pero es teoría que hay que saber. Me parece que está bien explicado y se ve ganas e ilusión puestas en el curso.
Yo programé S7 en la carrera y ahora estoy buscando trabajo relacionado con la automatización, por lo que el curso me va a venir muy bien para refrescar los conocimientos. ¡Y a ver si consigo ese preciado trabajo pronto!
Un saludo y mis felicitaciones.
P.D: parece que ya ha acabado el curso y te coges unas vacaciones. Pues disfruta y nos vemos a la vuelta.
Enhorabuena por el curso. Ameno y muy didáctico.
Me gusto bastante soy novato en esta materia pero por lo bien explicado que esta, motiva a seguir leyendo y escuchando de ante mano gracias por este aporte
Magnífica iniciativa, me han gustado mucho los tutoriales eso si me gustarían más si fueran realizados para el TIA Portal 12 y en lenguaje KOP, de cualquier manera aprendo muchísimo y extrapolo los conocimientos a mis propósitos. saludos!
Hola, me pareció muy buena la explicación, solo que en mi caso no pude ver los vídeos, ¿Hay algo que pueda hacer, como alguna configuración? o ¿Puedo verlos desde otra página? Para que me quede mas claro todo lo leído.
Gracias de antemano!
Saludos desde México
Deberías poder verlo usando un navegador cualquiera que soporte HTML5.
Prueba sino a entrar en el canal de youtube y buscar programacionsiemens.
Saludos
El audio, inaudible
Saludos,lo felicito por su intención de transmitir conocimientos…aunque me quedo con mi rockwell …siemens complica muchoo…jajaja
Bastante interesante tu blog, creo que me animare a comprar tu curso.
Oye una pregunta, por ejemplo cuando quieres programar un plc de siemens un s300… y quieres que todo corra en una pc… no en pantallas de siemens, si no en un monitor de computador normal, que software ocupas para programar todo eso? leei un articulo y solo me confundió mas..
lei que era el step 7, el wincc flexible y un runtimes de 512 tags… pero luego leei que el wincc flexible era solo para pantallas de siemens, en serio es muy confuso… a ver si me podrias sacar de dudas.
Saludos y felicidades por tu sitio.
Con el WinCC flexible (o protool en su día) y el runtime puedes conectarte desde un PC a los PLC. Aunque lo suyo para conectarse desde un PLC es usar WinCC ya que WinCC Flexible te sirve para pequeños SCADA
Digamos que aunque puedes hacerlo con WinCC flexible, este está orientado a las pantallas de Siemens mientras que WinCC está pensado para los PC y es más potente que WinCC flexible. Además WinCC no es válido para las pantallas.
No sé si con esto respondo a tu pregunta.
Saludos
Hola Iñigo.
Muchísimas gracias por compartir lo que sabes con los que estamos empezando en estas cosas. De verdad, no es fácil encontrar gente que lo haga.
Mira, a ver si me puedes solucionar una cuestión. Tengo el TIA portal V12 para programar un PLC (CPU 314C-2 PN/DP) y necesitaría hacer un SCADA para PC. El problema es que no tengo el WinCC runtime, pero tengo el WinCC flexible 2008. ¿Hay forma de hacer el programa en TIA portal y el SCADA en WinCC flexible y poder simularlos en el mismo ordenador de forma que el SCADA siga o actúe con el programa del TIA portal?
Insisto, muchas gracias.
Un saludo.
Entiendo que no debería haber problemas, pero lo mejor es que hagas un sencillo ejemplo por ejemplo un boton en wincc flexible y ver que en el simulador eres capaz de cambiar el valor de una marca.
Si, eso sería lo mejor pero, ¿cómo conecto ambos programas? No se si me explico. En TIA Portal como configuro la red para conectar con el SCADA del WinCC flexible. ¿Y en la otra parte? ¿Cómo configuro la conexión en el WinCC Flexible para conectar con el simulador con el programa del TIA Portal?
Gracias
He hecho un ejemplo con un 315 2DP. He creado una red MPI (le ha asignado la dirección 2). En el lado del PLC nada más. En el lado del Wincc flexible he hecho una conexión por MPI con la dirección 2 y listo. Eso sí, al simular, TIA portal me lanza el PLCSIM 5.4, no es propio de TIA portal. Pero chutar, chuta.
Con el simulador de TIA y WinCC 2008 no he logrado que pirule ni a través de profinet ni de profibus.
Saludos
Excelente curso, me parece bastante bueno toda la información impartida la cual desconocía y que por mi carrera es totalmente imprescindible para ejecutar mis labores en la organización donde laboro. Muchas gracias, muy bueno que aun existan personas como tu les guste compartir sus conocimientos sin ningún egoísmo.
Saludos desde Venezuela.
Gracias Angel!
Hola muy buenas, estaba buscado información sobre Simatic porque lo estoy estudiando en el instituto y tropecé con tu web he leido la primera parte la verdad y es una pasada increible no me puedo creer lo bien que lo explicas poco a poco y paso a paso te animo de corazón y muchas gracias.
Muchas gracias Miguel!
es un curso interesante y te agradezco por compartir tus conocimientos en este apasionante tema
un gran saludo
Excelente¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ Gracias,,,,,
Buenas tardes, quisiera decirte que me parece que el curso está muy bien estructurado y quedan claros los conceptos. Un saludo.
Muchas gracias!
Gracias por el curso, hasta el momento se observa bien explicado y digerible, gracias nuevamente. Saludos
Buenos días ing.Iñigo
El curso esta muy interesantes , y posee un gran contenido de información;
en tal sentido solo resta darle la gracias por su gran esfuerzo y dedicacion.
Muchas gracias!
Iñigo solo decirte que «chapo» he buscado bastante por Internet y este curso y tus vídeos en Youtube son de lo mejor que he encontrado, gracias por todo el esfuerzo y lo bien explicado que esta todo.
Solo me gustaría preguntarte si tienes subido o sabes donde podría descargar o ver un programa completo de Step7 de alguna instalación, creo que me serviría muchísimo para comprender mas a fondo la estructura y lógica de construcción en la programación llamadas, como se enlazan unos bloques con otros… en general ver ejemplos prácticos de un sistema, maquina o instalación automatizada para afianzar conocimientos.
Gracias Ivan.
Respecto a los programas, es complicado ya que los programadores no van publicando sus trabajos por internet. Que es lógico por otra parte. Por un lado, no les mueve nada a hacerlo, y por otro, es el know how de las máquinas.
Saludos
Darte las gracias por todo vuestro apoyo y compartir conocimientos
Muy interesante..
excelente amigo gracias por brindar tu ayuda
buenísimo
Hola
Bastante claro y fácil de entender al estar asociado cada bloque con su vídeo y ver como aparece en pantalla.
Gracias
Gracias José Luis!
Muy buenos vídeos, solo un comentario, para la próxima, dale un poco de tiempo a la edición de audio.
Saludos.
Sí, desde entonces, creo que ha mejorado bastante. Son videos antiguos que tendré que regrabar.
Gracias por la apreciación.
Saludos!
Hola Iñigo muchas gracias por el curso, me gustaría saber donde puedo descargar el software para ir llevando a cabo el curso, saludos !!
Gracias Iñigo, seguimos con el siguiente módulo… Vamos allá.
Excelente redacción de los distintos temas y el uso de vídeos explicativos . Reputaciones. Se entiende todo lo expuesto. Saludos
HOLA A TODOS MUY INTERESANTE EL CURSO YO SOY NUEVO EN ESTO PERO ME GUSTA MUCHO
SALUDOS A TODOS .
Me parece espectacular el arranque del curso.
GENIAL
excelente… Yo uso setp7 en mi trabajo y no soy un experto, hay muchas cosas que no se y aquí la información es clara y precisa…. Gracias la información brindada
A ti por comentar 🙂
Hola Iñigo, muchas gracias por este curso, esta muy bien y te ayuda a conocer cosas nuevas.
Felicitaciones por dedicar tu tiempo a otras personas.
Un saludo.
Gracias por el curso me ayuda mucho en mí trabajo y me gusta mucho el tema.
muy interesante y didáctico,me esta ayudando mucho en mis primeros pasos en programación,gracias
Muchas gracias!
Hola Iñigo: Muy facil es de entenderte por esta via … se agradece tu tiempo … Comentarte una duda, estoy usando el simatic s7 300 , cuando simulo el bloque funciones FB el parametro declarado como Stat (una marca), se queda siempre en estado remanente, simulo, apago y le doy da igual no logro quitar la remanencia (he probado en hardware y nada). Gracias !!
Precisamente la gracia de las estáticas es que están escritas en el DB, y son estáticas y remanentes.
Hola…lo que he visto al inicio de este curso me ha gustado. La información teórica y la explicación visual ayudan bastante a entender cada tema. Gracias
seria bueno saber para mi caso el tema de conexion al Access Points SCALANCE W780, para un trabajo
que debo desarrollar,
gracias
Es un tema que a día de hoy queda fuera de los objetivos del blog.
Saludos!
Hola…muchas gracias…y me parece genial el curso…me sumo a los buenos comentarios …y esperar a con tu ayuda seguir programando mas y mejores programas…muy interesante deverdad
Gracias Ivan!
Muchas gracias por la información me permite recordar varias cosillas
Gracias a ti Antonio por comentar!
Gracias,
la teórica puede resultar en algunos casos soporífera, pero todo esta muy bien resumido y explicado ademas los vídeos ayudan a fijar los conceptos que se leen previamente. una primera parte del temario GENIAL.
Saludos
gracias todo la explicación es genial
Muchas gracias!
Gracias, por facilitarnos este temario y con estas orientaciones dadas, comprender, cómo funciona un PLC.
Saludos
buenos días , agradecido con la información y la dedicación, en un tema tan importante en el día de hoy gracias nuevamente y que sigan los éxitos
Excellente, muchas gracias por compartir esta valiososima sabiduría con nosotros la verdad es muy útil y muy generoso de tu parte
Buenas tardes donde descargo el programa para step 7 muchas gracias por su colaboración
El programa es de pago, no obstante desde la web de siemens, puedes bajarte los trial de 21 días.
Saludos
Hola Iñigo Gutiez, Muchas Gracias, ahi la llevamos, Muy Buen curso, Muy didactico.
Saludos Cordiales
Gracias iñigo, saludo desde chile.
Muy bueno, despierta el interes.
Muchas gracias Armando
Muy pedagógico , enhorabuena
Muchas gracias!
Excelente, has logrado atrapar mi atención!!!
Muy bueno, me ha aclarado muchas cosas, lo cual me inspira a seguir adelante!
Genial Guille!
Gracias muy bien explicado
de nada!
esta muy bueno
Hola gracias por el curso. Exelente
De nada Noah!
hola Iñigo me ha gustado el capitulo 1 porque te ayuda a comprender de donde vienen las cosas ,
Muchas gracias!
Inigo, muy bien explicado todos los temas, el material es muy bueno,
felicidades, gracias.
Muchas gracias Humberto!
Ecelente explucación, estoy internandome en este mundo de la automatas y una buena guia o hace todo.
Gracias Inigo.
los vídeos están muy bien y son de mucha ayuda, pero hay momentos en los cuales estas hablando bajas la voz y llegas a murmuras, con lo cual no se entiende bien lo que dices. Intenta mantener un tono de voz constante.
perdón si he sonado un poco grosero. gracias.
Son los primeros vídeos que hice. Luego mejoró la cosa.
Cuando tenga tiempo reharé todo el material.
gracias buen material saludos
Muchas gracias Mario!
HOLA, BUEN DIA. ñigo Gútiez.
TE AGRADEZCO TU BUENA VOLUNTAD DE COMPARTIR TUS CONOCIMIENTOS TECNICOS A TRAVES DE LOS CURSOS GRATUITOS, AUNQUE SON CONOCIMIENTOS BASICOS, PARA PRINCIPAINTES, PERO ES MUY NECESARIO QUE TENGAMOS LOS CONOCIMIENTOS BASICOS, EL CUAL ES LA BASE, PARA CONTINUAR ESTUDIANDO CON CURSOS MAS AVANZADOS.
COMO TODO PRINCIPAINTE, YO NO TENGO CONOCIMIENTOS, EN PROGRAMACION DE PLC SIEMENS, TENGO QUE ESTUDIAR Y VER LOS VIDEOS VARIAS VECES, HASTA ENTENDER CLARAMENTE LAS EXPLICACIONES EN LOS VIDEOS. SALUDOS.
Tiene buena pinta,me esta entrando el gusanillo de pillar un plc para practicar,pero no se cual comprar,necesitaria uno con salida para variadores de frecuencia y temperatura.saludos…
¿Qué significa con salida para variadores? Los variadores o los manejas con salidas digitales, o bien usando un bus de comunicaciones. En cuanto a las temperaturas, depende a su vez de qué se trate. No es lo mismo una PT100, que un pirómetro que de 4-20mA o un termopar.
Tendrás que saber qué requerimientos necesitas para luego elegir el hardware adecuado.
Saludos
Excelente tu curso y tu forma de explicar. Actualmente estoy trabajando en proyectos con PCS7 y creo que estás guías me ayudarán mucho. Gracias!
Primeramente gracias por compartir conocimiento, excelente tu pagina.!!!
Tengo una consulta, ¿puede un programa no tener OB1? es que realice un backup y en el programa no esta el OB1, pero si tiene OB35 sera que desde este se haga el llamado de los fc y fb, si es así bajo que condiciones o que nos beneficia tener el programa en OB35 y no en OB1.
Muchas gracias.
Tecnicamente se puede. Ahora, es raro que todo lo que tengas que programar deba estar en el OB35. Funcionar, logicamente funciona, pero no es lo suyo en general. La unica diferencia es que el codigo del ob35 se ejecuta a tiempos fijos, pero si es a 100ms, va a ser más lento que el OB1.
Saludos
Para un trabajo de la uni: Los comandos L PEB se pueden programar desde el Tia Portals? si es así, como?
Si, pero no con un 1200 ya que no se pueden programar en AWL.
Gracias por el tema está bien completo se entiende bien
me interesa aprender a programar PLC
Gracias por tu tiempo y esmero en el desarrollo de este curso, la verdad es que trabajo hace mucho en la industria y hace un tiempo me inscribí, mas no lo inicie, pero como nunca es tarde y la necesidad a veces impone algunas cosas, ahora tengo el requerimiento de trabajar en la plataforma Siemens, y en estos tiempos no queda si no retomar la búsqueda de conocimiento y avanzar.
Saludos Cordiales
Mario
Gracias Mario. Ahí lo tendrás siempre que necesites!