Foro MetalAficion

CNC => CNC - Software y Controladores => Mensaje iniciado por: abu en 20 Febrero 2017, 21:40

Título: LinuxCNC comentado en castellano
Publicado por: abu en 20 Febrero 2017, 21:40
Estoy pensando en hacer una serie de videos sobre LinuxCNC. Desde lo mas basico hasta los mismisimos ficheros fuente de la aplicacion.
Si, ya se........ganas de complicarse la vida. Pero si no te la complicas, no tiene gracia ¿No? :o :o :o :o

Al grano. He hecho un primer video. Como parece logico, he empezado por la documentacion. Este primero dura unos 20 minutos.
Antes de seguir adelante con esta locura, me gustaria contar con vuestra opinion. ¿Os parace interesante?, ¿una tontada?, ¿mejos apuntarse a una academia de ingles?.... no se, la opinion que os merezca, incluso si lleva colleja de regalo. Aqui dejo el enlace:

https://youtu.be/RwC0VTtLiQ4 (https://youtu.be/RwC0VTtLiQ4)

EDITADO: añadido vídeo sobre instalación de algunas aplicaciones interesantes para el seguimiento de los videos: https://youtu.be/gnUiQcjdd3Q (https://youtu.be/gnUiQcjdd3Q)

Manual comentado, segunda entrega.
https://youtu.be/CMCEf0LXDzQ

Manual comentado, tercera entrega.
https://youtu.be/tiiOysjrgAw

Manual comentado. Cuarta entrega. Abriendo linuxcnc
https://www.youtube.com/watch?v=V0uBYdeSTlM

Manual comentado. Quinta entrega. El archivo INI. parte 1
https://youtu.be/qyMVz0WqTRs

Manual comentado. Sexta entrega. El archivo INI. parte 2
 https://youtu.be/G5oDomrjEu0
Título: Re:LinuxCNC comentado en castellano
Publicado por: jmllosa en 20 Febrero 2017, 21:45
Particularmente me parece muy interesante, seguro que aprendemoa muchas cosas
Título: Re:LinuxCNC comentado en castellano
Publicado por: Tomy73 en 20 Febrero 2017, 21:48
A mi en particular me parece una muy buena idea. .ereselmejor
Y creo que pueden ser de utilidad para muchos. .bien
Por cierto, veo que has andado algo con el Vismach.
Muchas gracias por este primer vídeo y animo para los próximos. ;)

Un saludo.
Título: Re:LinuxCNC comentado en castellano
Publicado por: kilgore en 20 Febrero 2017, 21:53
Aun a falta de poderlo ver, te daría mas que las gracias,  me parece una idea genial y pienso que tendrá muchas visitas. .. .yupi .yupi .yupi
Título: Re:LinuxCNC comentado en castellano
Publicado por: Tr Precision Machining en 20 Febrero 2017, 22:05
Me parece extraordinario el esfuerzo y desde luego algo que nunca nadie a echo..de echo es que los que sabeis de linux cnc desde ya hace años rara vez se os ve colaborando en este foro..asi que por mi parte solo felicitarte por este aporte de conocimiento que espero que a muchos nos saque de la oscuridad y que de paso a los usuarios de otros programas de pago les haga ver que linux es mejor en todo y encima gratis.

 .bien .brinda

adelante maestro.
Título: Re:LinuxCNC comentado en castellano
Publicado por: alberttoy en 20 Febrero 2017, 22:38
Muy interesante.  Gracias por el video.
Te puedo garantizar que los voy a seguir.  Yo lo uso pero me queda mucho que aprender.
Quiza el audio te ha quedado un poco bajo. Por lo demás muy bien.
Título: Re:LinuxCNC comentado en castellano
Publicado por: juanpefrutos en 20 Febrero 2017, 23:53
Muy muy interesante.
Uno de los mayores problemas de Linux es la falta de información en castellano y que es un entorno muy poco amigable. Espero y deseo que esto nos ayude a todos los que nos gustaría poder utilizar Linux cnc.

Animo, animo animo
Título: Re:LinuxCNC comentado en castellano
Publicado por: kankarrio en 21 Febrero 2017, 01:34
adelante con ello .bien .bien .bien
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 21 Febrero 2017, 01:46
Añadido minituorial para el montaje de aplicaciones auxiliares en el primer post.
Título: Re:LinuxCNC comentado en castellano
Publicado por: s118 en 21 Febrero 2017, 05:02
Estupendo. Sigue adelante.
Título: Re:LinuxCNC comentado en castellano
Publicado por: becario10 en 21 Febrero 2017, 06:33
Gracias ABU por tu aporte.

Podrías realizar un video tutorial de la instalación de linux cnc.

Y me gustaría saber si puede correr sin ningún problema el instalarlo en una maquina virtual como como XP mode corriendo sobre W7 64.
Título: Re:LinuxCNC comentado en castellano
Publicado por: AndresAlgeciras en 21 Febrero 2017, 07:55
Me parece muy interesante.

Gracias por el aporte.

Andrés
Título: Re:LinuxCNC comentado en castellano
Publicado por: frajagal en 21 Febrero 2017, 08:03
Me parece una idea buenisima, muchas gracias

Un saludo
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 21 Febrero 2017, 10:07
Gracias ABU por tu aporte.

Podrías realizar un video tutorial de la instalación de linux cnc.

Y me gustaría saber si puede correr sin ningún problema el instalarlo en una maquina virtual como como XP mode corriendo sobre W7 64.


Montar linux en una maquina virtual para juguetear con el, si. Para enchufarle una maquina............. :o :o :-\ :-\ :o :o :-\ :-\ :'( :'( :'( :'( :'( :'( :'( :'(
Yo instale en su dia bajo VMware la version 2.5, creo recordar, la que venia con Ubuntu......y bueno....iva..........al 21% ;D

Y sobre la instalacion, lo tenia pensado. Vere como lo hago porque hay algun que otro "problemilla tecnico" para hacer un video.
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 22 Febrero 2017, 02:21
Publicadas partes dos y tres. Enlaces en el primer post.
Título: Re:LinuxCNC comentado en castellano
Publicado por: FIJO en 22 Febrero 2017, 22:15
Pillando sitio gracias
Como consejo, deberias especificar bien los títulos de los vídeos, así serán mas fáciles de encontrar o compartir

saludos
Título: Re:LinuxCNC comentado en castellano
Publicado por: kilgore en 22 Febrero 2017, 23:28
Pillando sitio gracias
Como consejo, deberias especificar bien los títulos de los vídeos, así serán mas fáciles de encontrar o compartir

saludos

Suscribo lo del compañero Fijo.
Título: Re:LinuxCNC comentado en castellano
Publicado por: becario10 en 23 Febrero 2017, 05:49
Abu nos podrías decir bajo tu experiencia que ordenador. procesador, RAM y cualquier otra característica nos pueda hacer falta para poder mecanizar en fresadora y torno y que funciones correctamente.
Título: Re:LinuxCNC comentado en castellano
Publicado por: frandborge en 23 Febrero 2017, 09:18
me parece una aportación muy buena. adelante que seguro que a mas de uno le servirá como ejemplo. gracias por compartirlo
Título: Re:LinuxCNC comentado en castellano
Publicado por: frajagal en 23 Febrero 2017, 19:51
He visto los videos y me han gustado mucho, solo quiero hacerte una recomendacion, a ver si puedes mejorar el audio, yo tengo los altavoces a tope, y se oye justito. Enhorabuenas y gracias.

Un saludo

Título: Re:LinuxCNC comentado en castellano
Publicado por: Argarrobo en 23 Febrero 2017, 20:06
Suscrito y muy atento  .bien
Gracias por el esfuerzo  .palmas
Título: Re:LinuxCNC comentado en castellano
Publicado por: madmondi en 23 Febrero 2017, 22:13
Me los he mirado y son mas que interesantes, voy atreverme a pedirte si no te sabe mal si puedes poner los link de descarga de todo el software necesario directamente ya que he visto que lo tienes instalado incluso en castellano y me dado un "voltio" por la red y lo que me he encontrado es una ensalada de descargas y no me atrevo a hacer ninguna por no saber exactamente cual es la/son la/s descarga/s correcta/s, si no fuera mucha molestia te lo agradecería y creo que alguno mas de este foro también, de nuevo gracias "Abu"
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 23 Febrero 2017, 22:15
Abu nos podrías decir bajo tu experiencia que ordenador. procesador, RAM y cualquier otra característica nos pueda hacer falta para poder mecanizar en fresadora y torno y que funciones correctamente.

GUAUUUUUU.......LA PREGUNTA DEL MILLON........ .bien

Esa pregunta tiene una respuesta facilísima de dar y dificilísima de materializar, Becario.........la respuesta es LA CONFIGURACIÓN DE EQUIPO QUE TENGA LA MENOR LATENCIA. Anda, que me he quedado a gusto ;D.
Por ejemplo. Alguno diria que 4 gigas de memoria, mejor que 2 gigas ¿no?......pues ni si ni no......depende.
La velocidad de la memoria (que una cosa muy suya, nada que ver con la del procesador) parece que también tendrá que ver ¿no?.......pues de nuevo.........depende. Una RAM de 2 gigas a 100 Mhz puede introducir menos latencia que una mas rapida, con 4 gigas, a 166 Mhz. Cosas de la vida ;D
¿Y el video?. Ahhhhhh.....no es problema. Tengo una hipertarjeta de video con mogollon de RAM dedicada y con una GPU a tropecientosmil megahercios, PnP por supùesto, y pinchada en en el conector PCI-Express ............pues muy mal. PCIExpress tiene una mala fama de aupa para esto de la latencia.
Podria seguir con el chipset de la placa madre, discos duros, procesador, BIOS y parafernalia varia, pero la filosofia general para esto de la latencia es muy simple:
BASTA UNA MANZANA PODRIDA......PARA ESTROPEAR TODO EL CESTO ::) ::) ::)

La segunda pregunta del segundo millon es ...........¿que carajo es la latencia?

Estaria muy, muy, muy bien, que aquellos que trasteamos con el linuxcnc habriesemos un post con la características y latencia de nuestros equipejo. Si lo veis bien, lo abririamos con un par de programillas estandar para que todos "jugasemos con las mismas reglas".

En cuanto a los comentarios sobre los videos, agradeceros vuestras aportaciones. Tomo nota de todas. Me comprare un micro nuevo .bien
Creo que voy a variar el formato, haciendo unas presentaciones con una especie de resumen-guion y agrupando temas.
Paciencia.....dicen que es la madre de la ciencia .brinda
Título: Re:LinuxCNC comentado en castellano
Publicado por: Tomy73 en 24 Febrero 2017, 08:22
Muchas gracias Abu por estos grandes aportes.  .palmas .ereselmejor

Un saludo.
Título: Re:LinuxCNC comentado en castellano
Publicado por: kilgore en 24 Febrero 2017, 14:48
   Abu, muy muy interesante todo lo que nos cuentas, me encantaría que abrieses ese nuevo hilo, lo mismo con esos datos estadísticos conseguimos sacar un equipo mas eficaz...
   Yo instale LinuxCNC en mi equipo el año pasado y por misterios que no supe resolver volví a mach3, (Entre otras cosas por no poder hacer funcionar el volante HB04 Xhc, cosa que RobertoMFS ya a conseguido).
Título: Re:LinuxCNC comentado en castellano
Publicado por: varoniberico en 24 Febrero 2017, 15:19
 ;D ;D ;D Muy buen hilo, especialmente para los que tomamos el chocolate de espaldas con el ingles,especialmente despues del brekxing :o :o :o .
Bromas a parte es un trabajo inedito y ademas en castellano, estaré muy  atento ya que se hace mas fácil la comprensión explicándolo en nuestro idioma.
Ya que tengo todo el "harware", componentes en nuestro idioma para montar la BF45 este hilo me anima a seguir montando el CNC.
Animo, estaré muy atento.
Un saludo .palmas .palmas .palmas .palmas .bien .bien .bien
Título: Re:LinuxCNC comentado en castellano
Publicado por: RobertoMFS en 24 Febrero 2017, 17:10
Hola, interesantes los vídeos. .bien

   Yo instale LinuxCNC en mi equipo el año pasado y por misterios que no supe resolver volví a mach3, (Entre otras cosas por no poder hacer funcionar el volante HB04 Xhc, cosa que RobertoMFS ya a conseguido).

Yo me llevo pegando con el HB-04 mucho tiempo, de intentarlo, no conseguirlo y dejarlo, al tiempo igual, así durante un año.
Hace un par de noches lo conseguí, tenía pensado abrir un hilo explicando un poco lo que hice, pero me gustaría hacerlo cuando termine de ver como programar los botones, que algunos van y otros no (a empollar un poco de HAL y HALUI).

Saludos
Rob.
Título: Re:LinuxCNC comentado en castellano
Publicado por: Manuturbojet en 24 Febrero 2017, 19:52
Muchas gracias abu por la dedicacion  y tuntiempo que hoy en dia no es poco,estare atento al hilo para aprender algo mas   .brinda .brinda .brinda
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 24 Febrero 2017, 22:32

Publicadas partes cuatro, cinco y seis. Enlaces en el primer post.
Título: Re:LinuxCNC comentado en castellano
Publicado por: sflores en 03 Marzo 2017, 00:22
Abuu , exelente , gracias
 mi interes es por que nesecito poner un teclado adicional y solo usar las teclas para mover los ejes ,y poder cambiar las velocidades del movimiento y asi poder hacer bien los offsets , crees que esto sea possible?? saludos.
Título: Re:LinuxCNC comentado en castellano
Publicado por: alberttoy en 03 Marzo 2017, 17:52
Te voy siguiendo.
Gracias por el curro que te estas pegando.
Título: Re:LinuxCNC comentado en castellano
Publicado por: josemanuel-gar en 04 Marzo 2017, 23:17
Otro mas que se apunta.

Enhorabuena por el trabajo.
Título: Re:LinuxCNC comentado en castellano
Publicado por: s118 en 13 Marzo 2017, 17:47
Algún problema. Hace tiempo que no aparecen nuevos capítulos.
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 13 Marzo 2017, 20:40
¿Problemas?..............todo lo contrario. Aqui lo explico.

https://youtu.be/jyPIOoEUnrc
Título: Re:LinuxCNC comentado en castellano
Publicado por: angelnu en 25 Marzo 2017, 21:20
Hola a todos
Muy bueno el aporte gracias por el esfuerzo. Si pudieras mejorar el audio, con los altavoces a tope se oye bajo.

Estoy intentando traducir el manual de linuxcnc al castellano (LinuxCNC_Documentation.pdf) para poder entender el hal y demás, pero mi ingles es muy deficiente, gracias al traductor de google y el bing, hay bastante hecho pero me hace falta que alguien con un buen dominio del ingles lo corrigiera, ya que hay innumerables errores, pero aun así se entiende bastante.

Si hay alguien interesado en la tarea tengo el LinuxCNC_Documentation.pdf en .odt para modificar, ya que los conversores de pdf a odt no hacen bien la conversión.

Un saludo
Título: Re:LinuxCNC comentado en castellano
Publicado por: LEOO en 25 Marzo 2017, 23:14
el manual tienes esta traduccion
http://www.helmantikos.com/cnc/texto/emc2usman/emc2usermanual.html
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 26 Marzo 2017, 23:06
Para que veais que no estoy parado. Ando trabajando en el programa xemc; una interfaz grafica, aunque no lo parezca, tal que asi:

(http://fennetic.net/art/emc-splash/xemc.jpg)

Al ser tan simple, se puede uno concentrar en lo importante.........los mecanismos internos.
Los siguiente es un mero avance del tema. No esta terminado ni de lejos y, tal como lo pongo, no vale para nada de nada............pero todo se andara.
Insisto............paciencia

*******************************************************************************************************************

XEMC como ejemplo de una GUI para EMC/LinuxCNC.

La GUI xemc fue originariamente escrita por "los padres fundadores" Proctor y Shackleford y adaptada a emc2 por Alex Joni. Contrariamente a la GUI's mas "modernas", esta escrita en C++ y utiliza las API's de X11 (X Toolkit), tambien en C/C++, para el interface grafico. Con ello, se evita tener que "lidiar" con mas de un lenguaje a la hora de "descifrar matrix"..aaaahhhhggg....

Ficheros de cabecera incluidos:
Estandar:
ctype.h      // tipos caracter
fcntl.h      // file control options. O_CREAT(Create file if it does not exist.)
inttypes.h      // fixed size integer types.
limits.h      // DBL_MAX, maybe
stdarg.h      // handle variable argument list
stdint.h      // integer types
stdio.h      // standard buffered input/output
stdlib.h      // standard library definitions
string.h      // string operations
sys/stat.h      // data returned by the stat() function struct stat, stat()
unistd.h      // standard symbolic constants and types
values.h      // Old compatibility names for <limits.h> and <float.h>                constants. DBL_MAX, maybe.

Especificos:
rcs.hh      // should be included with NML, CMS, libnml function.etime()
emc.hh      // Declarations for EMC NML vocabulary
emc_nml.hh   // Declarations for EMC NML vocabulary
emcglb.h    // EMC_NMLFILE, TRAJ_MAX_VELOCITY, TOOL_TABLE_FILE. Declarations for EMC NML vocabulary
emccfg.h    // DEFAULT_TRAJ_MAX_VELOCITY Declarations for globals found in emcglb.c
inifile.hh  // INIFILE Declarations for INI file format functions
rcs_print.hh
nml_oi.hh   // Defines Generic NML Message structures used to log errors and
interact with an Operator Interface from within an NML_MODULE.
timer.hh   // A TIMER object lets you wait on the expiration of a cyclic
period, to the resolution of the system clock.

Cabeceras para X Toolkit:
Include <X11/Intrinsic.h> in your application programs. This header file automatically includes <X11/Xlib.h>, so all Xlib functions also are defined. It may also be necessary to include <X11/StringDefs.h > when setting up argument lists, as many of the XtNsome-thing definitions are only defined in this file.
X11/Intrinsic.h      /* Intrinsics Definitions */
X11/StringDefs.h     /* Standard Name-String definitions */


Widget: Objeto que proporciona una abstracción de interfaz de usuario (por ejemplo, un widget de barra de desplazamiento).
https://www.x.org/releases/X11R7.5/doc/libXaw/widgets.pdf
Cabeceras para widgets, todas en X11/Xaw/ (X Athena widgets):
Form.h      //widget can contain an arbitrary number of children or                subwidgets
Box.h         // geometry management of arbitrary widgets in a box of a               specified dimension.
Command.h      // ‘‘push buttons.’’
Label.h      // graphic displayed within a rectangular region of the screen
AsciiText.h      // Text widget

MenuButton.h   // pop up the menu named in the menuName resource

SimpleMenu.h   // container for the menu entries
SmeBSB.h      // reate a menu entry that contains a string, and optional bitmaps
SmeLine.h      // add a horizontal line or menu separator to a menu.
Dialog.h      // prompt for auxiliary input from a user.

Canales NML:

static *emcCommandBuffer,    Clase RCS_CMD_CHANNEL
static *emcStatusBuffer,    Clase RCS_STAT_CHANNEL
       *emcStatus,       Clase EMC_STAT
static *emcErrorBuffer,    Clase NML
static char error_string[NML_ERROR_LEN] = "" (macro, 256)

static int emcCommandSerialNumber = 0;
the current command numbers, set up updateStatus(), used in main()

// forward decls for error popup
static void errorReturnAction(Widget w, XEvent *event, String *params, Cardinal *num_params);
static void errorDoneCB(Widget w, XtPointer client_data, XtPointer call_data);

static int createErrorShell();
creates a fresh error dialog widget

static int destroyErrorShell();
destruye un  error dialog widget.

static void popupError(const char *fmt, …)__attribute__((format(printf,1,2)));
¿¿ widget Dialogo de error?

// forward decl for quit() function
static void quit();
// clean up NML buffers.  // get rid of program file window string.




…..............Para continuar.......




Pseudo código.
Un pseudocodigo es una especie de “programa del programa” escrito en lenguaje 100% humano. Algo así como el plano del futuro programa, independiente del lenguaje de programacion escogido

Aqui va el pseudocodigo para la interfase de usuario xemc. Es una interfase limitada (solo 3 ejes), antigua y con acceso a librerias hoy obsoletas (aunque aun soportadas y funcionales) en Linux. El tabulado es MUY IMPORTANTE. Da el nivel de profundidad de ejecucion de cada uno de los pasos. Por ejemplo:

Si llueve
   decidir si paraguas o impermeable
      Si paraguas, terminar el proceso de decisión. Ir a listo:
      En caso contrario (impermeable)
         ¿esta en el perchero?
            No esta en el perchero
            se fuerza paraguas. Ir a listo:
         Si, esta en el perchero
         Cogerlo
         ir a listo:
listo:
   Hala, a la calle a mojarse





La verdadera fiesta en xemc, como en todo programa C/C++, esta en la función main():

int main(int argc, char **argv)
   Varias definiciones de variables locales, a saber:
      t; contador en bucles
      start; hora en el arranque ???
      good; bandera (0/1)
      string[80];
      Varias de tipo Dimension (def. en intrinsic.h)
      De tipo Font (tipo XID) (en X.h), posfont
****** PROCESADO DE LA LINEA DE COMANDOS
   Procesar la linea de comandos con emcGetArgs()
      Si error en linea de comandos
         mensaje con rcs_print_error()
         salida al sistema con status 1. Fin de la fiesta
******  PROCESADO DEL INI
   Cargar y procesar fichero ini con iniLoad()
      Varias definiciones de variables:   
      machine: nombre de la maquina cnc
      version: version linuxcnc
      displayString: cadena generica
      Crear instancia inifile de clase IniFile (en inifile.hh)
      Definicion de variables locales
      Abrir ini con metodo inifile.Open() (en inifile.cc) . Si falla →
         retornar -1
      Buscar entrada MACHINE en seccion EMC (ver ini) con inifile.Find()
         Si existe, copiar nombre en “machine”
      Buscar entrada VERSION en seccion EMC (ver ini) con inifile.Find()
         Si existe, mostrar maquina cnc y version linuxcnc
      Buscar entrada DEBUG en seccion EMC (ver ini) con inifile.Find()
         Si DEBUG, copiar valor en emc_debug (definida en emcglb.c)
         Si no DEBUG, emc_debug = 0
      Buscar entrada NML_FILE en seccion EMC (ver ini) con inifile.Find()
         Si NML_FILE, copiarlo en emc_nmlfile (definida en emcglb.c)
         Si no NML_FILE, emc_nmlfile por defecto (linuxcnc.nml)
      Buscar entrada TOOL_TABLE en seccion EMCIO con    inifile.Find()
         Si TOOL_TABLE, copiarlo en tool_table_file
         Si no TOOL_TABLE, tool_table_file=tool.tbl, por defecto
       Buscar entrada PARAMETER_FILE en seccion RS274NGC con inifile.Find()
         Si PARAMETER_FILE, copiarlo en  PARAMETER_FILE
         Si no PARAMETER_FILE, PARAMETER_FILE = rs274ngc.var
      .
      .
      .
      Asi con....(“entrada”, “seccion”)
      "DEFAULT_VELOCITY", "TRAJ"
      hacer jogSpeed = (traj_default_velocity * 60.0) + 0.5
      "MAX_VELOCITY", "TRAJ"
      hacer maxJogSpeed = (traj_max_velocity * 60.0) + 0.5;
      "HELP_FILE", "DISPLAY"
      "PROGRAM_PREFIX", "DISPLAY"
      "PROGRAM_PREFIX", "TASK" (???no se especifica en documentacion)
      "POSITION_OFFSET", "DISPLAY" (MACHINE, RELATIVE o ???ignorar)
      "POSITION_FEEDBACK", "DISPLAY" (ACTUAL, COMMANDED)
      "JOGGING_POLARITY”,”AXIS_0” ???? No se encuentra JOGGING_POLARITY en documentacion)      igual para AXIS_1 y AXIS_2. Xemc solo admite tres ejes.
      "MAX_FEED_OVERRIDE", "DISPLAY"
      "INPUT_SCALE", "AXIS_0"
      Cerrar fichero ini con metodo inifile.Close()
      Retornar 0
*******  VERIFICACION DE FUNCIONAMIENTO DE MENSAJES NML
   Definir RETRY_TIME=10.0   RETRY_INTERVAL=1.0 (segundos)
   Si no se ha activado debug, inhibir mensajes de diagnostico
   Inicializa variable start (posiblemente con la hora actual en arranque)
   Inicializa bandera good = 0
   Hacer en bucle do-while mientras no se alcance el valor RETY_TIME
      emcTaskNmlGet() (intenta conectar a canales command y status de nml)
         Si retorna 0, bandera good=1, ir a fin del bucle:
         Si no se ha consumido el tiempo RETY_TIME
            Detenerse durante RETY_INTERVAL segundos
         Repetir bucle
      RETY_TIME consumido
   Fin del bucle:
   Si good = 0
      imprimir error con rcs_print_error()
      salida al sistema con status 1. Fin de la fiesta
******* VENTANA DE TEXTO
   Crear una ventana de PROGRAM_FW_NUM_LINES(10) x PROGRAM_FW_LEN_LINES(80)
   Reservar memoria para 10x80 caracteres
   Inicializar ventana con fwInit()
      Si no éxito
         imprimir error
         salida al sistema con status 1. Fin de la fiesta
******* WIDGETS GRAFICOS (artilugios varios para ventanas)

   Comentario: Los widgets siguen una jerarquia padres-hijos. Los widgets de mayor nivel pueden    “albergan” a los de menor. Asi, el widget de mayor nivel, topLevel en este caso, albergara a    los demas.

   Asignar topLevel, tipo widget, con XtVaAppInitialize de Xt. El widget de mayor nivel.
   Asignar topForm,  XtVaCreateManagedWidget, llama a XtCreateWidget y XtManageChild.
   Asignar barMenuForm, XtVaCreateManagedWidget



…........................ para continuar


      
      
 
      

   



       

Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 01 Abril 2017, 20:58
Otro video mas.
Va de latencia........y sus cosas, que las tiene :o :o ;D ;D

https://youtu.be/Z5cdnoayS7E
Título: Re:LinuxCNC comentado en castellano
Publicado por: varoniberico en 01 Abril 2017, 21:30
abu al ordenador se le ha tenido que joder un cuarto de de la unica neurona que le queda ;D ;D ;D ;D , por que el sonido es fatal y la imagen en esta ultima entrega esta de pena.
Si necesitas un micro nuevo te mando uno, lo de la imagen es mas complicado. ;D ;D ;D
 Espero que lo puedas solucionar satisfactoriamente.
Un saludo . .brinda .brinda .brinda .brinda
Título: Re:LinuxCNC comentado en castellano
Publicado por: revenido en 02 Abril 2017, 08:57
abu un excelente aporte.
He seguido tu ultimo video
pero me decia que el comando lshw no existia
para ello he tenido que instalarlo, entrando como superusuario y tecleando aptitude install lshw


Saludos revenido.
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 02 Abril 2017, 13:13
abu al ordenador se le ha tenido que joder un cuarto de de la unica neurona que le queda ;D ;D ;D ;D , por que el sonido es fatal y la imagen en esta ultima entrega esta de pena.
Si necesitas un micro nuevo te mando uno, lo de la imagen es mas complicado. ;D ;D ;D
 Espero que lo puedas solucionar satisfactoriamente.
Un saludo . .brinda .brinda .brinda .brinda
Estimado Sr. D. MachoteHispanico, se agradece enormemente su altruista oferta de un micro nuevo. ¿Puede ser un AMD Ryzen 7 1800X? ;D ;D ;D ;D ;D.
En cuanto a lo de la imagen, voy a proponerle a mi señora quitarme la barba y bigote o perder barriga. Lo mismo asi mejoramos........lo de la imagen, digo :P :P ;D ;D :P :P.

Bromas aparte...........si, ya se que el audio no es dolby-sensuround, pero yo lo escucho bien con los auriculales+microfono Logitech de los años 90 que tengo. Mirare el tema, a ver que puedo hacerle. Y sobre la imagen, poco que hacer. Youtube comprime el video con la consiguiente perdida y sobre eso nadie tiene control. Recomiendo poner youtube en pantalla completa.......se ve perfecto  .bien

Respecto a lo que comenta revenido..........pues es verdad. lshw no viene instalado por defecto. Se monta como bien el dice o, sin meterse en cuenta de superusuario, con:
> sudo apt-get install lshw

Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 24 Abril 2017, 19:22
Movido todo a un blog

https://lnxcncfma.wordpress.com/

Queda todo mas "ordenadito".
De momento no hay alli ningun video, solo texto. Pero todo se andara.  .bien
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 15 Julio 2017, 20:17
No..........ni me he muerto ni he abandonado el tema............... :P
Lo que ocurre es que linuxcnc no tiene tripas................ES UNA CASQUERIA ENTERA ;D ;D ;D ;D

En serio........es un trabajo de narices, pero apasionantisimo. Y claro, es lo que tiene eso de aprovechar los ratos perdidos..........que la cosa corre poco :(

Me vais a permitir colgar un copy-paste de la ultima entrada del blog (siempre en "edicion" ,hasta nueva orden.....) porque en el ultimo enlace hay un "especimen arqueologico" de los que nos gustan a los frikis de mi calaña  ;D


Sitios, sitios y…..sitios
15 julio, 2017 ~ jgardeto   ~ Editar "Sitios, sitios y…..sitios"   

Sitios de interés relacionados con el contenido de este blog. No necesariamente en orden de visita.

Completísimo, maravillosamente escrito y mejor estructurado curso de C++. Ingles.

http://www.learncpp.com/

Biblioteca Real-time Control System (RCS) del NIST (National Institute of Standards and Technology, entidad dependiente del Departamento de Comercio del gobierno estadounidense). Las comunicaciones entre los procesos de linuxCNC estan basadas en esta biblioteca.

https://www.nist.gov/el/intelligent-systems-division-73500/networked-control-systems-group/real-time-control-systems

La maquina del tiempo de las paginas web.

https://archive.org

La biblioteca RCS contine documentacion  sobre las matematicas precisas para el tratamiento de posiciones, rotaciones, and translaciones en diferentes tipos de sistemas de coordenadas, asi como las funciones para operaciones y conversiones entre ello. Es una parte de enorme importancia en linuxCNC. La documentacion referida se encuentra en:

https://www.nist.gov/el/intelligent-systems-division-73500/networked-control-systems-group/pose-mathematics-path-planning

Existe una referencia a una serie de ejemplos de esta parte de la biblioteca RCS; Karl Murphy’s Posemath Examples, pero el enlace no funciona. Debido al interes que deberia tener el tema, he buscado esos ejemplos en archive.org………y alli estaban, como era de esperar.

http://web.archive.org/web/20120412201014/http://www.isd.mel.nist.gov:80/projects/rcslib/posemath_examples.html

Año 1991……Ahhhhhhhh…….que tiempos aquellos………o no.

Queda nada para que este documento tenga……… TREINTA AÑOS……..

Aun asi, su importancia historica (para el entonces EMC y hoy linuxCNC) es de destacar y merecedora de un enlace propio. Ni mas ni menos que el reporte final sobre el recien nacido…, que digo…..sobre el parto del Next Generation Controller. A ver de donde si no sale lo de RS232NGC 🙂

https://ia601600.us.archive.org/26/items/nistsupporttonex4888albu/nistsupporttonex4888albu.pdf
[/i]
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 08 Noviembre 2017, 13:52
Que no........
Que sigo con el "tema"
Que no abandono  ;D ;D

Cambio de tercio. Abandono la idea del blog. Es difícil de organizar, y mas de leer en cierto orden.
Así que voy a escribir un libro  :o :o :o :o  por amor al arte  8) 8) 8) 8)

