linuxcncrsh

NOMBRE
SINOPSIS
DESCRIPCIÃN
OPCIONES
Inicio de linuxcncrsh
Conexión
Protocolo de red
Subcomandos LinuxCNC
Sesión de ejemplo

NOMBRE

linuxcncrsh - interfaz en modo texto para comandar LinuxCNC a través de la red

SINOPSIS

linuxcncrsh [OPCIONES] [-- LINUXCNC_OPCIONES]

DESCRIPCIÃN

linuxcncrsh es una interfaz de usuario para LinuxCNC. En lugar de abrir una ventana GUI como axis(1) o touchy(1), procesa comandos en modo texto que recibe a través de la red. Un humano (o un programa) puede interactuar con linuxcncrsh usando telnet(1) o nc(1) o programas similares.

Todas las caracterÃsticas de LinuxCNC están disponibles a través de la interfaz linuxcncrsh.

OPCIONES

-p,--port PORT_NUMBER

Especifique el puerto de escucha para linuxcncrsh. El valor predeterminado es 5007 si se omite.

-n,--name SERVER_NAME

Establece el nombre del servidor que linuxcncrsh usará para identificarse durante el reconocimiento con un nuevo cliente. El valor predeterminado es EMCNETSVR si se omite.

-w,--connectpw CONTRASEÃA

Especifique la contraseña de conexión para usar durante el protocolo de enlace con un nuevo cliente. Tenga en cuenta que la contraseña se envÃa sin cifrar, por lo que puede leerse por cualquiera que pueda leer paquetes en la red entre el servidor y el cliente. El valor predeterminado es EMC si se omite.

-e,--enablepw CONTRASEÃA

Especifique la contraseña requerida para habilitar LinuxCNC a través de linuxcncrsh. Tenga en cuenta que la contraseña se envÃa sin cifrar, por lo que cualquier persona que pueda leer paquetes en la red entre el servidor y el cliente puede leerla. Por defecto es EMCTOO si se omite.

-s,--sessions MAX_SESSIONS

Especifique el número máximo de conexiones simultáneas. El valor predeterminado es -1 (sin lÃmite) si no se especifica.

Además de las opciones enumeradas anteriormente, linuxcncrsh acepta una opción LINUXCNC_OPTION especial al final:

-ini LINUXCNC_INI_FILE

Archivo LinuxCNC .ini a usar. La opción -ini debe estar precedida por dos guiones: "--". El valor predeterminado es emc.ini si se omite.

Inicio de linuxcncrsh

Para usar linuxcncrsh en lugar de una GUI LinuxCNC normal como Axis o Touchy, especifique su archivo .ini asÃ:

[DISPLAY]

DISPLAY=linuxcncrsh

Para usar linuxcncrsh además de una GUI normal, puede iniciarlo al final de su archivo .hal, o ejecutarlo a mano en una ventana de terminal.

Para iniciarlo desde hal, agregue una lÃnea como esta al final de su archivo .hal:

loadusr linuxcncrsh [OPCIONES] [-- LINUXCNC_OPTIONS]

Para iniciarlo desde la terminal, ejecute linuxcncrsh manualmente de esta manera:

linuxcncrsh [OPCIONES] [-- LINUXCNC_OPTIONS]

Conexión

Una vez que LinuxCNC esté activo y se esté ejecutando linuxcncrsh, puede conectarse a él utilizando telnet o nc o similar:

telnet HOST PORT

HOST es el nombre de host o la dirección IP de la computadora que ejecuta linuxcncrsh, y PORT es el puerto en el que está escuchando (5007 si no le dio a linuxcncrsh la opción --port).

Protocolo de red

linuxcncrsh acepta conexiones TCP en el puerto especificado por la opción --port, o 5007 si no se especifica.

El cliente envÃa solicitudes y el servidor linuxcncrsh devuelve respuestas. Las solicitudes consisten en una palabra de comando seguida de parámetros especÃficos del comando. Las solicitudes y la mayorÃa de los parámetros de solicitud son insensibles a mayúsculas y minúsculas. Las excepciones son contraseñas, rutas de archivo y cadenas de texto.

Las solicitudes de linuxcncrsh se finalizan con terminaciones de lÃnea; cualquier combinación de uno o más caracteres ’\r’ y ’\n’. Las respuestas de linuxcncrsh finalizan con la secuencia ´\r\n´.

Los comandos admitidos son los siguientes:

hello <contraseña> <cliente> <versión>

