Programación Específica > Programación en C

 C ó Asm?

<< < (3/5) > >>

Huguen_aus_Tirol:
Hola!
No se si viene al caso, pero durante esta última semana he estado haciendo un curso en la central de B&R (Bernecker & Rainer, Eggelsberg, Austria; http://br-automation.co.at), empresa dedicada a la electrónica industrial. Y para sorpresa mia me encuentro con que los PLC de esta marca tienen la posibilidad de ser programados en C (ANSI C).
No soy un experto programador en C, pero esto me viene mejor que bien!! Puedo programar en el PLC funciones con, por ejemplo, complicados cálculos matemáticos sin tener que matarme en AWL (asembler para PLC). Es más, puedo crear mis propias librerias en C, y luego usar las funciones en KOP (ladder, lenguaje de contactos)
No estoy al tanto, pero según intercambios con otros compañeros de curso, Siemens aún no ofrece esta posibilidad. Aunque hay que reconocer que Siemens ofrece una biblioteca de librerías mucho más completa...
Bueno, se que entre un micro y un PLC hay algo de diferencia, en especial si miramos con suma atención el encapsulado(!); pero si a la hora de programar todos hablamos el mismo idioma, no hay gran diferencia.

Si bien esto no tiene nada que ver con los microcontroladores, quiero comentarlo para que sirva de incentivo a los que estan en la duda. En su momento estaba muy pegado al asembler, despues fui descubriendo las ventajas del C... Y ahora me pregunto por qué no le tome la mano un tiempo antes!

Bueno, tengo un par de proyectos atrasados :unsure: ; pero creo que me gano algo de tiempo haciéndolo en C. Y mientras esté en este proyecto tengo dos PLC a disposición... Ya les comento las experiencias y conclusiones.

A meterle con el C, pero sin hecharle tierra al asembler (o al KOP :P )

Saludos

Geo:
No estoy seguro, pero también supongo que un PLC tiene más memoria que un microcontrolador. Pero es cierto, el programar en un lenguaje de un nivel más arriba de ASM acorta el tiempo de desarrollo, amén de hacer más legible un programa.

Lo de los PLCs, hace algún tiempo, en un brevísimo taller de Festo, nos comentaban de un lenguaje que habían implementado en sus PLCs, parecía bueno, enfocado a procesos secuenciales, el problema que le encontraba es que era exclusivo de Festo. También, nos comentaron que en Europa la tendencia es hacia lenguajes de alto nivel, y C me parece una opción excelente, sobretodo pensando en que exista cierto nivel de portabilidad de proyectos.

Saludos,
JJ (Geo).

Kain589:
Saludos! He vuelto a este hilo, porque "donde dije digo, digo diego" es un dicho de mi pais, lo que viene a decir es que he cambiado mi opinion, desde que he empezado con C, asm es ese oscuro pasado en el que programar era tedioso y pesado.

He realizado aplicaciones en C y todas me han ido bien, sin falta de memoria ni de tiempo, aunque tampoco ha sido algo de muy alto nivel. Y tiene grandes ventajas, como la mayor facilidad para el desarrolo y el hecho de que es mas facil que cualquiera te eche una mano al ser mas legible.

Ademas al aprender C, el pasar no solo de una familia a otra, sino tambien cambiar de marca de micrcontrolador parece mas facil.

borgo:
:rolleyes:
Si estamos trabajando con PIC´s sin dudarlo creo lo mejor es ASM porque los pic´no tienen su CPU optimizada para el C es el caso de todas las arquitecturas hardware, esto no quita claro que se pueda programar en C con PIC´s sin embargo no es lo optimo, memoria paginada, un pobre stack, muy pocos direccionamientos en fin para lo que es assembler un lujo pero para C realmente muy pobres.
Otra cosa muy distinta es Motorola y mas específicamente la CPU de 908 que esta optimizada para programar en C, UN LUJO impresionante lo que se puede hacer a tal punto que el código que resulta en C es mejor que el escrito en ASM.
Ojo quiero dejar en claro que me da lo mismo Microchip o Motorola solo trabajo con ellos y el que se ajusta mejor a lo que busco es lo que elijo en el momento.
Pero está claro que interrupciones vectorizadas, memoria lineal y varias formas de direccionamiento mas un control absoluto del stack es casi como programar para un PC. Creo que los programadores de C encuentran en estos micros la fiesta de la programación, por poner un ejemplo realizar codigo embebido en un pic, digamos colocar una pagina web dentro de el y manejar el hard desde un navegador común es una tarea imposible a niveles prácticos, es decir que sirva para algo,  mientras que en un 908AP32 ya podemos embeber nuestra intefaz de aplicación dentro del propio micro mas todas las capas de operación del TCP.
Esto segun entiendo es posible en un DSPIC, pero ya es posible en un 908 sin llegar a un DSP 568xx.
Repito no soy ni partidario de Motorola ni llevo la bandera de Microchip, pero si es verdad que Motorola esta sacando unos micros realmente insolitos para programar en C.

Saludos y disculpen lo extenso del comentario.

   Angel

Kain589:
La serie 18F de microchip ya esta optimizada para C, y a partir de esta todas las posteriores: la 24F y los dspic, que son las mas modernas por ahora.

De todas formas la comparacion de Motorola y Microchip tiene como claro ganador a Motorola, aunque tambien hay que ver los sectores del mercado a los que se dirigen...

Saludos!

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa