TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: fidodido en 04 de Junio de 2012, 16:06:32
-
Hola! Yo de nuevo por aqui, es lo malo de estar empezando, todo son dudas......pero prometo que compartire todos is avances!! jaja
Bueno, mi nueva duda es que diferencia hay entre MPLAB, CCS, python Y WINPIC, si son 4 lenguajes de programacion diferentes, si son diferentes IDEs, en que e diferencian exactamente y cual conviene usar o sus pros o contras. Espero que me podáis solucionar esta duda que me ayudaría bastante.
De nuevo muchas gracias de antemano.
Saludos
-
Hola.
MPLAB es un entorno de desarrollo (IDE). CCS es un lenguaje de programación (una variación de C) para PIC. WinPic es un SoftWare para programar PIC. Y Python es un lenguaje de programación, pero no creo que ya esté portado a PICs, mas bien es para PC, supongo que también habrá una versión para Mac.
-
Yo te recomiendo que busques en google cada uno de ellos para entender bien la diferencia.
MPLAB es el IDE de microchip. En el podes programar en asm y C. CCS es un compilador de C, no es estandar pero tiene muchas facilidades para hacer la programacion mas sencilla.
Python es un lenguaje de programacion interpretado, de alto nivel, y multiplataforma (win y linux). Es muy facil de aprender, pero no se q tiene q ver con los PICs.
WinPic es un programa que te permite quemar tu programa ya compilado en un pic.
Saludos!!
-
Mucho mas claro ahora :), esque claro, al ser novato e ir escuchando por ahí que si ccs, python, winpic y yo estar trabajando con MPLAB pues me lié un poco.
Un millón de gracias a los dos ^^
-
Python se utiliza como lenguaje de programación del IDE de Pinguino (un proyecto semajante a Arduino)
Python también puede servir para comunicarse con el PIC en el lado del PC.
Es un lenguaje muy bien adaptado a tratamiento de datos de tipo texto. Puede servir para realizar resúmenes rápidos y muy adaptables de sistemas SCADA.
Si tienes un Scada que comunica con 100 PLC con un volumen de más de 1 millón de mensajes al día y quieres hacer una macro que te resuma todos los datos en 100 líneas y adaptar la macro según tus necesidades en 10 minutos, que funcione bien a la primera y que cualquier otro entienda lo que estás programando... Python es tu lenguaje.
Saludos.
-
Gracias por la aclaración picuino, pero por el momento no creo que trabaje con una cantidad semejante de datos, aunque probare python.
Saludos
-
:D yo tampoco, pero he visto utilizar Python para eso (incluso con 10 veces más PLCs).
A mí Python me gusta mucho para hacer macros del sistema operativo y para automatizar tareas.
Por ejemplo los archivos de cabecera *.h los genero automáticamente con una macro python a partir de los archivos de código *.c
Con Python también renombro archivos de forma automática o transformo de forma automática los archivos PDF a *.png (con ayuda de otra aplicación).
Otra utilidad es transformar los códigos hexadecimales que envía el microcontrolador por RS232 a formato decimal.
Si te gusta programar, merece la pena aprender Python.
Saludos.
-
La verdad tiene muy buena pinta pero creo que lo dejare para mas adelante, recién empiezo con los pics, con programación en C y también me metí un poquillo en assembler (pero poco mas avanzare, mejor centrarme en C XD), pero bueno, queda anotado en la lista de tareas pendientes, que ya suficiente tengo y me saturo con los PICs y C.
Gracias por todo :)
PD: curiosa tanta cantidad de PLCs
-
así :shock: me quedé yo cuando me dijeron que un automovil actual podía tener fácilmente una red con más de 50 procesadores conectados entre sí.
Una máquina automática moderna no muy grande puede tener 5 PLCs.
Saludos.
-
joder....aunque bueno, para mi el concepto de plc es por ejemplo un siemens s7-200 o 300, igual tenemos conceptos diferentes de PLC :)
-
Si, un PLC es un S7-300 o un Allen-Bradley (Rockwell) SLC-500 o micrologix.
En fábricas grandes y centros automáticos de distribución logística puedes encontrar bastantes PLCs, todos ellos conectados a un servidor que recoge sus mensajes y envía órdenes de trabajo.
Saludos.
-
Hombre si, en grandes empresas, sobre todo de producción de X piezas o materiales pues tienen PLCs a puntapala, en general gobernados por un PLC de gama alta de seguridad etc etc, vamos un super PLC XD, eso es lo que tengo entendido al menos, aunque por ahí adelante habrá de todo.
-
A mí me mostró Python uno que se dedicaba entre otras cosas a apoyar puestas en marcha con resúmenes de los mensajes de los PLC a los servidores.
Con Python hacía el resumen en formato *.csv y luego pasaba esos datos a Excel para hacer las presentaciones más aparentes (con gráficos).
También hay otro lenguaje parecido que se suele utilizar, el perl, pero en su momento me comentó que era mucho peor porque el código es más complejo.
Ahora veo que era un buen consejo. Python es muy fácil de programar y de mantener.
Saludos.
-
Ejemplo python 2.6:
Esta macro la utilizo para generar un catálogo automático (*.m3u) de los archivos de música (*.mp3 y *.wav) que hay en cada subdirectorio.
Después de ejecutarla sólo tienes que pinchar en el archivo *.m3u y suenan todas las canciones del subdirectorio en orden.
# -*- coding: cp1252 -*-
# Genera un fichero en cada subdirectorio con la lista de
# archivos musicales del directorio: playlist.m3u
#
import os
musicformats = ['.mp3', '.wav']
def main():
playlist_dir('.', 'root')
def playlist_dir(path, listname):
print 'Making directory', path
namefiles = os.listdir(path)
# List of music files
listmusic = []
for name in namefiles:
if name[-4:].lower() in musicformats:
listmusic.append(name)
# Write playlist
if len(listmusic) >= 2:
fileout = open(path + '/' + listname + '.m3u', 'w')
for name in listmusic:
fileout.write(name + '\n')
fileout.close()
# Recurse directories
for name in namefiles:
if os.path.isdir(path + '/' + name):
playlist_dir(path + '/' + name, name)
main()
Saludos.
-
Pues tomo nota ya que si python me sirve también para PLCs pues mejor que mejor.
Muchas gracias por la ayuda y los ejemplos :)
-
Si te dedicas a los PLCs, con Python se pueden generar fácilmente programas para PLC de forma semi-automática.
Luego sólo tienes que modificar los programas generados para añadir los detalles menos repetitivos.
Saludos.
-
Yo programar solo programo siemens o solo "se" programar siemens (aunque todos son prácticamente iguales, al menos los que conozco) y sólo en KOP, asi que cuando me meta con python mirare ejemplos para PLCs que seguro que están interesantes.
-
El KOP (diagrama en escalera o ladder) es una representación del lenguaje AWL (lenguaje de máquina).
Creo recordar que en los Siemens cualquier programa KOP se puede pasar a AWL (al contrario no)
Lo que se hace en Python es programar una plantilla en AWL y modificarla con las entradas/salidas/marcas que hayas definido. El resultado es una serie de textos AWL que puedes pasar al PLC y visualizar en KOP.
También lo he visto hacer con Excel.
Es parecido a las técnicas que se utilizan para generar automáticamente páginas html a partir de datos y plantillas.
Saludos.
-
El KOP (diagrama en escalera o ladder) es una representación del lenguaje AWL (lenguaje de máquina).
Creo recordar que en los Siemens cualquier programa KOP se puede pasar a AWL (al contrario no)
Lo que se hace en Python es programar una plantilla en AWL y modificarla con las entradas/salidas/marcas que hayas definido. El resultado es una serie de textos AWL que puedes pasar al PLC y visualizar en KOP.
También lo he visto hacer con Excel.
Entonces a partir de eso podria sacar programas en AWL para PLCs sin tener que programarlos exactamente en AWL?porque la verdad es un grandisima ventaja
Es parecido a las técnicas que se utilizan para generar automáticamente páginas html a partir de datos y plantillas.
Esl algo estilo Adobe Dreamviewer que te genera el codigo HTML de la pagina?no digo que sea igual, sino un equivalente en otro ambito.
Pues la verdad el python esta muy muy interesante para PLCs...
-
Con HTML se utiliza más el PHP, que es específico para eso.
Python es más genérico, no está tan especializado.
Los frameworks o sistemas de plantillas de python sirven para generar código de PLC, código C, HTML o lo que se ponga por delante.
Ejemplos de templating:
Mako templates (http://www.makotemplates.org/)
Cheetah templating (http://www.cheetahtemplate.org/)
Django Web framework (https://www.djangoproject.com/)
Otros sistemas de plantillas:
http://wiki.python.org/moin/Templating
Saludos.
-
Una buena comparativa de sistemas de plantillas:
http://www.simple-is-better.org/template/
De todas formas para empezar quizás preferirias generar AWL con el Excel.
Si posteas un pequeño código en AWL con entradas salidas intento ponerte un ejemplo.
Saludos.
-
Gracias por los ejemplos aunque la verdad ahora al no entender nada de python pues tampoco entiendo mucho los ejemplos, pero bueno cuando me ponga con el seguro que me son de utilidad.
saludos.
-
Me refería a hacer un ejemplo con Excel (que también sirve aunque es menos flexible)
Saludos
-
Bueno, por el momento voy a dejar python de lado ya que quiero meterme bien en los pics ya que al ya saber algo de PLCs pues quería aumentar mis conocimientos en otra cosa, que ademas necesitare en los próximos años.
Saludos