<contraseña> debe coincidir con la contraseña de conexión de linuxcncrsh o "EMC" si no se suministró --connectpw. Los tres argumentos pueden no contener espacios en blanco. Si se ingresó una contraseña válida, el servidor responderá con:

HELLO ACK <Nombre del servidor> <Versión del servidor>

Si se produce una contraseña no válida o cualquier otro error de sintaxis, el servidor responde con:

HELLO NAK

get <subcommand> [<parámetros>]

El comando get toma uno de los subcomandos LinuxCNC (descrito en la sección Subcomandos LinuxCNC, a continuación) y cero o más parámetros adicionales especÃficos del subcomando.

set <subcommand> <parámetros>

El comando set toma uno de los subcomandos LinuxCNC (descrito en el sección Subcomandos LinuxCNC, a continuación) y uno o más parámetros adicionales.

quit

El comando quit desconecta la conexión de socket asociada.

shutdown

El comando shutdown le dice a LinuxCNC que apague y desconecte la sesión. Este comando solo se puede emitir si el reconocimiento ha sido negociado con éxito y la conexión tiene el control del CNC (ver subcomando enable en la sección Subcomandos LinuxCNC, a continuación).

help

El comando de ayuda devolverá información de ayuda en formato de texto sobre la conexión. Si no se especifican parámetros, detallará los comandos disponibles. Si se especifica un comando, proporcionará información de uso para el comando especificado. La ayuda responderá independientemente de si un "Hello" se ha negociado con éxito.

Subcomandos LinuxCNC

Los subcomandos para get y set son:

echo {on|off}

Con get, se ignora cualquier parámetro on/off y es devuelto el estado de eco actual. Con set, se establece el estado del eco como se especifica. El eco por defecto es on cuando se establece la conexión por primera vez. Cuando el eco está activado, todos los comandos hará eco al recibirlo. Este estado es local para cada conexión.

verbose {on|off}

Con get, cualquier parámetro on/off se ignora y es devuelto el estado detallado actual. Con set, se establece el estado detallado como se especifica. Cuando el modo detallado está activado, todos los comandos set devuelven un reconocimiento positivo en la forma SET <COMMAND> ACK, y se emitirán mensajes de error de texto (FIXME: no se lo que esto significa). El estado detallado es local para cada conexión, y comienza OFF en nuevas conexiones.

enable {<passwd>|off}

El estado de habilitación de la sesión indica si la conexión actual está habilitada para realizar funciones de control. Con get, se ignora cualquier parámetro, y se devuelve el estado de habilitación actual. Con set y una contraseña válida coincidente con --enablepw (EMCTOO si no se especifica), la conexión actual está habilitada para las funciones de control. "OFF" no puede usarse como una contraseña y deshabilita las funciones de control para esta conexión.

config [TBD]

Sin usar, ignorar por ahora.

comm_mode {ascii| binary}

Con get, se ignora cualquier parámetro y se devuelve el modo de comunicacion actual. Con set, se establecerá el modo de comunicaciones en el modo especificado El modo ascii es el modo de solicitud/respuesta de texto, el protocolo binario no está actualmente diseñado o implementado.

comm_prot <versión>

Con get, se ignora cualquier parámetro y se devuelve la versión actual del protocolo utilizado por el servidor. Con set, se configura el servidor para que use la versión de protocolo especificada, siempre que sea inferior o igual al mayor número de versión compatible con la implementación del servidor.

inifile

¡Actualmente no implementado! Con get, devuelve la cadena "emc.ini". DeberÃa devolver la ruta completa y el nombre de archivo de la configuración actual inifile. Set no hace nada.

plat

Con get, devuelve la cadena "Linux".

ini <var> <sección>

Actualmente no implementado, ¡no lo use! DeberÃa devolver el valor de la cadena <var> en la sección <sección> del archivo ini.

debug <valor>

Con get, se ignora cualquier parámetro y se devuelve el valor entero actual de EMC_DEBUG. Tenga en cuenta que el valor de EMC_DEBUG devuelto es el del archivo ini de la UI, que puede ser diferente al archivo ini de emc. Con set, se envÃa un comando a EMC para establecer el nuevo nivel de depuración y establece el EMC_DEBUG global aquà con el mismo valor. Esto hará que los dos valores sean iguales, ya que realmente deberÃan ser iguales.

set_wait {recived|done}

La configuración set_wait controla la espera después de recibir un comando. Puede ser "recived" (después de que el comando fue enviado y recibido) o "done" (después de que se ejecuto el comando). Con get, se ignora cualquier parámetro y se devuelve la configuración actual de set_wait. Con set, se establece la configuración set_wait al valor especificado.