Suena a coña, pero ya llevo mas de 100 paginas. Aqui el indice de lo que llevo hecho.

Indice

PROGRAMACION; CONCEPTOS PREVIOS

El C++
Punteros
      Declaración de punteros
Enumeraciones
Estructuras
Clases


CAPITULO I. LOS CIMIENTOS DE LINUXCNC.

XDR: Estándar de Representación de Datos Externos
      Los mensajes
Real-Time Control System (RCS)
      Documentos de referencia
      xxx
      Metodología
xxxx
Listas enlazadas; la clase LinkedList
CMS
NML. El lenguaje de mensajes neutros.
      Introducción
      Clases y ficheros de cabecera
La librería Pose Mathematics


CAPITULO II. LA INFRAESTRUCTURA

Directorios de fuentes
Librerías
      La librería libnml.so.0

CAPITULO III. EL ARRANQUE.
El script linuxcnc
El servidor linuxcncsvr
      El archivo fuente  emc/task/emcsvr.cc
      Ficheros de cabecera
      Definiciones
      main
      Super server
.
.
.
y seguira....

Como muestra de esta locura, unas paginillas de la librería Pose Mathematics. Como vereis, se necesita una base teorica de matematicas y programacion
bastante "solida". Lo siento por los forofos de lo "practico".......pero esto es lo que hay   :( :(

https://www.dropbox.com/preview/foro_ma/preview.doc?role=personal

Ni puñetera idea de cuando estará disponible una "versión beta", asi que no pregunteis  ;D ;D

Y por supuesto, si alguien esta especialmente interesado y se ve con ganas y conocimientos para colaborar........que no dude en mandarme un mensaje .bien
Título: Re:LinuxCNC comentado en castellano
Publicado por: Tr Precision Machining en 08 Noviembre 2017, 14:25
Lo del libro me parece genial..ese curro que te estas pegando muchos miles te lo agradeceremos eternamente

gracias .bien
Título: Re:LinuxCNC comentado en castellano
Publicado por: pritt en 08 Noviembre 2017, 14:55
Muchísimas gracias por te enorme trabajo.

Un saludo.
Título: Re:LinuxCNC comentado en castellano
Publicado por: alberttoy en 08 Noviembre 2017, 19:39
Te felicito.
Me parece que el link que has puesto solo lo puedes ver tu. Si te fijas en la url no hay ninguna referencia única que incluya tu cuenta.
Deberías ir a compartir- copia enlace
Título: Re:LinuxCNC comentado en castellano
Publicado por: alberttoy en 08 Noviembre 2017, 19:47
 .palmas
Esto promete.
 .brinda
Me pregunto cuando vas a hacer el capitulo que explique como dominar la configuración. Crear displays, HAL... :)
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 08 Noviembre 2017, 21:17
¿No funciona el link.....? :( :( :(

¿ Y este?
https://www.dropbox.com/s/02gh9d3klntxwcx/preview.doc?dl=0


Me pregunto cuando vas a hacer el capitulo que explique como dominar la configuración. Crear displays, HAL... :)




Ni puñetera idea de cuando estará disponible una "versión beta", asi que no pregunteis  ;D ;D

Título: Re:LinuxCNC comentado en castellano
Publicado por: alberttoy en 24 Noviembre 2017, 21:13
¿No funciona el link.....? :( :( :(
¿ Y este?
https://www.dropbox.com/s/02gh9d3klntxwcx/preview.doc?dl=0


SI, este si lo veo
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 27 Noviembre 2017, 01:04
Fin de semana super-productivo.
El indice de lo que va hecho ha pegado un buen tiron. Debo ir por el 5% del total final ??? ??? ??? ???
Animooooo......pal'2020.........mas o menos.......... :P :P ;D ;D ;D ;D


INTRODUCCION   
CAPITULO I. PROGRAMACION; CONCEPTOS PREVIOS
        El C++ para no programadores
                Estructura de un programa
                Variables y tipos
                La directiva #define
                Operadores; las matemáticas básicas
                                asignación
                                aritmética
                                operadores compuestos
                                incremento y decremento
                                operadores relacionales y de comparación
                                operadores lógicos
                                el ternario condicional
                                la coma como operador
                                Operadores a nivel de bits
                Casting.
                Tamaño; sizeof
                la precedencia; tabla
                Declaraciones y control de flujo
                Enunciado compuesto
                Declaraciones de selección: if y else
                Declaraciones de iteración (bucles)
                                El ciclo while
                                El ciclo do-while
                                El bucle for
                                Rango para bucle for
                Saltar declaraciones
                                La declaración break
                                La declaración continue
                                La declaración goto
                Otra declaración de selección: switch
                Punteros
                                Declaración de punteros
                Enumeraciones
                Estructuras
                Funciones
                                Funciones sobrecargadas
                                Plantillas (templates) de funciones
                Clases
                                Constructores
                                Sobrecarga de constructores
                                Constructor predeterminado
                                Inicialización uniforme
                                Inicialización de miembro en constructores
                                Punteros a clases
                                Clases definidas con struct y union
                                Sobrecarga de operadores
                                La palabra clave this
                                Miembros estáticos
                                Funciones miembro Const
                                Plantillas de clases
                                Especialización de plantillas
                                Miembros especiales
                                Constructor predeterminado
                                Destructor
                                Copiar constructor
                                Copiar asignación
                                Mover constructor y asignación
                                Miembros implícitos
                                Herencia y funciones friend
                xxx...a completar
                ….........

CAPITULO II. OBTENCION DE LAS FUENTES DE LINUXCNC
                Obtener linuxcnc, versión de desarrollo.
                                Git mediante terminal
                                Git mediante git-gui
                                Mediante .zip

CAPITULO III. LOS CIMIENTOS DE LINUXCNC.
                XDR: Estándar de Representación de Datos Externos
                                Los mensajes
                Real-Time Control System (RCS)
                Documentos de referencia
                xxx...a completar
                ….........
                Metodología
                Semáforos; la clase RCS_SEMAPHORE.
                                función wait
                                función trywait
                                función post
                                función getvalue
                                Constructor
                Listas enlazadas; la clase LinkedList
                                Constructor
                                Destructor
                                La función set_list_sizing_mode
                                Las funciónes store_
                                Las funciónes get_
                                Las funciónes delete_
                Funciones de impresión RCS.
                                Función rcs_print
                                Función rcs_print_error
                                Función rcs_print_debug
                                Función rcs_vprint.
                                Función rcs_puts
                                Función strip_control_characters
                                Función set_rcs_print_destination
                                Función set_rcs_print_flag         
                                Función clear_rcs_print_flag
                                Función get_rcs_print_list
                                Función clean_rcs_print_list
                                Función set_rcs_print_list_sizing_mode
                CMS
                NML. El lenguaje de mensajes neutros.
                                Introducción
                                Estructura de una aplicación NML
                                Ficheros de cabecera y clases
                                Vocabulario NML
                                La clase NMLmsg
                                Clase CMS_USER
                                Clase NML
                                Clase IniFile
                xxx...a completar
                ….........
                El Interprete RS274
                                Clase InterpBase
                                Clase Interp
                xxx...a completar
                ….........
                La librería Pose Mathematics
                                Organizacion del codigo
                                Convenciones de nombres
                                Uso
                                Unidades
                                Representaciones
                                                translacionales
                                                rotacionales
                                                de eje y angulo
                                                combinadas
                                                Funciones y operadores
                                                Funciones translacionales


CAPITULO IV. LA INFRAESTRUCTURA
                Directorios de fuentes
                Librerías
                                La librería libnml.so.0
                xxx...a completar
                ….........

CAPITULO V. EL ARRANQUE.
                El script linuxcnc
                El servidor linuxcncsvr
                                El archivo fuente  emc/task/emcsvr.cc
                                Ficheros de cabecera
                                Definiciones
                                main
                                Super server

CAPITULO_X..........no, no es el 10...........es el capitulo misterio X de adonde llegaran  :P

ANEXO 1
Árbol de clases


Ahhhh........modifico, que se me ha olvidado decir una cosilla....

Tengo pensado bautizar a los capitulos, o partes de los capitulos, como ROJOS, AMARILLOS, y VERDES para temas de nivel BASICO, AVANZADO, y NIVEL DIOS .
Título: Re:LinuxCNC comentado en castellano
Publicado por: EdgarRobles en 27 Noviembre 2017, 05:19
Abu, aplaudo tan gran objetivo de tienes, seguro que va ser un documento trivial para los hispanohablantes.algo que no entiendo por completo es si, este documento servira de refencia para hacer GUI's para linuxcnc o programar los archivos INI y HAL.
Se le agradece  .palmas .palmas .palmas .palmas .brinda.
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 29 Enero 2018, 16:59
 :-X :-X :-X


Título: Re:LinuxCNC comentado en castellano
Publicado por: alberttoy en 30 Enero 2018, 01:46
Felicidades!!    .brinda
Que buena noticia.

Esta herramienta la había soñado en mis febriles encuentros con los .hal   .palmas

A ver si lo pudieras explicar con mas detalle
Título: Re:LinuxCNC comentado en castellano
Publicado por: abu en 25 Febrero 2018, 21:50
me he reconectado a ver si habia noticias de mi baja. Veo que no.

Os dejo un panfleto, para el que le interese. Desordenado y guarrete.....es lo que hay. No hacen falta comentarios. Gracias.

https://www.dropbox.com/s/zrkz1238sawgob7/Capitulo_HAL.doc?dl=0

Y ahora, vuelta al modo  :-X
Título: Re:LinuxCNC comentado en castellano
Publicado por: Tomy73 en 25 Febrero 2018, 23:05
Abu ,Gracias por el documento.  ;)

Un saludo.
Título: Re:LinuxCNC comentado en castellano
Publicado por: FIJO en 25 Febrero 2018, 23:25
Muchas Gracias Abu!
Título: Re:LinuxCNC comentado en castellano
Publicado por: Chapulino en 18 Marzo 2018, 10:01
no veo los videos , donde han ido?
Título: Re:LinuxCNC comentado en castellano
Publicado por: becario10 en 18 Marzo 2018, 12:41
Es una pena todo este embrollo, y toda esa informacion perdida. Esperemos que lo repiense y continue con este trabajo tan interesante.
Título: Re:LinuxCNC comentado en castellano
Publicado por: Chapulino en 03 Julio 2018, 23:26
Que paso.....????
Título: Re:LinuxCNC comentado en castellano
Publicado por: Dondin en 17 Enero 2020, 18:22
Que ha pasado....no se ve ningún video ni el blog ???
Título: Re:LinuxCNC comentado en castellano
Publicado por: DominicZe en 17 Enero 2020, 21:00
Superinteresante!!!!
Título: Re:LinuxCNC comentado en castellano
Publicado por: Dondin en 18 Enero 2020, 10:29
Interesante pero donde ha ido todo ??? Se ha perdido ???
Título: Re:LinuxCNC comentado en castellano
Publicado por: pritt en 18 Enero 2020, 13:22
Pues Abu abandonó el foro con lo que no habrá mantenido los enlaces o los habrá cambiado.

Está en el foro del LinuxCNC. Si te interesa, ponte en contacto con él: Lo encontrarás en la rama de español, en un post de traducción de los manuales al español.

Un saludo.
Título: Re:LinuxCNC comentado en castellano
Publicado por: Dondin en 18 Enero 2020, 13:30
Vaya, que lastima.
Gracias
Título: Re:LinuxCNC comentado en castellano
Publicado por: emgalos en 28 Marzo 2020, 17:57
Hola.
Recien instale LinuxCNC y he llegado hasta la configuración con stepconf, misma que fue satisfactoria y los motores probados montados en la maquina con sus respectivas velocidades funcionando ok.
Los limites no se están utilizando al menos mientras supere esta fase.
Luego inicio mediante el lanzador "Launch my-mill" desde el escritorio, abro el programa y ejecuto el ejemplo (LinuxCNC) el cual se ejecuta en pantalla correctamente sin ningun error, pero la máquia no hace nada...
Alguien podria darme una mano con esto?
Como observaciones relacionadas:
Solo he ejecutado el stepconf, ninguna otra configuración del LinuxCNC y no se si deba configurar otra cosa.
Antes la CNC trabajaba con arduino y GRBL GNEA, funcionando ok, pero le cambié la electrónica, le instalé drivers TB6560 y una tarjeta China de cinco (5) ejes de los cuales solo tengo en uso 3.
Como decia al inicio, la prueba durante la etapa de configuración con stepconf es satisfactoria y los motores se mueven a la velocidad programada (25 mm/s y aceleracion probada entre 200 y 750).

De antemano les agradezco la colaboración, no soy muy bueno con el ingles y se que hay bastante documentación en ese idioma pero no es una opción.  Gracias.

PD:
Estube tratando con los videos que habian publicado pero ya no estan disponibles...
Título: Re:LinuxCNC comentado en castellano
Publicado por: pritt en 29 Marzo 2020, 20:50
Si mal no recuerdo, esos me pasó a mi también y era porque la máquina no se movía hasta que hacía el homming.

Luego se movías, pero tenía la velocidad muy baja y no lo notaba ... subir la velocidad y listo.

Un saludo.
Título: Re:LinuxCNC comentado en castellano
Publicado por: FIJO en 29 Marzo 2020, 23:44
Una vez lanzada y te aparezca la pantalla de control, tienes que darle al botón de encendido, y ya puedes mover la maquina en manual, pero necesitas hacer homing si o si, si quieres hacer algo con ella desde remoto o con un programa de codigo