Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tabla de contenido
Prefacio
1 Primeros pasos
2 Conexión al robot
3 interfaz principal
4 configuraciones
4.6.3 Instalación
4.6.4 Sensibilidad
5 Monitoreo de E/S
6 Modbus
7 variables globales
8Dobot+
9 Programación
2
Machine Translated by Google
9.2 Guión
10 proceso
11 mejores prácticas
B.1.4 Paletizar
B.2.1 Evento
B.2.2 Control
B.2.3 Operador
B.2.4 Cadena
B.2.5 Personalizado
B.2.6 OI
B.2.7 Moción
B.2.9 Modbus
B.2.10 TCP
C.1.2 Operador
C.2.2 Moción
C.2.5 OI
3
Machine Translated by Google
C.2.6 TCP/UDP
C.2.7 Modbus
C.2.9 Trayectoria
C.2.10 Visión
C.2.11 Transportador
4
Machine Translated by Google
Prefacio
Objetivo
Este documento describe las funciones y operaciones de DobotStudio Pro para controlar robots de seis ejes (series CR y Nova), lo cual
Público objetivo
Cliente
Ingeniero de Ventas
cambia la historia
Mejore las funciones de detección de colisiones, E/S remotas y programación en bloque en el último software
(V2.5.0)
2022/11/30
Agregar mejores
prácticas Agregar descripción sobre los comandos de DobotBlockly y los comandos de script
2022/10/31
Agregue un apéndice sobre la definición del registro Modbus.
Divida el contenido sobre robots de seis ejes y robots de cuatro ejes en dos documentos
separados.
Convenciones de símbolos
Los símbolos que se pueden encontrar en este documento se definen de la siguiente manera:
5
Machine Translated by Google
Símbolo Descripción
Indica un peligro con un alto nivel de riesgo que, si no se evita, podría provocar la
PELIGRO muerte o lesiones graves.
Indica un peligro con un nivel de riesgo medio o bajo que, si no se evita, podría
ADVERTENCIA provocar lesiones leves o moderadas o daños en el brazo del robot.
Indica una situación potencialmente peligrosa que, si no se evita, puede provocar daños
AVISO en el brazo del robot, pérdida de datos o resultados inesperados.
6
Machine Translated by Google
1 Primeros pasos
DobotStudio Pro es un software de control multifuncional para brazos robóticos desarrollado independientemente por Dobot.
Con una interfaz sencilla, funciones fáciles de usar y gran practicidad, puede ayudarle a dominar rápidamente el
Este documento presenta principalmente cómo utilizar DobotStudio Pro para controlar el brazo robótico de seis ejes (series CR y Nova).
Win7
Win10
Win11
Procedimiento
Paso 1: haga doble clic en el paquete de instalación de DobotStudio Pro. Seleccione un idioma para la instalación. Haga clic en Siguiente.
Paso 2: haga clic en Instalar con un clic o inicie la instalación después de configurar la ruta de instalación en las opciones personalizadas.
7
Machine Translated by Google
Paso 3: Después de la instalación, haga clic en Experimentar ahora para ingresar a DobotStudio Pro.
Guía
Si está utilizando DobotStudio Pro por primera vez, se recomienda leer esta Guía en el siguiente orden.
3. Configuración: configure el brazo robótico según los requisitos reales. Si el robot está instalado en un interior
modo de montaje en techo o pared o en un ángulo determinado, debe configurar el ángulo de rotación y el ángulo de inclinación
8
Machine Translated by Google
4. Monitoreo de E/S: conozca la función de monitoreo proporcionada por DobotStudio Pro. Si lo necesitas
instale los complementos finales; consulte Dobot+ para conocer la configuración.
9
Machine Translated by Google
2 Conexión al robot
DobotStudio Pro admite conexión por cable (LAN) e inalámbrica (WiFi) al robot.
NOTA
Si la versión del controlador del robot es inferior a 3.5.4.0, deberá abrir el protocolo SMB1 antes de conectarse
al robot. Consulte (Opcional) Protocolo abierto SMB en este capítulo para obtener más detalles.
Conecte un extremo del cable de red a la interfaz LAN del controlador y el otro extremo a la PC.
Cambie la dirección IP de la PC para que esté en el mismo segmento de red que la del controlador. La dirección IP
Las diferentes versiones de Windows varían en la modificación de la dirección IP. Esta sección toma Windows 10 como
Paso 2: haga clic derecho en Propiedades en la red actualmente conectada. Luego haga doble clic en Protocolo de Internet
Paso 3: Seleccione Usar la siguiente dirección IP en la página "Protocolo de Internet versión 4 (TCP/IPv4)" y cambie la dirección
IP, la máscara de subred y la puerta de enlace de la PC. Puede cambiar la dirección IP de la PC para que esté en el mismo
segmento de red que la del controlador sin conflictos. La máscara de subred y la puerta de enlace de la PC deben ser las
mismas que las del controlador. Por ejemplo, configure la dirección IP en 192.168.5.100 y la subred
máscara al 255.255.255.0.
10
Machine Translated by Google
Paso 5: Después de la conexión, verá la información emergente en la interfaz de DobotStudio Pro y el estado de la conexión
11
Machine Translated by Google
Conexión inalámbrica
Antes de conectarse al robot, asegúrese de que se haya instalado un módulo WiFi en el controlador.
Paso 1: busque el nombre WiFi del controlador Dobot y conéctelo. El SSID predeterminado de WiFi es "Dobot {Nombre del producto}
{Número de serie}", donde el número de serie son los dos números de 4 dígitos conectados por "" en el número S/N del robot (el
código S/N está colocado a la placa de identificación en la base del brazo del robot. Por ejemplo, el SSID predeterminado es
"DobotCR540250731" para el CR5 con SN "40250731"), y la contraseña de WiFi es 1234567890 de forma predeterminada. Puede
Paso 2: seleccione un robot en la parte superior de la interfaz de DobotStudio Pro y haga clic en Conectar.
Paso 3: Después de la conexión, verá la información emergente en la interfaz de DobotStudio Pro y el estado de la conexión cambiará
12
Machine Translated by Google
2. Seleccione Soporte para compartir archivos SMB 1.0/CIFS y haga clic en Aceptar.
13
Machine Translated by Google
14
Machine Translated by Google
3 interfaz principal
15
Machine Translated by Google
No. Descripción
2 Muestra los proyectos recientes, en los que puedes hacer clic para abrirlos rápidamente.
Haga clic en el icono de la barra de herramientas derecha para mostrar u ocultar los paneles correspondientes, incluidos
4 Control, E/S, Modbus, Variable Global y Dobot+. El panel de control se muestra mediante
predeterminado después de que DobotStudio Pro se conecte exitosamente al robot.
dieciséis
Machine Translated by Google
No. Descripción
Botón de habilitación. Haga clic para cambiar el estado de habilitación del brazo robótico. Consulte Estado de habilitación
5 para obtener más detalles. El botón es azul en estado deshabilitado, verde en estado habilitado y blanco en estado
de apagado.
Arrastre el control deslizante azul o haga clic en la barra de velocidad para ajustar la relación de velocidad global. La relación
6 de velocidad global es el factor de cálculo de la velocidad de carrera real del brazo robótico. Para conocer el
método de cálculo, consulte Configuración de Jog.
Botón de parada de emergencia. Presione el botón en caso de emergencia y el brazo robótico dejará de funcionar y se
7
apagará. Consulte Botón de parada de emergencia para obtener más detalles.
Registro de alarmas
Si un punto se guarda incorrectamente, por ejemplo, un robot se mueve hacia donde un punto está en una posición limitada o un punto
singular, se activará una alarma. Si se activa una alarma cuando un robot está en ejecución, el icono de alarma
17
Machine Translated by Google
En este caso, puede hacer doble clic en la información de la alarma para ver la causa y la solución, y hacer clic en **Borrar
Alarma**.
Estado de habilitación
Cuando el botón Habilitar es azul (aparecerá ), el brazo robótico está en estado deshabilitado. Haga clic en el botón y
la ventana "Modificación de habilitación de carga" (la coordenada excéntrica de la carga final debe
18
Machine Translated by Google
debe configurarse cuando el eje J6 esté a 0° y el valor de carga no debe exceder el peso de carga máximo permitido del
robot). Después de configurar los parámetros, haga clic en Confirmar modificación para habilitar el robot.
El brazo del robot comienza a moverse ligeramente y luego la luz indicadora de fin se vuelve verde, lo que indica que el brazo del
robot está habilitado. Al mismo tiempo, el botón Habilitar se mueve hacia el lado derecho y el ícono se vuelve
verde ( ) (el signo de exclamación amarillo en la esquina inferior derecha indica que la carga es de 0 kg)
Cuando el botón Habilitar está verde, el brazo robótico está en estado habilitado. Haga clic en el botón y se mostrará un
cuadro de confirmación. Después de su confirmación, el brazo robótico comienza a desactivarse. La luz indicadora al final del
brazo robótico se vuelve azul, lo que indica que el brazo robótico está desactivado. Al mismo tiempo, el botón Habilitar también
se vuelve azul.
Cuando el botón Habilitar parpadea en azul, el robot está en modo de arrastre. En este caso, no puede desactivar el robot ni
controlar su movimiento (ejecutar proyectos, realizar jogging, ejecutar a posturas específicas, etc.) a través del
software.
Una vez que se presiona el botón de parada de emergencia, el brazo robótico dejará de funcionar y se apagará, y el ícono de parada
Si necesita habilitar el brazo del robot nuevamente, reinicie el botón de parada de emergencia, encienda el robot y
luego habilítelo.
19
Machine Translated by Google
NOTA
Si se presiona el botón físico de parada de emergencia, el icono del botón de parada de emergencia en el
software no cambiará. Antes de borrar la alarma, primero debe restablecer el botón físico de parada de emergencia
20
Machine Translated by Google
No. Descripción
1 Haga clic para ocultar el panel. Puede hacer clic en Control en la barra de herramientas derecha para mostrar el panel.
2 Mantenga presionado el botón para mover el robot a su postura inicial, que se puede configurar en Configuración.
4 Haga clic para plegar el panel de control y haga clic nuevamente para desplegar el panel.
Haga clic en la lista desplegable a la derecha de Sistema de coordenadas del usuario o Sistema de coordenadas de la herramienta.
5
para seleccionar un índice del sistema de coordenadas que necesita utilizar.
Muestra el movimiento del brazo del robot en tiempo real cuando estás trotando o ejecutando el
6
brazo robótico.
Jog: el robot sigue moviéndose cuando mantienes presionado el botón de jog y se detiene.
21
Machine Translated by Google
Mueva el panel de operaciones. La columna de la izquierda son los botones de desplazamiento para el sistema de coordenadas cartesianas y
la columna de la derecha son los botones de desplazamiento para el sistema de coordenadas conjuntas.
Tome X+, X como ejemplo en el sistema de coordenadas cartesianas: haga clic en X+, X: el brazo
8
del robot se mueve a lo largo del eje X en dirección positiva o negativa.
Tome J1+, J1 como ejemplo en Sistema de coordenadas conjuntas: Haga clic en J1+, J1: el motor base
del brazo del robot gira en dirección positiva o negativa.
22
Machine Translated by Google
4 configuraciones
4.1 Configuración
4.6.3 Instalación
4.6.4 Sensibilidad
23
Machine Translated by Google
La página de Configuración básica se utiliza para ver las especificaciones del dispositivo y configurar la postura del robot.
Seleccione El robot se conectará automáticamente la próxima vez que se inicie el software y el software intentará conectarse
Puede señalar Ver más para ver más información sobre la versión del firmware.
Postura inicial
La postura inicial es una postura autodefinida, que es la postura inicial predeterminada, es decir, todos los ángulos de las articulaciones.
son 0.
Puede hacer clic en Restablecer postura inicial para modificar la postura inicial.
24
Machine Translated by Google
Puede ingresar los ángulos de todas las articulaciones o mover el robot a una postura específica y hacer clic en Obtener postura actual para obtener los
ángulos actuales de todas las articulaciones. Después de confirmar todos los ángulos de las juntas, haga clic en Aceptar para actualizar el valor inicial.
postura.
Mantenga presionado Mover a la pose predeterminada para mover el robot al punto inicial. Haga clic en Restaurar postura predeterminada para
25
Machine Translated by Google
Mover el robot a la posición de paquete puede reducir el espacio del robot, lo que facilita el embalaje y el transporte.
Mantenga presionado Mover a esta posición para mover el robot a la postura correspondiente.
26
Machine Translated by Google
Configuración de IP
El robot puede comunicarse con un dispositivo externo a través de la interfaz LAN que admite los protocolos TCP, UDP y Modbus.
Puede modificar la dirección IP, la máscara de red y la puerta de enlace. La dirección IP del robot debe estar dentro del mismo
Cuando el controlador es CC162, solo hay una interfaz LAN y se modifica la dirección de esta interfaz. Cuando el controlador
Si el brazo robótico está conectado al dispositivo externo directamente o mediante un interruptor, debe marcar Establecer IP
manualmente, modificar la dirección IP, la máscara de red y la puerta de enlace y hacer clic en Aplicar.
Si el brazo robótico está conectado al dispositivo externo a través de un enrutador, marque Obtener IP automáticamente (el
Configuración WiFi
El sistema robótico puede comunicarse con un dispositivo externo a través de WiFi. Puede modificar el nombre y la contraseña de
WiFi y luego reiniciar el controlador para que sea efectivo. La contraseña predeterminada es 1234567890.
27
Machine Translated by Google
28
Machine Translated by Google
29
Machine Translated by Google
Cuando se cambia la posición de la pieza de trabajo o es necesario reutilizar un programa de robot en múltiples sistemas de
procesamiento del mismo tipo, puede crear un sistema de coordenadas en la pieza de trabajo para simplificar la programación.
DobotStudio Pro admite 10 sistemas de coordenadas de usuario, de los cuales el sistema de coordenadas de usuario 0 se define como el
NOTA
Al crear un sistema de coordenadas de usuario, asegúrese de que el sistema de coordenadas de referencia sea el sistema de
coordenadas base.
El sistema de coordenadas del usuario se crea mediante el método de calibración de tres puntos. Mueva el robot a tres puntos: A, B y C.
El punto A se define como el origen y la línea del punto A al punto B se define como la dirección positiva del eje X. La línea en la que
el punto C es perpendicular al eje X se define como la dirección positiva del eje Y. El eje Z se puede definir según la regla de la mano
derecha.
30
Machine Translated by Google
NOTA
sea el sistema de coordenadas base, es decir, el sistema de coordenadas de usuario sea 0 cuando mueva el robot.
31
Machine Translated by Google
Al presionar prolongadamente Ejecutar hasta se puede mover el robot a los puntos establecidos.
Ahora puede seleccionar un sistema de coordenadas de usuario y mover el brazo del robot.
NOTA
Al crear o modificar un sistema de coordenadas de usuario, también puede seleccionar Configuración de entrada e ingresar directamente
Otras operaciones
Modificar un sistema de coordenadas: seleccione un sistema de coordenadas y haga clic en Modificar. El procedimiento para modificar un
Copiar un sistema de coordenadas: Seleccione un sistema de coordenadas y haga clic en copiar , y creará un nuevo sistema de
32
Machine Translated by Google
Cuando se monta en el robot un efector final, como una pistola de soldar o una pinza, se requiere el sistema de coordenadas de la
herramienta para programar y operar un robot. Por ejemplo, cuando se utilizan varias pinzas para transportar varias piezas de
trabajo simultáneamente, puede configurar un sistema de coordenadas de herramienta para cada pinza para mejorar la eficiencia.
DobotStudio Pro admite 10 sistemas de coordenadas de herramientas. El sistema de coordenadas de herramienta 0 es el sistema
NOTA
Al crear un sistema de coordenadas de herramienta, asegúrese de que el sistema de coordenadas de referencia sea el sistema
de coordenadas base.
El sistema de coordenadas de herramienta del robot de seis ejes se crea mediante el método de calibración de tres puntos (TCP +ZX):
después de montar el efector final, ajuste la dirección del efector final para que TCP (punto central de la herramienta) se alinee con el
mismo punto ( punto de referencia) en tres direcciones diferentes para obtener el desplazamiento de posición del efector final. Luego
mueva el robot a otros tres puntos (A, B, C) para obtener el desplazamiento del ángulo.
33
Machine Translated by Google
NOTA
Al crear un sistema de coordenadas de herramienta, asegúrese de que el sistema de coordenadas de referencia sea
34
Machine Translated by Google
el sistema de coordenadas base, es decir, el sistema de coordenadas de la herramienta es 0 cuando mueve el robot.
Al presionar prolongadamente Ejecutar hasta se puede mover el robot a los puntos establecidos.
1. Mueva el robot hasta el punto de referencia en la primera dirección, luego haga clic en obtener en el panel P1.
2. Mueva el robot hasta el punto de referencia en la segunda dirección y luego haga clic en obtener en el panel P2.
3. Mueva el robot hasta el punto de referencia en la tercera dirección y luego haga clic en obtener en el panel P3.
4. Mueva el robot hasta el punto de referencia en dirección vertical y luego haga clic en obtener en el panel P4.
5. Mueva el eje Z a lo largo de la dirección positiva para mover el robot a otro punto, luego haga clic en obtener en P5.
panel.
6. Mueva el eje X a lo largo de la dirección positiva para mover el robot al punto P6 (no en la misma línea con P4 y
Después de agregar o modificar un sistema de coordenadas de herramienta, puede seleccionar un sistema de coordenadas de herramienta en el panel
NOTA
Al crear o modificar un sistema de coordenadas de herramienta, también puede seleccionar Configuración de entrada o Configuración de tres
puntos en el Paso 3.
Otras operaciones
35
Machine Translated by Google
Modificar un sistema de coordenadas: seleccione un sistema de coordenadas y haga clic en Modificar. El procedimiento para modificar un
Copiar un sistema de coordenadas: Seleccione un sistema de coordenadas y haga clic en copiar , y creará un nuevo sistema de
36
Machine Translated by Google
final estén dentro del rango máximo para el robot y que la articulación 6 no se vuelva excéntrica.
Configurar la carga y las coordenadas excéntricas mejora el movimiento del robot, reduce la vibración y acorta el tiempo de
funcionamiento.
NOTA
Cada vez que habilite el robot, aparecerá una ventana "Modificación de habilitación de carga" que requiere que configure los
parámetros de carga. Los parámetros que establezca se sincronizarán con "Cargar parámetros".
página.
El peso de la carga incluye el peso del efector final y la pieza de trabajo, que no debe exceder el
carga máxima del brazo del robot.
AVISO
Los ajustes de carga incorrectos pueden causar alarmas de detección de colisión anormales o que el brazo del robot esté
37
Machine Translated by Google
Establezca correctamente las coordenadas de carga y excéntricas. De lo contrario, se pueden producir errores o golpes excesivos y acortar el ciclo de vida de las
piezas.
38
Machine Translated by Google
Los parámetros de movimiento óptimos se han establecido antes de la entrega y no se recomienda modificarlos sin requisitos especiales.
Si cree que la velocidad del robot es demasiado alta, puede ajustarla hacia abajo según sus necesidades reales. Si se requiere una
velocidad mayor, comuníquese con el soporte técnico para obtener una velocidad
aumentar la solución.
Ajuste de avance
Puede establecer la velocidad y aceleración máximas en el sistema de coordenadas conjuntas y en el sistema de coordenadas cartesianas.
Haciendo clic restaurará todos los valores en el módulo correspondiente a los valores predeterminados.
Configuración de reproducción
39
Machine Translated by Google
Puede configurar la velocidad, la aceleración y la sacudida en el sistema de coordenadas conjuntas y en el sistema de coordenadas cartesianas. Haga clic en
Velocidad/aceleración real del robot = velocidad/aceleración establecidas × relación de velocidad global × porcentaje establecido en los comandos de velocidad
durante la programación.
Haciendo clic restaurará todos los valores en el módulo correspondiente a los valores predeterminados.
40
Machine Translated by Google
41
Machine Translated by Google
La detección de colisiones se utiliza principalmente para reducir el impacto sobre el robot y evitar daños al robot o al equipo
externo. Si se activa la detección de colisión, el brazo robótico suspenderá su funcionamiento automáticamente al chocar contra
un obstáculo.
Cuanto mayor sea el nivel de sensibilidad que seleccione, menor será la fuerza que necesitará el robot para detenerse después de la detección de una colisión.
Cuando se detecta la fuerza necesaria para detenerse al mover el robot, aparecerá la ventana "Detección de colisión". En este caso,
debe resolver la causa de la colisión y hacer clic en Restablecer. Si necesita operar el software para resolver la causa de la colisión,
haga clic en Recordármelo en un minuto para cerrar temporalmente la ventana emergente (se mostrará nuevamente un mensaje
emergente en un minuto).
42
Machine Translated by Google
El procesamiento posterior a la colisión se refiere al tratamiento después de la colisión mientras el brazo robótico ejecuta el proyecto:
Pausa: el brazo robótico hace una pausa. Debe seleccionar si desea reanudar la operación después de resolver la causa de la
Ingrese al modo de arrastre: el brazo robótico deja de ejecutar el proyecto y automáticamente ingresa al modo de arrastre.
Ingrese al modo de retroceso: el brazo del robot retrocede automáticamente la distancia especificada de acuerdo con la
43
Machine Translated by Google
El frenado evita que el eje del servomotor se mueva cuando el servocontrolador no está en funcionamiento, de
modo que el motor mantiene su posición bloqueada y garantiza que la parte móvil de la máquina no se moverá
debido a su propio peso o fuerza externa.
Si desea arrastrar las articulaciones manualmente, puede habilitar la función de freno, es decir, sostener la articulación manualmente después de
que el brazo del robot esté desactivado y luego hacer clic en el botón de la articulación correspondiente.
AVISO
Al habilitar la función, sujete la articulación con la mano para evitar que se mueva.
44
Machine Translated by Google
4.6.3 Instalación
Si el robot está montado sobre una mesa plana o sobre el suelo, no es necesario configurarlo en esta página. Sin embargo, si el robot está
montado en el techo, en la pared o en ángulo, deberá configurar el ángulo de rotación y el ángulo de inclinación en
el estado de inhabilitado.
Calibración manual
El ángulo de inclinación es el ángulo que gira un robot en sentido antihorario alrededor del eje X en el punto de origen.
El ángulo de rotación es el ángulo en el que un robot gira en sentido antihorario alrededor del eje Z en el punto de origen.
Calibración automática
Después de instalar y habilitar el robot, puede hacer clic en Calibración y operar de acuerdo con la ventana emergente para obtener el
45
Machine Translated by Google
46
Machine Translated by Google
4.6.4 Sensibilidad
La configuración de sensibilidad se utiliza principalmente para ajustar la sensibilidad de las articulaciones al correr y arrastrar.
47
Machine Translated by Google
NOTA
48
Machine Translated by Google
Cuando el tipo de controlador es CCBOX, es necesario configurar el rango de voltaje de entrada del controlador.
Configure de acuerdo con el rango real de voltaje de entrada, con un voltaje máximo de no más de 60 V y un voltaje
mínimo de no menos de 30 V.
49
Machine Translated by Google
modos de control remoto, como el modo de E/S remotas y el modo Modbus remoto.
NOTA
No es necesario reiniciar el sistema de control del robot al cambiar el modo de control remoto.
No importa en qué modo se encuentre el sistema de control del robot, el interruptor de parada de emergencia siempre
es efectivo.
Si el robot se ejecuta en el modo de control remoto, el proyecto dejará de ejecutarse automáticamente cuando
No envíe señales de control antes de que el robot se encienda e inicialice; de lo contrario, podría provocar que
Después de ingresar al modo de control remoto, la barra de herramientas superior mostrará el modo actual.
Haga clic en "Registro de ejecución" para ver el registro de ejecución del modo remoto. La siguiente figura
Modo en línea
Es el modo de control predeterminado. Puedes controlar el brazo robótico a través de DobotStudio Pro.
Modbus remoto
50
Machine Translated by Google
Las funciones específicas de los registros Modbus se muestran arriba. Puede hacer clic en Modificar para editarlo.
Requisitos previos
El robot se ha conectado al equipo externo a través de la interfaz LAN. Puedes conectarlos directamente o mediante un enrutador.
La dirección IP del robot y el equipo externo debe estar dentro del mismo segmento de red sin conflicto. La dirección IP
Procedimiento
1. Establezca el modo actual en Modbus remoto y seleccione un proyecto fuera de línea (programa de bloques o script) para
correr.
2. Si necesita iniciar varios proyectos diferentes a través de Modbus, haga clic en Configuración avanzada. En Configuración avanzada,
puede configurar la dirección de registro de retención del proyecto de opción y configurar la lista de proyectos de opción, como
51
Machine Translated by Google
3. Haga clic en Aplicar. Ahora el brazo robótico entra en modo Modbus remoto. Sólo se emite el comando de parada de emergencia.
disponible.
E/S remotas
El equipo externo puede controlar el brazo robótico en el modo IO remoto.
52
Machine Translated by Google
La definición de interfaz IO específica del sistema de control se muestra en la figura anterior. Puede hacer clic en Modificar para editarlo.
Cuando el tipo de armario de control es CCBOX, las E/S seguras y las E/S universales comparten el mismo terminal. El terminal
Al hacer clic en Configuración avanzada se pueden configurar múltiples proyectos a través de E/S de grupo.
53
Machine Translated by Google
1. Haga clic en + o para aumentar o disminuir la cantidad de direcciones asignadas a E/S de grupo. Cuanto más
Cuantas más direcciones sean asignadas, más configurables serán los proyectos.
15 proyectos opcionales.
2. Puede modificar la dirección asignada a través de la lista desplegable. La dirección asignada al grupo de E/S.
3. Después de asignar direcciones, puede configurar proyectos opcionales (al menos uno) para cada valor de IO de grupo.
En el modo de E/S remotas, antes de ejecutar el proyecto, seleccione el proyecto opcional correspondiente configurando el valor
de E/S del grupo correspondiente (el azul se refiere a ENCENDIDO y el gris a APAGADO).
DI1 está ON, DI2, DI3 y DI4 están OFF: seleccione el primer proyecto opcional; DI1 y DI2 están
ON, DI3 y DI4 están OFF: seleccione el tercer proyecto opcional; DI1~ DI4 están todos ENCENDIDOS:
Cuando todas las E/S del grupo están configuradas en APAGADO, significa seleccionar el proyecto principal configurado
en la página anterior.
54
Machine Translated by Google
Requisito previo
Procedimiento
1. Establezca el modo actual en E/S remota y seleccione un proyecto fuera de línea (programa de bloques o secuencia de comandos) para ejecutar.
2. Haga clic en Aplicar. Ahora el brazo robótico ingresa al modo IO remoto. Sólo se emite el comando de parada de emergencia.
disponible.
3. (Opcional) Active E/S de grupo en dispositivos externos y seleccione un proyecto para ejecutar.
55
Machine Translated by Google
robot haya sido golpeado, se cambiará el punto de inicio del robot. En este caso es necesario restablecer el punto de origen.
NOTA
La calibración inicial se utiliza sólo cuando cambia la posición inicial. Por favor opere con precaución.
La función de calibración en casa se puede utilizar después de ingresar la contraseña (contraseña predeterminada:
888888)
Mueva el robot al punto de inicio según las indicaciones de la página. Haga clic en Calibración inicial en el estado habilitado.
Después de operar la calibración de referencia, puede verificar las coordenadas conjuntas en el panel de control. Ahora todas las
56
Machine Translated by Google
57
Machine Translated by Google
5 Monitoreo de E/S
Puede monitorear y configurar el estado de E/S del controlador y la herramienta final en la página de E/S. Para la E/S
definición, consulte la descripción de IO en la guía de hardware del robot correspondiente. Como diferentes controladores
varían en el número de E/S, las capturas de pantalla de este documento son solo como referencia.
No. Descripción
1 Haga clic para ocultar el panel y haga clic en E/S en la barra de herramientas derecha para mostrar el panel.
2 Haga clic para agregar E/S extendidas, que se pueden usar para monitorear la comunicación Modbus. Ver
Extensión de E/S para más detalles.
3 Haga clic para establecer el alias de E/S o si desea mostrarlo. Consulte la configuración de E/S para obtener más detalles.
58
Machine Translated by Google
4 Haga clic para plegar el panel de control y haga clic nuevamente para desplegar el panel.
extensión de E/S
Dirección IP: Dirección del dispositivo Modbus. No puede ser la misma que la dirección IP del controlador.
Interfaz LAN (por ejemplo, la predeterminada 192.168.5.1); de lo contrario, puede causar fallas funcionales.
anormalidades.
DI/DO: Configure la dirección de registro y el número de DI/DO después de seleccionar la función. La dirección debe asignarse desde 0.
Después de hacer clic en Aceptar, aparecerá una nueva E/S en la parte inferior del panel de E/S. La función de monitoreo tiene efecto solo después de
reiniciar el controlador.
configuración de E/S
59
Machine Translated by Google
Ingrese el alias de IO en el lado derecho y el alias se mostrará en la página de monitoreo. Al mismo tiempo, también puede
Cuando el tipo de gabinete de control es CCBOX, puede configurar el tipo de entrada/salida digital en PNP (activo de alto
60
Machine Translated by Google
Supervisión
La página E/S del controlador y E/S de herramientas admite las siguientes funciones.
Salida: Configure la salida digital o la salida analógica. Para la salida digital, puede hacer clic en el interruptor correspondiente en el
lado derecho para cambiar su estado. Para salida analógica, primero debe hacer clic en Modificar y luego hacer clic en Confirmar
Monitor: Consulta el estado real de la entrada y salida. El punto a la derecha de la entrada digital indica el estado de la DI correspondiente.
Gris significa que DI no está activado y verde significa que DI está activado.
Simulación: Simule el estado de la entrada digital para facilitar la depuración y ejecución de programas. Haga clic en el área de
visualización de estado del DI correspondiente y aparecerá una ventana de configuración. Haga clic en Ficticio y seleccione
Transformación DI, y la DI cambiará al estado de disparo virtual (punto verde), que se considera ENCENDIDO lógicamente. Si no
61
Machine Translated by Google
Cuando el tipo de gabinete de control es CC162, la entrada/salida analógica admite modo de voltaje o corriente.
Haga clic en Modificar para seleccionar el modo correspondiente y haga clic en Confirmar modificación para cambiar el modo. La
unidad del valor en el lado derecho cambiará en tiempo real. Tenga en cuenta que el valor de la entrada analógica sólo puede
ser visto en lugar de modificado.
NOTA
Esta función debe usarse con el interruptor DIP, que se encuentra dentro del gabinete de control. Si necesita configurarlo,
Puede configurar las funciones de cada interfaz de E/S segura en la página Safe IO. Para obtener detalles sobre las E/S seguras,
Cuando el tipo de armario de control es CCBOX, las E/S seguras y las E/S universales comparten el mismo terminal. El
terminal configurado como E/S remota no se puede configurar como E/S segura.
62
Machine Translated by Google
NOTA
En el uso real, intente asegurarse de que la señal SI cambie en un intervalo de más de 150 ms; de lo contrario, el salto de la
Por ejemplo, cuando la entrada de reinicio de parada de protección no está configurada, el salto de la señal de entrada de
parada de protección (el intervalo de cambio es inferior a 150 ms) puede hacer que el robot no reanude automáticamente la
operación después de una pausa. En este caso, debe resolver el problema mediante el método siguiente.
2. Active nuevamente la señal de entrada de parada de protección y permanezca por encima de 150 ms.
63
Machine Translated by Google
6 Modbus
El módulo Modbus, que actúa como maestro Modbus, se utiliza para conectar el esclavo Modbus.
No. Descripción
1 Haga clic para ocultar el panel y haga clic en Modbus en la barra de herramientas derecha para restaurarlo.
2 Haga clic para conectar el esclavo Modbus. Consulte Conexión del esclavo Modbus para obtener más detalles.
3 Haga clic para plegar el panel de control y haga clic nuevamente para desplegar el panel.
64
Machine Translated by Google
Tasa de escaneo: intervalo de tiempo de escaneo de la estación esclava por parte del brazo robótico.
sesenta y cinco
Machine Translated by Google
7 variables globales
Después de configurar la variable global, puede llamar a la variable a través de bloques relevantes en la programación de bloques,
Cadena: Cadena
int: Entero
precisión: El punto del robot se puede obtener moviendo el robot a la posición especificada, como se muestra en la siguiente
figura.
66
Machine Translated by Google
Retención global:
Cuando se marca Retención global , se guardará cualquier modificación a la variable y el valor modificado se guardará
Cuando no se marca Retención global , las modificaciones a la variable solo son efectivas cuando se está ejecutando el script.
Se recomienda utilizar el formato g_project abreviatura_variable que significa nombrar variables globales y evitar el uso de
Cabe señalar que los nombres de las variables globales no pueden duplicar las palabras clave reservadas de lua ni las funciones
67
Machine Translated by Google
68
Machine Translated by Google
8Dobot+
La página se utiliza para instalar y configurar el complemento final para controlar la herramienta final del robot.
Puede hacer clic en Dobot + en la parte superior izquierda del panel para ocultarlo y restaurarlo haciendo clic en Dobot + en la
Haga clic en Agregar complementos para ver la lista de complementos. Puede hacer clic en Instalar para instalar el complemento o hacer clic en Importar
69
Machine Translated by Google
complemento correspondiente, puede configurar las funciones básicas del complemento. Los diferentes complementos varían
en sus métodos de configuración, que no se describirán en esta guía. Si desea eliminar el complemento, haga clic en x en la
70
Machine Translated by Google
Después de instalar un complemento, los bloques/comandos relevantes se agregarán en DobotBlockly y el módulo Script.
71
Machine Translated by Google
Puedes hacer clic en la esquina superior derecha de la página para configurar una tecla de acceso rápido para el complemento.
Después de guardarlo, puede controlar la herramienta Finalizar a través del botón Finalizar. Por ejemplo, seleccione DH. Establezca la
tecla de acceso directo 1 en DhOpen y la tecla de acceso directo 2 en DhClose y haga clic en Guardar. Luego presione el botón al final
del robot, como se muestra a continuación, y la pinza se abrirá. Presione el botón nuevamente y la pinza se cerrará.
72
Machine Translated by Google
73
Machine Translated by Google
9 Programación
9.1 Guión
DobotBlockly 9.2
74
Machine Translated by Google
NOTA
Este documento solo presenta el uso de programación en bloques. Para una descripción específica de los bloques, ,
consulte el Apéndice B.
No. Descripción
3 Controlar la ejecución del proyecto. Consulte Ejecución del proyecto para obtener más detalles.
Área de edición de programas. Puedes arrastrar los bloques al área para editar un programa. Haga clic
derecho en el bloque en el área de programación para abrir el menú, que admite copiar bloques, eliminar
5 bloques y convertir un grupo de bloques en subrutinas.
Si un bloque se modifica pero no se guarda, verá mensajes en el lado izquierdo del bloque, que
que le indicarán que el bloque se ha modificado.
75
Machine Translated by Google
Haga clic para abrir el panel de Puntos . Si hay cambios no guardados, verá un punto rojo en la parte inferior derecha
6
del icono. Consulte Puntos para obtener más detalles.
Icono Descripción
Arrastra el bloque a este ícono para eliminarlo, o mantenlo presionado y selecciona Eliminar bloque para
eliminarlo.
Puntos
La interfaz Point se utiliza para gestionar los puntos en la programación, como se muestra a continuación.
76
Machine Translated by Google
No. Descripción
Haga clic para ocultar el panel de Puntos . Puede hacer clic en Puntos en la barra de herramientas derecha para restaurar su visualización.
1
Si hay cambios no guardados, el ícono cambiará a .
4 Haga clic para plegar el panel de control y haga clic nuevamente para desplegar el panel.
77
Machine Translated by Google
Haga clic en Depurar después de guardar el proyecto y el proyecto comenzará a ejecutarse paso a paso. Puede ver el registro de operaciones en este
proceso.
Haga clic en Iniciar después de guardar el proyecto y el proyecto comenzará a ejecutarse. Se mostrará el registro del proceso en ejecución.
Haga clic en Pausa para pausar la ejecución del proyecto y el botón cambia a Continuar. Haga clic en Reanudar para continuar ejecutando
el proyecto.
78
Machine Translated by Google
Procedimiento de operación
El siguiente ejemplo describe el procedimiento de edición de un programa de bloques para controlar el robot para que se mueva entre dos
puntos repetidamente.
1. Abra el panel Puntos . Mueva el brazo del robot a un punto (P1) y haga clic en Agregar para guardar el punto P1.
2. Mueva el brazo del robot a un punto (P2) y haga clic en Agregar para guardar el punto P2.
3. Arrastre el bloque para siempre desde el área del bloque y colóquelo debajo del bloque Inicio .
4. Arrastrar dentro del bloque para siempre y seleccione P1 para el punto objetivo.
79
Machine Translated by Google
6. Haga clic en Guardar, ingrese el nombre del proyecto y haga clic en Aceptar.
80
Machine Translated by Google
9.2 Guión
Los robots Dobot proporcionan varias API, como comandos de movimiento, comandos TCP/UDP, etc., que utilizan el lenguaje Lua para el
desarrollo secundario. DobotStudio Pro proporciona un entorno de programación para scripts Lua. Puedes escribir tus propios scripts Lua
NOTA
Esta sección presenta principalmente el uso de la programación de scripts. Para obtener una descripción específica de
No. Descripción
3 Abra la página de depuración. Consulte Proyecto de depuración para obtener más detalles.
4 Controlar la ejecución del proyecto. Consulte Ejecución del proyecto para obtener más detalles.
Lista de comandos.
Haga clic en el lado izquierdo del comando para ver la descripción del comando.
Haga doble clic en el comando para agregar rápidamente el comando Lua al área de programación de la derecha.
5 Si hay un
ícono azul en el lado derecho del comando, haga doble clic en el botón azul para agregar rápidamente el
comando Lua con parámetros detallados al área de programación en la derecha.
81
Machine Translated by Google
6 Haga clic en + para agregar subprocesos. Los subprocesos son programas paralelos que se ejecutan con el principal.
programa. Puede configurar E/S, variables, etc. en subprocesos, pero no puede llamar al movimiento
comandos.
Haga clic para abrir el panel de Puntos . Si hay cambios no guardados, verá un punto rojo en el
7
parte inferior derecha del icono. Consulte Puntos para obtener más detalles.
Puntos
La interfaz Point se utiliza para gestionar los puntos en la programación, como se muestra a continuación.
No. Descripción
Haga clic para ocultar el panel de Puntos . Puede hacer clic en Puntos en la barra de herramientas derecha para restaurarlo. Sí hay
1
son puntos no guardados, el ícono cambiará a .
82
Machine Translated by Google
4 Haga clic para plegar el panel de control y haga clic nuevamente para desplegar el panel.
Proyecto de depuración
Haga clic en Depurar después de guardar el proyecto y el proyecto entrará en modo de depuración. Al hacer clic en el número de línea en el lado izquierdo
del código se puede establecer un punto de interrupción. El programa se detendrá automáticamente cuando se ejecute hasta el punto de interrupción
en modo de depuración. Después de que el programa se detenga en el punto de interrupción, puede hacer clic en Continuar para mantener el programa en
ejecución; o haga clic en Paso para ejecutar el programa paso a paso. Haga clic en Salir de depuración para salir de la depuración.
modo.
Proyecto en ejecución
Haga clic en Iniciar después de guardar el proyecto y el proyecto comenzará a ejecutarse. El registro del proceso en ejecución
83
Machine Translated by Google
Haga clic en Iniciar después de guardar el proyecto y el proyecto comenzará a ejecutarse. Se mostrará el registro del proceso en
ejecución.
Al hacer clic en Pausa se puede pausar la ejecución del proyecto y el botón cambiará a Reanudar. Al hacer clic en
Procedimiento de operación
El siguiente ejemplo describe el procedimiento de edición de un programa de script para controlar el robot para que se mueva
1. Abra el panel Puntos . Mueva el brazo del robot a un punto (P1) y haga clic en Agregar para guardar el punto P1.
2. Mueva el brazo del robot a otro punto (P2) y haga clic en Agregar para guardar el punto P2.
4. Agregue un comando de movimiento bajo el comando de bucle y establezca P1 como punto objetivo.
mientras (verdadero)
hacer
Ir(P1)
Ir(P2)
fin
84
Machine Translated by Google
6. Haga clic en Guardar, ingrese el nombre del proyecto y haga clic en Aceptar.
85
Machine Translated by Google
10 proceso
86
Machine Translated by Google
La reproducción de trayectoria se utiliza para reproducir la trayectoria registrada durante el arrastre manual del robot.
Haga clic en Nueva trayectoria en la esquina superior derecha y la luz indicadora al final del robot se volverá amarilla.
Después de registrar la trayectoria, haga clic en Guardar ruta en la esquina superior derecha. Ahora la luz indicadora se vuelve verde y se agrega un nuevo
Haga clic en la trayectoria guardada y verá tres botones: Eliminar, Cambiar nombre y Reproducir.
Haga clic en Reproducción para reproducir la trayectoria grabada del robot. En este caso, la luz indicadora al final del robot parpadea en amarillo y
el robot comienza a moverse. Después de la reproducción, el robot deja de moverse y la luz indicadora se vuelve verde.
Haga clic en Cambiar nombre para modificar el nombre del archivo de trayectoria.
NOTA
El archivo de trayectoria guardado se puede llamar a través de comandos de reproducción relevantes en programación en bloques y
scripts.
Haga clic en Avanzado para configurar el modo de reproducción. Puede configurar la relación de velocidad de reproducción si no selecciona
87
Machine Translated by Google
88
Machine Translated by Google
El proceso del transportador es que el sensor fotoeléctrico detecta los objetos en el transportador cuando el transportador está
Codificador Se utiliza un codificador para registrar la distancia de movimiento del transportador y la posición de la pieza de trabajo, y
repórtalos al robot. El codificador debe conectarse a la interfaz del codificador ABZ en el controlador.
Color Puerto
Negro A+
Negro y rojo A
89
Machine Translated by Google
Blanco B+
blanco y rojo B
Naranja Z+
naranja y rojo Z
Marrón E/S 5V
Azul E/S 0V
Sensor fotoeléctrico
El sensor fotoeléctrico emite señales de diferentes niveles según si se detecta o no la pieza de trabajo.
no. El sistema de control puede detectar la pieza de trabajo a través del borde de la señal. Necesitas conectar el
## Calibración del transportador Antes de configurar el proceso del transportador, debe calibrarlo para
obtener la relación posicional entre el transportador y el robot. En los siguientes pasos, el usuario
El sistema de coordenadas se utiliza para la calibración. Antes de la calibración, debe instalar una aguja de calibración en el
2. Habilite el robot. Mueva el robot hasta la posición de la etiqueta en el transportador para obtener el primer punto (punto A,
90
Machine Translated by Google
2. Mueva el robot hasta la posición de la etiqueta en el transportador para obtener el segundo punto (punto B, para determinar
el eje x)
3. Mueva el robot hasta un punto que no esté en la línea determinada por los puntos A y B en el transportador para obtener el tercer punto
Haga clic en Seguimiento del transportador en la página Proceso. Haga clic en Abrir herramienta y verá la siguiente página.
91
Machine Translated by Google
Índice del transportador: seleccione el índice del transportador que se configurará; se admiten varios transportadores.
Índice de coordenadas del usuario: seleccione el sistema de coordenadas del transportador guardado en el último paso.
Codificador
92
Machine Translated by Google
Calibre la resolución del codificador. La resolución del codificador es el incremento de pulso del codificador por unidad de longitud
1. Pegue una etiqueta en el transportador. Mueva el robot a la posición de la etiqueta en el transportador y haga clic en 1 en Pos.
columna para obtener el valor de la Posición 1.
3. Mueva el robot hasta la posición de la etiqueta en el transportador. Haga clic en 2 en la columna Pos para obtener el valor de
Posición 2.
4. Configure la dirección del codificador de acuerdo con la condición real (tomando Positivo como ejemplo).
5. Haga clic en Cálculo para obtener la resolución del codificador.
Configuración de sensores
93
Machine Translated by Google
Entrada de disparo IO: establece el índice del puerto DI en el controlador al que está conectado el sensor.
Distancia de deduplicación: después de detectar una señal válida, si la señal cambia dentro de una distancia posterior, la señal se
Tipo de disparador: solo se admite el disparador de flanco ascendente (no se puede configurar).
La calibración del sensor tiene como objetivo obtener la posición donde el sensor detecta la pieza de trabajo de modo que la posición de
la pieza de trabajo bajo el sistema de coordenadas del usuario en cada momento pueda calcularse en función del desplazamiento de
1. Haga clic en Iniciar escucha para comenzar a escuchar la señal del sensor.
2. Coloque una pieza de trabajo en la parte superior del transportador. Encienda el transportador y la pieza de trabajo se moverá con el
transportador. Después de que el sensor detecte la pieza de trabajo y ésta esté dentro del espacio de trabajo del robot, detenga el
transportador.
3. Mueva el robot hasta el centro de la pieza de trabajo y luego haga clic en Enseñar posición mecánica para obtener la posición actual.
4. Haga clic en Calc Sensor Pos para obtener la posición del sensor.
94
Machine Translated by Google
El borde de trabajo se utiliza para establecer el área de trabajo del robot en el transportador.
Frontera de entrada de trabajo: después de que la pieza de trabajo cruza este borde, el brazo del robot comienza a rastrear y recoger la
pieza de trabajo.
Recoger borde máximo: cuando la pieza de trabajo cruza el borde, si el brazo del robot no ha comenzado a recoger la pieza de trabajo,
se considera que no puede terminar la recogida de la pieza de trabajo, por lo que no la recogerá. El límite debe establecerse en función
de la velocidad de movimiento del transportador y la experiencia real. Se recomienda depurar varias veces antes de obtener el
valor óptimo.
Trabajo fuera del borde: después de que la pieza de trabajo cruza el borde, el brazo del robot dejará de seguir la pieza de
trabajo (para evitar que el robot se salga del área de trabajo) y activará alarmas.
Mueva el robot a la posición correspondiente de cada borde y haga clic en los botones para establecer los valores.
Haga clic en Guardar en la esquina superior derecha. Ahora puede utilizar la configuración del transportador en el proyecto.
Ejemplo
Después de configurar los parámetros de la cinta transportadora, puede editar un script llamando a las API de la cinta transportadora para
95
Machine Translated by Google
En este ejemplo, necesita enseñar seis puntos bajo el sistema de coordenadas del usuario establecido cuando configura la cinta transportadora.
Punto de espera: P1
Punto de seguimiento: P2
Punto de recogida: P3
Punto de elevación: P4
Punto de colocación: P6
96
Machine Translated by Google
El guión es el siguiente.
HACER(2,0)
si bien es cierto
Go(P1,"Speed=100 Accel=100 SYNC=1") //Punto de espera, generalmente establecido dentro del espacio de trabajo
CE
imprimir("Prueba")
si bien es cierto
romper
fin
Dormir(20)
fin
97
Machine Translated by Google
Espera(100)
HACER(2,1)
Espera(100)
Dormir(20)
Dormir(1000)
HACER(2,0,"SINCRONIZACIÓN=1")
Dormir(1000)
Ir(P5,"Velocidad=100 Aceleración=100")
Fin
98
Machine Translated by Google
11 mejores prácticas
Este capítulo describe el proceso completo de control de un brazo robótico a través de E/S remotas para ayudarle
comprender cómo se utilizan las diversas funciones de DobotStudio Pro de manera coordinada.
Ahora supongamos la siguiente escena: después de presionar el botón de inicio, la luz indicadora de funcionamiento se enciende. El brazo
del robot agarra el material desde el punto de recogida a través de la pinza final, se mueve hasta el punto objetivo para liberar el material y
luego regresa al punto de recogida nuevamente para agarrar el material... El proceso se ejecuta repetidamente.
Para lograr la escena anterior, debe instalar una pinza en el extremo del brazo del robot (tomando la pinza DH como ejemplo, consulte
la guía del usuario de la pinza DH para su instalación) y conectar los botones e indicadores al controlador. Interfaz de E/S (suponiendo
que el botón de inicio está conectado a DI11 y el botón de parada está conectado a DI12; el indicador de funcionamiento está conectado
a DO11 y el indicador de alarma está conectado a DO12. Para el cableado, consulte la guía de hardware correspondiente de el
robot).
Proceso general
Después de instalar el hardware y encender el brazo robótico, realice las operaciones de software como
sigue:
1. Conecta el robot
Procedimiento
Para obtener detalles sobre cómo conectarse al robot, consulte Conexión al robot.
1. Busque el nombre WiFi del controlador Dobot y conéctelo. El SSID de WiFi es Dobot_WIFI_XXX (XXX es
el índice del robot ubicado en la base) y la contraseña WiFi es 1234567890 por defecto.
2. Seleccione un robot en la parte superior de la interfaz de DobotStudio Pro y haga clic en Conectar.
99
Machine Translated by Google
3. Haga clic en el botón de habilitación y configure los parámetros de carga para habilitar el robot.
Para obtener detalles sobre el complemento Dobot+, consulte Dobot+. Aquí tomamos el complemento DH como ejemplo.
Si la herramienta final instalada no tiene un complemento correspondiente, omita este paso y controle directamente la herramienta final a
1. Haga clic en Dobot+ en el lado derecho de la interfaz principal para abrir el panel de Dobot+.
2. Haga clic en Agregar complementos y luego haga clic en Instalar el complemento DH para completar la instalación.
100
Machine Translated by Google
Para obtener detalles sobre el sistema de coordenadas de la herramienta, consulte Sistema de coordenadas de la herramienta. Aquí tomamos la configuración de entrada
como ejemplo.
1. Abra la página Configuración > Sistema de coordenadas > Sistema de coordenadas de herramienta .
2. Agregue o modifique un sistema de coordenadas. Introduzca el desplazamiento del punto central de la herramienta con respecto a la brida
3. Seleccione el sistema de coordenadas de herramienta que configuró en el último paso en el panel de control.
Editando proyecto
Para obtener detalles sobre la programación, consulte DobotBlockly y Script. Aquí tomamos DobotBlockly como ejemplo.
Para lograr la escena descrita al principio de este capítulo, necesita enseñar cuatro puntos, a saber, el punto de recogida P1, el punto de transición
P2 (sobre el punto de recogida), el punto de transición P3 (sobre el punto de carga) y el punto de carga. punto P4.
101
Machine Translated by Google
1. Abra la página Puntos, mueva el brazo del robot a P1 y haga clic en Agregar.
102
Machine Translated by Google
3. Arrastre los bloques al área de programación para realizar la recogida y descarga del material. La figura
4. Guarde el proyecto.
Para obtener detalles sobre el control remoto, consulte Control remoto. Aquí solo se describen los pasos para configurar e ingresar al modo
4. Haga clic en Modificar para modificar la configuración de E/S según la escena descrita al principio de
Este capítulo.
103
Machine Translated by Google
Después de ingresar al modo de E/S remotas, presione el botón de inicio conectado al controlador del brazo robótico y
104
Machine Translated by Google
1 Introducción a Modbus
El protocolo Modbus es un protocolo de comunicación en serie. El sistema de robot puede comunicarse con externos.
equipo a través de este protocolo. El equipo externo, como un PLC, se configura como maestro Modbus y
ModbusRTU: Es compacto y adopta representación binaria de datos, utilizando un modo de suma de verificación de
ModbusTCP: Adopta una conexión TCP sobre TCP/IP. Este modo no requiere suma de comprobación
cálculo.
Una dirección Modbus normalmente consta de cinco dígitos, incluido el código de tipo de datos inicial, seguido del
dirección de compensación. La biblioteca de protocolo Modbus Master asigna direcciones Modbus estándar a la función Modbus
Los datos Modbus incluyen principalmente cuatro tipos: estado de bobina, entrada discreta, registro de entrada y registros de retención.
Según el espacio de memoria del robot, se definen cuatro tipos de registros: bobina, contacto (entrada discreta), entrada
y registros de retención, para la interacción de datos entre el equipo externo y el sistema robótico. cada registro
dirección del autómata Dirección del script (Get/SetCoils) Tipo de registro Función
105
Machine Translated by Google
dirección del autómata Dirección del script (GetInBits) Tipo de registro Función
4 registro de entrada
Número Guion
SOCIEDAD ANÓNIMA Datos Registro
de Byte DIRECCIÓN Función
DIRECCIÓN tipo tipo
valores (GetInRegs)
no firmado
31000 1 2 999 U16 Validez de los datos
corto
31002 – no firmado
3 6 1001 – 1003 U16 Reservado
31004 corto
31005 –
uint64 1 8 1004 – 1007 U64 Entrada digital
31008
31009 –
uint64 1 8 1008 – 1011 U64 Salida digital
31012
106
Machine Translated by Google
31013–
punto 6 4 1 8 1012–1015 U64 Modo robot
31016
31017–
punto 6 4 1 8 1016–1019 U64 marca de tiempo
31020
31021–
punto 6 4 1 8 1020–1023 U64 R eservado
31024
31029–
doble 1 8 1028–1031 F64 R eservado
31032
31033–
doble 1 8 1032–1035 F64 Tasa de velocidad
31036
31053–
doble 1 8 1052–1055 F64 R eservado
31056
31057–
doble 1 8 1056–1059 F64 R eservado
31060
31061–
doble 3 24 1060–1071 F64 R eservado
31072
31073–
doble 3 24 1072–1083 F64 R eservado
31084
31085–
doble 3 24 1084–1095 F64 R eservado
31096
31121–
doble 6 48 1120–1143 F64 Velocidad de articulación objetivo
31144
31145– Aceleración
doble 6 48 1144–1167 F64
31168 conjunta objetivo
31169–
doble 6 48 1168–1191 F64 Objetivo de corriente conjunta
107
Machine Translated by Google
31193–
doble 6 48 1192–1215 F64 par de torsión objetivo
31216
31217– A c tu
doble 6 48 1216–1239 F64
31240 aljointposition
31241–
doble 6 48 1240–1263 F64 A c tu aljointspeed
31264
31265–
doble 6 48 1264–1287 F64 A c tu aljointcu rr ent
31288
TCP actual
31313–
doble 6 48 1312–1335 F64 Coordenadas
31336
cartesianas
Fuerza TCP
31361–
doble 6 48 1360–1383 F64 (calcular a través de la
31384
corriente conjunta)
destino TCP
31384–
doble 6 48 1384–1407 F64 Coordenadas
31408
cartesianas
31433–
doble 6 48 1432–1455 F64 Temperatura conjunta
31456
31456–
doble 6 48 1456–1479 F64 Modo de control conjunto
31480
31481–
doble 6 48 1480–1503 F64 tensión conjunta
31504
1 5 0 6 byte
31507 carbonizarse 1 1 U8 Coordenadas U
bajo
1 5 0 6 byte
31507 carbonizarse 1 1 U8 Coordenadas de herramienta
alto
1 5 0 7 byte Un algoritmo
31508 carbonizarse 1 1 U8
alto queuepauseseñal
108
Machine Translated by Google
1 5 0 9 byte
31510 carbonizarse 1 1 U8 tasa de impulsión conjunta
bajo
1 5 1 0 byte C artesianpos tu
31511 carbonizarse 1 1 U8
bajo respeedratio
1 5 1 1 byte C artesianpos tu
31512 carbonizarse 1 1 U8
bajo reacelerationratio
1 5 1 2 byte
31513 carbonizarse 1 1 U8 R obotbrakesta tu s
alto
1 5 1 3 byte R obotenablingsta tu
31514 carbonizarse 1 1 U8
bajo s
1 5 1 3 byte
31514 carbonizarse 1 1 U8 R obotdragsta tu s
alto
1 5 1 4 byte
31515 carbonizarse 1 1 U8 R obotdragsta tu s
bajo
1 5 1 4 byte
31515 carbonizarse 1 1 U8 R obotalarmsta tu s
alto
1 5 1 5 byte
31516 carbonizarse 1 1 U8 R obotjogsta tu s
bajo
1 5 1 5 byte
31516 carbonizarse 1 1 U8 tipo de robot
alto
Señal de
109
Machine Translated by Google
Señal de
Señal de control
Fuerza de seis
dimensiones en línea esta tu s
1 5 1 8 byte
31519 carbonizarse 1 1 U8 (Es necesario instalar un
alto
sensor de fuerza de seis
dimensiones)
1 5 1 9 byte
31520 carbonizarse 1 1 yo 8 Estatus de colisiones
bajo
(S a fe S kin)
1 5 1 9 byte
31520 carbonizarse 1 1 yo 8 armclosetopausesta
alto
tu s
1 5 2 0 byte (S a fe S kin) J 4
31521 carbonizarse 1 1 yo 8
bajo closetopausesta tu s
1 5 2 0 byte (S a fe S kin) J 5
31521 carbonizarse 1 1 yo 8
alto closetopausesta tu s
1 5 2 1 byte (S a fe S kin) J 6
31522 carbonizarse 1 1 yo 8
bajo closetopausesta tu s
1 5 2 1 byte
31522 carbonizarse 1 1 yo 8 R eservado
alto
31523–
1522–1551 R eservado
31552
31553–
doble 1 8 1552–1555 F64 R eservado
31556
31557–
punto 6 4 1 8 1556–1559 U64 R eservado
31560
31561–
doble 6 48 1560–1583 F64 A c tu altorque
31584
31585–
doble 1 8 1584–1587 F64 Peso de carga (kg)
31588
Distancia excéntrica
31589–
doble 1 8 1588–1591 F64 direccional X (mm)
31592
Distancia excéntrica
31593–
doble 1 8 1592–1595 F64 direccional Y (mm)
31596
Z direccional
31597–
110
Machine Translated by Google
31600 (mm)
31601 –
doble 6 48 1600 – 1623 F64 Coordenadas del usuario
31624
31625 –
doble 6 48 1624 – 1647 F64 Coordenadas de herramienta
31648
valor original de
fuerza actual
31653 – de seis dimensiones
doble 6 48 1652 – 1675 F64
31676 (Seis dimensiones
necesidades del sensor de fuerza
31677 – [qw,qx,qy,qz]
doble 4 32 1676 – 1691 F64
31692 cuaternión objetivo
31693 – [qw,qx,qy,qz]
doble 4 32 1692 – 1707 F64
31708 cuaternión real
31709 –
doble 1 24 1708 – 1720 F64 Reservado
31721
SOCIEDAD ANÓNIMA
Dirección del guión Registro
Función
DIRECCIÓN (Obtener/EstablecerHoldRegs) tipo
40001 –
0 – 1280 U16 Reservado para paletizado
41281
43095 –
3095 – 8999 U16 Usuario definido
49000
111
Machine Translated by Google
Código de alarma:
49209 9228 F64 Tiempo (s) del ciclo de bloqueo del tornillo
112
Machine Translated by Google
B.2.2 Control
B.2.3 Operador
B.2.4 Cadena
B.2.5 Personalizado
B.2.6 OI
B.2.7 Moción
B.2.10 TCP
113
Machine Translated by Google
Inicio rápido
114
Machine Translated by Google
Descripción de la escena
Para experimentar cómo controlar el movimiento del brazo robótico mediante programación en bloques, puede asumir la siguiente
escena:
Cuando el controlador DI1 está en ON, el robot se mueve de P1 a P2 en modo lineal, se mueve a P4 a través de P3 en un
modo arco y luego regresa por el mismo camino. Cuando el controlador DI1 está apagado, el brazo robótico no
mover.
Para lograr esta escena, debe editar el programa como se muestra en la siguiente figura.
1. El brazo robótico se mueve hasta el punto inicial mediante el movimiento articular (P1).
115
Machine Translated by Google
2. Establezca un bucle incondicional para que los comandos posteriores se ciclen mientras el programa se está ejecutando.
3. Juzgue si el controlador DI1 está encendido. El programa siguiente se ejecutará sólo cuando el
El controlador DI1 está encendido. De lo contrario, ingresará directamente al siguiente bucle y volverá a adquirir el estado de DI1.
6. El brazo del robot se mueve a P2 a través de P3 a través del movimiento de arco (regresa por el mismo camino).
7. El brazo robótico se mueve a P1 en el modo lineal y luego ingresa al siguiente bucle (regrese al Paso 3).
Ejecute el programa
Ejecute el programa después de enseñar los puntos y programar. Puede configurar el estado de DI1 a través de DI virtual en el panel IO.
116
Machine Translated by Google
Para experimentar cómo leer y escribir datos Modbus mediante programación en bloques, puede asumir la siguiente escena:
Cree un maestro Modbus para el robot. Conéctese al esclavo externo y lea la dirección del registro de bobina especificado. Si el valor es 1,
Para lograr esta escena, debe editar el programa como se muestra en la siguiente figura.
1. Cree la estación maestra. Establezca la dirección IP en la dirección esclava y el puerto y el ID en los valores predeterminados
valores. En esta demostración, la IP está configurada como dirección del robot, ya que aquí se utiliza el robot esclavo para una verificación rápida.
2. Determine si la estación maestra se creó exitosamente. Los pasos posteriores se ejecutarán solo si la creación es exitosa; de lo
3. Si se ha modificado el valor del registro de bobina 0 del robot, puede afectar al programa posterior. Entonces
5. Controle el robot para que se mueva a P1, que es un punto definido por el usuario.
6. Cierre la estación maestra.
Ejecute el programa
117
Machine Translated by Google
Si necesita ejecutar el programa rápidamente, puede utilizar la herramienta de depuración de DobotStudio Pro para modificar el valor del registro
de la bobina.
1. Abra la herramienta de depuración e ingrese a la página "Herramienta de red > Modbus TCP".
3. Después de ver "Crear Modbus Master Success" en el registro de ejecución, seleccione Activo en la herramienta de depuración.
4. Modifique el código de función de ID del esclavo para escribir una bobina única y modifique los datos de la resistencia de 0 a 1. Luego
La siguiente figura muestra la interfaz de la herramienta de depuración. Los números marcados corresponden a los pasos.
arriba.
118
Machine Translated by Google
119
Machine Translated by Google
Para experimentar cómo realizar la comunicación TCP mediante programación en bloques, puede asumir la siguiente
escena:
Cree un servidor TCP para el robot. Espere a que el cliente se conecte al servidor y envíe el comando "ir".
Luego, el servidor devuelve el mensaje "Ir a P1" y el robot comienza a moverse a P1.
Para lograr esta escena, debe editar el programa como se muestra en la siguiente figura.
1. Cree el servidor TCP (Socket 1). Configure la IP (IP del robot) y el puerto (personalizado).
2. Determine si el servidor TCP se creó correctamente. Los pasos siguientes se ejecutarán únicamente
120
Machine Translated by Google
3. Espere a que el cliente se conecte y envíe la cadena. Guarde la cadena recibida en la variable de cadena "tcp_recv". Debe
4. Determine si la cadena recibida incluye "go". si es así, ejecute los pasos 5 y 6. De lo contrario, ejecute el paso 7 directamente.
6. Controle el robot para que se mueva a P1, que es un punto definido por el usuario.
7. Cierre el servidor TCP.
Ejecute el programa
Si necesita ejecutar el programa rápidamente, puede utilizar la herramienta de depuración de DobotStudio Pro como cliente TCP.
1. Abra la herramienta de depuración e ingrese a la página "Herramienta de red" > "Cliente TCP".
2. Mueva el robot a un punto distinto de P1 (para observar si el robot ejecuta el comando de movimiento). Luego guarde y
ejecute el programa.
3. Después de ver "Crear servidor TCP correctamente" en el registro de ejecución, modifique la dirección IP y el puerto del servidor
4. Una vez que la conexión sea exitosa, ingrese "ir" en la parte inferior de la página DebugTools y haga clic en Enviar.
5. Observe si la herramienta de depuración recibe el mensaje "Ir a P1" y si el robot se mueve a P1.
121
Machine Translated by Google
La siguiente figura muestra la interfaz de la herramienta de depuración. Los números marcados corresponden a los pasos.
arriba.
122
Machine Translated by Google
paletizar
Descripción de la escena
En el caso en el que los materiales a transportar estén dispuestos de manera regular y uniformemente espaciados, enseñar
la posición de cada material uno por uno puede conducir a grandes errores y baja eficiencia. El proceso de paletizado puede
Suponga que el material debe apilarse formando un cubo. Debe paletizar manualmente un tipo de pila de destino y luego
Punto seguro (P1): Un punto al que el robot debe moverse al ensamblar o desarmar pilas para una transición segura.
No es necesario enseñar el punto de preparación y el punto objetivo uno por uno. Consulte Configuración del tipo de pila.
Luego suponga que se ha instalado una pinza o ventosa en el extremo del brazo del robot, que está controlada por el
Arrastre el bloque de paleta al área de programación y haga clic en el bloque para abrir el panel de paleta.
123
Machine Translated by Google
Dimensión de la plataforma
Unidimensional: los materiales están dispuestos en una fila y el número total de materiales es igual a
el número en la dirección X.
Bidimensional: los materiales están dispuestos en un cuadrado y el número total de materiales es igual al producto del
Tridimensional: los materiales se apilan en un cubo y el número total de materiales es igual al producto de los números
en tres direcciones.
Esta sección toma como ejemplo el apilamiento tridimensional. Aquí la cantidad de materiales en cada dirección se
establece en 10, por lo que esta demostración contiene 1000 materiales.
Configuración de puntos Tomando como ejemplo la pila tridimensional, es necesario configurar ocho puntos, que corresponden
a las posiciones de los materiales en las ocho esquinas del cubo. El sistema de control calculará automáticamente
el punto objetivo de cada material a través de los ocho puntos y la cantidad de materiales, y luego realizará la
Al configurar puntos, puede seleccionar los puntos que se han enseñado en el proyecto o puede hacer clic en
Personalizado para obtener el punto actual del brazo robótico. El icono del punto configurado se volverá verde.
124
Machine Translated by Google
Para lograr esta escena, debe editar el programa como se muestra en la siguiente figura.
1. Crear palet1.
2. Cree una variable numérica personalizada y configúrela en 1, que se utiliza para registrar las veces de repetición.
3. Ejecute los comandos siguientes cíclicamente y establezca el número de veces en el número total de
10. Configure DO1 en APAGADO para controlar que la pinza suelte el material.
11. El robot regresa a 100 mm por encima del punto de palet actual.
125
Machine Translated by Google
El programa de esta sección es sólo un ejemplo sencillo. Puede agregar más comandos de control y juicio de IO de
acuerdo con la condición real, como no realizar acciones posteriores si el material no se recoge.
Ejecute el programa
Ejecute el programa después de enseñar los puntos, configurar el tipo de pila y programar. Puede comprobar el estado de DO1
en el panel IO.
126
Machine Translated by Google
127
Machine Translated by Google
Evento
Los comandos de evento se utilizan como marca para comenzar a ejecutar un programa.
Comando de inicio
Descripción: Es la marca del hilo principal de un programa. Después de crear un nuevo proyecto, hay un bloque de Inicio por defecto en
el área de programación. Coloque otros bloques que no sean eventos debajo del bloque Inicio para
programa.
Descripción: Es la marca del subproceso de un programa. El subproceso se ejecutará sincrónicamente con el subproceso principal, pero el
subproceso no puede llamar a los comandos de control del robot. Sólo puede realizar operación variable o control de E/S. Determine si
128
Machine Translated by Google
Control
Los bloques de control se utilizan para controlar la ruta de ejecución del programa.
Esperar hasta…
repetir n veces
Descripción: inserte otros bloques dentro del bloque y el comando del bloque incrustado se ejecutará repetidamente durante
Repetir continuamente
Descripción: Cuando se incrustan otros bloques dentro de este bloque, los comandos incrustados se
Finalizar repetición
Descripción: Se utiliza para incrustar dentro de los bloques de repetición de ejecución. Cuando el programa se ejecuta en este
bloque, finalizará directamente la repetición y ejecutará los bloques después del bloque repetido de ejecución.
129
Machine Translated by Google
si…entonces…
Descripción: Si el parámetro es verdadero, ejecute el bloque incrustado. Si el parámetro es falso, salte directamente
al siguiente bloque.
Parámetro: utilice otros bloques hexagonales que devuelvan un valor booleano (verdadero o falso) como parámetro.
si…entonces…si no…
Descripción: Si el parámetro es verdadero, ejecute los bloques incrustados antes de "else". Si el parámetro es falso,
ejecute los bloques incrustados después de "else".
Parámetro: utilice otros bloques hexagonales que devuelvan un valor booleano (verdadero o falso) como parámetro.
Repetir hasta…
Descripción: Ejecute repetidamente el bloque incrustado hasta que el parámetro sea verdadero.
Parámetro: utilice otros bloques hexagonales que devuelvan un valor booleano (verdadero o falso) como parámetro.
130
Machine Translated by Google
Parámetro: nombre de la etiqueta, que debe comenzar con una letra y no se pueden usar caracteres especiales como espacios.
usado.
Ir a etiqueta
Descripción: Cuando el programa se ejecuta en el bloque, saltará directamente a la etiqueta especificada y se ejecutará.
Comandos de plegado
Descripción: Dobla los bloques incrustados. No tiene ningún efecto de control excepto el de hacer que el programa sea más legible.
Pausa
Descripción: El programa se detiene automáticamente después de ejecutarse hasta el bloque. Puede continuar funcionando únicamente a
Descripción: Establece la detección de colisiones. El nivel de detección de colisiones establecido a través de este bloque es válido solo cuando el
proyecto se está ejecutando y restaurará el valor anterior después de que se detenga el proyecto.
Parámetro: Seleccione la sensibilidad de la detección de colisiones. Puede desactivarlo o seleccionar del nivel 1 al nivel 5. Cuanto más alto sea
131
Machine Translated by Google
Descripción: Modifica el sistema de coordenadas del usuario especificado. La modificación es válida solo cuando el proyecto se está ejecutando y el
Parámetro:
Descripción: Modifica el sistema de coordenadas de la herramienta especificada. La modificación es válida solo cuando el proyecto se está ejecutando
Parámetro:
Crear palet
Descripción: Crea el tipo de pila de un palet. Consulte Paletizado para obtener más detalles.
132
Machine Translated by Google
Parámetro: :
índice de puntos
Retrasar la ejecución
Descripción: Cuando el programa se ejecuta en el bloque, se detendrá durante un tiempo específico antes de continuar.
correr.
Espera de movimiento
Descripción: Se utiliza antes o después de un bloque de movimiento para retrasar la entrega de comandos de movimiento o
retrasar la entrega del siguiente comando después de que se completa el movimiento anterior.
133
Machine Translated by Google
Operador
Los comandos del operador se utilizan para calcular variables o constantes.
comando aritmético
Parámetro:
Complete ambos espacios en blanco con variables o constantes. Puede utilizar bloques ovalados que devuelven valores numéricos o ingresar
Seleccione un operador.
comando de comparación
Parámetro:
Complete ambos espacios en blanco con variables o constantes. Puede utilizar bloques ovalados que devuelvan valores numéricos o ingresar
Comando A y B
Parámetro: Complete ambos espacios en blanco con variables (usando bloques hexagonales).
Retorno: Devuelve verdadero si los dos parámetros son verdaderos y falso si alguno de ellos es falso.
Comando A o B
134
Machine Translated by Google
Retorno: Devuelve verdadero si alguno de los parámetros es verdadero y falso si ambos son falsos.
No es un comando
Parámetro: Complete el espacio en blanco con una variable (usando bloques hexagonales).
obtener el resto
Parámetro: Complete ambos espacios en blanco con variables o constantes. Puedes usar bloques ovalados que devuelven números.
Operación de redondeo
Parámetro: Complete el espacio en blanco con una variable o constante. Puedes usar bloques ovalados que devuelven números.
operación monádica
135
Machine Translated by Google
Parámetro:
Seleccione un operador.
abdominales
piso
techo
cuadrado
pecado
porque
broncearse
como en
acos
un bronceado
en
jajaja
mi^
10^
Complete el espacio en blanco con una variable o constante. Puede utilizar bloques ovalados que devuelven valores numéricos o completar directamente el valor en el
espacio en blanco.
Imprimir
Descripción: Envía los parámetros a la consola, que se utiliza principalmente para la depuración.
Parámetro:
Seleccione Sincronizar o Asíncrono. Para Sync, imprimirá información después de que se ejecuten todos los comandos que se han entregado. Para Async,
Variables o constantes a generar. Puedes utilizar bloques ovalados o rellenar directamente el espacio en blanco.
136
Machine Translated by Google
Cadena
Los comandos de cadena incluyen funciones generales de cadena y matriz.
Parámetro:
1er parámetro: especifique la posición del carácter que se devolverá en la cadena 2do parámetro:
Parámetro: Dos cadenas. Puede utilizar bloques ovalados que devuelven una cadena o completarlos directamente.
Retorno: si la primera cadena contiene la segunda cadena, devuelve verdadero; de lo contrario, devuelve falso.
Descripción: Conecte dos cuerdas en una sola cuerda. La segunda cadena seguirá a la primera.
Parámetro: Dos cadenas a conectar. Puede utilizar bloques ovalados que devuelven una cadena o completarlos directamente.
Descripción: obtiene la longitud de la cadena o matriz especificada. La longitud de una cadena se refiere a cuántos caracteres tiene
137
Machine Translated by Google
Parámetro: una cadena o matriz. Puede utilizar bloques ovalados que devuelvan una cadena o una matriz.
Descripción: Compara los tamaños de dos cadenas según los códigos ACS .
Parámetro: Dos cadenas a comparar. Puede utilizar bloques ovalados que devuelven una cadena o completarlos directamente.
Retorno: devuelve 0 cuando la cadena 1 y la cadena 2 son iguales, 1 cuando la cadena 1 es menor que la cadena 2 y 1 cuando la cadena 1 es
Descripción: convierte la matriz especificada en una cadena y los diferentes elementos de la matriz en la cadena se separan por el delimitador
especificado. Por ejemplo, si la matriz es {1,2,3} y el delimitador es |, entonces la cadena convertida es "1|2|3".
Parámetro:
Una matriz que se convertirá en cadena. Puedes usar bloques ovalados que devuelven una cadena.
Descripción: convierte la cadena especificada en una matriz, utilizando el delimitador especificado para separar cadenas. Por ejemplo, si la matriz
Parámetro:
Una cadena que se convertirá en una matriz. Puede usar bloques ovalados que devuelven una cadena o los completan directamente
138
Machine Translated by Google
Descripción: obtiene el elemento en la posición del subíndice especificada en la matriz especificada. El subíndice representa la
Parámetro:
Descripción: obtiene varios elementos en la posición del subíndice especificada en la matriz especificada. Obtenga el elemento según
el valor del paso dentro del rango de los subíndices inicial y final.
Parámetro:
El valor del paso se utiliza para determinar con qué frecuencia se obtienen los elementos. 1 se refiere a obtener todo, y 2 se refiere a
Parámetro:
139
Machine Translated by Google
Costumbre
Los comandos personalizados se utilizan para crear y administrar bloques personalizados y llamar a variables globales.
Descripción: establece el valor de una variable especificada. Tenga en cuenta que el bloque para configurar variables globales y configurar
variables personalizadas tiene la misma forma, pero tiene funciones ligeramente diferentes.
Parámetro:
Valor después de la modificación. Puede completar directamente el valor en el espacio en blanco o utilizar otros bloques ovalados.
Crear variables
Haga clic para crear una variable. El nombre de la variable debe comenzar con una letra y no puede contener caracteres especiales como
espacios. Después de crear al menos una variable, verá los siguientes bloques de variables en el bloque
lista.
Descripción: Se recomienda utilizar la variable numérica personalizada recién creada (valor predeterminado: nulo) después
de la asignación. También puede modificar el nombre de la variable o eliminar la variable a través de la lista desplegable de
variables.
140
Machine Translated by Google
Descripción: establece el valor de una variable numérica específica. Tenga en cuenta que el bloque para configurar variables globales
y configurar variables personalizadas tiene la misma forma, pero tiene funciones ligeramente diferentes.
Parámetro:
Valor después de la modificación. Puede completar directamente el valor en el espacio en blanco o utilizar otros bloques ovalados.
Parámetro:
Valor añadido. Puede completar directamente el valor en el espacio en blanco o utilizar otros bloques ovalados. Un valor negativo
Se refiere a la disminución del valor.
Descripción: Se recomienda utilizar la variable de cadena personalizada recién creada (valor predeterminado: nulo) después de la
asignación. También puede modificar el nombre de la variable o eliminar la variable a través del menú desplegable de variables.
lista.
Parámetro:
141
Machine Translated by Google
Valor después de la modificación. Puede llenar el espacio en blanco directamente con una cadena.
Crear matriz
Haga clic para crear una matriz personalizada. El nombre de la matriz debe comenzar con una letra y no puede contener caracteres
especiales como espacios. Después de crear al menos una matriz, verá los siguientes bloques de matriz en el
lista de bloqueos.
Matriz personalizada
Descripción: la matriz personalizada recién creada es una matriz vacía de forma predeterminada. Se recomienda utilizarlo después de la
asignación. Haga clic con el botón derecho (PC) o mantenga presionado (Android o iOS) el bloque en la lista de bloques para modificar el nombre
de la matriz o eliminarla. También puede modificar el nombre de la matriz seleccionada actualmente o eliminar la matriz a través de la lista
desplegable de matrices en otros bloques de matrices. La casilla de verificación en el lado izquierdo del bloque de matriz no tiene ningún uso y puede
ignorarse.
Descripción: agrega una variable a una matriz especificada. La variable agregada será el último elemento de la matriz.
Parámetro:
Variable a agregar. Puede completar directamente la variable en el espacio en blanco o utilizar otros bloques ovalados.
Parámetro:
142
Machine Translated by Google
Índice de artículos. Puede completar directamente el índice en el espacio en blanco o usar otros bloques ovalados que devuelvan valores numéricos.
valores.
Parámetro:
posición de inserción. Puede completar directamente el índice en el espacio en blanco o usar otros bloques ovalados que devuelvan
valores numéricos.
Variable a agregar. Puede completar directamente la variable en el espacio en blanco o utilizar otros bloques ovalados.
Parámetro:
Índice de artículos. Puede completar directamente el índice en el espacio en blanco o usar otros bloques ovalados que devuelvan valores numéricos.
valores.
Variable después del reemplazo. Puede completar directamente la variable en el espacio en blanco o utilizar otros bloques ovalados.
143
Machine Translated by Google
Parámetro:
Índice de artículos. Puede completar directamente el índice en el espacio en blanco o usar otros bloques ovalados que devuelvan valores numéricos.
valores.
Crear función
Haga clic para crear una nueva función. Una función es un segmento de programa fijo. Puede definir un grupo de bloques que
implementen funciones específicas como una función. Cada vez que desee utilizar la función, solo necesita llamar a esta función sin
necesidad de crear el mismo grupo de bloques repetidamente. Es necesario declarar y definir una nueva función creada. Una vez que la
nueva función se haya creado correctamente, el bloque de funciones correspondiente aparecerá en la lista de bloques.
1. Declarar función
144
Machine Translated by Google
En esta interfaz, debe definir el nombre de la función y el tipo, cantidad y nombre de la entrada (parámetro). Los nombres de
funciones y parámetros no deben contener caracteres especiales como espacios. También puede agregar etiquetas a funciones,
1. Definir función
Puede arrastrar la entrada en el bloque de encabezado para usarla en los bloques siguientes, indicando el uso de la entrada
Función personalizada
Descripción: Los bloques de funciones personalizados, cuyo nombre y parámetros de entrada los define el usuario, se utilizan
para llamar a la función definida. Al hacer clic con el botón derecho (PC) o mantener presionada (App) el bloque en la lista de
bloques se puede modificar la declaración de la función. Si necesita eliminar la función, elimine el encabezado de definición
bloque de la función.
145
Machine Translated by Google
Crear subrutina
Haga clic para crear una nueva subrutina. La programación en bloques admite la incrustación y llamada de subrutinas, que
pueden ser programación en bloques y programación de scripts, con un máximo de dos niveles integrados.
Después de que la nueva subrutina se haya creado exitosamente, el bloque de subrutina correspondiente aparecerá en la
lista de bloqueos.
Después de seleccionar Programación de bloques, verá la página de programación de bloques de subrutinas. Puede
146
Machine Translated by Google
Después de seleccionar Programación de scripts, verá la ventana de programación de scripts de subrutina. Puede
Subrutina
Subrutina en bloque
Subrutina de script
Descripción: El bloque de subrutina, que define el usuario al crear una subrutina, se utiliza para llamar a la subrutina
guardada. Al hacer clic con el botón derecho (PC) o mantener presionada (App) el bloque en la lista de bloques se puede
modificar o eliminar la subrutina.
147
Machine Translated by Google
OI
Los bloques IO se utilizan para gestionar la entrada y salida de los terminales IO del brazo robótico. El rango de valores de los
puertos de entrada y salida está determinado por el número correspondiente de terminales del brazo del robot. Consulte la guía de
Parámetro:
Descripción: Establece el estado de encendido/apagado del puerto de salida digital. Utilice este bloque al configurar en el sub
hilo.
Parámetro:
Descripción: Establece un grupo de DO. Puede arrastrar el bloque al área de programación y hacer clic para configurarlo.
Parámetro:
148
Machine Translated by Google
Descripción: Espere a que la DI especificada cumpla la condición o espere el tiempo de espera antes de ejecutar comandos de
bloque posteriores.
Parámetro:
estado (ON o OFF) para esperar (0 significa esperar hasta que se cumpla la condición)
Parámetro:
149
Machine Translated by Google
Valor de salida analógica. Puede ingresar el valor directamente en el espacio en blanco o usar bloques ovalados que devuelvan valores
numéricos.
Parámetro:
Devolución: si el estado actual del DI especificado cumple con la condición, devuelve verdadero; de lo contrario, devuelve
FALSO.
Parámetro:
150
Machine Translated by Google
Comandos de movimiento
Los comandos de movimiento se utilizan para controlar el movimiento del brazo del robot y establecer parámetros relacionados con el movimiento.
parámetros.
Todos los bloques de movimiento son comandos asincrónicos, es decir, una vez que el comando se entrega con éxito, el siguiente
comando se ejecutará sin esperar a que el robot complete el movimiento actual. Puede utilizar el comando de sincronización si necesita
esperar a que se ejecuten los comandos entregados antes de ejecutar comandos posteriores.
Los parámetros de punto se pueden seleccionar aquí después de agregarlos en la página "Punto" del proyecto. Los bloques de movimiento
también permiten arrastrar el bloque variable predeterminado y reemplazarlo con otros bloques ovalados que devuelven coordenadas
de puntos cartesianos.
Configuración avanzada
Cuando el bloque de movimiento preestablecido no puede cumplir con los requisitos de programación, puede crear un bloque que
controle el movimiento del robot mediante una configuración avanzada. El bloque creado aparecerá en el área de
Descripción: Controla el robot para que se mueva desde la posición actual hasta el punto objetivo. Después de arrastrar los bloques al
área de programación, haga doble clic para realizar la configuración avanzada. Consulte Configuración avanzada de Motion para
Parámetro:
Seleccione un modo de movimiento, incluido el movimiento articular (MovJ) y el movimiento lineal (MovL). Para el movimiento
151
Machine Translated by Google
Descripción: controla el robot para que se mueva desde la posición actual a un punto objetivo después del desplazamiento. Puede
Parámetro:
Seleccione un modo de movimiento, incluido el movimiento relativo de las articulaciones (RelMovJ) y el movimiento
relativo lineal
(RelMovL).
Desplazamiento del punto objetivo en la dirección de los ejes X, Y y Z con respecto al punto objetivo bajo el sistema de
Descripción: controla el robot para mover un desplazamiento específico desde la posición actual.
movimiento de arco
Descripción: Controle el robot para que se mueva desde la posición actual a una posición objetivo en un modo de arco interpolado
bajo el sistema de coordenadas cartesianas. Las coordenadas de la posición actual no deben estar en la línea recta determinada
Parámetro:
Movimiento circular
Descripción: controle el brazo del robot para que se mueva desde la posición actual en un modo interpolado de círculo completo y
regrese a la posición actual después de mover un número específico de círculos. Las coordenadas de la posición actual no deben
Parámetro:
152
Machine Translated by Google
Reproducción de trayectoria
Descripción: Controla el robot para reproducir la trayectoria. La trayectoria debe grabarse en el proceso de reproducción de trayectoria.
Parámetro:
velocidad uniforme
0,25x velocidad
0,5x velocidad
1x velocidad
2x velocidad
Comando de sincronización
Descripción: Cuando el programa ejecuta este comando, esperará a que el brazo robótico ejecute todos los comandos que se entregaron
Establecer proporción de CP
Descripción: Establezca la relación de trayectoria continua en movimiento, es decir, cuando el robot se mueve desde el punto inicial hasta el punto
final a través del punto intermedio, ya sea que pase el punto intermedio en ángulo recto o en curva, como se muestra a continuación.
153
Machine Translated by Google
Parámetro: relación de velocidad conjunta, rango: 0~100. Velocidad real del robot = porcentaje establecido en bloques × velocidad en la configuración
Parámetro: relación de aceleración conjunta, rango: 0~100. Aceleración real del robot = porcentaje establecido en bloques × aceleración en la configuración
Parámetro:
154
Machine Translated by Google
Relación de velocidad lineal y de arco (rango de valores: 0~100). Velocidad real del robot = porcentaje establecido en bloques × velocidad
Parámetro:
Relación de aceleración lineal y de arco (rango de valores: 0~100). Aceleración real del robot = relación establecida × valor en la configuración de
Modificar coordenadas
Descripción: Modifica el valor del punto especificado en el eje de coordenadas cartesiano especificado.
Parámetro:
Seleccione un punto.
Obtener coordenadas
Descripción: Obtenga el valor del punto especificado en el eje de coordenadas cartesiano especificado.
Parámetro:
155
Machine Translated by Google
Descripción: Obtenga el valor de la posición actual de TCP en el eje de coordenadas especificado bajo el sistema de coordenadas
especificado.
Parámetro:
Seleccione el sistema de coordenadas del usuario y el sistema de coordenadas de la herramienta. El valor devuelto se
Retorno: Valor de la posición actual de TCP en el eje de coordenadas especificado bajo la coordenada especificada
sistema.
156
Machine Translated by Google
Crea un bloque que controla el movimiento del robot mediante configuración avanzada. La configuración incluye el nombre del bloque, el modo
de movimiento y los parámetros de movimiento. Los diferentes modos de movimiento varían en los parámetros de movimiento que se configurarán.
Velocidad/aceleración real del robot = porcentaje establecido en los comandos × velocidad/aceleración en la configuración de reproducción ×
MovJ
Modo de movimiento: muévase desde la posición actual a la posición de destino bajo el sistema de coordenadas cartesianas en un modo de
interpolación conjunta.
157
Machine Translated by Google
Configuración básica:
P: punto objetivo, que se puede seleccionar aquí después de agregarlo en la página Punto o definirse en esta página.
Configuración avanzada:
CP: establece una trayectoria continua en movimiento, rango: 0~100. Ver Ruta continua (CP) al final de esta sección.
para detalles.
Configuración de E/S del proceso: cuando el brazo del robot se mueve a la distancia o porcentaje especificado, se activará el DO
especificado. Cuando la distancia es positiva, se refiere a la distancia desde el punto de partida; y cuando la distancia es
negativa, se refiere a la distancia desde el punto objetivo. Puede hacer clic en "+" a continuación para agregar un proceso IO y
158
Machine Translated by Google
Movil
Modo de movimiento: muévase desde la posición actual a la posición de destino bajo el sistema de coordenadas cartesianas en
Configuración básica: P: punto objetivo, que se puede seleccionar aquí después de agregarlo en la página Punto o definirse en
esta página.
159
Machine Translated by Google
Configuración avanzada:
CP: establece una trayectoria continua en movimiento, rango: 0~100. Ver Ruta continua (CP) al final de esta sección.
para detalles.
Configuración de E/S del proceso: cuando el brazo del robot se mueve a la distancia o porcentaje especificado, se activará el DO
especificado. Cuando la distancia es positiva, se refiere a la distancia desde el punto de partida; y cuando la distancia es
negativa, se refiere a la distancia desde el punto objetivo. Puede hacer clic en "+" a continuación para agregar un proceso IO y
ConjuntoMovJ
160
Machine Translated by Google
Modo de movimiento: muévase desde la posición actual al ángulo de articulación objetivo en un modo interpolado de articulación.
Configuración básica: ángulo articular objetivo, que se puede definir mediante enseñanza.
Configuración avanzada:
CP: establece una trayectoria continua en movimiento, rango: 0~100. Consulte Ruta continua (CP) al final de esta sección para obtener
más detalles.
RelMovJ
161
Machine Translated by Google
Modo de movimiento: muévase desde la posición actual a la posición de desplazamiento objetivo bajo el sistema de coordenadas
Configuración básica: desplazamiento del eje X, eje Y y eje Z bajo el sistema de coordenadas cartesianas, unidad: mm
Configuración avanzada:
CP: establece una trayectoria continua en movimiento, rango: 0~100. Ver Ruta continua (CP) al final de esta sección.
para detalles.
RelMovL
Modo de movimiento: muévase desde la posición actual a la posición de desplazamiento objetivo bajo el sistema de coordenadas
162
Machine Translated by Google
Configuración básica: desplazamiento del eje X, eje Y y eje Z bajo el sistema de coordenadas cartesianas, unidad: mm
Configuración avanzada:
CP: establece una trayectoria continua en movimiento, rango: 0~100. Ver Ruta continua (CP) al final de esta sección.
para detalles.
Arco
Modo de movimiento: muévase desde la posición actual a la posición de destino en un modo de arco interpolado bajo el sistema de
coordenadas cartesianas. La posición actual no debe estar en una línea recta determinada por el punto A y el punto B.
163
Machine Translated by Google
Configuración básica:
Coordenada del punto intermedio A: coordenadas del punto intermedio del arco Coordenada
del punto final B: coordenadas del punto objetivo. Los dos puntos se pueden seleccionar aquí después de agregarlos en la
Configuración avanzada:
CP: establece una trayectoria continua en movimiento, rango: 0~100. Ver Ruta continua (CP) al final de esta sección.
para detalles.
Círculo
Modo de movimiento: muévase desde la posición actual en un modo de círculo interpolado y regrese a la posición actual después
de mover círculos específicos. La posición actual no debe estar en una línea recta determinada por el punto A y el punto B, y el círculo
164
Machine Translated by Google
Configuración básica:
Punto intermedio Coordenada A: Se utiliza para determinar las coordenadas del punto intermedio del
círculo.
Coordenada del punto final B: se utiliza para determinar las coordenadas del punto final del círculo. Los dos puntos se pueden
Configuración avanzada:
CP: establece una trayectoria continua en movimiento, rango: 0~100. Ver Ruta continua (CP) al final de esta sección.
para detalles.
165
Machine Translated by Google
La trayectoria continua (CP) significa cuando el brazo del robot se mueve desde el punto inicial hasta el punto final a través
del punto medio, ya sea que haga una transición en ángulo recto o de forma curva al pasar por el punto medio, como
se muestra a continuación.
166
Machine Translated by Google
Comandos Modbus
Los comandos Modbus se utilizan para operaciones relacionadas con la comunicación Modbus.
Parámetro:
Devolver:
Descripción: Espere a que el valor de la dirección especificada del registro de entrada cumpla la condición antes de ejecutar el
siguiente comando.
Parámetro:
167
Machine Translated by Google
Tipo de
datos U16: entero sin signo de 16 bits (dos bytes, ocupan un registro)
U32: entero sin signo de 32 bits (cuatro bytes, ocupa dos registros)
F32: número flotante de precisión simple de 32 bits (cuatro bytes, ocupa dos registros)
F64: número flotante de doble precisión de 64 bits (ocho bytes, ocupa cuatro registros).
Descripción: Espere a que el valor de la dirección especificada del registro de retención cumpla la condición antes de
Parámetro:
Tipo de
datos U16: entero sin signo de 16 bits (dos bytes, ocupan un registro)
U32: entero sin signo de 32 bits (cuatro bytes, ocupa dos registros)
F32: número flotante de precisión simple de 32 bits (cuatro bytes, ocupa dos registros)
F64: número flotante de doble precisión de 64 bits (ocho bytes, ocupa cuatro registros).
Descripción: Espere a que el valor de la dirección especificada del registro de entrada discreta cumpla la condición antes
Parámetro:
Dirección: Dirección inicial de los registros de entrada discreta. Rango de valores: 0~9999.
Descripción: Espere a que el valor de la dirección especificada del registro de entrada cumpla la condición antes de
168
Machine Translated by Google
Parámetro:
Dirección: Dirección inicial de los registros de la bobina. Rango de valores: 0~9999. condición
Parámetro:
Tipo de
datos U16: entero sin signo de 16 bits (dos bytes, ocupan un registro)
U32: entero sin signo de 32 bits (cuatro bytes, ocupa dos registros)
F32: número flotante de precisión simple de 32 bits (cuatro bytes, ocupa dos registros)
F64: número flotante de doble precisión de 64 bits (ocho bytes, ocupa cuatro registros).
Parámetro:
Tipo de
datos U16: entero sin signo de 16 bits (dos bytes, ocupan un registro)
U32: entero sin signo de 32 bits (cuatro bytes, ocupa dos registros)
F32: número flotante de precisión simple de 32 bits (cuatro bytes, ocupa dos registros)
F64: número flotante de doble precisión de 64 bits (ocho bytes, ocupa cuatro registros).
Parámetro: Dirección inicial del registro de entrada discreta. Rango de valores: 0~9999.
169
Machine Translated by Google
Parámetro:
Número de bits de registro. El valor máximo es 216 (serie CR) o 984 (serie Nova) cuando se comunica con el
esclavo a través de la interfaz de E/S de la herramienta y 2008 para los otros escenarios.
Retorno: valores de registro de bobina almacenados en la tabla. El primer valor de la tabla corresponde al valor del registro de la
Parámetro:
Tipo de
datos U16: entero sin signo de 16 bits (dos bytes, ocupan un registro). Se leen continuamente hasta 13 valores (serie
CR) o 61 valores (serie Nova) cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y
U32: entero sin signo de 32 bits (cuatro bytes, ocupa dos registros). Se leen continuamente hasta 6 valores (serie CR) o
30 valores (serie Nova) cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y se leen
F32: número flotante de precisión simple de 32 bits (cuatro bytes, ocupa dos registros). Hasta 6 valores (CR
170
Machine Translated by Google
serie) o 30 valores (serie Nova) se leen continuamente cuando se comunica con el esclavo a través de la interfaz de E/
F64: número flotante de doble precisión de 64 bits (ocho bytes, ocupa cuatro registros). Se leen continuamente hasta
3 valores (serie CR) o 15 valores (serie Nova) cuando se comunica con el esclavo a través de la interfaz de E/S de la
Retorno: valores de registro almacenados en la tabla. El primer valor de la tabla corresponde al valor del registro de retención en la
dirección inicial.
Parámetro:
Parámetro:
Valores escritos en el registro de la bobina. Complete una matriz con la misma longitud que el número de bits escritos, cada
uno de los cuales solo puede ser 0 o 1. Se escriben hasta 440 valores a la vez cuando se comunica con el esclavo a través de
la interfaz de E/S de la herramienta, y hasta Los valores de 1976 se escriben a la vez para los otros escenarios.
Parámetro:
171
Machine Translated by Google
Tipo de
datos U16: entero sin signo de 16 bits (dos bytes, ocupan un registro). Se escriben hasta 27 valores
continuamente cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y hasta 123
U32: entero sin signo de 32 bits (cuatro bytes, ocupa dos registros). Se escriben hasta 13 valores
continuamente cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y hasta 61
F32: número flotante de precisión simple de 32 bits (cuatro bytes, ocupa dos registros). Se escriben hasta 13
valores continuamente cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y
F64: número flotante de doble precisión de 64 bits (ocho bytes, ocupa cuatro registros). Se escriben hasta 6
valores continuamente cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y
172
Machine Translated by Google
Comandos TCP
Los comandos TCP se utilizan para operaciones relacionadas con TCP.
Conecte el enchufe
Descripción: cree un servidor TCP para comunicarse con el servidor TCP especificado.
Parámetro:
Seleccione el índice SOCKET (se pueden establecer como máximo 4 enlaces de comunicación TCP).
Dirección IP del servidor TCP.
Crear ENCHUFE
Parámetro:
Índice de socket (se pueden establecer como máximo 4 enlaces de comunicación TCP).
Dirección IP del servidor TCP.
Puerto del servidor TCP: cuando el robot actúa como servidor, no utilice los siguientes puertos que han sido ocupados
por el sistema.
22, 23, 502 (0 ~ 1024 puertos son puertos definidos por Linux, que tienen una alta posibilidad de estar ocupados.
Evite su uso),
5000~5004, 6000, 8080, 11000, 11740, 22000, 22002, 29999, 30003, 30004, 60000, 65500~65515
173
Machine Translated by Google
Cerrar ENCHUFE
Obtener variables
Parámetro:
Índice de enchufe
El nombre se utiliza para guardar las variables recibidas, utilizando bloques de variables creados.
Enviar variables
Parámetro:
Índice de enchufe.
datos a enviar. Puede utilizar bloques ovalados que devuelvan valores numéricos o de cadena, o completar directamente el
blanco.
174
Machine Translated by Google
175
Machine Translated by Google
176
Machine Translated by Google
177
Machine Translated by Google
Internet. Esta guía solo enumera algunas de las sintaxis básicas de Lua para su referencia rápida.
Las variables se utilizan para almacenar valores, pasar valores como parámetros o devolver valores como resultados. Las variables
Las variables en Lua son variables globales por defecto a menos que se declaren explícitamente como variables locales usando "local".
El alcance de las variables locales es desde la ubicación de la declaración hasta el final del bloque en el que están.
situado.
un = 5 variable global
locales b = 5 variable local
Los nombres de las variables pueden ser una cadena formada por letras, guiones bajos y números, que no pueden comenzar con
un número. Las palabras clave reservadas por Lua no se pueden utilizar como nombre de variable.
Para las variables de Lua, no es necesario definir sus tipos. Después de asignar un valor a la variable, Lua juzgará automáticamente el
Lua admite una variedad de tipos de datos, incluidos números, booleanos, cadenas y tablas. La matriz en Lua es un tipo
de mesa.
También hay un tipo de datos especial en Lua: nil, que significa nulo (sin ningún valor válido). Por ejemplo, si imprime una variable no
Número
El número en Lua es un número de punto flotante de doble precisión y admite varias operaciones. Los siguientes formatos se
2.2
0,2
2e+1
0.2e1
7.8263692594256e06
Booleano
El tipo booleano tiene sólo dos valores opcionales: verdadero y falso. Lua trata falso y nulo como falso, y otros como verdaderos,
incluido el número 0.
Cadena
178
Machine Translated by Google
Una cadena puede estar formada por dígitos, letras y/o guiones bajos. Las cadenas se pueden representar de tres formas:
entre [[ y ]]
Al realizar operaciones aritméticas con una cadena de números, Lua intenta convertir la cadena de números en un número.
Función Descripción
Es una función iteradora. Cada vez que se llama a esta función, devuelve la
siguiente subcadena encontrada en la cadena que coincide con la
string.gmatch(cadena, patrón)
descripción del patrón. Si no se encuentra la subcadena descrita por el patrón,
el iterador devuelve nil
Ejemplo:
179
Machine Translated by Google
cadena = "Lua"
cadena1 = [[aaaa]]
imprimir (cadena.gsub (cadena1, "a", "z", 3)) Reemplazar en una cadena e imprimir el resultado: zzza
print(string.find("Hello Lua user", "Lua", 1)) e índice inicial y Busca Lua en la cadena y devuelve th
final de la subcadena, imprimiendo el resultado: 7,9
fuentestr = "prefijorunoobgoogletaobaosufijo"
sub = cadena.sub(fuentestr, 1, 8) Obtenga del primero al octavo carácter de t
él cuerda
print("\n resultado", string.format("%q", sub)) Imprimir: resultado: "prefijo"
Mesa
La forma más sencilla de crear una tabla es utilizar {}, que crea una tabla vacía. Este método inicializa
la mesa directamente.
Una tabla puede utilizar matrices asociativas. El índice de una matriz puede ser cualquier tipo de dato, pero el valor no
ser nulo.
Función Descripción
tabla.concat
(tabla [, septiembre [, La función table.concat () enumera todos los elementos de la matriz especificada desde el principio hasta el final.
comenzar [, final, separado por el separador especificado (sep)
fin]]])
tabla.insertar
180
Machine Translated by Google
(tabla, [pos,] Parámetro opcional, que por defecto se encuentra al final de la tabla.
valor)
tabla.remove Devuelve el elemento en la tabla en la posición especificada (pos), el elemento que sigue se
moverá hacia adelante. pos es un parámetro opcional y su valor predeterminado es la longitud
(tabla [, pos])
de la tabla, que se elimina del último elemento.
tabla.sort
(tabla [, Los elementos de la tabla están ordenados en orden ascendente.
comp])
Ejemplo 1:
print("Cadena después de la concatenación",table.concat(frutas,", ", 2,3)) Obtiene el elemento del índice especificado
de la tabla y los concatena, Cadena después de la concatenación naranja, aplicación
le
Ejemplo 2:
frutas = "plátano","naranja","manzana","uvas"}
print("Antes") para
k,v en ipares(frutas) hacer
imprimir(k,v) imprimir el resultado: plátano naranja manzana uvas
fin
En orden ascendente
table.sort(frutas)
print("Después")
para k,v en ipairs(frutas) hacer
imprimir(k,v) imprimir el resultado: manzana plátano uvas naranja
fin
Formación
181
Machine Translated by Google
Una matriz es una colección de elementos del mismo tipo de datos dispuestos en un orden determinado. Puede ser
unidimensional o multidimensional. El índice de una matriz se puede representar como un número entero y el tamaño de la matriz
no es fijo.
Matriz unidimensional: la matriz más simple con una estructura lógica de tabla lineal.
Matriz multidimensional: una matriz contiene una matriz o el índice de una matriz unidimensional corresponde a
una matriz.
Ejemplo 1: una matriz unidimensional se puede asignar o leer mediante el comando de bucle for . Se utiliza un índice entero
para acceder a un elemento de matriz. Si el índice no tiene valor, entonces la matriz devuelve nulo.
En Lua, los índices de una matriz comienzan en 1 o 0. Alternativamente, puede usar un número negativo como índice de una matriz.
matriz = {}
para i= 2, 2 hacer
matriz[i] = {} para
j=1,3 hacer matriz[i]
[j] = i*j
fin
fin
182
Machine Translated by Google
Operador
Operador aritmético
Dominio Descripción
+ Suma
Sustracción
*
Multiplicación
% Resto
^
exponenciación
& y operador
\ O operador
~ operador XOR
Ejemplo
a=20
b=5
Operador relacional
Dominio Descripción
==
Igual
183
Machine Translated by Google
~=
No es igual
Ejemplo
Operador lógico
Dominio Descripción
Operador lógico AND, el resultado es verdadero si ambos lados son verdaderos y falso si cualquiera de los lados
y
Es falso
o Operador lógico OR, el resultado es verdadero si un lado es verdadero, o falso si alguno de los lados es falso
Ejemplo
a=verdadero
b=falso
184
Machine Translated by Google
Control de procesos
Dominio Descripción
si... entonces...
Comando condicional (si). Determine si las condiciones son válidas de arriba a abajo. Si un juicio de
si no...
condición es verdadero, se ejecuta el bloque de código correspondiente y los juicios de condición posteriores
se ignoran directamente y ya no se ejecutan.
entonces... si no... fin
Comando de bucle (mientras). Cuando la condición sea verdadera, haga que el programa ejecute el
mientras…
bloque de código correspondiente repetidamente. Se verifica que la condición sea verdadera antes de
termina… termina
ejecutar la declaración.
para... Comando de bucle (for), ejecute la declaración especificada repetidamente y el número de repeticiones se
hacer... fin puede controlar en la declaración for
repetir
Comando de bucle (repetir), el bucle se repite hasta que la condición especificada sea verdadera
hasta()
Ejemplo
a = 100;
b = 200;
[ Verificar condiciones ] if(a
== 100)
entonces
entonces
a=10
mientras (a < 20)
hacer
185
Machine Translated by Google
imprimir(yo)
fin
un = 10
repetir
imprimir("Esto es un: ", a)
un = un + 1
hasta(a > 15)
186
Machine Translated by Google
187
Machine Translated by Google
Descripción general
Modo de movimiento
movimiento conjunto
El brazo robótico planifica el movimiento de cada articulación de acuerdo con la diferencia entre el ángulo de la articulación actual y el
ángulo de la articulación del punto objetivo, de modo que cada articulación complete el movimiento al mismo tiempo. El movimiento conjunto
no limita la trayectoria del TCP (punto central de la herramienta), que generalmente no es una línea recta.
Como el movimiento de la articulación no está limitado por la posición de la singularidad (consulte la guía de hardware correspondiente
para obtener más detalles), si no hay requisitos para la trayectoria del movimiento o el punto objetivo está cerca de la posición de la
Movimiento lineal
El brazo robótico planifica la trayectoria del movimiento de acuerdo con la postura actual y la postura del punto objetivo, de modo que la
trayectoria del movimiento TCP sea una línea recta y la postura del extremo cambie uniformemente durante el movimiento.
Cuando la trayectoria pueda pasar por la posición de singularidad, se informará un error cuando el comando de movimiento lineal se envíe
al brazo del robot. Se recomienda volver a planificar el punto o utilizar el movimiento conjunto cerca de la posición de singularidad.
movimiento de arco
El brazo robótico determina un arco o un círculo a través de tres puntos no colineales: la posición actual, P1 y P2. La postura del extremo del
brazo del robot durante el movimiento se calcula mediante la interpolación de la postura del punto actual y P2, y la postura de P1 no se incluye
en la operación (es decir, la postura del brazo del robot cuando llega a P1 durante el movimiento). el movimiento puede ser diferente de la
postura enseñada).
188
Machine Translated by Google
Cuando la trayectoria pueda pasar por la posición de singularidad, se informará un error cuando el comando de movimiento del arco se envíe al
brazo del robot. Se recomienda volver a planificar el punto o utilizar el movimiento conjunto cerca de la posición de singularidad.
Parámetros de puntos
Los parámetros de punto en los comandos generalmente usan el punto aprendido en la página Puntos, y se puede llamar directamente usando el
nombre del punto aprendido. En realidad, el punto aprendido se guarda como una constante en segundo plano en el siguiente formato.
[[
nombre: nombre del punto aprendido
articulación: coordenadas conjuntas del punto aprendido
herramienta: índice del sistema de coordenadas de la herramienta en la guía
manual usuario: índice del sistema de coordenadas del usuario en la guía manual
pose: valor de la variable postura del punto enseñado ]] {
nombre =
"nombre", articulación = {j1, j2, j3, j4, j5, j6},
herramienta = índice,
usuario = índice,
pose = {x, y, z, rx, ry, rz}
}
Además del punto aprendido, los usuarios también pueden definir los puntos de coordenadas cartesianas o puntos de coordenadas conjuntas como
parámetros de punto; consulte la descripción de los parámetros de cada comando para obtener más detalles.
189
Machine Translated by Google
Parámetros de velocidad
Velocidad/aceleración de movimiento real del robot = velocidad/aceleración máxima x velocidad global x comando r
comió
La aceleración/velocidad máxima está limitada por la configuración de reproducción, que se puede ver y modificar en la página
La velocidad global se puede configurar a través del software de control (esquina superior derecha de la figura anterior) o el comando
SpeedFactor.
La velocidad del comando la llevan los parámetros opcionales de los comandos de movimiento. Cuando la tasa de
aceleración/velocidad no se especifica a través de los parámetros opcionales, el valor establecido en los parámetros de
movimiento se utiliza de forma predeterminada (consulte los comandos Speed, Accel, SpeedS, AccelS, SpeedR, AccelR para obtener
Ejemplo:
Ir (P1) : muévase a P1 con la aceleración de (aceleración máxima de la articulación x 20 % x 50 %) y la velocidad de (velocidad máxima de la
articulación x 20 % x 60 %) a través del movimiento de la articulación.
Go(P1,"Speed = 40, Accel = 90") Muévete a P1 con la aceleración de (aceleración máxima de la articulación).
190
Machine Translated by Google
en x 20% x 30%) y velocidad de (velocidad máxima de la articulación x 20% x 80%) a través del movimiento de la articulación
Mover (P1) : se mueve a P1 con una aceleración de (aceleración cartesiana máxima x 20 % x 70 %) y una velocidad
de (velocidad cartesiana máxima x 20 % x 80 %) en el modo lineal.
Move(P1,"SpeedS = 40, AccelS = 90") : se mueve a P1 con la aceleración de (aceleración cartesiana máxima x 20
% x 40 %) y la velocidad de (velocidad cartesiana máxima x 20 % x 90 %) en el modo lineal
Los comandos proporcionados por Dobot se dividen en comando inmediato y comando en cola.
El comando de cola no se ejecuta inmediatamente después de su emisión, sino que ingresa a la cola algorítmica en
La cola del algoritmo en segundo plano no bloqueará el hilo. Si el comando inmediato se llama después del comando de la
cola, el comando inmediato se puede ejecutar antes de que se complete el comando de la cola, como en el siguiente ejemplo:
En este ejemplo, el punto que obtiene GetPose() no es P1, sino un punto de proceso en movimiento.
Si desea asegurarse de que todos los comandos anteriores se hayan ejecutado al ejecutar el comando inmediato,
puede llamar al comando Sync () antes de llamar al comando inmediato, lo que bloqueará la ejecución del programa hasta
que todos los comandos anteriores se ejecuten por completo. como el siguiente ejemplo:
191
Machine Translated by Google
Movimiento
Los comandos de movimiento se utilizan para controlar el movimiento del brazo robótico. Los comandos de este grupo son todos
comandos de cola.
Ir
Dominio:
Descripción:
Muévase desde la posición actual a una posición de destino bajo el sistema de coordenadas cartesianas en modo punto a punto. La
trayectoria del movimiento articular no es lineal y todas las articulaciones completan el movimiento al mismo tiempo.
Parámetro requerido:
P: punto objetivo, definido por el usuario u obtenido de la página Punto. Sólo se admiten puntos de coordenadas cartesianas.
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en Configuración.
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente
SYNC=1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se
Ejemplo:
Ir(P1)
Mover
Dominio:
192
Machine Translated by Google
Descripción:
Muévase desde la posición actual a una posición de destino bajo el sistema de coordenadas cartesianas en modo lineal.
Parámetro requerido:
P: punto objetivo, definido por el usuario u obtenido de la página Punto. Sólo se admiten puntos de coordenadas cartesianas.
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en la Configuración.
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en la Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente
SYNC=1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se ejecute
por completo.
STOP: aborta el movimiento. Especifique el índice DI. Cuando la DI especificada cambia a ON durante la ejecución de este
comando de movimiento, el robot aborta inmediatamente el movimiento actual y ejecuta directamente el siguiente comando.
por defecto es 1.
Ejemplo:
Mover(P1)
Mover(P1,"PARAR=3")
Mover(P2)
El brazo robótico se mueve a P1 en modo lineal. Cuando DI3 cambia a ON durante el movimiento, deja de moverse a P1
moverj
Dominio:
193
Machine Translated by Google
Descripción:
Muévase desde la posición actual a un ángulo de articulación objetivo en un modo punto a punto (movimiento de articulación).
Parámetro requerido:
P: punto objetivo, que sólo se puede definir a través del ángulo de la articulación.
Parámetro opcional:
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente
SYNC=1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se
Ejemplo:
local P = {conjunto={0,0.0674194,0,0,0,0}}
MoverJ(P)
Círculo3
Dominio:
Descripción:
Muévase desde la posición actual en un modo de círculo interpolado y regrese a la posición actual después de mover círculos
específicos. Como el círculo debe determinarse a través de la posición actual, P1 y P2, la posición actual no debe estar en una línea recta
determinada por P1 y P2, y el círculo determinado por los tres puntos no puede exceder el rango de movimiento del brazo del robot.
Parámetro requerido:
P1: punto medio, definido por el usuario u obtenido de la página Punto. Sólo se admiten puntos de coordenadas cartesianas.
P2: punto final, que es definido por el usuario u obtenido de la página Punto. Solo coordenada cartesiana
194
Machine Translated by Google
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en Configuración.
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente
SYNC=1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se ejecute
por completo.
Ejemplo:
Ir(P1)
Círculo3(P2,P3,1)
El brazo del robot se mueve a P1 y luego mueve un círculo completo determinado por P1, P2 y P3.
Arco3
Dominio:
Descripción:
Muévase desde la posición actual a una posición de destino en un modo de arco interpolado bajo el sistema de coordenadas
cartesianas. Como el arco debe determinarse a través de la posición actual, P1 y P2, la posición actual no debe estar en una línea recta
Parámetro requerido:
P1: punto medio, definido por el usuario u obtenido de la página Punto. Sólo se admiten puntos de coordenadas cartesianas.
P2: punto objetivo, definido por el usuario u obtenido de la página Punto. Sólo se admiten puntos de coordenadas cartesianas.
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en la Configuración.
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en la Configuración.
195
Machine Translated by Google
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado,
SYNC=1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando
Ejemplo:
Ir(P1)
Arco3(P2,P3)
Goio
Dominio:
Descripción:
Muévase desde la posición actual a una posición objetivo en un modo punto a punto (movimiento conjunto) bajo el
sistema de coordenadas cartesianas y establezca el estado del puerto de salida digital cuando el robot se esté moviendo.
Parámetro requerido:
P: punto objetivo, definido por el usuario u obtenido de la página Punto. Sólo se admiten puntos de coordenadas
cartesianas.
Parámetros de salida digital: configura el DO especificado que se activará cuando el brazo del robot se mueva a
una distancia o porcentaje específico. Puede configurar varios grupos, cada uno de los cuales contiene lo siguiente
parámetros:
Parámetro opcional:
196
Machine Translated by Google
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en Configuración.
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente
SYNC=1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se ejecute
por completo.
Ejemplo:
El brazo del robot se mueve hacia P1 con la configuración predeterminada. Cuando se aleje un 10% del punto de inicio, configure DO2 en
ON.
MoverIO
Dominio:
Descripción:
Muévase desde la posición actual a una posición objetivo en modo lineal bajo el sistema de coordenadas cartesianas y establezca el estado del
Parámetro requerido:
P: punto objetivo, definido por el usuario u obtenido de la página Punto. Sólo se admiten puntos de coordenadas cartesianas.
Parámetros de salida digital: configura el DO especificado que se activará cuando el brazo del robot se mueva una distancia o porcentaje
específico. Puede configurar varios grupos, cada uno de los cuales contiene los siguientes parámetros: Modo: modo de disparo. 0:
197
Machine Translated by Google
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en Configuración.
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente
SYNC=1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se ejecute
por completo.
Ejemplo:
El robot se mueve hacia P1 con la configuración predeterminada. Cuando se aleje un 10% del punto de inicio, configure DO2 en ON.
MoverJIO
Dominio:
Descripción:
Muévase desde la posición actual al ángulo de articulación objetivo mediante el movimiento de la articulación y establezca el estado del puerto
Parámetro requerido:
Parámetros de salida digital: configura el DO especificado que se activará cuando el brazo del robot se mueva una distancia o porcentaje
específico. Puede configurar varios grupos, cada uno de los cuales contiene los siguientes parámetros:
198
Machine Translated by Google
Parámetro opcional:
CP: establece la velocidad de trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente
SYNC = 1: ejecución sincrónica, lo que significa no regresar después de ser llamado hasta que el comando se ejecute por completo.
Ejemplo:
local P = {conjunto={0,0.0674194,0,0,0,0}}
MoverJIO(P, { {0, 10, 2, 1} })
El brazo del robot se mueve hacia P con la configuración predeterminada. Cuando se mueva a una distancia del 10% del punto inicial,
ServoJ
Dominio:
Descripción:
El comando de seguimiento dinámico basado en el espacio conjunto se usa generalmente para la función paso a paso del control en línea
para realizar el seguimiento dinámico mediante llamadas cíclicas. Se recomienda configurar la frecuencia de llamada en 33 Hz, es decir,
AVISO
Cuando el ángulo de la articulación del punto objetivo es bastante diferente del del punto actual y el tiempo de movimiento
t es pequeño, la velocidad del movimiento de la articulación será demasiado rápida, lo que puede provocar un error del servo
Antes de utilizar el comando, se recomienda realizar una planificación de velocidad para los puntos de ejecución y emitir
los puntos planificados de acuerdo con el intervalo de tiempo fijo t para garantizar que el robot pueda rastrear los puntos
199
Machine Translated by Google
Parámetro requerido:
Parámetro opcional:
0.1. lookahead_time: lookahead_time, similar al término D en el control PID. Escalar, sin unidad, rango:
50. ganancia: ganancia proporcional de la posición objetivo, similar al término P en el control PID. Escalar, sin unidad,
Los parámetros lookahead_time y ganancia determinan conjuntamente el tiempo de respuesta y la suavidad de la trayectoria del brazo
robótico. Un valor de tiempo de anticipación más pequeño o un valor de ganancia mayor pueden hacer que el brazo del robot responda
Ejemplo:
servop
Dominio:
ServoP(P)
Descripción:
El comando de seguimiento dinámico basado en el espacio cartesiano se usa generalmente para la función paso a paso del
control en línea para realizar el seguimiento dinámico mediante llamadas cíclicas. Se recomienda configurar la frecuencia de
Parámetro:
Ejemplo:
ServoP({pose={500,100,200,150,0,90} }
200
Machine Translated by Google
Parámetro de movimiento
Los parámetros de movimiento se utilizan para establecer u obtener parámetros de movimiento relevantes del robot. Los
comandos de este grupo son comandos de cola, excepto GetPose, GetAngle y SpeedFactor.
Sincronizar
Dominio:
Sincronización()
Descripción:
El comando se utiliza para bloquear el programa para ejecutar los comandos de la cola. Regresa hasta que se hayan
ejecutado todos los comandos de la cola y luego ejecuta los comandos posteriores. Generalmente se utiliza para esperar
Ejemplo:
Ir(P1)
Ir(P2)
Sincronización()
El brazo del robot se mueve a P1 y luego a P2 antes de regresar para ejecutar comandos posteriores.
CP
Dominio:
CP(R)
Descripción:
Establezca la relación de trayectoria continua (CP), es decir, cuando el brazo del robot se mueve continuamente a través
de múltiples puntos, ya sea que haga una transición en ángulo recto o de forma curva al pasar por el punto medio.
201
Machine Translated by Google
Parámetro requerido:
Ejemplo:
PC(50)
Mover(P1)
Mover(P2)
Mover(P3)
El brazo del robot se mueve de P1 a P3 a través de P2 con una relación de trayectoria continua del 50 %.
Factor de velocidad
Dominio:
Factor de velocidad(R)
Descripción:
Parámetro requerido:
Ejemplo:
Factor de velocidad(20)
Velocidad
Dominio:
202
Machine Translated by Google
Velocidad(R)
Descripción:
Parámetro requerido:
Ejemplo:
Velocidad(20)
Ir(P1)
Acelerar
Dominio:
Acelerar(R)
Descripción:
Parámetro requerido:
Ejemplo:
Aceleración(50)
Ir(P1)
Velocidades
Dominio:
VelocidadS(R)
Descripción:
203
Machine Translated by Google
Establezca la velocidad del movimiento espacial (X/Y/Z) para movimiento lineal y de arco.
Parámetro requerido:
Ejemplo:
Velocidades(20)
Mover(P1)
Aceleraciones
Dominio:
AccelS(R)
Descripción:
Establezca la tasa de aceleración del movimiento espacial (X/Y/Z) para movimiento lineal y de arco.
Parámetro requerido:
Ejemplo:
Aceleraciones(50)
Mover(P1)
VelocidadR
Dominio:
VelocidadR(R)
Descripción:
Establezca la velocidad del movimiento de pose (RX/RY/RZ) para movimiento lineal y de arco.
Parámetro requerido:
204
Machine Translated by Google
Ejemplo:
VelocidadR(20)
Mover(P1)
Acelerar
Dominio:
Acelerar(R)
Descripción:
Establezca la velocidad de aceleración del movimiento de pose (RX/RY/RZ) para movimiento lineal y de arco.
Parámetro requerido:
Ejemplo:
Aceleración(50)
Mover(P1)
ObtenerPose
Dominio:
GetPose("usuario=0 herramienta=0")
Descripción:
Obtenga la postura en tiempo real del brazo del robot bajo el sistema de coordenadas cartesianas.
Parámetro opcional:
usuario: índice del sistema de coordenadas del usuario correspondiente a la postura, que primero debe agregarse en el
herramienta: índice del sistema de coordenadas de la herramienta correspondiente a la postura, que primero debe agregarse
Devolver:
205
Machine Translated by Google
Ejemplo:
Obtener ángulo
Dominio:
ObtenerAngle()
Descripción:
Obtenga la postura en tiempo real del brazo del robot bajo el sistema de coordenadas conjuntas.
Devolver:
Ejemplo:
ComprobarIr
Dominio:
ComprobarIr(P)
Descripción:
Parámetro requerido:
P: punto objetivo, definido por el usuario u obtenido de la página Punto. Sólo se admiten puntos de coordenadas
cartesianas.
206
Machine Translated by Google
Devolver:
Comprobar resultado.
0: sin errores
18: Error de cinemática inversa con resultado fuera del área de trabajo
34: Error de cinemática inversa con resultado fuera del área de trabajo en trayectoria
Ejemplo:
Ir(P1)
fin
Compruebe si el brazo del robot puede alcanzar P1 mediante la configuración predeterminada de movimiento articular. Si puede, pase a P1
ComprobarMover
Dominio:
ComprobarMovimiento(P)
Descripción:
Parámetro requerido:
P: punto objetivo, definido por el usuario u obtenido de la página Punto. Sólo se admiten puntos de coordenadas cartesianas.
Devolver:
207
Machine Translated by Google
Comprobar resultado.
0: sin errores
18: Error de cinemática inversa con resultado fuera del área de trabajo
34: Error de cinemática inversa con resultado fuera del área de trabajo en trayectoria
Ejemplo:
Mover(P1)
fin
Compruebe si el brazo del robot puede alcanzar P1 mediante la configuración predeterminada de movimiento lineal. Si puede, muévase a
TCPVelocidad
Dominio:
Velocidad TCP(vt)
Descripción:
Establezca la velocidad absoluta. Los comandos de movimiento del sistema de coordenadas cartesiano después de este comando se ejecutarán
a la velocidad absoluta establecida y los comandos de movimiento de coordenadas conjuntas no se verán afectados. Después de configurar
TCPSpeed, SpeedS ya no tiene efecto, pero la velocidad máxima aún está limitada por la velocidad global (incluido el modo reducido).
Al utilizar el paquete de proceso de soldadura, si el comando entra en conflicto con los comandos de soldadura relacionados, los comandos de
Parámetro requerido:
208
Machine Translated by Google
Ejemplo:
Velocidad TCP(100)
Mover(P1)
El brazo del robot se mueve a P1 a una velocidad absoluta de 100 mm/s mediante un movimiento lineal.
Dominio:
TCPSpeedEnd()
Descripción:
El comando se utiliza con el comando TCPSpeed para desactivar la configuración de velocidad absoluta.
Ejemplo:
Velocidad TCP(100)
Mover(P1)
TCPSpeedEnd()
Mover(P2)
El brazo del robot se mueve a P1 a una velocidad absoluta de 100 mm/s mediante un movimiento lineal y luego se mueve a P2 a
Solución inversa
Dominio:
Solución inversa(P,Usuario,Herramienta,esConjuntaCerca,ConjuntaCerca)
Descripción:
Solución inversa: Calcule las coordenadas conjuntas del brazo del robot, basándose en las coordenadas dadas en el
Como las coordenadas cartesianas solo definen las coordenadas espaciales y el ángulo de inclinación del TCP, el brazo del
robot puede alcanzar la misma postura mediante diferentes gestos, lo que significa que una variable de postura puede corresponder
a múltiples variables de articulación. Para obtener una solución única, el sistema requiere una coordenada conjunta específica y
la solución más cercana a esta coordenada conjunta se selecciona como solución inversa. Para configurar esta coordenada
conjunta, consulte los parámetros isJointNear y JointNear para obtener más detalles.
209
Machine Translated by Google
Parámetro requerido:
Parámetro opcional:
isJointNear: se utiliza para establecer si JointNear es efectivo. 0 o nulo: JointNear no es efectivo, el algoritmo selecciona
los ángulos de las juntas de acuerdo con el ángulo actual. 1: el algoritmo selecciona los ángulos de las juntas según JointNear.
Devolver:
Ejemplo:
Solución inversa({473.000000,141.000000,469.000000,180.000000,0.000,90.000},0,0)
Las coordenadas cartesianas del extremo del brazo del robot en el sistema de coordenadas del usuario 0 y el sistema de coordenadas
de la articulación 0 son {473,141,469,180,0,90}. Calcule las coordenadas de la articulación y seleccione la solución más cercana al
Las coordenadas cartesianas del extremo del brazo del robot en el sistema de coordenadas del usuario 0 y el sistema de coordenadas
de la articulación 0 son {473,141,469,180,0,90}. Calcule las coordenadas conjuntas y seleccione la solución más cercana a
{0,0,90,0,90,0}.
Dominio:
Descripción:
Establezca la distancia de retroceso después de que el robot detecte una colisión. El valor establecido mediante este comando solo
tiene efecto cuando el proyecto actual se está ejecutando y se restaurará al valor original después de que se detenga el proyecto.
Parámetro requerido:
210
Machine Translated by Google
Ejemplo:
211
Machine Translated by Google
Movimiento relativo
Los comandos de movimiento se utilizan para controlar el movimiento del brazo robótico. Los comandos de este grupo son
PR
Dominio:
Descripción:
Establezca el desplazamiento del eje X, eje Y y eje Z de un punto bajo el sistema de coordenadas cartesianas para devolver un nuevo
Parámetro requerido:
P1: Punto antes del desplazamiento, que está definido por el usuario o se obtiene de la página TeachPoint. Solo se
cartesianas OffsetX, OffsetY, OffsetZ: desplazamiento del eje X, eje Y, eje Z en el sistema de coordenadas cartesianas; unidad: mm
Devolver:
Ejemplo:
Ir(RP(P1, {30,50,10}))
Desplace P1 una cierta distancia en los ejes X, Y y Z respectivamente, y luego muévase al punto después del
compensar.
RJ
Dominio:
Descripción:
Establezca el desplazamiento del ángulo de los ejes J1 ~ J6 de un punto específico en el sistema de coordenadas conjuntas y devuelva un nuevo
212
Machine Translated by Google
Parámetro requerido:
P1: Punto antes del desplazamiento, que no se puede obtener desde la página TeachPoint. Sólo se admiten puntos de
coordenadas cartesianas.
Devolver:
Ejemplo:
MoverJ(RJ(P1, {60,50,32,30,25,30}))
Establezca el desplazamiento del ángulo de los ejes J1 ~ J6 y mueva el brazo del robot al punto objetivo después del desplazamiento.
GoToolR
Dominio:
GoToolR({x, y, z, rx, ry, rz}, Herramienta, "Usuario=0 CP=1 Velocidad=50 Aceleración=20 SYNC=1")
Descripción:
Pasar de la posición actual a la posición objetivo relativamente mediante el movimiento articular. La trayectoria del movimiento articular no es lineal
Parámetro requerido:
{x, y, z, rx, ry, rz}: desplazamiento del punto objetivo con respecto a la posición actual en el sistema de coordenadas de la
herramienta especificada. x, y, z representan el desplazamiento espacial, unidad: mm; rx, ry, rz representan el desplazamiento angular,
unidad: °.
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en Configuración.
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente del proceso de
ejecución.
SYNC = 1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se ejecute por completo.
Ejemplo:
213
Machine Translated by Google
El brazo del robot se mueve hasta el punto de desplazamiento específico a lo largo del sistema de coordenadas de la herramienta 0 mediante el movimiento de la
MoveToolR
Dominio:
MoveToolR({x, y, z, rx, ry, rz}, Herramienta, "Usuario=0 CP=1 VelocidadS=50 AccelS=20 SYNC=1")
Descripción:
Muévase desde la posición actual a la posición objetivo relativamente mediante un movimiento lineal.
Parámetro requerido:
{x, y, z, rx, ry, rz}: desplazamiento del punto objetivo con respecto a la posición actual en el sistema de coordenadas de la
herramienta especificada. x, y, z representan el desplazamiento espacial, unidad: mm; rx, ry, rz representan el desplazamiento angular,
unidad: °.
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en Configuración.
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente del proceso de
ejecución.
SYNC = 1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se ejecute por completo.
Ejemplo:
El brazo del robot se mueve hasta el punto de desplazamiento específico a lo largo del sistema de coordenadas de la herramienta 0 mediante un movimiento lineal
GoUserR
Dominio:
214
Machine Translated by Google
GoUserR({x, y, z, rx, ry, rz}, Usuario, "Herramienta=0 CP=1 Velocidad=50 Aceleración=20 SYNC=1")
Descripción:
Pasar de la posición actual a la posición objetivo relativamente mediante el movimiento articular. La trayectoria del movimiento articular no es
Parámetro requerido:
{x, y, z, rx, ry, rz}: desplazamiento del punto objetivo con respecto a la posición actual en el sistema de coordenadas del usuario
especificado. x, y, z representan el desplazamiento espacial, unidad: mm; rx, ry, rz representan el desplazamiento angular,
unidad: °.
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en Configuración.
Parámetro opcional:
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente del proceso de
ejecución.
SYNC = 1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se ejecute por completo.
Ejemplo:
El brazo del robot se mueve hasta el punto de desplazamiento específico a lo largo del sistema de coordenadas del usuario 0 mediante el movimiento de la articulación
MoverUsuarioR
Dominio:
MoveUserR({x, y, z, rx, ry, rz}, Usuario, "Herramienta=0 CP=1 VelocidadS=50 AccelS=20 SYNC=1")
Descripción:
Muévase desde la posición actual a la posición objetivo relativamente mediante un movimiento lineal.
Parámetro requerido:
{x, y, z, rx, ry, rz}: desplazamiento del punto objetivo en relación con la posición actual en el usuario especificado
215
Machine Translated by Google
sistema coordinado. x, y, z representan el desplazamiento espacial, unidad: mm; rx, ry, rz representan el desplazamiento angular,
unidad: °.
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en Configuración.
Parámetro opcional:
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente del proceso de
ejecución.
SYNC: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se ejecute por completo.
Ejemplo:
El brazo del robot se mueve hasta el punto de desplazamiento específico a lo largo del sistema de coordenadas del usuario 0 mediante un movimiento lineal
MoverJR
Dominio:
Descripción:
Muévase desde la posición actual al ángulo de compensación de la articulación en un modo punto a punto (movimiento de la articulación).
Parámetro requerido:
{Desplazamiento1, Desplazamiento2, Desplazamiento3, Desplazamiento4, Desplazamiento5, Desplazamiento6}: Ejes J1 J6 desplazados bajo el sistema de
Parámetro opcional:
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0~100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente del
proceso de ejecución.
216
Machine Translated by Google
SYNC=1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se
Ejemplo:
MoverJR({20,20,10,0,10,0})
El brazo del robot se mueve hasta el ángulo de compensación mediante el movimiento de la articulación con la configuración predeterminada.
GoR
Dominio:
Descripción:
Muévase desde la posición actual a la posición de desplazamiento en un modo punto a punto (movimiento conjunto) bajo el sistema
de coordenadas cartesianas. La trayectoria del movimiento articular no es lineal y todas las articulaciones completan el movimiento.
al mismo tiempo.
Parámetro requerido:
OffsetX, OffsetY, OffsetZ: Desplazamiento del eje X, eje Y y eje Z bajo el sistema de coordenadas cartesiano, unidad:
mm.
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en la Configuración.
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en la Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente
SYNC=1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se
Ejemplo:
GoR({10,10,10})
217
Machine Translated by Google
El brazo del robot se mueve hasta el punto objetivo en modo articulación a articulación con la configuración predeterminada.
Agente de mudanzas
Dominio:
Descripción:
Mover desde la posición actual a la posición de desplazamiento en modo lineal bajo la coordenada cartesiana
sistema.
Parámetro requerido:
OffsetX, OffsetY, OffsetZ: Desplazamiento del eje X, eje Y y eje Z bajo el sistema de coordenadas cartesiano, unidad:
milímetros
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, que se puede usar aquí después de agregarlo en la Configuración.
Herramienta: índice del sistema de coordenadas de la herramienta, que se puede usar aquí después de agregarlo en la Configuración.
CP: establece una trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado, independientemente del
proceso de ejecución.
SYNC=1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se ejecute por
completo.
Ejemplo:
MoverR({10,10,10})
El brazo del robot se mueve hasta el punto objetivo mediante un movimiento lineal con la configuración predeterminada.
218
Machine Translated by Google
OI
Los comandos IO se utilizan para leer y escribir IO del sistema y establecer parámetros relevantes.
DI
Dominio:
DI(índice)
Descripción:
Parámetro requerido:
índice: índice DI
Devolver:
Ejemplo:
si (DI(1)==ON) entonces
Mover(P1)
fin
El brazo del robot se mueve a P1 mediante un movimiento lineal cuando el estado de DI1 está activado.
Grupo DI
Dominio:
DIGroup(índice1,...,índiceN)
Descripción:
Parámetro requerido:
índice: índice DI, se puede ingresar más de uno, separados por comas.
Devolver:
219
Machine Translated by Google
Ejemplo:
Mover(P1)
fin
El brazo del robot se mueve a P1 en un movimiento lineal cuando tanto DI1 como DI2 están activados.
EsperaDI
Dominio:
EsperaDI(índice,ON|OFF,período)
Descripción:
Mando inmediato. Obtenga el estado del puerto de entrada digital. Si el estado es consistente con el estado especificado, el
programa continuará ejecutándose. De lo contrario, obtenga el estado del puerto de entrada digital en un punto específico.
intervalo.
Parámetro requerido:
índice: índice DI
ON|OFF: estado del puerto DI. ENCENDIDO: nivel alto; APAGADO: período
Ejemplo:
EsperaDI(1,ON,50)
Mover(P1)
Obtenga el estado de DI1 cada 50 ms. Si DI1 es alto, el programa continúa ejecutándose y el brazo robótico se mueve a P1 en
modo lineal.
HACER
Dominio:
Descripción:
220
Machine Translated by Google
Parámetro requerido:
índice: índice DO
ON|OFF: estado del puerto DO. ENCENDIDO: nivel alto; APAGADO: nivel bajo
Ejemplo:
DOEjecutar
Dominio:
DOEjecutar(índice,ON|OFF)
Descripción:
Mando inmediato. Establezca el estado del puerto de salida digital inmediatamente independientemente del comando actual
cola.
Parámetro requerido:
índice: índice DO
ON|OFF: estado del puerto DO. ENCENDIDO: nivel alto; APAGADO: nivel bajo
Ejemplo:
DOEjecutar(1,ON)
DOGrupo
Dominio:
DOGroup({índice1,ON|OFF},..,{índiceN,ON|OFF})
Descripción:
Parámetro requerido:
221
Machine Translated by Google
Se pueden configurar varios grupos, con cada grupo entre llaves y separados por comas.
Ejemplo:
GrupoDO({1,ON},{2,ON})
HerramientaDO
Dominio:
HerramientaHACER(índice,ON|OFF)
Descripción:
Parámetro requerido:
ON|OFF: estado del puerto DO. ENCENDIDO: nivel alto; APAGADO: nivel bajo
Ejemplo:
HerramientaHACER(1,ON)
HerramientaDOEjecutar
Dominio:
HerramientaDOEjecutar(índice,ON|OFF)
Descripción:
Mando inmediato. Establezca el estado del puerto de salida digital de la herramienta inmediatamente independientemente de la
Parámetro requerido:
222
Machine Translated by Google
ON|OFF: estado del puerto DO. ENCENDIDO: nivel alto; APAGADO: nivel bajo
Ejemplo:
HerramientaDOEjecutar(1,ON)
HerramientaDI
Dominio:
HerramientaDI(índice)
Descripción:
Parámetro requerido:
Devolver:
Ejemplo:
si (ToolDI(1)==ON) entonces
Mover(P1)
fin
HerramientaAI
Dominio:
HerramientaAI(índice)
Descripción:
Mando inmediato. Obtenga el valor del puerto de entrada analógica de la herramienta. Debe configurar el puerto en modo de
Parámetro requerido:
223
Machine Translated by Google
Devolver:
Ejemplo:
prueba = HerramientaAI(1)
HerramientaModoAnalógico
Dominio:
HerramientaModoAnalógico(modo)
Descripción:
Parámetro requerido:
Ejemplo:
HerramientaModoAnalógico(11)
Establezca el estado del puerto de entrada analógica de la herramienta en modo de entrada de voltaje de 03,3 V.
ao
Dominio:
AO(índice,valor)
Descripción:
224
Machine Translated by Google
Parámetro requerido:
índice: índice AO
Ejemplo:
AO(1,2)
AOEjecutar
Dominio:
AOEjecutar(índice,valor)
Descripción:
Mando inmediato. Configure el voltaje del puerto de salida analógica inmediatamente independientemente del comando actual
cola.
Parámetro requerido:
índice: índice AO
Ejemplo:
AOEjecutar(1,2)
AI
Dominio:
IA (índice)
Descripción:
Parámetro requerido:
índice: índice AI
225
Machine Translated by Google
Devolver:
Ejemplo:
prueba = AI(1)
EstablecerHerramientaPoder
Dominio:
SetToolPower(estado)
Descripción:
Mando inmediato. Establece el estado de energía de la herramienta final, que generalmente se usa para reiniciar la energía final,
como repotenciar y reinicializar la pinza. Si necesita llamar a la interfaz continuamente, se recomienda mantener un intervalo de
al menos 4 ms.
Parámetro requerido:
Ejemplo:
Apague la herramienta.
EstablecerABZPPC
Dominio:
EstablecerABZPPC(valor)
Descripción:
Parámetro requerido:
226
Machine Translated by Google
Ejemplo:
EstablecerABZPPC(1000)
ObtenerABZ
Dominio:
ObtenerABZ()
Descripción:
Devolver:
Ejemplo:
Obtenga la resolución del codificador ABZ configurado y asigne el valor a la variable "abz".
227
Machine Translated by Google
TCP/UDP
Los comandos TCP/UDP se utilizan para la comunicación TCP/UDP. Los comandos de este grupo son todos
órdenes inmediatas.
TCPCrear
Dominio:
Descripción:
Parámetro requerido:
isServer: si se debe crear un servidor. verdadero: crea un servidor; falso: crea un cliente.
IP: Dirección IP del servidor, que se encuentra en el mismo segmento de red del cliente sin conflicto. Es la dirección
IP del brazo robótico cuando se crea un servidor y la dirección del par cuando se crea un cliente.
creado.
puerto: puerto del servidor. Cuando el robot actúe como servidor, no utilice los siguientes puertos que han sido
ocupados por el sistema.
22, 23, 502 (0 1024 puertos son puertos definidos por Linux, que tienen una alta posibilidad de estar ocupados.
Evite su uso),
30005, 30006, 5000 5004, 6000, 8080, 11000, 11740, 22000, 22002, 29999, 30003, 30004, 60000,
65500~65515
Devolver:
errar:
Ejemplo 1:
local ip="192.168.5.1" Establece la dirección IP del robot como la dirección IP del servidor local port=6001 Puerto
del servidor
error local = 0
enchufe local = 0
err, socket = TCPCreate(verdadero, ip, puerto)
228
Machine Translated by Google
Ejemplo 2:
local ip="192.168.5.25" Establece la dirección IP de un equipo externo, como una cámara, como IP
dirección del servidor
puerto local = 6001 Puerto del servidor
error local = 0
enchufe local = 0
err, socket = TCPCreate(falso, ip, puerto)
TCPInicio
Dominio:
Descripción:
Establezca una conexión TCP. El brazo robótico espera conectarse con el cliente cuando actúa como servidor y conecta
Parámetro requerido:
tiempo de espera: tiempo de espera de espera. unidades. Si el tiempo de espera es 0, espere hasta que la conexión se establezca correctamente.
Devolver:
Resultado de la conexión.
4: fallo de conexión
Ejemplo:
err = TCPStart(zócalo, 0)
Comience a establecer una conexión TCP hasta que la conexión sea exitosa.
229
Machine Translated by Google
TCPLeer
Dominio:
Descripción:
Parámetro requerido:
Parámetro opcional:
tiempo de espera: tiempo de espera de espera. unidades. Si el tiempo de espera es 0, espere hasta que los datos se lean por completo antes de
tiempo de espera. tipo: tipo de valor de retorno. Si no se establece el tipo, el formato del búfer de RecBuf es una tabla. Si el tipo se
Devolver:
errar:
Ejemplo:
Reciba datos TCP y guarde los datos en formato de cadena y tabla respectivamente.
TCPEscribir
Dominio:
TCPWrite(zócalo, buf)
Descripción:
Parámetro requerido:
230
Machine Translated by Google
Devolver:
Ejemplo:
TCPWrite(socket, "prueba")
TCPDestruir
Dominio:
TCPDestruir(socket)
Descripción:
Parámetro requerido:
Devolver:
Resultado de la ejecución.
Ejemplo:
TCPDestruir(socket)
UDPCrear
Dominio:
231
Machine Translated by Google
Descripción:
Parámetro requerido:
isServer: falso.
IP: dirección IP del par, que se encuentra en el mismo segmento de red del cliente sin conflicto.
puerto: puerto par.
Devolver:
errar:
Ejemplo:
local ip="192.168.5.25" Establece la IP de un dispositivo externo, como una cámara, como dirección IP
del par
puerto local = 6001 puerto par
error local = 0
enchufe local = 0
err, socket = UDPCreate(falso, ip, puerto)
UDPLeer
Dominio:
Descripción:
Parámetro requerido:
Parámetro opcional:
tiempo de espera: tiempo de espera de espera. unidades. Si el tiempo de espera es 0, espere hasta que los datos se lean por completo antes de ejecutar; de
232
Machine Translated by Google
tipo: tipo de valor de retorno. Si no se establece el tipo, el formato del búfer de RecBuf es una tabla. Si el tipo se establece en
Devolver:
errar:
Ejemplo:
Reciba datos UDP y guarde los datos en formato de cadena y tabla respectivamente.
UDPEscribir
Dominio:
UDPWrite(zócalo, buf)
Descripción:
Parámetro requerido:
Devolver:
Ejemplo:
UDPWrite(socket, "prueba")
233
Machine Translated by Google
Modbus
Los comandos Modbus se utilizan para la comunicación Modbus. Este grupo de comandos son todos inmediatos.
comandos.
ModbusCrear
Dominio:
ModbusCrear()
Descripción:
Parámetro requerido:
AVISO
Este parámetro determina el formato de protocolo utilizado para transmitir datos una vez establecida la
al crear el maestro, el maestro aún se podrá crear exitosamente, pero puede haber una excepción en la
comunicación posterior.
Devolver:
errar:
234
Machine Translated by Google
Ejemplo 1:
Ejemplo 2:
ModbusCrear()
ModbusCreate("127.0.0.1")
ModbusCreate("0.0.0.1")
Ejemplo 3:
err,id=ModbusCreate("127.0.0.1",60000,1,1)
El ejemplo 3 es un caso especial, que indica la comunicación con el esclavo Modbus RTU externo a través del
Interfaz 485 al final del brazo del robot.
GetInBits
Dominio:
Descripción:
235
Machine Translated by Google
Parámetro requerido:
número de entradas discretas. El valor máximo es 216 (serie CR) o 984 (serie Nova) cuando se comunica con el
esclavo a través de la interfaz de E/S de la herramienta y 2008 para los otros escenarios.
Devolver:
Valor de entrada discreta almacenado en una tabla, donde el primer valor de la tabla corresponde al valor de entrada discreta
en la dirección inicial.
Ejemplo:
enBits = ObtenerInBits(id,0,5)
ObtenerInRegs
Dominio:
Descripción:
Lea el valor del registro de entrada con el tipo de datos especificado del esclavo Modbus.
Parámetro requerido:
Parámetro opcional:
U16: entero sin signo de 16 bits (dos bytes, ocupa un registro). Se leen continuamente hasta 13 valores (serie CR)
o 61 valores (serie Nova) cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y se
U32: entero sin signo de 32 bits (cuatro bytes, ocupa dos registros). Se leen continuamente hasta 6 valores (serie
CR) o 30 valores (serie Nova) cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta,
F32: número de punto flotante de precisión simple de 32 bits (cuatro bytes, ocupa dos registros). Se leen continuamente
hasta 6 valores (serie CR) o 30 valores (serie Nova) cuando se comunica con el esclavo a través de
236
Machine Translated by Google
la interfaz de E/S de la herramienta y se leen continuamente hasta 62 valores para los otros escenarios.
F64: número de coma flotante de doble precisión de 64 bits (ocho bytes, ocupa cuatro registros). Se leen continuamente hasta 3
valores (serie CR) o 15 valores (serie Nova) cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta,
Devolver:
Valores del registro de entrada almacenados en una tabla, donde el primer valor corresponde al valor del registro de entrada en la
dirección inicial.
Ejemplo:
Obtener bobinas
Dominio:
Descripción:
Parámetro requerido:
número de valores del registro de la bobina. El valor máximo es 216 (serie CR) o 984 (serie Nova) cuando se comunica con
el esclavo a través de la interfaz de E/S de la herramienta y 2008 para los otros escenarios.
Devolver:
Valor del registro de la bobina almacenado en una tabla, donde el primer valor corresponde al valor del registro de la bobina
en la dirección inicial.
Ejemplo:
Bobinas = GetCoils(id,0,5)
ObtenerHoldRegs
237
Machine Translated by Google
Dominio:
Descripción:
Lea el valor del registro de retención con el tipo de datos especificado del esclavo Modbus.
Parámetro requerido:
Parámetro opcional:
U16: entero sin signo de 16 bits (dos bytes, ocupan un registro). Se leen continuamente hasta 13 valores (serie
CR) o 61 valores (serie Nova) cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta,
U32: entero sin signo de 32 bits (cuatro bytes, ocupa dos registros). Se leen continuamente hasta 6 valores (serie
CR) o 30 valores (serie Nova) cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta,
F32: número de punto flotante de precisión simple de 32 bits (cuatro bytes, ocupa dos registros). Se leen continuamente
hasta 6 valores (serie CR) o 30 valores (serie Nova) cuando se comunica con el esclavo a través de la interfaz de E/S de
F64: número de coma flotante de doble precisión de 64 bits (ocho bytes, ocupa cuatro registros). Se leen continuamente
hasta 3 valores (serie CR) o 15 valores (serie Nova) cuando se comunica con el esclavo a través de la interfaz de E/S de
Devolver:
Valor del registro de retención almacenado en una tabla, donde el primer valor corresponde al valor del registro de retención
en la dirección inicial.
Ejemplo:
Conjunto de bobinas
Dominio:
238
Machine Translated by Google
Descripción:
Parámetro requerido:
número de valores que se escribirán en el registro de la bobina. El valor máximo es 440 cuando se comunica con
el esclavo a través de la interfaz de E/S de la herramienta y 1976 para los demás escenarios. tabla: almacena
los valores que se escribirán en el registro de la bobina. El primer valor de la tabla corresponde a la dirección inicial del registro
de la bobina.
Ejemplo:
EstablecerRegsHold
Dominio:
Descripción:
Escriba el valor especificado de acuerdo con el tipo de datos especificado en la dirección especificada del registro de retención.
Parámetro requerido:
almacena los valores que se escribirán en el registro de la bobina. El primer valor de la tabla corresponde a la dirección inicial
Parámetro opcional:
U16: entero sin signo de 16 bits (dos bytes, ocupan un registro). Se escriben hasta 27 valores.
239
Machine Translated by Google
continuamente cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y se escriben hasta
U32: entero sin signo de 32 bits (cuatro bytes, ocupa dos registros). Se escriben hasta 13 valores
continuamente cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y hasta 61 valores
F32: número de punto flotante de precisión simple de 32 bits (cuatro bytes, ocupa dos registros). Se escriben hasta 13
valores continuamente cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y hasta 61
F64: número de coma flotante de doble precisión de 64 bits (ocho bytes, ocupa cuatro registros). Se escriben hasta 6
valores continuamente cuando se comunica con el esclavo a través de la interfaz de E/S de la herramienta, y hasta 30
Ejemplo:
A partir de la dirección 2048, escriba un número de punto flotante de doble precisión en el registro de tenencia.
ModbusCerrar
Dominio:
ModbusCerrar(id)
Descripción:
Parámetro opcional:
Devolver:
Ejemplo:
ModbusCerrar(id)
240
Machine Translated by Google
Control de programa
Los comandos de control de programas son comandos generales relacionados con el control de programas. Mientras , if
y for son comandos de control de flujo de lua. Consulte Gramática básica de Lua Control de procesos.
imprimir
Dominio:
imprimir(var)
Descripción:
Parámetro requerido:
Ejemplo:
imprimir(var)
Dormir
Dominio:
Hora de dormir)
Descripción:
Mando inmediato. Retrasar la ejecución del siguiente comando. Este comando se utiliza para bloquear la ejecución
del script.
Parámetro requerido:
tiempo: tiempo de retardo, unidad: ms. No se permiten puntos decimales en el parámetro, lo que hará que la alarma o el
comando no sean válidos, incluso en el formato 0,5 * 1000. Utilice el número entero como parámetro.
Ejemplo:
241
Machine Translated by Google
Dormir(100)
Esperar
Dominio:
Tiempo de espera)
Descripción:
Comando de cola. Entregue el comando de movimiento con un retraso o entregue el siguiente comando con un retraso
después de que se complete el movimiento actual. Este comando solo bloquea la ejecución del algoritmo en segundo plano.
cola.
Parámetro requerido:
tiempo: tiempo de retardo, unidad: ms. No se permiten puntos decimales en el parámetro, lo que hará que la alarma o el
comando no sean válidos, incluso en el formato 0,5 * 1000. Utilice el número entero como parámetro.
Ejemplo:
Espera(100)
Ir(P1)
Espera(100)
Configure DO1 en ON, espere 100 ms y luego mueva el robot a P1. Retrase 100 ms y luego configure DO1 en APAGADO.
Pausa
Dominio:
Pausa()
Descripción:
Pausa la ejecución del programa. El programa puede continuar ejecutándose sólo mediante control de software o control remoto.
control.
Ejemplo:
242
Machine Translated by Google
Ir(P1)
Pausa()
Ir(P2)
El robot se mueve a P1 y luego deja de funcionar. Puede continuar moviéndose a P2 sólo a través de controles externos.
control.
Dominio:
Descripción:
Comando de cola. Establezca el nivel de detección de colisiones. Esta configuración solo tiene efecto cuando el proyecto actual se está
ejecutando. Una vez que el proyecto deja de ejecutarse, los parámetros se restauran a la configuración original.
Parámetro requerido:
nivel: nivel de detección de colisiones, rango: 0 a 5. 0 significa desactivar la detección de colisiones. Cuanto mayor sea el nivel
Ejemplo:
Dominio:
Descripción:
Comando de cola. Comience a cronometrar después de que todos los comandos antes de este comando se hayan ejecutado
por completo. Este comando debe usarse combinado con el comando ElapsedTime() para calcular el tiempo de operación.
Ejemplo:
Tiempo transcurrido
243
Machine Translated by Google
Dominio:
Tiempo transcurrido()
Descripción:
Comando de cola. Detén el cronometraje y devuelve la diferencia horaria. El comando debe usarse combinado con el comando
ResetElapsedTime().
Esta interfaz solo puede contar la diferencia horaria en 35 minutos. Si la diferencia horaria supera los 35 minutos, la
interfaz devolverá una diferencia horaria incorrecta. Para diferencias horarias más largas, se recomienda utilizar
Devolver:
Ejemplo:
Calcule el tiempo que tarda el brazo del robot en moverse hacia adelante y hacia atrás 10 veces entre P1 y P2 e imprímalo en el
consola.
Dominio:
Descripción:
Devolver:
Ejemplo:
244
Machine Translated by Google
Establecer usuario
Dominio:
Descripción:
Comando de cola. Modifique el sistema de coordenadas del usuario especificado. Esta modificación solo tiene efecto mientras el
proyecto actual está en ejecución. Después de detener el proyecto, el sistema de coordenadas se restaurará al
valor antes de la modificación.
Parámetro requerido:
índice: índice del sistema de coordenadas del usuario, rango: 0 9 (0 es el sistema de coordenadas del usuario
predeterminado) tabla: matriz para el sistema de coordenadas del usuario, en formato {x, y, z, rx, ry, rz}
Ejemplo:
EstablecerUsuario(1,{10,10,10,0,0,0})
UsuarioCalc
Dominio:
CalcUser(índice,matriz_dirección,tabla)
Descripción:
Parámetro requerido:
índice: índice del sistema de coordenadas del usuario, rango: [0,9]. El valor inicial 0 se refiere al sistema de
coordenadas del
método de cálculo. 1: multiplicación por la izquierda, lo que indica que el sistema de coordenadas especificado
por "índice" desvía el valor especificado por "tabla" a lo largo del sistema de coordenadas base.
245
Machine Translated by Google
0: multiplicación por la derecha, lo que indica que el sistema de coordenadas especificado por "índice" desvía el
tabla: valor de desplazamiento del sistema de coordenadas del usuario, en formato {x, y, z, rx, ry, rz}.
Devolver:
El sistema de coordenadas del usuario después del cálculo, en formato {x, y, z, rx, ry, rz}.
Ejemplo:
El siguiente proceso de cálculo puede ser equivalente a: Un sistema de coordenadas con la misma postura inicial que
el sistema de coordenadas del usuario 1, se mueve {x=10, y=10, z=10} a lo largo de la coordenada base.
sistema y gira {rx=10, ry=10, rz=10}, y el nuevo sistema de coordenadas es newUser. nuevoUsuario =
UsuarioCalc(1,1,{10,10,10,10,10,10})
El siguiente proceso de cálculo puede ser equivalente a: Un sistema de coordenadas con la misma postura inicial que
el sistema de coordenadas del usuario 1, se mueve {x=10, y=10, z=10} a lo largo del sistema de coordenadas del usuario
1 y gira {rx =10, ry=10, rz=10} y el nuevo sistema de coordenadas es newUser. nuevoUsuario =
UsuarioCalc(1,0,{10,10,10,10,10,10})
Establecer herramienta
Dominio:
SetTool(índice,tabla)
Descripción:
Parámetro requerido:
índice: índice del sistema de coordenadas de la herramienta, rango: 0 9 (0 es el sistema de coordenadas de la herramienta
predeterminado). tabla: matriz para el sistema de coordenadas de la herramienta, en formato {x, y, z, rx, ry, rz}.
Ejemplo:
EstablecerHerramienta(1,{10,10,10,0,0,0})
CalcHerramienta
Dominio:
CalcTool(índice,matriz_dirección,tabla)
246
Machine Translated by Google
Descripción:
Parámetro requerido:
índice: índice del sistema de coordenadas de la herramienta, rango: [0,9]. El valor inicial 0 se refiere al sistema de
coordenadas de brida
método de cálculo. 1: multiplicación hacia la izquierda, lo que indica que el sistema de coordenadas especificado
por "índice" desvía el valor especificado por "tabla" a lo largo del sistema de coordenadas
de brida (TCP0). 0: multiplicación por la derecha, lo que indica que el sistema de coordenadas especificado por
a lo largo de sí mismo. tabla: sistema de coordenadas de la herramienta, en formato {x, y, z, rx, ry, rz}.
Devolver:
El sistema de coordenadas de la herramienta después del cálculo, en formato {x, y, z, rx, ry, rz}.
Ejemplo:
El siguiente proceso de cálculo puede ser equivalente a: Un sistema de coordenadas con la misma postura inicial que
el sistema de coordenadas de la herramienta 1, se mueve {x=10, y=10, z=10} a lo largo del sistema de coordenadas de
la brida (TCP0) y gira {rx=10, ry=10, rz=10} y el nuevo sistema de coordenadas es newTool. nuevaHerramienta =
CalcTool(1,1,{10,10,10,10,10,10})
El siguiente proceso de cálculo puede ser equivalente a: Un sistema de coordenadas con la misma postura inicial que
el sistema de coordenadas de la herramienta 1, se mueve {x=10, y=10, z=10} a lo largo del sistema de coordenadas de
la herramienta 1 y gira {rx =10, ry=10, rz=10} y el nuevo sistema de coordenadas es newTool.
nuevaHerramienta = CalcTool(1,0,{10,10,10,10,10,10})
conjunto de carga
Dominio:
Descripción:
Comando de cola. Establecer el peso de la carga. Esta configuración solo tiene efecto cuando el proyecto actual se está
ejecutando. Una vez que el proyecto deja de ejecutarse, los parámetros se restauran a la configuración original.
Parámetro requerido:
peso: peso de la carga, el rango de valores no puede exceder el rango de carga de cada modelo de robot. Unidad: kg.
247
Machine Translated by Google
Ejemplo:
interruptor de carga
Dominio:
LoadSet(estado)
Descripción:
Comando de cola. Activa o desactiva la configuración de carga. La configuración de carga está desactivada de forma predeterminada, la
Parámetro requerido:
Ejemplo:
Interruptor de carga(1)
248
Machine Translated by Google
Trayectoria
ObtenerTraceStartPose
Dominio:
GetTraceStartPose(pista)
Descripción:
Parámetro requerido:
Devolver:
Iniciar seguimiento
Dominio:
Descripción:
Ajuste de trayectoria. La trayectoria del movimiento se ajusta y reproduce en función de los puntos grabados en el archivo de
trayectoria, y la velocidad del movimiento se calcula de la misma manera que el movimiento lineal, que no se ve afectado por la
Parámetro requerido:
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, al que se debe hacer referencia aquí después de agregarlo en Configuración.
Herramienta: índice del sistema de coordenadas de la herramienta, al que se debe hacer referencia aquí después de agregarlo en Configuración.
CP: establece la velocidad de trayectoria continua en movimiento (consulte el comando CP en el parámetro Movimiento), rango: 0 100.
SYNC = 0: ejecución asincrónica, lo que significa regresar inmediatamente después de ser llamado,
249
Machine Translated by Google
SYNC = 1: ejecución sincrónica. lo que significa no regresar después de ser llamado hasta que el comando se
ejecute por completo.
Ejemplo:
ObtenerRutaInicioPose
Dominio:
GetPathStartPose(pista)
Descripción:
Parámetro requerido:
Devolver:
Ruta de inicio
Dominio:
StartPath(pista, "Usuario=1 Herramienta=2 muestra = 50 frecuencia = 0.2 Multi=1 isConst=0 isCart=0 isRev=0 isRe l=0")
Descripción:
Ajuste de trayectoria. La trayectoria del movimiento se ajusta y reproduce en función de los puntos grabados en el archivo de
trayectoria, y la velocidad del movimiento se calcula de la misma manera que el movimiento lineal, que no se ve afectado por la
Parámetro requerido:
250
Machine Translated by Google
Parámetro opcional:
Usuario: índice del sistema de coordenadas del usuario, al que se debe hacer referencia aquí después de agregarlo en Configuración.
Herramienta: índice del sistema de coordenadas de la herramienta, al que se debe hacer referencia aquí después de agregarlo en
Configuración. muestra: el intervalo de muestreo de los puntos de la trayectoria, es decir, las diferencias de tiempo de muestreo entre
dos puntos adyacentes al generar el archivo de trayectoria. Rango: [8, 1000], unidad: ms, 50 de forma predeterminada (el
coeficiente de filtro. Cuanto menor sea el valor de este parámetro, más suave será la curva de la trayectoria de reproducción, pero
más grave será la distorsión en relación con la trayectoria original. Establezca el coeficiente de filtro apropiado de acuerdo con la
suavidad de la trayectoria original. Rango: (0,1], 1 se refiere a desactivar el filtrado, 0,2 de forma predeterminada.
la trayectoria se reproducirá a una velocidad constante y se eliminarán las pausas y las zonas muertas de la trayectoria. isCart:
por defecto.
0 significa que la trayectoria se planifica utilizando los puntos conjuntos en el archivo de trayectoria.
1 significa que la trayectoria se planifica utilizando los puntos cartesianos en el archivo de trayectoria. Solo las posiciones de
las articulaciones se registran en los archivos de trayectoria grabados con DobotStudio Pro o Dobot CRStudio; no configure este
parámetro en la reproducción.
significa que la trayectoria se invierte, tomando el punto final en el archivo de trayectoria como punto inicial y el punto inicial
compensada. 1 significa que la trayectoria se compensa, tomando el punto actual del brazo robótico como punto inicial de la
Ejemplo:
251
Machine Translated by Google
Visión
El módulo de visión se utiliza para configurar los ajustes relevantes de la cámara. La cámara se fija dentro del rango de trabajo del robot.
Su posición y campo de visión son fijos. La cámara actúa como el ojo del robot e interactúa con el robot a través de comunicación
Los métodos de instalación y configuración de la cámara varían según las diferentes cámaras. Esta sección no lo describirá en detalle.
Haga clic en Vision Config en el lado derecho de los comandos de Vision para comenzar a configurar la cámara. Si configura la
cámara por primera vez, haga clic en Nuevo e ingrese un nombre de cámara para crear una configuración de cámara.
Tipo de disparador
Disparador por IO: conecte la cámara a la interfaz DO del robot. Debe configurar el puerto de salida correspondiente según
Disparador por red: Conecte la cámara al puerto Ethernet del robot. Debe configurar las cadenas que el robot envía a través de la red
252
Machine Translated by Google
Los parámetros básicos de la red se utilizan para configurar el modo de comunicación entre la cámara y el robot, incluidos los
siguientes modos.
TCP_Client: comunicación TCP. El robot actúa como cliente y la cámara como servidor. Debe configurar la dirección
TCP_Server: comunicación TCP. El robot actúa como servidor y la cámara como cliente. Necesita configurar el puerto
El método de recepción incluye dos modos: bloque y no bloque. Seleccione de acuerdo con el guión del proyecto.
Bloquear: después de enviar la señal de activación, el programa permanecerá en la línea de recepción de datos
durante el tiempo de bloqueo y continuará ejecutándose hasta que se reciban los datos enviados por la cámara; Si el
tiempo de bloqueo se establece en 0, el programa esperará en la línea de recepción de datos hasta recibir los datos
Sin bloqueo: después de enviar la señal de activación, el programa continúa ejecutándose sin importar si el
se reciben o no datos de la cámara.
El formato de aceptación de red se refiere al tipo de datos enviado por la cámara utilizada para el análisis. Si el bit
de datos predeterminado actual no es suficiente, puede hacer clic en Agregar bits de datos para aumentar la longitud de
los datos recibidos a un máximo de 8 bits: No, D1, D2, D3, D4, D5, D6, STA, donde No indica el número de plantilla
Con un bit inicial pero sin bit final: No, XX, YY, CC;
Con bit inicial y bit final: No, XX, YY, CC, STA;
cámara inicial
Dominio:
253
Machine Translated by Google
Descripción:
Parámetro requerido:
CAM: Nombre de la cámara, el cual debe ser consistente con la cámara configurada en el proceso de visión
Devolver:
Resultado de la inicialización.
0: Inicialización exitosa
1: No se pudo inicializar
Ejemplo:
Cámara inicial(“CAM0”)
Cámara de disparo
Dominio:
Descripción:
Parámetro requerido:
CAM: Nombre de la cámara, el cual debe ser consistente con la cámara configurada en el proceso de visión
Devolver:
0: Disparo exitoso
1: no se pudo activar
Ejemplo:
Activador de cámara(“CAM0”)
254
Machine Translated by Google
Enviar Cámara
Dominio:
EnviarCam(CAM,datos)
Descripción:
Parámetro requerido:
CAM: Nombre de la cámara, que debe ser coherente con la cámara configurada en la visión.
proceso
datos: datos enviados a la cámara
Devolver:
Ejemplo:
EnviarCam(“CAM0”,“0,0,0,0”)
cámara recv
Dominio:
RecvCam(CAM,tipo)
Descripción:
Parámetro requerido:
CAM: Nombre de la cámara, el cual debe ser consistente con la cámara configurada en el proceso de visión
Parámetro opcional:
tipo: tipo de datos, rango de valores: número o cadena (número por defecto)
255
Machine Translated by Google
Devolver:
datos: los datos enviados por la cámara se almacenan en una matriz bidimensional.
Ejemplo:
DestroyCam
Dominio:
DestruirCam(CAM)
Descripción:
Parámetro requerido:
CAM: Nombre de la cámara, el cual debe ser consistente con la cámara configurada en el proceso de visión
Devolver:
Ejemplo:
DestruirCam(“CAM0”)
256
Machine Translated by Google
Transportador
El comando del transportador debe usarse con el paquete de proceso del transportador.
CnvVison
Dominio:
CnvVison(CnvID)
Descripción:
Parámetro requerido:
Devolver
0: Se ha configurado correctamente.
1: No se puede configurar.
Ejemplo:
CnvVisón(0)
ObtenerCnvObjeto
Dominio:
ObtenerCnvObject(CnvID, ObjID)
Descripción:
Obtiene los datos del objeto especificado del transportador especificado y detecta si ingresa al área de agarre.
área.
Parámetro requerido:
257
Machine Translated by Google
Devolver
Ejemplo:
bandera,tipoObjeto,punto = GetCnvObject(0,0)
Dominio:
EstablecerCnvPointOffset(xOffset,yOffset)
Descripción:
Establezca el desplazamiento de los puntos en las direcciones X e Y bajo el sistema de coordenadas del usuario del transportador.
Parámetro requerido:
Devolver
0: Se ha configurado correctamente.
1: No se puede configurar.
Ejemplo:
EstablecerCnvPointOffset(10,10)
Dominio:
SetCnvTimeCompensation(tiempo)
258
Machine Translated by Google
Descripción:
Establecer compensación de tiempo. Cuando la posición de agarre del brazo del robot queda por detrás de la posición real del objeto,
Parámetro requerido:
Devolver
0: Se ha configurado correctamente.
1: No se puede configurar.
Ejemplo:
SincronizarCnv
Dominio:
SincCnv(CnvID)
Descripción:
Sincronice el transportador especificado. Después de la sincronización, los puntos basados en el sistema de coordenadas del usuario
del transportador se mueven con el transportador. El comando de movimiento entre este comando y el comando StopSyncCnv
Parámetro requerido:
Devolver
El resultado de la sincronización.
0: Se ha sincronizado correctamente.
1: No se puede sincronizar.
Ejemplo:
SincronizaciónCnv(0)
259
Machine Translated by Google
PararSyncCnv
Dominio:
StopSyncCnv(CnvID)
Descripción:
Deje de sincronizar el transportador y solo después de ejecutar este comando continuará emitiendo otros comandos.
Parámetro requerido:
Devolver
El resultado de la ejecución.
Ejemplo:
DetenerCnvSincronización(0)
260
Machine Translated by Google
Piel segura
SetSafeSkin
Dominio:
EstablecerSafeSkin(estado)
Descripción:
Parámetro requerido:
estado: 0 representa deshabilitar SafeSkin, 1 representa habilitar SafeSkin. Si el SafeSkin interno del Dobot+ está apagado,
este comando no funciona.
Ejemplo:
HabilitarSafeSkin(1)
Habilite SafeSkin.
261