wait {recived|done}

Con set, fuerza una espera para que se reciba el comando anterior, o done.

set_timeout <timeout>

Con set, establece el tiempo de espera para que los comandos vuelvan a los <timeout> segundos. El tiempo de espera es un número real. Si es <= 0.0, significa esperar para siempre. El valor predeterminado es 0.0, espera para siempre.

update {none|auto}

El modo de actualización controla si se deben devolver valores nuevos u obsoletos para "obtener" solicitudes. Cuando el modo de actualización es "none", devuelve valores obsoletos; cuando es "auto" devuelve valores nuevos. El valor predeterminado es "auto" para nuevas conexiones. Ajústelo a "none" si quiere confundirse.

error

Con get, devuelve la cadena de error actual o "ok" si no hay error.

operator_display

Con get, devuelve la cadena de visualización del operador actual, o "ok" si no hay ninguno.

operator_text

Con get, devuelve la cadena de texto del operador actual, o "ok" si no hay ninguno.

time

Con get, devuelve el tiempo, en segundos, desde el comienzo del epoch. El tiempo de inicio depende de la plataforma.

estop {on|off}

Con get, ignora cualquier parámetro y devuelve la configuración actual de estop como "on" o "off". Con set, establece estop como se especifica. Estop "on" significa que la máquina está en estado de parada y no actuará.

machine {on|off}

Con get, ignora cualquier parámetro y devuelve el encendido actual de la máquina configurando como "on" o "off". Con set, enciende o apaga la máquina como se especifique.

mode {manual|auto|mdi}

Con get, ignora cualquier parámetro y devuelve el modo de máquina actual. Con set, establece el modo de máquina como se especifica.

mist {on|off}

Con get, ignora cualquier parámetro y devuelve el ajuste de refrigerante de niebla actual. Con set, establece la configuración de niebla como se especifica.

flood {on|off}

Con get, ignora cualquier parámetro y devuelve el ajuste de refrigerante de inundación actual. Con set, establece la configuración de inundación como se especifica.

lube {on|off}

Con get, ignora cualquier parámetro y devuelveel ajuste de la bomba de lubricación actual. Con set, establece la configuración de la bomba de lubricación como se especifica.

lube_level

Con get, devuelve la lectura del sensor de nivel de lubricante como "ok" o "low". Con set, no hay efecto real.

spindle {forward|reverse|increase|decrease|constant|off}

Con get, se ignora cualquier parámetro y el estado actual del cabezal es devuelto como "forward", "reverse", "increase", "decrease", "constant" o "off". Con set, establece el husillo como se especifica. Tenga en cuenta que "increase" y "decrease" provocará un cambio de velocidad en la dirección correspondiente hasta que se envÃa el comando "constant".

brake {on|off}

Con get, se ignora cualquier parámetro y la configuración actual del freno es devuelta. Con set, el freno se establece como se especifica.

tool

Con get, devuelve la identificación de la herramienta cargada actualmente.

tool_offset

Con get, devuelve el desplazamiento de longitud de herramienta aplicado actualmente.

load_tool_table <archivo>

Con set, carga la tabla de herramientas especificada por <archivo>.

home {0|1|2|...}|-1

Con set, pone home a la articulación indicada o, si -1, home Todas las articulaciones

jog_stop joint_number|axis_letter

Con set, detiene cualquier jog en curso en la articulación o eje especificado. Si TELEOP_ENABLE es NO, use joint_number; Si TELEOP_ENABLE es SÃ, use axis_letter.

jog joint_number|axis_letter <speed>

Con set, mueve la articulación o eje especificado a la <velocidad>; el signo de velocidad es dirección. Si TELEOP_ENABLE es NO, use joint_number; Si TELEOP_ENABLE es SÃ, use axis_letter.

jog_incr jog_number|axis_letter <speed> <incr>

Con set, mueve la articulación o eje indicado por incremento <incr> en <speed>; el signo de la velocidad es dirección. Si TELEOP_ENABLE es NO, use joint_number; Si TELEOP_ENABLE es SÃ, use axis_letter.

feed_override <percent>

Con get, se ignora cualquier parámetro y retorna el ajuste de alimentación actual (como un porcentaje del feed ordenado). Con set, establece el ajuste de feed como se especifica.

spindle_override <percent>

Con get, se ignora cualquier parámetro y retorna el ajuste de husillo actual (como un porcentaje de husillo ordenado). Con set, establece el ajuste de husillo como se especifica.

abs_cmd_pos [{0|1|...}]

