Antes de responder a la pregunta de que lenguaje escoger en Step 7, repasemos un poco de qué lenguajes disponemos.
- FUP
- KOP
- AWL
Cada uno tiene sus ventajas e inconvenientes.
¿Qué lenguaje uso para programar en Step 7?
FUP
Es un lenguaje de Step7 gráfico que utiliza los cuadros del álgebra booleana para representar la lógica. Asimismo, permite representar funciones complejas (p.ej. funciones matemáticas) mediante cuadros lógicos.
Tiene la ventaja de ver agrupados por bloques las diferentes lógicas y tener bloques complejos.
Cuando hay mucha lógica booleana en serie suele ser más compacto y más fácil de ver el segmento completo.
KOP
Es un esquema de contatos, escalera o ladder.
Es un lenguaje de Step 7 gráfico y probablemente el más extendido en todos los lenguajes de programación y por tanto el más similar a otros.
Probablemente es el más fácil de entender por personal proveniente de la industria eléctrica y técnicos eléctricos.
En definitiva, es la representación que habría que cablear si se quisiera hacer el mismo programa que realizas con el PLC.
Tienes más información aquí sobre el lenguaje KOP
AWL
Es un lenguaje de programación textual orientado a la máquina.
En un programa creado en AWL, las instrucciones equivalen en gran medida a los pasos con los que la CPU ejecuta el programa.
Para facilitar la programación, AWL se ha ampliado con estructuras de lenguajes de alto nivel (tales como accesos estructurados a datos y parámetros de bloques).
Es el más completo y el más complejo visualmente de seguir.
Para instucciones sencillas es muy útil pero cuando se quiere hacer una lógica un poco compleja el trabajo de seguimiento y de depuración es complicado y fácilmente susceptible de cometer errores.
En su haber, si lo que necesitas no lo puedes programar en AWL, es que no se puede programar con ninguno de los 3.
Por otra parte ambos lenguajes gráficos son traducibles a AWL, pero no al revés y no necesariamente entre ellos.
Si bien normalmente KOP y FUP son traducibles entre sí, no siempre es así.
Dependerá de la construcción del segmento en cuestión para que se pueda.
Respondiendo a la pregunta.. ¿cuál es el mejor? Pues ya siento que hayas leido hastá aquí porque no tengo una respuesta a ello. Depende.
A título personal te diré que en mis inicios y por provenir del ámbito académico y de programación para PC, me gustaba más los diagramas de bloques (FUP).
Hoy he de decir que sin duda me parece más práctico el lenguaje KOP ya que me permite visualizar más segmentos del código como norma general.
El lenguaje AWL es totalmente necesario como ya veremos en su momento para multitud de tareas que sólo así se pueden hacer o porque, aunque parezca mentira, es más fácil de usar.
Por tanto, puedes usar indistintamente cualquiera de ellos, si bien lo normal y lógico es usar uno de los lenguajes gráficos acompañado por AWL cuando no quede más remedio.
¿Qué lenguaje es el que sueles usar tú en Step 7 y por qué?
Recordarte que si estás interesado en formarte en Step 7, puede que te interese adquirir el libro «Cómo programar en Step 7 y no morir en el intento» donde puedes encontrar no sólamente el curso completo gratuito, sino muchas más entradas del blog que como sabes se irán actualizando para los que lo adquieran de forma gratuita.
Si estás interesado, puedes echarle un vistazo a este enlace donde se explica qué es lo que contiene el libro, el precio y los métodos de pago.
Fuentes:
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.
48 Comentarios
Para complementar los tres lenguajes estándar del Step7 explicados por Iñigo en el post, creo que merece la pena mencionar el paquete de software opcional S7-SCL (Structured Control Language) como otro lenguaje más de programación disponible para la familia S7. Es un lenguaje de alto nivel, muy parecido al PASCAL con estructuras tipo IF…THEN…ELESE, DO..WHILE, etc. orientado a un manejo ágil y eficaz de ciertos tipos de datos y con el que los informáticos se sienten ‘como en casa’ a la hora de programar. Al igual que en AWL, para visualizar un proceso ‘on-line’ y poder diagnosticar un posible fallo requiere de unas habilidades sobrehumanas por parte del programador.. 🙂
Saludos cordiales.
Hola Pedro,
Gracias por comentar. Efectivamente queda el SCL. Sinceramente lo he usado muy muy poco… con lo que me gustaba a mi el Pascal!!!
También haremos algún ejemplo algún día, cómo no.
Un saludo,
buenas tardes quiero descargarme un sof para el s7 200 siemens sera que alguien me puede mandar un link a mi direccion que es s…com gracias saludos
Hola Sandro,
Lamentablemente el software es de pago y no puedo permitir este tipo de solicitudes. He anulado tu email y ya de paso aprovechando tu email recuerdo que no se pueden postear este tipo de solicitudes.
Un saludo
Buenas tardes no tengo mucho conocimiento en Siemens s7. Pregunta si tengo un plc programado en awl o en fup. Y descargo la programación a la PC. La puedo ver o convertir a kop
Depende de cómo esté programado. Pero en general, de AWL a cualquiera de ellos, no.
De FUP a KOP ya es más factible, aunque siempre no es posible.
Respondo a tu pregunta ¿Qué lenguaje es el que sueles usar tú en Step 7 y por qué?
Yo utilizo los siguientes lenguajes por este orden:
KOP
S7-GRAH
AWL
SCL (Estoy en ello)
FUP (solamente para el LOGO!)
Enhorabuena por tu blog.
Graph? Uff no puedo con él… no me gusta nada.
Puedo hacer, a día de hoy, todo lo que necesito con KOP, incluyendo por supuesto un diagrama de etapas.. con Set /Reset bien puestito arreglado.
¿Qué ventajas le ves al uso del Graph?
Es una pena que no utilices el GRAPH es maravilloso hacer con él. Los programas secuenciales se hacen en un plis plas y tiene un potencia enorme que a simple vista no se aprecia, pero una vez que vas conociendo los entresijos de la aplicación, te vas dando cuenta de su gran poder. La gestión de paradas, rearmes, modos de funcionamiento (manual, automático, semiautomático) es coser y cantar.
He hecho muchos programas en KOP (y lo seguiré haciendo para los S7-200 y S7-1200), pero es una pena que no se pueda hacer la programación de dichos autómatas con una herramienta similar al S7-GRAPH.
En fin, es evidente que me encanta ¿no?.
Lo mismo me animo y creo un ejemplo en el que se muestre la potencia de dicha y lo cuelgo en la web.
Supongo que será cuestión de las experiencias de cada uno.
Yo cuando he tenido que enfrentarme con Graph es en el mantenimiento de las instalaciones y el seguimiento de las averías es para mi gusto más confuso y difícil de seguir con respecto a KOP.
Claro que también hay programas hechos en KOP que para seguir una avería con perdón «te cagas» porque sólo lo entiende el que lo programó y ya me gustaría verle a él unos meses después siguiendo su propio programa en una avería.
Pero bueno, son gajes del oficio supongo.
Llevo ya más de 10 años programando habitualmente con Siemens y el 99% de las aplicaciones que he visto estaban en KOP, dejando para otros lenguajes funciones específicas.
La máquina que más me costó entender estaba hecha principalmente en KOP por un programador que era un «virtuoso» de los punteros, moviendo bloques de memoria a diestro y siniestro. Compadezco al técnico que hoy en día tenga que hacer el mantenimiento de esa máquina.
Un saludo.
jajajajaja si ya me paso hice un programa y para cambiar el temporizador si estuvo complicado hacer el cambio jajajajaja
Los punteros están muy bien para ciertas cosas pero no hay que usarlos bajo mi punto de vista como deporte.
En mi caso yo he programado instalaciones completas y mantenido otras.
Hay algunos que da gusto ver el programa y lo fácil que puede ser seguirlo desde alguien que no lo ha visto nunca y otros que sudas.
Por ejemplo hoy he estado pegándose con un programa al 90% en AWL conectado con un robot fanuc programado en karel.
Casi pido la cuenta.
Usar AWL para lógica booleana más allá de hacer un and es como para matar al que lo use habiendo kop o fup… Habia trozos de código de vete a saber cuantos paréntesis. Una locura.
En fin. A ver si puedo subir hoy la nueva entrada aunque para los veteranos no aporte casi nada… Hoy va de configuración de hardware. Sencillo para no agobiar a los que empiezan jeje.
Un saludo.
Sin duda alguna el KOP para operaciones booleanas. El AWL para operaciones matemáticas mas complejas y punteros. El SCL es una auténtica joya, y merece la pena conocerlo.
Estoy contigo Carlos,
El KOP para todo lo booleano y el AWL para el resto… y muy poquito por no decir nada FUP. Cosa curiosa teniendo en cuenta que es con el que empecé y al que estaba acostumbrado.
El SCL no le he sacado partido. Puede también por falta de necesidad en mis proyectos.
¿Para qué sueles usarlo?
Un saludo y gracias por comentar
La verdad que no programo demasiado en Siemens. Habitualmente trabajo con Omron que tiene 2 lenguajes, ladder y texto estructurado. El texto estructurado le da una potencia increíble al PLC y es muy similar al SCL. He hecho modificaciones en programas de otros con SCL y me ha gustado este lenguaje. Creo que para programas complejos con muchos cálculos matemáticos, puede ser mas claro que el AWL. Quizá es porque el primer lenguaje que aprendí en mi vida fue el BASIC y le veo cierto parecido.
Por otra lado el FUP lo he utilizado en el LOGO! y no termino de pillarle el gustillo. Eso que en la escuela estudié electrónica basada en puertas lógicas y se parece mucho a al FUP.
El Basic… ¡cómo me gustaba! Claro que era un crio de 7º de EGB cuando empecé con clases extra escolares jeje.
Bajo mi modesta opinion, como estudiante de programación industrial. AWL una vez que tienes pensado el programa sale solo. Yo utilizo mucho los saltos SPL, SPB,SPA y en FCs me encanta. Supongo que para gustos los colores.
Porcierto, enhorabuena por tus publicaciones. Lo sigo mucho debido la intensidad de clases que tengo y no tengo tiempo para preprarme todas. Sin embargo tus tutoriales son increibles para solucionar pequeñas dudas que se hacen muy pesadas sino se logra coger el concepto.
Hola Jorge,
AWL es ideal cuando quieres hacer operaciones no booleanas.
Cuando son sólamente boolenas a mi juicio es mucho mejor tanto FUP como KOP ya que en una lógica complicada AWL puede ser un auténtico dolor.
AWL, sin ninguna duda al menos es la opcion mas «rapida» para trabajar, por lo menos en mi caso.
Cuando me debo de enfrentar a otros tipos de programacion, coo KOP, sufroooooo….jejejeje
Por cierto, en el 1200, seguimos con la carencia de no poder desarrollar en AWL, una pena.
Hola Leopoldo,
Gracias por el comentario.
Lo que son las cosas, a mi lo que me parece una tortura es el AWL a pelo para todo… en cuanto quieres hacer una lógica booleana un poco compleja se me antoja una pesadilla.
Pero para gustos, los colores.
Eso sí, cuando es tema de aritmética, no hay color de hacerlo en AWL a hacerlo en FUP/KOP, que entonces las tornas se vuelven.
Un saludo
hola una pregunta muy sencilla pero que me trae de cabeza, tengo el CD para instalarme el Step7 Profesional 2006 SR5, y no hay manera de instalarlo , mi sistema operativo es el Windows7, por narices me tengo que cambiar el sistema operativo e instalarme el XP? tambien me he descargado de la pagina de siemens su programa pero no logro abrirlo
Un saludo y gracias
Hay versiones de Step 7 que funcionan en Windows 7 32y64bits. Me temo que debes hacerte con alguna de ellas. Que yo sepa la última versión del Step 7 es la 5.5 SP3. Funciona sin problemas en W7 64bits.
Otra opción es crear una unidad virtual de Windows XP e instalar en ella tu Step7.
Lo que son las cosas!!!! Yo empeze en kop y hoy estoy aprendiendo awl y scl. Son lenjuajes potentes con lo k ustedes hacen mencion. Llegue a awl a traves de un plc s5. E increiblemente me sorprende ese plc por la potencia que tiene haciendo mencion y tomando en cuenta sus años. Siempre pienso k esta en el baul de los recuerdos y aparece
La verdad creo que va a depender mucho de que se quiera hacer en el PLC, cada lenguaje tiene su fuerza en comparacion a los demas a la hora de usarlo. Ademas de decir que cada quien con el tiempo se familiariza mas con algun lenguaje en especial.
muy buen aporte gracias
Estoy absolutamente de acuerdo con lo que explicaste. Me reafirma más en la utilización que hago de los lenguajes que son KOP+AWL. Un saludo.
Sí. Creo firmemente que es el mejor cocktail (dejando a parte SCL que es otra guerra).
Gracias por comentar,
Yo lo cierto que en la carrera me enseñaron AWL para todo haciendo redes de petri, pero desde que uso KOP para algebra booleana es mas sencillo buscar las averías.
El KOP tiene un factor visual que por ejemplo el AWL no tiene.
EL AWL lo uso para contadores (que uso alguna marca en un DB) algún tipo de temporizador especial, transferencia de Bytes etc.
GRAPH es muy potente porque simplifica mucho las vigilancias y es facil de seguir. Problema ocupa mucha memoria en el autómata y si no tienes una familia de gama alta,es imposible usarlo.
SCL es muy potente y solo lo uso para punteros, matrices y calculos complejos, sobre todo cuando hay que calcular formulas fisicas complejas.
Conclusion:
– Siempre KOP salvo para 4 cosillas que uso AWL.
– SCL para cosas complejas (al menos en mi empresa apenas de usa)
Totalmente de acuerdo con Roberto (…y con Íñigo).
Yo cuando programo, procuro pensar en el cliente y no en mí como programador (me he pegado con programas en AWL o SCL que son una tortura a la hora de realizar un mantenimiento o un diagnóstico…)
Por eso, y pensando siempre en el usuario final:
– KOP
– SCL para cosas complejas
Bien ahi Angel todo el mundo hablo que le gusta que no le gusta o que le parece mas sencillo como si ellos se van a quedar con la programacion el objetivo es el usuario final que cualquier programador no tenga dificultades en interpretar yo programo en KOP+FUP que resulta ser mas universales
Estoy con Ángel, el KOP es mucho más intuitivo y gráfico, lo cual le facilita bastante al cliente o al que viene detrás.
Más de alguna vez me ha tocado resolver una avería por teléfono, y lo que estaba programado en KOP, guiando a alguien con conocimientos básicos he podido, otra máquina que estaba en AWL fue imposible.
Por sencillez y por ser más gráfico, más intuitivo y más universal me quedo con KOP, salvo que no quede más remedio, o el programa tenga operaciones tan complejas que para entenderlo lo de menos sea el lenguaje y me facilite hacerlo en AWL
muy buenos dias, un favor estoy probando una ejercicio y este tiene 22 lineas o segmentos en step 7-micro win en KOP, cuando lo llevo a S7-200 no me aparecen sino solo 12 lineas, pero cuando reviso el programa en la ventana OB1 (awl) ahi si aparecen, a que se puede deber¡¡¡ es un tema de capacidad de archivos o hay que llamarla de otra forma que no sea cargar programa.
Hola Hugo,
No sabría decirte, con Microwin no tengo experiencia.
Saludos
Que significan las siglas (AWL, FUP y KOP)????
Pues de memoria no me lo sé, pero básicamente awl es lista de instrucciones, KOP es escalera, y fup diagrama de bloques.
Puedes googlear un poco para encontrar las palabras en alemán.
bien!!!!!!!!!!!!!!
buen trabajo, quiero preguntar si has realizado algún proyecto en lenguaje KOP utilizando PID?
hola, en la situacion de awl cuando existe una falla o sensor lee mal, como se corrije.
se modifica a 0.0 por a 0.1?
Cuando un sensor lee mal, lo que hay que hacer es cambiar el sensor, no el programa.
No habia regresado tu sitio web por un tiempo, porque me pareció que era pesado, pero los últimos posts son de buena calidad, así que supongo que voy a añadirte a mi lista de sitios web cotidiana. Te lo mereces amigo. 🙂
Saludos
me podrías apoyar con las desventajas del AWL por favor ??
Pues que es más complejo de aprender y de mantener.
Cuál de los 3 lenguajes es el que se usa más en la industria? Pregunto porque soy estudiante de Ingeniería Electrónica Industrial y Automática, y sobre todo estoy aprendiendo KOP en TIA Portal , y me gustaría saber cuál es el más común a nivel industrial
El más usado es Ladder (KOP). Pero solo con KOP no te vas a poder desenvolver. Necesitarás saber SCL y AWL si mantienes máquinas de la serie 300/400.
¿TIENES EL LIBRO PARA LA VERSION 17?
No, no hay un curso específico de la versión 17, ya que en el fondo, pocas diferencias hay entre ellas, más allá de pequeñas funcionalidades en el firmware.