Con get, devuelve la posición ordenada del eje especificado en absoluto coordenadas Si no se especifica ningún eje, devuelve todos los ejes ordenados posición absoluta

abs_act_pos [{0|1|...}]

Con get, devuelve la posición real del eje especificado en absoluto coordenadas Si no se especifica ningún eje, devuelve el absoluto real de todos los ejes posición.

rel_cmd_pos [{0|1|...}]

Con get, devuelve la posición ordenada del eje especificado en relación coordenadas, incluido el desplazamiento de la longitud de la herramienta. Si no se especifica ningún eje, devuelve la posición relativa ordenada de todos los ejes.

rel_act_pos [{0|1|...}]

Con get, devuelve la posición real del eje especificado en relación coordenadas, incluido el desplazamiento de la longitud de la herramienta. Si no se especifica ningún eje, devuelve la posición relativa real de todos los ejes.

joint_pos [{0|1|...}]

Con get, devuelve la posición real de la articulación especificada en absoluto coordenadas, excluyendo el desplazamiento de la longitud de la herramienta. Si no se especifica una junta, devuelve la posición absoluta real de todas las articulaciones.

pos_offset [{X|Y|Z|R|P|W}]

Con get, devuelve el desplazamiento de posición asociado con la coordenada mundial previsto.

joint_limit [{0|1|...}]

Con get, devuelve el estado lÃmite de la unión especificada como "ok", "minsoft", "minhard", "maxsoft" o "maxhard". Si no se especifica un número conjunto, devuelve el estado lÃmite de todas las articulaciones.

joint_fault [{0|1|...}]

Con get, devuelve el estado de falla de la unión especificada como "ok" o "culpa". Si no se especifica un número conjunto, devuelve el estado de falla de Todas las articulaciones.

joint_homed [{0|1|...}]

Con get, devuelve el estado de referencia de la unión especificada como "referenciada" o no". Si no se especifica un número conjunto, devuelve el estado de inicio de Todas las articulaciones.

mdi <cadena>

Con set, envÃa <cadena> como un comando MDI.

task_plan_init

Con set, inicializa el intérprete de programa.

open <nombre de archivo>

Con set, abre el archivo con nombre. El <nombre de archivo> es abierto por linuxcnc, por lo que deberÃa ser una ruta absoluta o una ruta relativa que comience en el directorio de trabajo de linuxcnc (el directorio del archivo .ini activo).

run [<StartLine>]

Con set, ejecuta el programa abierto. Si no se especifica StartLine, se ejecuta desde el principio. Si se especifica una lÃnea de inicio, la lÃnea de inicio se ejecuta desde esa linea. Una lÃnea de inicio de  -1 se ejecuta en modo de verificación.

pause

Con set, pausa la ejecución del programa.

resume

Con set, reanudar la ejecución del programa.

abort

Con set, abortar programa o ejecución MDI.

step

Con set, pasa el programa una lÃnea.

program

Con get, devuelve el nombre del programa abierto actualmente o "ninguno".

program_line

Con get, devuelve la lÃnea actualmente en ejecución del programa.

program_status

Con get, devuelve "inactivo", "en ejecución" o "en pausa".

program_codes

Con get, devuelve la cadena para los códigos de programa actualmente activos.

joint_type [<joint>]

Con get, devuelve "lineal", "angular" o "personalizado" para el tipo de junta especificada (o para todas las juntas si no se especifica ninguna).

joint_units [<unidad>]

Con get, devuelve "inch", "mm", "cm" o "deg", "rad", "grad" o "personalizado", para las unidades nativas correspondientes de la unión especificada (o para todas las juntas si no se especifica ninguna). El tipo del eje (lineal o angular) se utiliza para resolver qué tipo de unidades se devuelven. las unidades se obtienen heurÃsticamente, en base a las unidades numéricas EMC_AXIS_STAT :: valor de unidades de usuario por mm o deg. Para juntas lineales, algo cercano a 0.03937 se considera "pulgada", 1.000 es "mm", 0.1 es "cm", de lo contrario es "personalizado". Para juntas angulares, algo cercano a 1,000 se considera "deg", PI / 180 es "rad", 100/90 es "grad", de lo contrario es "personalizado".

program_units

Sinónimo de program_linear_units.

program_linear_units

Con get, devuelve "inch", "mm", "cm" o "none", para el correspondiente unidades lineales que están activas en el intérprete de programa.

program_angular_units

Con get, devuelve "deg", "rad", "grad" o "none" para el correspondiente unidades angulares que están activas en el intérprete de programa.

user_linear_units

Con get, devuelve "inch", "mm", "cm" o "custom", para el correspondiente Unidades lineales de usuario nativo del nivel de trayectoria LinuxCNC. Esto se obtiene heurÃsticamente, basado en el valor numérico EMC_TRAJ_STAT :: linearUnits de unidades de usuario por mm. Algo cercano a 0.03937 se considera "pulgada", 1.000 es "mm", 0.1 es "cm", de lo contrario es "personalizado".

user_angular_units

Devuelve "deg", "rad", "grad" o "custom" para el nativo correspondiente Unidades angulares de usuario del nivel de trayectoria LinuxCNC. Al igual que con las unidades lineales, Esto se obtiene heurÃsticamente.

display_linear_units

Con get, devuelve "inch", "mm", "cm" o "personalizado" para el lineal unidades que están activas en la pantalla. Este es efectivamente el valor de linearUnitConversion.

display_angular_units

Con get, devuelve "deg", "rad", "grad" o "custom", para el angular unidades que están activas en la pantalla. Este es efectivamente el valor de angularUnitConversion.

linear_unit_conversion {inch|mm|cm|auto}

Con get, se ignora cualquier parámetro y la conversión de unidad activa es devuelto Con set, establece la unidad que se mostrará. Si es "auto", las unidades que se mostrarán coinciden con las unidades del programa.

angular_unit_conversion {deg|rad|grad|auto}

Con get, se ignora cualquier parámetro y la conversión de unidad activa es devuelto Con set, establece las unidades que se mostrarán. Si es "auto", las unidades que se mostrarán coinciden con las unidades del programa.

probe_clear

Con el set, borre la bandera de la sonda disparada.

probe_tripped

Con get, devuelve el estado de la sonda: ¿se ha disparado la sonda desde el último borrado?

probe_value

Con get, devuelve el valor actual de la señal de la sonda.

probe

Con el set, muévete hacia una determinada ubicación. Si la sonda se dispara la forma de detener el movimiento, registrar la posición y levantar la bandera de la sonda disparada.

teleop_enable [on|off]

Con get, se ignora cualquier parámetro y el modo teleop actual es devuelto Con set, establece el modo teleop como se especifica.

kinematics_type

Con get, devuelve el tipo de funciones cinemáticas utilizadas (identidad = 1, serial = 2, paralelo = 3, personalizado = 4).

override_limits {on|off}

Con get, se ignora cualquier parámetro y la configuración override_limits es devuelto Con set, el parámetro override_limits se establece como se especifica. Si override_limits está activado, deshabilita los lÃmites de hardware de fin de viaje para permitir correr fuera de un lÃ- mite. Si los parámetros están desactivados, entonces los lÃ- mites de hardware están habilitados

optional_stop {0|1}

Con get, se ignora cualquier parámetro y la actual "parada opcional en M1" Se devuelve la configuración. Con set, la configuración se establece como se especifica.

Sesión de ejemplo

Esta sección muestra una sesión de ejemplo para la máquina local (localhost). Usted escribe los elementos en negrita, la salida de máquina no es negrita. Los valores predeterminados se muestran para --port PORT_NUMBER (5007), --conectpw PASSWORD (EMC) y --enablepw CONTRASEÃA (EMCTOO).

El usuario se conecta a linuxcncrsh, reconocimiento con el servidor (hello), habilita comandos para la máquina de esta sesión (set enable), saca la máquina de parada (apaga estop) y la enciende (la máquina), hace todos los home de los ejes, cambia la máquina al modo mdi, envÃa un comando MDI de código g, luego se desconecta y apaga LinuxCNC.

> telnet localhost 5007
Trying 127.0.0.1...
Connected to 127.0.0.1
Escape character is ’^]’.
hello EMC user-typing-at-telnet 1.0

HELLO ACK EMCNETSVR 1.1
set enable EMCTOO

set enable EMCTOO
set mode manual

set mode manual
set estop off

set estop off
set machine on

set machine on
set home 0

set home 0
set home 1

set home 1
set home 2

set home 2
set mode mdi

set mode mdi
set mdi g0x1

set mdi g0x1
help

help
Available commands:
Hello <password> <client name> <protocol version>
Get <emc command>
Set <emc command>
Shutdown
Help <command>
help get

help get
Usage: Get <emc command>
Get commands require that a hello has been successfully negotiated.
Emc command may be one of:
Abs_act_pos
Abs_cmd_pos
...
shutdown

shutdown
Connection closed by foreign host.