Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La herramienta de simulación completa para entrenamiento y simulación de automatismos.
Simulador de Máquinas v.3 .16
contenido Guía de instrucciones del simulador de máquinas
¿ Qué es Simulador de Máquinas?
Simulador de Máquinas
Instalación
Requisitos Mínimos
Llave USB del Simulador de Máquinas
Configuración EasyPLC
Selección de una máquina
Trabajar con EasyPLC
Trabajo con drivers SW/HW
Configuración de interfaces
Distribución del teclado
Interfaz del simulador de máquinas
Modos de cámara
Editor de Máquinas
Controladores
Referencia de programación
Máquinas Simulador VR
Máquinas Simulador Lite
Más.
www.nirtec.com
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
¿Qué es Simulador de Máquinas?
Machines Simulation es parte de EasyPLC Software Suite. Esta suite está diseñada para hacer, simular, probar, practicar y aprender programas lógicos
para controlar automatismos.
Machines Simulator ofrece un mundo virtual en 3D con gráficos, sonidos y física en tiempo real donde se pueden probar los programas
de PLC. Estos programas lógicos se pueden realizar directamente con EasyPLC o con cualquier otro sistema PLC, utilizando
cualquiera de las interfaces disponibles (ver http://www.nirtec.com/index.php/interfacesio/).
Con Machines Simulator, puede crear sus propias máquinas o usar algunos de los sistemas predefinidos listos para usar.
Instalación de Simulador de Máquinas
Instale el Simulador de máquinas desde la llave USB. Ejecute el archivo MachinesSimulatorSetup.exe ubicado en la carpeta EasyPLC Software Suite de
su llave USB y siga las instrucciones del instalador.
Requerimientos mínimos
Procesador: Compatible con el conjunto de instrucciones SSE2
RAM: 4 GB.
Espacio del disco: 5,0 Gb de espacio libre en disco.
Tarjeta grafica: Admite DX9 (shader model 3.0) o DX11 con capacidades de función de nivel 9.3.
Sistema Operativo: Windows 11 (64 bits) también compatible con Windows 7/8/10 (64 bits)
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Simulador de Máquinas Llave USB o Licencia de PC Individual
Machines Simulator necesita una clave de licencia para poder ejecutarse.
Si no tiene un archivo de licencia, Machines Simulator no funcionará.
Si desea registrar Machines Simulator, siga las instrucciones disponibles en el Manual de usuario de EasyPLC o en el sitio web
de Nirtec: http://www.nirtec.com/index.php/purchaseprice/
El mismo archivo de licencia que se usa para registrar el software EasyPLC se usa con Machines Simulator.
Configuración EasyPLC
EasyPLC necesita una configuración especial para poder trabajar con Machines Simulation.
EasyPLC necesita el controlador de Machines Simulator 3 (el controlador de Machines Simulator y el controlador de demostración de Machines Simulator
siguen siendo compatibles con las versiones anteriores de Machines Simulator) incluidos en los dispositivos de E/S del proyecto PLC actual para
comunicarse con Machines Simulator. Si este controlador no está incluido en el proyecto EasyPLC, no se establecerá la comunicación entre
EasyPLC y Machines Simulator.
¿Cómo funciona Simulador de Máquinas EasyPLC PLC Virtual?
Haciendo una comparación con la realidad, los diferentes módulos de software serán equivalentes a los siguientes:
EasyPLC: Computador con software de Programación de PLC PLC
Virtual: El PLC real/físico Simulador de
Máquinas: la máquina real/física a operar.
Entonces EasyPLC se usa para programar la lógica que ejecuta VirtualPLC. VirtualPLC se conecta con Machines Simulator para recibir/enviar las señales
de E/S analógicas y digitales para operar el sistema virtual.
Selección de una máquina
Puede elegir entre las más de 30 máquinas disponibles para automatizar, o aquellas que usted mismo haya creado. Para seleccionar el elegido en el
menú Inicio, presione el botón INICIO
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
O vaya al Menú superior y seleccione Máquinas:
Luego haga clic sobre la imagen de la máquina deseada, en el lado izquierdo, se mostrará una descripción sobre cómo operar la
máquina.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Sobre la imagen de la máquina se mostrarán dos botones, DEMO y START
Si pulsa el botón DEMO, la máquina se pondrá en marcha y funcionará como si estuviera gestionada por un PLC, de esta forma podrá ver cómo debe
programarse la máquina. En este modo no hay conexión con EasyPLC ni drivers.
Si presiona el botón INICIO, la máquina se iniciará y estará lista para conectarse con EasyPLC (CPU de PLC virtual) o cualquier controlador seleccionado
para administrar la lógica.
Trabajando con EasyPLC
Cuando se carga una máquina, en la parte inferior izquierda de la pantalla aparece el indicador LED de estado del PLC. Este led tiene la función de
informar sobre el estado actual del PLC. Si VirtualPLC está en Modo RUN, es decir, que está ejecutando el programa lógico, la señal aparece en color
verde, si está en modo STOP, el programa lógico no se está ejecutando, entonces la señal se enciende en rojo. Si el led está gris, significa que no hay
comunicación con VirtualPLC.
La señal verde indica que VirtualPLC está en modo Run, el programa se está ejecutando:
La señal roja clara indica que el PLC está en Modo Stop, el programa lógico no se está ejecutando:
El led gris indica que no hay comunicación con el PLC Virtual:
Desde Machines Simulator se puede administrar el estado del PLC Virtual, con los botones ubicados en la parte inferior:
Detener PLC: permite detener la CPU del PLC virtual (lo mismo que presionar el botón Modo STOP desde la consola de la CPU del PLC virtual)
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Iniciar PLC: inicia la CPU del PLC virtual (lo mismo que presionar el botón Modo EJECUTAR desde la consola de la CPU del PLC virtual)
Restablecer PLC: restablece la CPU del PLC virtual (lo mismo que presionar la opción de menú Restablecer PLC desde la consola de la CPU del PLC virtual)
Los botones inferiores derechos del Simulador de Máquinas tienen las siguientes funciones:
Ver E/S: Muestra el estado de las E/S declaradas por el Simulador de Máquinas. En el lado izquierdo se muestran las Salidas del PLC (digitales y analógicas), en el lado derecho
las Entradas del PLC (digitales y analógicas). Seleccione las pestañas Digital o Analógico para ver los diferentes tipos de señales.
Si no se inicia la CPU de VirtualPLC, el usuario podrá presionar las salidas del PLC o ingresar los valores analógicos para las salidas analógicas del PLC para forzar y
simular las señales, los estados digitales de las entradas del PLC y los valores analógicos se mostrarán en la pantalla.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
lado derecho. Si se inicia la CPU del PLC virtual, el control lo toma el PLC virtual y no será posible forzar las señales desde la interfaz de E/S del
simulador de máquinas.
Reiniciar: reinicia la máquina y la vuelve a cargar en las condiciones originales, útil cuando desea reiniciar la máquina
estado.
Reiniciar Máquina y PLC: igual que el anterior pero también realiza un reinicio de PLC virtual, útil cuando desea realizar modificaciones en
el programa de PLC y quiere reiniciar toda la máquina y el plc para comenzar de nuevo.
Trabajar con controladores Configuración de interfaces SW/HW
Machines Simulator 3 (MS3 de antemano) puede conectarse con un número diferente de interfaces de hardware/software para ser administrado
directamente a través de estas interfaces. Por ejemplo, puede conectar un PLC Siemens directamente al PLC donde se ejecuta MS3 y usar el
controlador de PLC Siemens para administrar la máquina virtual directamente desde el PLC Siemens sin la administración de EasyPLC. O puede utilizar
las tarjetas USB OPTO_RLY_88 o PhidgetsInterfaceKit para gestionar con tensión externa (24Vdc) todas las E/S utilizadas por Machines Simulator.
Por defecto, cuando la máquina arranca, la conexión está lista para realizarse con EasyPLC (CPU Virtual PLC)
Para configurar las interfaces del controlador
Seleccione la máquina deseada y presione el botón INICIO
Una vez que la máquina se inicie, haga clic en el botón Controladores IO
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Una vez que se inicie IO Driver Configurator, verá esta pantalla:
Nombre del controlador: seleccione el controlador con el que se comunicará Machines Simulator (EasyPLC por defecto).
Números de E/S del simulador de máquinas: aquí se configuran los números de señal analógica y digital de E/S que utiliza la máquina.
Controladores disponibles:
• A1055S: controlador para tarjeta Yottacontrol A1055S
• A1860: controlador para tarjeta Yottacontrol A1860
• Arduino Uno: puede utilizar una tarjeta Arduino UNO para gestionar las máquinas del Simulador de Máquinas. Arduino UNO proporciona 12 E/S
digitales configurables (6 de ellas pueden programarse como salida analógica) y 6 entradas analógicas.
• IOIO_OTG: Permite gestionar una tarjeta IOIO OTG. Proporciona 46 E/S digitales (3,3V)
• ModBus: mediante este controlador es posible comunicarse con dispositivos externos mediante el protocolo ModBus. Este controlador acepta
los protocolos Modbus serie RS232 (RTU) y TCP/IP.
• Nirtec USB 15I16O: Driver para comunicarse con tarjeta Nirtec_USB_1516
• Driver OPC: usando este driver será posible comunicarse con PLC's Reales o Simulados usando el estándar
Especificaciones del protocolo OPC.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Controlador OPC mejorado: controlador OPC mejorado para comunicarse con: Rockwell RSLogix OPC Server, OPC.SimaticNET y
Mitsubishi MX OPC 6
• OPC UA: PC Unified Architecture (OPC UA) es un protocolo de comunicación de máquina a máquina para aplicaciones industriales.
automatización
• PhidgetsInterfaceKit: Controlador para comunicarse con las tarjetas de E/S Phidgets PhidgetsInterfaceKit a través del puerto USB
• PoKeys57U: Este controlador permite administrar una tarjeta USB de interfaz Pokeys57. Proporciona 55 E/S digitales (tolerante a 5 V), 7
entradas analógicas (12 bits)
• Panel remoto: use una tableta o teléfono inteligente basado en Android para comunicarse con Machines Simulator y
gestionar de forma remota las E/S con una interfaz de panel virtual.
• Controlador Serial: Este controlador proporciona 8 entradas y 8 salidas, enviando/recibiendo solo un byte en modo binario
• SharedMemory: use las funciones API Windows FileMapping para crear su propio controlador de E/S con su lenguaje de programación favorito
• Siemens PLC: con el controlador Siemens PLC para EasyPLC podrá conectar su PC donde se ejecuta EasyPLC
software con un PLC Siemens físico (o simulado) a través del protocolo Ethernet.
Compatibilidad:
S7 300 / S7 400 / WinAC / S7 1200 / S7 1500 PLC
• TPC IP Client: Driver para comunicarse vía protocolo TCP/IP (modo cliente)
• TPC IP Server: Driver para comunicarse vía protocolo TCP/IP (modo servidor)
• Servidor TCP IP HTML: Driver para comunicarse vía protocolo TCP/IP HTML
• TwinCAT: utilice este controlador para la comunicación con el software TwinCAT v3.
• USB OPTO RLY 88: Driver para gestionar la tarjeta USB OPTO RLY88.
• Panel Virtual: consola de panel virtual con luces, pulsadores y selectores para escribir y ver el estado lógico del
E/S.
Cómo configurar un controlador
Seleccione el controlador deseado de la lista desplegable y presione el botón configurar:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Dependiendo del tipo de controlador, aparecerá una ventana de configuración para parametrizar el controlador seleccionado. Una vez confirmadas, las señales de E/S del
controlador aparecerán en los lados izquierdo y derecho:
Ahora arrastre y suelte las salidas del controlador (que pertenecen a las Entradas del PLC) en las Entradas del PLC del Simulador de Máquinas (lado izquierdo) y las
Entradas del controlador (que pertenecen a las Salidas del PLC) a las Salidas del PLC del Simulador de Máquinas (lado derecho).
Las señales digitales están marcadas con el icono
Las señales analógicas (valores flotantes numéricos) con el icono
Toma nota de que:
Solo las salidas digitales del controlador (pertenecientes a las entradas digitales del PLC) se pueden arrastrar en las entradas digitales del PLC del simulador de máquinas.
Solo las salidas analógicas del controlador (pertenecientes a las entradas am. del PLC) se pueden arrastrar en las entradas analógicas del PLC del simulador de máquinas.
Solo las entradas digitales del controlador (pertenecientes a las salidas digitales del PLC) se pueden arrastrar en las salidas digitales del PLC del simulador de máquinas.
Solo las entradas analógicas del controlador (pertenecientes a las salidas y salidas del PLC) se pueden arrastrar en las salidas analógicas del PLC del simulador de máquinas.
Eliminar asignaciones
Para eliminar una asignación de E/S, haga doble clic con el mouse sobre la señal de la celda del Simulador de Máquinas, o puede sobrescribir con otra señal haciendo
arrastrar y soltar con la nueva.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Asignación automática
Si desea realizar automáticamente la asignación entre las señales de E/S del controlador y el Simulador de máquinas, presione el menú Opción Controlador
> Asignación automática
Entonces todas las señales serán asignadas automáticamente de forma secuencial:
salida de controlador 0 con entrada MS 0, salida de controlador 1 con entrada MS 1,..., salida de controlador n con entrada MS n entrada
de controlador 0 con salida MS 0, entrada de controlador 1 con salida MS 1,..., entrada de controlador n con MS salida f
Una vez realizada la configuración, seleccione en el menú superior Salir > Iniciar controlador y Salir, luego el controlador se activará para comunicarse con el
dispositivo SW/HW seleccionado
En caso de no querer realizar cambios o modificaciones seleccione Salir > Cancelar y Salir
Guardar y cargar una configuración de controlador y asignación de E/S
Una vez que se configuró un controlador y se realizó la asignación de E/S entre el controlador y el Simulador de Máquinas, es posible guardar esta
configuración para volver a utilizarla posteriormente sin tener que repetir el proceso de configuración.
Para hacerlo, una vez que haya configurado el controlador y se haya realizado la asignación de E/S entre el controlador y el Simulador de máquinas,
seleccione el menú del formulario Archivo > Guardar configuración del controlador.
Aparece la ventana Guardar configuración del controlador, luego escriba un nombre para guardar la configuración (la extensión debe ser .drv):
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Y presione el botón Guardar.
Para cargar una configuración de controlador ya guardada, seleccione del menú Archivo > Abrir configuración de controlador
En la ventana Cargar configuración del controlador, seleccione el archivo deseado:
Luego presione el botón Cargar y se cargará la configuración del controlador y la asignación de E/S del controlador con Machines Simulator:
Ahora presione desde Menú Salir > Iniciar controlador y Salir para aplicar los cambios e iniciar la comunicación con el controlador y el Simulador de
máquinas.
Si el controlador se ha configurado correctamente y se comunica con el sistema SW o HW, en la parte inferior izquierda, un indicador LED se encenderá
en color verde, si no hay comunicación entre el controlador y el sistema SW/HW, se mostrará en color gris. color.
Pruebe la E/S del controlador al ejecutar Machines Simulator
Si desea ver el controlador y las señales de Machines Simulator cuando la máquina está funcionando, una vez que haya configurado o cargado una
configuración de controlador y haya iniciado el controlador, presione nuevamente el botón IO Drivers cuando el controlador esté conectado:
El led ubicado en el lado izquierdo del botón indica que el controlador está conectado. Presione el botón IO Drivers para ver las señales en ejecución
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
En rojo se muestran las señales activas:
Para salir presione Salir > Cancelar y Salir
Para cambiar el número de E/S digital y analógico utilizado por Machines Simulator, presione el botón IO Num ubicado en el lado superior
derecho de la Lista de E/S de Machines Simulator:
Seleccione de la lista desplegable el número de IO que desea que utilice Machines Simulator y presione OK. Pulse Cancelar si no desea
realizar ningún cambio.
¡Advertencia! cambiar el número de E/S del Simulador de Máquinas restablecerá la configuración actual del controlador y será necesario volver
a configurar si se ha hecho anteriormente para cambiar el número de E/S del Simulador de Máquinas.
Si el número de IO seleccionado es menor que el utilizado por la máquina seleccionada actual, aparecerá un mensaje de advertencia indicando
el número mínimo de IO que se debe configurar para que la máquina pueda funcionar correctamente.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Disposición del teclado (Simulador de máquinas)
Tecla W: mover la cámara hacia
adelante Tecla S: mover la cámara hacia
atrás Tecla A: mover la cámara a la
izquierda Tecla D: mover la cámara a
la derecha Tecla Z: mover la
cámara hacia arriba Tecla C: mover
la cámara hacia abajo Tecla Escape: salir de máquina actual.
Teclas numéricas (1 a 9) movimiento automático de cámara a posiciones de cámara predefinidas (definidas en el Editor)
0 Tecla, disparo automático de cámara sobre las posiciones de cámara predefinidas (definidas en el Editor)
(W, S, A, D) + Espacio: aumenta la velocidad de la cámara
(W, S, A, D) + Left Shift: reduce la velocidad de la cámara
Tecla F1: ver/ocultar actuadores/sensores Asignación de E/S Tecla
F3 : ver/ocultar la etiqueta de los componentes
Tecla F4: cambia entre los modos de cámara de vuelo y cámara 3D Tecla F5:
cambia de pantalla con ventana a pantalla completa Botón derecho
del mouse: mira alrededor
Modos de cámara:
• Cámara de mosca:
(W, S, A, D) + Espacio: aumenta la velocidad
Tecla Alt izquierda + Ratón: modo de órbita de la cámara
• Cámara 3D:
Mueve la cámara como el software de diseño 3D más popular, usando solo el mouse. El botón central del mouse gira la cámara, el botón
derecho del mouse mueve la cámara, la rueda del mouse acerca/aleja el zoom (+ tecla Mayús izquierda para reducir la velocidad y aumentar la
precisión).
• Cámara en primera persona:
Espacio clave: Saltar
Usa el mouse para moverte libremente por la palabra 3D, haz clic con el botón derecho del mouse y usa el mouse para mover la cámara de
izquierda a derecha, de arriba a abajo y combinando con las teclas W, S, A, D podrás mover en una cámara estilo mosca.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Cuando el cursor está sobre un objeto móvil o interactivo, el cursor del mouse cambiará, presionando el botón izquierdo, el usuario puede mover el
objeto para interactuar con el sistema, use la rueda del mouse para acercarse o alejarse (presione el control izquierdo para bloquear partes en el
aire, entonces no se permiten rotaciones).
• Cámara en Tercera Persona:
en este modo de cámara, se controla a un operador para simular interacciones humanas con la simulación, use el mouse para rotar la cámara,
las teclas WSAD para mover al operador, el botón izquierdo del mouse para ampliar la vista + el botón derecho del mouse para interactuar con los
botones y WorkParts. Tecla de mayúsculas a la izquierda para ejecutar y teclas de más y menos del teclado numérico para cambiar la escala del
operador. Tecla C para agacharse y tecla Espacio para saltar.
Modo de órbita de la cámara
En el modo de vuelo de la cámara, presione la tecla Alt izquierda para usar el modo de órbita de la cámara, mueva el mouse para girar la cámara alrededor
del punto central blanco que se muestra en la pantalla
Palanca de mando
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Interfaz del simulador de máquinas
Cuando se inicia Machines Simulator, hay diferentes páginas disponibles, aquí está su descripción:
Página de inicio
Esta es la página de inicio, aquí puede ver las características del software, las noticias y la información social que se actualizará sobre
el software:
Máquinas
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
En esta página puede seleccionar los sistemas a ejecutar, haga clic sobre la imagen de la máquina para ver su descripción, presione DEMO
para ver cómo se podría operar la máquina, esto es una ayuda para saber cómo debe programar la máquina con el PLC (en este modo no hay
comunicación con EasyPLC) y presione el botón START para lanzar la máquina para probarla con EasyPLC o cualquier sistema de PLC.
Cada sistema tiene un objetivo y un nivel de dificultad, por supuesto estos sistemas se pueden programar de mil maneras, y puedes encontrar
otros objetivos que los propuestos, para tener diferentes problemas a resolver.
Aquí tienes una herramienta para practicar tus conocimientos de programación, o para probar programas de PLC antes de cargarlos en el
sistema final para evitar errores o daños mecánicos.
Cuando se inicia la máquina, verá en la parte inferior de la pantalla el Panel del PLC, donde están disponibles las siguientes funciones:
Botón STOP PLC: detiene el PLC Virtual (solo habilitado si hay comunicación con PLC Virtual).
Botón RESET PLC: reinicia el PLC Virtual (solo habilitado si el PLC Virtual está en modo Stop).
Botón INICIO PLC: establece el PLC virtual en modo Run (solo habilitado si el PLC virtual está en modo Stop).
Botón VER E/S: Muestra la ventana de E/S digital. Permite ver y cambiar los estados lógicos de las Entradas y Salidas digitales.
Haga clic en cualquier botón para cambiar el valor. Útil para el proceso de prueba y depuración.
Botón REINICIAR MÁQUINA: cuando se presiona reinicia la máquina en su estado inicial.
Botón REINICIAR MÁQUINA Y PLC: cuando se presiona reinicia la máquina en su estado inicial y realiza una Parada del PLC (solo habilitada
si el PLC Virtual está en modo Stop).
Puede simular una falla de entrada o salida, haciendo click derecho sobre un botón de Entrada o Salida, entonces esta señal será
deshabilitada y no atenderá al dispositivo de entrada o salida de la máquina. El botón cambiará a color amarillo cuando esté deshabilitado.
Haga clic derecho nuevamente para habilitarlo. Esto puede ser útil si desea probar qué sucede si un sensor (fotocélula, interruptor inductivo
o lo que sea) se rompe y no recibe señal en el PLC.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Esta barra de herramientas es muy útil al comienzo de la programación de una máquina; debido es muy frecuente para depurar el programa del PLC y es
necesario para iniciar/restablecer/detener el PLC con mucha frecuencia. Estas herramientas permiten agilizar el trabajo del programador.
Interactuando con Elementos
Cuando se está ejecutando la simulación, puede interactuar con todas las partes que son móviles, como las Partes de trabajo y las Partes dinámicas
(elementos afectados por la gravedad), de esta manera puede probar el comportamiento de la máquina forzando situaciones no deseadas o probando
qué pasaría si el los elementos se movieron de una manera diferente a la esperada.
Para hacerlo, coloque el puntero del mouse sobre estos elementos, luego el puntero del mouse cambiará, y presionando el botón izquierdo del mouse
puede atrapar los elementos y moverlos según sus necesidades.
Mantenga presionado el botón izquierdo del mouse para capturar elementos y moverlos
Si pulsa la tecla de control izquierda antes de recoger un elemento, el elemento se moverá bloqueado, es decir, en la posición en la que estaba sin
ningún tipo de rotación.
Mantenga presionado el botón izquierdo del mouse + la tecla de control izquierda para capturar elementos sin afectar la gravedad
Si no se presiona la tecla de control izquierda, el elemento será arrastrado ejerciendo una fuerza sobre el punto de apoyo. Una vez que haya
seleccionado un elemento, use la rueda de desplazamiento del mouse para acercar/alejar
Use la rueda del mouse para acercar o alejar los elementos seleccionados
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Simulación de errores de E/S
Usando el panel View IO es posible forzar a cero o uno los errores típicos de las entradas o salidas en corto, para hacerlo presione
con el botón derecho del mouse sobre la entrada o salida digital que desea simular el error, si presiona una vez el botón I La
celda /O aparecerá gris y simulará un cortocircuito a 0, por lo tanto, la señal nunca se activará. Si pulsa de nuevo, se volverá
amarillo simulando un cortocircuito a 1, por lo que la señal estará siempre activa. Pulse de nuevo para volver al estado normal.
Pulsando una vez, la señal será siempre 0 y no se activará (Color Gris)
Pulsando dos veces, la señal será siempre 10 y se activará (Color Amarillo)
Editor
En la página Editor se puede iniciar la función Editor de máquinas, use el editor para crear sus propias máquinas. Hay cuatro
entornos diferentes disponibles:
Factory1: ambiente interior de una gran fábrica.
Factory2: entorno exterior.
Factory Lite: use este entorno para crear máquinas para Machine Simulator Lite (aplicación de Android).
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Acerca de
Información sobre el programa
Ajustes
En la página de configuración se pueden configurar los gráficos, el nivel de sonido y la sensibilidad del ratón:
Calidad gráfica: hay 6 perfiles de calidad predefinidos (Más rápido, Rápido, Simple, Hermoso, Bueno y Fantástico). Elija la calidad gráfica de acuerdo con los
recursos de su computadora (Más rápido para una PC de bajos recursos y Fantástico para una computadora de gama alta).
El filtrado anisotrópico hace que las texturas se vean mejor cuando se ven en un ángulo poco profundo, pero puede ser más lento de procesar en el
GPU.
VSync Count: especifica el número de actualizaciones de pantalla que el programa permite pasar entre fotogramas. Seleccione No sincronizar para ejecutar a
la velocidad máxima de su sistema (mejor rendimiento pero requisitos máximos del sistema), Cada V en blanco para sincronizar con la frecuencia de
actualización de su monitor y Cada segundo V para sincronizar con la mitad de la actualización de su monitor
tasa.
Resolución: cambia la resolución de pantalla para la aplicación.
Pantalla completa: permite ejecutar la aplicación maximizada en pantalla completa o en ventana.
Limitar FPS: Úselo para controlar la velocidad de fotogramas de la aplicación. Por ejemplo, es posible que deba reducir la velocidad de fotogramas para
evitar el sobrecalentamiento de su computadora. También puede reducirlo para conservar la duración de la batería en las computadoras portátiles.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
De forma predeterminada, los fotogramas por segundo (FPS) no están limitados y se ejecutarán tan rápido como pueda su sistema, pero puede limitarlos a 30,
60 o 90 FPS.
Modo de cámara predeterminado: puede configurar el modo de cámara predeterminado cuando usa el simulador o el Editor (Cámara Fly o 3D).
Cámara)
Use 3D Mouse: si está marcado, es posible usar el 3D Connexion Space Mouse para mover la cámara en el simulador y
Editor:
Volumen: establece el nivel de volumen general de la aplicación.
Sensibilidad del ratón: configura la velocidad por defecto a la que se moverá la cámara con el ratón.
Move Sensibility: configura la velocidad predeterminada a la que se moverá la cámara usando el teclado (W,A,S,D).
Configuración avanzada de gráficos: permite personalizar los gráficos para una visualización más precisa.
En el caso de que su computadora tenga pocos recursos (microprocesador, tarjeta gráfica, RAM, …) y las simulaciones se ejecuten muy lentamente (FPS por debajo
de 30), se recomienda cambiar la configuración gráfica de acuerdo con el siguiente ejemplo:
Calidad gráfica: la más rápida
Recuento de Vsync: no sincronizar
Resolución: mínima posible que permite la correcta visualización del tamaño de la pantalla.
En Configuración avanzada de gráficos:
Sombras: Ninguna
Habilitar efectos gráficos: deshabilitado
Modo antialiasing: Ninguno
Bloom, Oclusión ambiental y Corrección de color: deshabilitados.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Modos de cámara (en modo editor)
En la parte superior derecha de la pantalla se encuentran los botones de control de la cámara. Estos controles permiten gestionar las cámaras con
diferentes comportamientos:
Fly Camera: la cámara se mueve libremente en el mundo 3D.
Haga clic en el botón de la cámara Fly para alternar entre el modo de cámara libre normal y el modo de cámara libre de fantasmas (en este modo no hay
colisión con los componentes, útil para colocar la cámara en puntos estratégicos).
Cámara 3D: mueve la cámara como el software de diseño 3D más popular, usando solo el mouse. El botón central del mouse gira la cámara, el botón
derecho del mouse mueve la cámara, la rueda del mouse acerca/aleja el zoom (+ tecla Mayús izquierda para reducir la velocidad y aumentar la
precisión).
Cámara en primera persona: mueve la cámara como una persona, en este modo de cámara no es posible volar (la tecla Espacio en este modo de
cámara realiza una acción de salto).
Cámara en tercera persona: en este modo de cámara, se controla a un operador para simular interacciones humanas con la simulación, use el
mouse para rotar la cámara, las teclas WSAD para mover al operador, el botón izquierdo del mouse para ampliar la vista + el botón derecho del mouse
para interactuar con los botones y WorkParts. Tecla de mayúsculas a la izquierda para ejecutar y teclas de más y menos del teclado numérico para
cambiar la escala del operador. Tecla C para agacharse y tecla Espacio para saltar.
Cámara de viaje: la cámara sigue la ruta configurada diseñada en el Editor.
Cambio de cámara en Modo Edición (esquina superior derecha):
Cambio de cámara en modo Run (esquina superior derecha):
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Simulación de velocidad de tiempo
Haciendo clic sobre el botón Velocidad de tiempo, la simulación de tiempo se puede cambiar a modo lento o rápido.
Haga clic con el mouse y mueva la barra deslizante para cambiar la velocidad del tiempo. Hay cinco posiciones para ajustar la velocidad del tiempo a
los siguientes valores:
• Cámara lenta (10 veces más lenta) •
Cámara lenta (4 veces más lenta)
• Tiempo normal
• Acelerar (2 veces más rápido) •
Acelerar (3 veces más rápido)
Editor de simulador de máquinas
Con Machines Simulator Editor, puede crear sus propios sistemas con las máquinas y/o componentes disponibles en la biblioteca Editor o puede
crear sus propios dispositivos con el componente Editor disponible dentro de Machines Simulator Editor.
Machines Simulator Editor, en adelante Machines Editor, es una herramienta de fácil uso, donde podrás crear sistemas mecánicos fáciles, medianos
o complejos, con componentes mecánicos, eléctricos, electrónicos ensamblados, para luego ser programados con EasyPLC y comprobar
tu habilidad. en la programación del PLC.
Además, puede replicar sistemas físicos reales para programarlos de manera virtual y evitar dañar el sistema real, o puede comenzar a programar
y verificar su programa ANTES de que se fabrique el sistema.
Por esta y muchas otras razones, Machines Simulator & EasyPLC es una herramienta útil no solo para estudiantes o principiantes en programación
y automatización de PLC, sino que para los profesionales puede ser una herramienta muy apreciada.
Con Machines Editor puede crear una máquina o una colección de máquinas o dispositivos listos para trabajar juntos o por separado, por eso
llamamos 'Instalación' a un sistema creado por Machines Editor, compuesto por diferentes tipos de componentes.
Machines Simulator tiene dos modos de trabajo diferentes, Modo Diseño y Modo Ejecución. En el modo de diseño, todos los componentes están
fijos en la pantalla colocados en la posición donde el usuario los ha ubicado, el usuario puede mover los componentes con el sistema de gizmo o las
teclas numéricas/de cursor del teclado, en este modo el motor de física de Machines Editor está detenido, debe usar este modo para crear su
instalación. En el modo de ejecución, el sistema de física se está ejecutando y los componentes responderán a la gravedad, y puede forzar las salidas
del PLC y ver las entradas del PLC para verificar el comportamiento de los componentes de la máquina, en este
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
modo no está permitido cambiar la posición o las propiedades de los componentes. Utilice este modo para comprobar el funcionamiento de su instalación.
Distribución del teclado (Editor de máquinas)
Tecla W + Botón derecho del mouse: mueve la cámara hacia adelante
Tecla S + Botón derecho del mouse: mueve la cámara hacia atrás
Tecla A + Botón derecho del ratón: mueve la cámara a la izquierda
Tecla D + Botón derecho del ratón: mueve la cámara a la derecha
Tecla Z + Botón derecho del mouse: mueve la cámara hacia arriba
Tecla C + Botón derecho del mouse: mueve la cámara hacia abajo
Tecla ESCAPE: salir del Editor
Teclas numéricas 19: en modo Run (1 a 9) movimiento automático de cámara a posiciones de cámara predefinidas (definidas en el
Editor)
Tecla numérica 0, disparo automático de cámara sobre las posiciones de cámara predefinidas (definidas en el Editor)
Tecla Eliminar: elimina el componente seleccionado
Botón derecho del ratón: mira a tu alrededor
Botón central: mueve la cámara en el espacio (Cámara PAN arriba/abajo e izquierda/derecha)
Alt izquierdo: la cámara orbita alrededor del objeto seleccionado (cuando la simulación está desactivada)
Control izquierdo + Flecha arriba: mueve el elemento hacia arriba en el árbol de jerarquía izquierdo
Control izquierdo + Flecha abajo: mueve el elemento hacia abajo en el árbol de jerarquía izquierdo
Modos de cámara:
• Cámara de mosca:
(W, S, A, D) + Espacio: aumenta la velocidad (W, S,
A, D, Q, E) + Mayús a la izquierda: reduce la velocidad de la cámara Tecla
Alt izquierda + Ratón: modo de órbita de la cámara.
• Cámara 3D:
El botón central del mouse rota/orbita la cámara, el botón derecho del mouse desplaza la cámara, la rueda del mouse acerca/aleja el zoom
(+ tecla Mayús izquierda para reducir la velocidad y aumentar la precisión).
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Cámara en primera persona (solo ejecutando la simulación):
Espacio clave: Saltar
(W, S, A, D, Q, E) + Left Alt: reduce la velocidad de la cámara
• Cámara en Tercera Persona (solo ejecutando la simulación):
en este modo de cámara, se controla a un operador para simular interacciones humanas con la simulación, use el mouse para rotar la cámara, las teclas
WSAD para mover al operador, el botón izquierdo del mouse para ampliar la vista + el botón derecho del mouse para interactuar con los botones y WorkParts. Tecla
de mayúsculas a la izquierda para ejecutar y teclas de más y menos del teclado numérico para cambiar la escala del operador.
Teclas del teclado numérico:
4 Mover el componente seleccionado hacia la
izquierda 6 Mover el componente seleccionado hacia
la derecha 8 Mover el componente seleccionado
hacia arriba 2 Mover el componente seleccionado hacia
abajo 9 Mover el componente seleccionado hacia adelante
1 Mover el componente seleccionado hacia atrás 5 Girar el
componente seleccionado en contra en el sentido de las agujas del reloj 7
Rotar el componente seleccionado en el sentido de las agujas
del reloj Utilice las teclas del teclado numérico para colocar con precisión los componentes que necesitan un posicionamiento preciso. Para hacerlo con más
precisión, seleccione el modo de paso presionando la tecla F2 o haga clic en la barra de herramientas, botón de modo de cuadrícula:
Teclas de función:
Tecla F1: ver/ocultar asignación de lista de E/S
Tecla F2: alternar el movimiento del componente seleccionado en modo libre/paso
Tecla F3: ver/ocultar etiqueta de componentes
Tecla F4: cambia entre los modos de cámara de vuelo y cámara 3D
Tecla F5: cambia de pantalla en ventana a pantalla completa
Tecla F11: En modo Run guarda una captura de pantalla de la máquina (a mostrar en el menú de selección de máquinas)
Tecla F12: Cambios del modo PARAR/EJECUTAR SIMULACIÓN
Editor de artilugios:
Tecla W: Activa la herramienta Traductor
Tecla E: Activa la herramienta Rotación
Tecla R: Activa la herramienta Escala
Tecla Q: Desactiva herramienta
Tecla F: La cámara se encuentra en el componente seleccionado
Control izquierdo + clic del mouse: componentes de selección múltiple
Control Izquierdo + Tecla D: Duplicar componente seleccionado
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Para la herramienta de traducción:
Tecla Z: Ajuste de pasos
Clave V: ajuste de vértice
Espacio clave: colocación de la superficie
Para herramienta de rotación:
Tecla Z: Ajuste de pasos
Para herramienta de escala:
Tecla Z: Ajuste de pasos
Tecla Z + Shift Izquierda: Escalar todos los ejes
Reorganización de la jerarquía:
Control de tecla izquierda + flecha arriba: mueve el elemento seleccionado hacia arriba en la jerarquía
Control de tecla izquierda + flecha hacia abajo: mueve el elemento seleccionado hacia abajo en la jerarquía
Use el mouse para moverse libremente por la palabra 3D, haga clic con el botón derecho del mouse y use el mouse para mover la cámara hacia la izquierda hacia la derecha, hacia arriba y hacia
abajo y combinando con las teclas W, S, A, D podrá moverse en un cámara estilo mosca.
Cuando el editor está en modo EJECUTAR (Simulación), presione el botón izquierdo del mouse para tomar las partes de trabajo y mueva la rueda del mouse para traer y alejar los objetos
seleccionados (presione el control izquierdo para bloquear las partes en el aire, luego no se permiten las rotaciones).
En el modo de edición, use el mouse para seleccionar elementos, cuando haga clic sobre un componente, este se seleccionará.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Modo de órbita de la cámara
En el modo de vuelo de la cámara, presione la tecla Alt izquierda para usar el modo de órbita de la cámara, mueva el mouse para rotar la cámara alrededor
del componente seleccionado.
Interfaz del editor de máquinas
La interfaz del programa Machines Editor tiene los siguientes componentes:
∙ Barra de Menú: donde están disponibles las principales opciones del programa.
∙ Barra de herramientas: aquí puede acceder a las funciones de edición más utilizadas.
∙ Árbol jerárquico: donde encuentra los componentes utilizados por la máquina, haga clic en él para seleccionarlos y editarlos.
∙ Biblioteca de componentes: aquí encontrará la biblioteca de componentes utilizada para crear sus máquinas.
∙ Cuadrícula de propiedades: se utiliza para personalizar el componente seleccionado actual.
∙ Barra de estado: aquí encontrará información importante sobre el estado del programa y los fotogramas actuales por
segundo.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Barra de menús
Los siguientes artículos están disponibles:
• Archivo
• Herramientas
• UDC
• Simulación
Menú Archivo
• Nuevo: crea una nueva máquina.
• Abrir: abre una máquina creada. • Guardar:
guarda la máquina actual.
• Guardar como: guarda la máquina actual con un nombre definido por el usuario. • Salir:
salir del Editor de Máquinas.
Menú de herramientas
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Copiar posición/rotación/escala del objeto seleccionado: cuando se presiona este menú de opciones, se almacena en la memoria una copia
de los datos espaciales del componente seleccionado actualmente. Los datos espaciales almacenan tres estructuras de datos
Vector3 (tres números flotantes) con la información de la posición, rotación y escala del componente para cada eje (X, Y, Z).
• Pegar posición/rotación/escala del objeto seleccionado: cuando se presiona este menú de opciones, se muestra una ventana donde se
posible seleccionar la estructura de datos Vector3 a copiar para cada uno de los tres ejes:
Presione los botones para seleccionar/desseleccionar las diferentes propiedades del espacio (Posición/Rotación/Escala), también puede hacer clic en
cada opción para seleccionar el eje de datos deseado. Al hacer clic en el botón Pegar se copiarán estos datos en el actual seleccionado
componente.
• Ver/Ocultar Lista E/S: utilice esta herramienta para ver/ocultar una lista de ventanas con las entradas/salidas analógicas/digitales utilizadas en sus •
instalaciones, con esta herramienta evitará repetir las señales utilizadas. Pulse el botón Exportar para exportar variables a un archivo que pueda
ser importado en EasyPLC.
• Ver/Ocultar paneles de E/S: utilice esta herramienta para ver/ocultar los paneles con las entradas y salidas digitales disponibles para su
máquina, en el lado izquierdo aparecen las salidas digitales que el usuario puede cambiar haciendo clic sobre ellas, en el lado derecho se muestran las
entradas digitales e informa sobre el estado actual de las entradas (solo lectura). Esta herramienta solo está disponible en modo ejecución (cuando
la simulación está activada) y sirve para simular E/S como lo hará el PLC, para simular nuestra máquina y comprobar si todo funciona correctamente. •
Ver/Ocultar ventanas de E/S analógicas: use esta herramienta para ver/
ocultar una lista de ventanas con las entradas/salidas analógicas. Solo se usa en modo de ejecución, es útil para simular salidas analógicas y leer entradas
analógicas.
• Ver/Ocultar etiquetas: cada componente de su máquina puede tener una etiqueta, use esta etiqueta para mostrar un texto descriptivo, con
esta herramienta puede mostrar u ocultar las etiquetas asignadas a todos los componentes.
• Establecer Posiciones de Cámara: En la máquina puede ser útil colocar cámaras en algunos puntos 'calientes' para acceder rápidamente a ella, con esta
utilidad podemos hacerlo muy fácil, cuando esté en el punto deseado viendo el objetivo deseado, muestre esto
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
ventana y presione sobre el botón Establecer posición X para guardar la posición de la cámara y el objetivo. Más tarde, en el modo de ejecución, puede
acceda a estas posiciones pulsando las teclas '1','2','3','4','5','6','7','8','9', puede guardar hasta 9 posiciones. También existe una función de viaje automático,
cuando se está en Modo Run, presionando la tecla '0', el sistema viajará automáticamente por los puntos definidos secuencialmente, de esta manera se
puede ver toda la instalación sin usar el teclado. Pulse el botón Restablecer para eliminar la posición de cámara deseada.
• Biblioteca de sonidos: muestra una lista donde se muestran todos los sonidos disponibles y se pueden probar, puede usarlos en el script
código.
• Exportar Datos de Máquina: esta herramienta permite exportar todos los componentes diseñados en la máquina en dos seleccionables
formatos: JSON o CSV
El archivo incluye la información relacionada con cada componente, las relaciones con los otros componentes (dependencias, padres, hijos),
así como etiquetas, posición, orientación y escala.
Puede utilizar esta herramienta para explotar los datos en aplicaciones de terceros.
• Ajustes: Desde este menú, puede configurar el número de Entradas y salidas digitales y analógicas que utilizan las Máquinas
Simulador. Además, para simular errores de la máquina, puede deshabilitar las señales de E/S.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Establecer número de E/S:
Configure el número de Entradas y Salidas digitales y analógicas disponibles para el sistema. Además, aquí puede deshabilitar/habilitar las E/S
digitales para simular fallas de E/S.
Menú UDC
Es muy difícil proporcionar todas las máquinas, componentes, sistemas, dispositivos necesarios para cubrir todos los requisitos de los
usuarios, por ejemplo en cada tipo de industria se utilizan diferentes tipos de componentes, necesitaríamos miles de componentes para poder crear
todos los posibles instalaciones.
La solución es el Editor de Componentes, donde los usuarios pueden crear sus propios componentes y darles el comportamiento deseado para interactuar
con la instalación. Estos son los componentes definidos por el usuario.
Todos los UDC se pueden compartir con todos los usuarios. Visite www.nirtec.com sitio web para descargar nuevos
componentes (https://nirtec.com/forum/index.php?board=14.0).
• Crear nuevo componente definido por el usuario: crea un nuevo UDC. • Abrir
UDC: abre un UDC creado.
• Guardar UDC: guarda el UDC actual.
• Cerrar UDC: cierra el editor de componentes.
Consulte el capítulo Componentes definidos por el usuario para obtener más información.
Menú de simulación
• Start Machine: inicia la simulación (modo run) • Stop Machine:
detiene la simulación (modo stop)
Puede presionar la tecla F12 para cambiar del modo de parada al modo de ejecución y viceversa, o presione el botón Iniciar/Detener en la barra de menú.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Modo de paso del editor
Si se selecciona el modo Paso, los componentes se moverán muy lentamente, útil para colocar los componentes con precisión en la posición final. Puede activar/
desactivar este modo presionando la tecla F2 mientras trabaja en el Editor.
Herramienta Gizmo
Una vez que se crea o selecciona un componente, la herramienta Gizmo se muestra en el centro del componente. Puede usar esta herramienta para mover, rotar o
escalar los componentes.
De forma predeterminada, la traducción Gizmo está seleccionada. Si coloca el mouse sobre la flecha de cada eje (rojo para el eje X, verde para el eje Y y azul para el eje
Z), esto cambiará a color amarillo, luego haga clic y podrá mover el componente moviendo el mouse (siga presionando el botón izquierdo del mouse botón sin
soltarlo). Además, hay tres planos disponibles, si hace clic en él puede mover los componentes en dos ejes simultáneamente. Si mantiene presionada la tecla 'X', el
componente se moverá paso a paso.
Presione E para cambiar a la herramienta Gizmo Rotation:
Haga clic en cada eje para rotar el componente
Presione R para cambiar a la herramienta Gizmo Scale:
Haga clic en cada eje para escalar el componente
Presione W para cambiar a la herramienta de traducción Gizmo:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Barra de herramientas
Los siguientes artículos están disponibles:
• Gizmo Position: cambia los gizmos del objeto seleccionado actual para mover la posición, lo que permite colocar el componente en
la posición deseada en el espacio (lo mismo presionando la tecla W en el teclado).
• Gizmo Rotation: cambia los gizmos del objeto seleccionado actual a rotación, lo que permite rotar el componente en el
posición deseada en el espacio (lo mismo presionando la tecla E en el teclado).
• Gizmo Scale: cambia los gizmos del objeto seleccionado actual a escala, lo que permite escalar el componente para el deseado
tamaño (lo mismo presionando la tecla R en el teclado).
• Enfoque: coloca la cámara en el componente seleccionado, útil para ubicar elementos (lo mismo presionando la tecla F en el teclado) • Posiciones de la cámara:
cuando el cursor está sobre el botón, el usuario puede elegir entre las siguientes opciones
Arriba, Abajo, Izquierda, Derecha, adelante y atrás. Al hacer clic sobre cada botón, la cámara se coloca en la posición elegida. Con
referencia del centro de la palabra (coordenadas X=0, Y=0, Z=0), si se presiona la Tecla de Control Izquierda al hacer clic sobre cada uno de estos botones, la
vista se hará no desde el centro de la palabra, pero desde la posición actual. • Restablecer cámara: restablece la posición y orientación de la cámara,
colocando la cámara en la posición y rotación inicial. • Duplicar: duplica el componente seleccionado actualmente (lo mismo presionando la tecla Control + D en
el teclado) • Lista de E/S: muestra/oculta la lista de entradas y salidas digitales utilizadas por los componentes (lo mismo presionando la tecla F1
en el teclado) • Modo de cuadrícula: cambia modo de cuadrícula encendido/apagado, con el modo de cuadrícula activo permite colocar los componentes con mayor
precisión
(lo mismo presionando la tecla F2 en el teclado). Con Gizmo Position, mueva el componente paso a paso.
• Etiqueta de componentes: muestra/oculta las etiquetas de los componentes (lo mismo presionando la tecla F3 en el teclado)
Árbol de jerarquía
Aquí se muestran todos los componentes disponibles en la máquina. Haga clic en cada uno para seleccionar y ver/editar sus propiedades. Mantenga presionada la
tecla de control izquierda para seleccionar múltiples componentes.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Puede reordenar los componentes en el árbol presionando la tecla de control izquierda + flecha arriba para mover el elemento hacia arriba o la tecla de control izquierda
+ flecha abajo para mover el elemento hacia abajo.
Árbol de componentes
Aquí encontrará los componentes disponibles clasificados en categorías, los componentes definidos por el usuario son elementos creados por el usuario o el usuario
puede cambiar el comportamiento porque tiene acceso a su estructura y código de script.
Para colocar un componente en la máquina, haga clic sobre la Categoría deseada para desplegar la lista y solo es necesario hacer clic sobre ella, luego será agregada
a la máquina.
Cuadrícula de propiedades
Una vez que se crea o selecciona un elemento, puede cambiar sus propiedades seleccionándolos en la cuadrícula Propiedades. Aquí puede encontrar todas las
propiedades de los componentes disponibles.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Objeto de máquina
Cada máquina (o también llamada instalación) tiene un objeto especial ubicado al inicio del Árbol de Jerarquía, el Objeto Máquina. Este objeto tiene
propiedades especiales que definirán las características, propiedades y comportamiento de su máquina.
Veamos cada una de estas propiedades:
Nombre de la máquina: es el nombre de archivo de su máquina.
Autor: información sobre quién ha hecho la máquina
Descripción: un texto corto pero descriptivo para su máquina
Ejecutar programa de demostración: si se selecciona, cuando la máquina pasa al modo de ejecución, ejecutará el script de creación o el programa de
demostración de bloques lógicos para verificar si funciona como se esperaba.
Sky Box: aquí puede seleccionar el mundo de fondo de la caja del cielo para su máquina (solo para entornos al aire libre).
Sky Box: para el entorno exterior de Factory2 establece la textura de la caja del cielo.
Escala de actor de realidad virtual: se utiliza para escalar su mundo en el software Machines Simulator VR. Depende del uso y/o sistemas, aquí se puede
cambiar la escala del usuario en el entorno de realidad virtual.
Botón Editar código de secuencia de comandos:
Aquí puede programar el comportamiento particular de su máquina o la operación de la máquina cuando el usuario selecciona el modo de demostración en
la pantalla de selección de la máquina. Para saber más sobre la programación vea la sección de Referencia de Programación.
Al presionar el Botón Editar Código de Script, se muestra la ventana del Editor de Código de Script de Machines Simulator 3:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
El editor de código de script de Machines Simulator 3 tiene cuatro pestañas principales, cada una de ellas tiene las siguientes funciones:
Código de secuencia de comandos de la máquina:
Aquí es donde se puede editar y compilar el programa lógico del script, puede usarlo para escribir el código del script, durante el uso del Editor, Machines Simulator se bloqueará
hasta que finalice la edición del programa. Una vez que haya terminado la edición del programa, presione el botón Guardar y Salir del Editor para guardar el programa lógico o
Salir sin Guardar para no modificar el programa lógico.
Si presiona Guardar y Salir, Machines Simulator 3 compilará automáticamente el programa y mostrará el resultado en el
Barra de estado:
En caso de existir algún error, se indicará:
Luego abra nuevamente el Editor, presionando el botón Código de script de edición de máquina en la Cuadrícula de propiedades:
Y la información sobre el error se informará en la sección inferior de la Lista de errores del editor, y se marcará en rojo la línea que contiene el error:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
El botón de sintaxis de ayuda abrirá la ventana de ayuda del código de script y le ayudará con todas las funciones integradas, los componentes y
las características disponibles:
La Ventana de Ayuda de Código de Script tiene cuatro pestañas, cada una tiene las siguientes funcionalidades:
Pestañas de funciones: muestra todas las funciones y métodos de secuencias de comandos disponibles para Machines Simulator y todas las
componentes Al hacer clic en cada uno se mostrará en la parte inferior una breve explicación, al hacer doble clic se copiará el texto de la función
en la ventana del Programa de Script.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Componentes: lista todos los componentes disponibles en la máquina, haciendo doble click se copiará el componente
nombre en la ventana del programa de secuencias de comandos
E/S digital: Muestra la lista de todas las señales de E/S digital disponibles en la máquina, haciendo doble clic se copiará el
Nombre de E/S en la ventana del programa de secuencias de comandos
E/S analógicas: Muestra la lista de todas las señales de E/S analógicas disponibles en la máquina, haciendo doble clic se copiará la
Nombre de E/S en la ventana del programa de secuencias de comandos
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
El botón Importar datos de E/S importará en el código de secuencia de comandos todas las E/S digitales y analógicas utilizadas por la máquina:
Por ejemplo:
Código de secuencia de comandos de demostración de la máquina:
Aquí está programado el código que se ejecutará cuando el usuario presione el botón DEMO en la pantalla de selección de máquinas:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Guión de ayuda:
En esta pestaña se explican con ejemplos los objetos, métodos y funciones más comunes disponibles en el código Script de Machines Simulator.
Componentes de ayuda:
En esta pestaña se explican todos los métodos de script disponibles para cada componente individual del Simulador de máquinas.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Botón de código gráfico:
A partir de Machines Simulator v3.10 se ha agregado un nuevo lenguaje de programación para programar el comportamiento de
las máquinas, el lenguaje Graphic Blocks, esto permite personalizar tu máquina de una manera muy rápida sin usar C#, controladores
y sin necesidad de saber ningún lenguaje de programación. .
Como ejemplo se encuentran las Máquinas 21 Ruedas Fábrica y 22 Sincronización Neumática que ha sido programada
utilizando únicamente el Código Gráfico tanto para la lógica de funcionamiento de sus componentes como para el programa Demo
para demostrar cómo deben programarse:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Vaya a la sección Código gráfico para saber más sobre esta característica.
Botón Características de la máquina:
Escriba aquí una descripción detallada sobre cómo funciona su máquina y cómo debe ser operada:
En Machines Simulator, estas propiedades se muestran en los siguientes lugares:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Adición de componentes a la máquina
Cuando se agrega un nuevo componente a la instalación, se agrega al árbol de jerarquía y se selecciona. Cuando se selecciona un
componente, la traducción Gizmo está en el componente y esto significa que se pueden cambiar sus propiedades.
Para cambiar sus propiedades, debe utilizar la Cuadrícula de propiedades.
Cuando se selecciona un componente, puede usar las teclas del teclado numérico para moverse por el mundo. Usa 4 y 6 para mover ii en el eje X, 8 y 2 para
moverlo en el eje Y y 9 y 1 para moverlo en el eje Z. Utilice 5 y 7 para girar en sentido contrario a las agujas del reloj
o en el sentido de las agujas del reloj.
Presione la tecla F2 para alternar entre el modo de movimiento libre y por pasos, use el modo libre para moverse rápidamente y el modo por pasos
para ser más preciso.
Con la tecla Eliminar, se puede eliminar un componente seleccionado de la instalación.
Para seleccionar un componente existente, debe hacer clic en el árbol de jerarquía o hacer clic sobre el componente, entonces el componente estará
listo para modificar o eliminar.
Cuando desee probar su instalación, presione la opción de menú Iniciar simulación o haga clic en el ícono de la barra de herramientas Reproducir, luego
se abandonará el Modo de diseño y se activará el Modo de ejecución, en este modo el motor de física estará activo y podrá pruebe el comportamiento de
sus máquinas. En este modo no se permite cambiar las propiedades de los componentes. En el lado derecho aparecerá una grilla con las salidas digitales
disponibles listas para ser simuladas por el usuario presionando con el mouse sobre la deseada:
En el lado izquierdo, verá el estado de las Entradas Digitales del PLC (que están activas por la máquina virtual), útil para ver si una fotocélula está activada,
un interruptor inductivo está encendido, etc.…
Una vez que se crea una máquina se guarda en la carpeta:
C:\Nirtec\Machines Simulator 3\MyMachines\ (donde C:\ es la unidad de instalación que eligió durante la instalación del software).
Puede abrir, copiar y pegar sus diferentes archivos de máquina (.maq) creados por usted u otros usuarios colocando los archivos en la carpeta indicada.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
IMPORTANTE: en el Editor de Máquinas no hay comunicación entre la máquina y EasyPLC.
Presione la opción de menú Detener máquina (o presione F12, o presione el ícono Detener en la barra de menú) para salir del modo de ejecución y volver al
modo de diseño.
Biblioteca de componentes
Con su programa Machines Editor se incluye un conjunto de componentes listos para usar. Algunos de ellos son muy específicos y otros son más generales y
se pueden usar para muchos usos debido a que son muy personalizables.
A continuación se explica una descripción de cada uno de los componentes, y se explican más detalladamente los componentes más generales.
• Formas básicas
En esta categoría todos los componentes se consideran especiales porque se pueden utilizar para múltiples usos, el uso correcto de sus propiedades
le brinda muchas posibilidades para construir su máquina:
1. Elemento Estático: es un elemento que no es afectado por la gravedad ni por la acción de fuerzas externas, siempre es colisionable
con otros componentes. Se puede unir con elementos dinámicos.
Utilice este componente para configurar cualquier objeto que sea estático y que no necesite verse afectado por la gravedad. Por defecto es
se muestra como un cuadro azul, pero cambiando sus propiedades, puede personalizarlo.
Aquí se enumeran todas sus propiedades:
PhysicShape: la forma del componente, puede ser cubo, cilindro, esfera o cápsula.
Colisionable: es cierto que los componentes tienen un cuerpo colisionable.
Escala física: la escala de la forma física.
Fricción dinámica: la fricción utilizada cuando ya se está moviendo. Usualmente un valor de 0 a 1. Un valor de cero se siente como hielo, un
El valor de 1 hará que se detenga muy rápidamente a menos que mucha fuerza o gravedad empujen el objeto.
Fricción estática: La fricción utilizada cuando un objeto está quieto sobre una superficie. Por lo general, un valor de 0 a 1. Un valor de cero se siente como
hielo, un valor de 1 hará que sea muy difícil mover el objeto.
Transparente: activa el canal alfa para este componente y puede mostrar un efecto transparente (como el vidrio).
Opacidad: valor del canal alfa para la transparencia.
Metálico: efecto metálico (0 a 1)
Suavidad: efecto suave (0 a 1)
Visible: si es verdadero, no se ve en modo de ejecución.
Nombre de la textura: la textura que se aplicará al componente (utilice el botón Cambiar textura para cambiarla).
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Presione Cambiar textura desde la cuadrícula de propiedades para ver la ventana de selección de texturas
Luego aparecerá la ventana de vista previa de textura para seleccionar la textura que se aplicará al componente:
Navegue en la ventana para seleccionar la textura deseada, presione los botones de categoría izquierda para cambiar los tipos de textura
Una vez que haya elegido la textura deseada, presione el botón Seleccionar, luego la textura se aplicará al componente:
En lugar de asignar una textura, puede asignar un Material al componente, los materiales tienen información más rica sobre cómo la luz
interactuará con el entorno y el efecto gráfico tiene más calidad.
Para seleccionar un Material, haga clic en la ventana de vista previa de Textura, la casilla de verificación Materiales ubicada en la parte
inferior de las Categorías, luego se mostrarán todos los Materiales disponibles, haga clic en el deseado para aplicarlo al componente:
Es posible asignar un Material en la ventana de vista previa de textura, haciendo clic en la casilla de verificación Materiales
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
¡La ventana de selección Textura está disponible para todos los componentes que tienen una propiedad de textura! (como elemento dinámico, plano,
WorkParts, …) mediante el botón Cambiar textura en la cuadrícula de propiedades.
Mosaico de textura: la repetición de la textura sobre el componente.
Nombre del Modelo: el Modelo o Componente asignado al Elemento Estático. Se utiliza para cambiar la forma visual y personalizar la
apariencia. Para mostrar la ventana de selección de modelo, presione el botón Cambiar modelo en la cuadrícula de propiedades cuando el componente esté
seleccionado (el botón de cambio de modelo estará disponible en todos los componentes que tienen una propiedad de modelo), una vez presionado,
aparecerá la ventana de selección de modelo y aquí puede seleccionar de la lista el modelo deseado para ser asignado al componente. Presione desde la lista
de categorías del botón izquierdo, para navegar por toda la biblioteca del modelo.
Pulse seleccionar para elegir el modelo deseado.
Si en cambio a un modelo desea asignarle un Componente, presione la casilla de verificación Componentes ubicada en la parte inferior izquierda:
Vista previa de componentes
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Diferencias entre modelos y componentes:
El modelo es un objeto no colisionable que permanece dentro del Elemento Estático, el modelo no tiene colisión ni física.
comportamiento, el modelo debe ajustarse dentro de la forma del elemento estático.
El Componente es un objeto que tiene forma de colisión y física, cuando se selecciona un componente, el elemento estático
tendrá la forma y la colisión del componente seleccionado.
Posición del Modelo: establece la posición del modelo dentro del componente (no válido para Componentes, solo válido para Modelos).
Escala del Modelo: establece la escala del modelo dentro del componente (no válido para Componentes, solo válido para Modelos).
Rotación del Modelo: establece la rotación del modelo dentro del componente (no válido para Componentes, solo válido para Modelos).
Descripción: cómo se nombrará este componente en esta máquina. IMPORTANTE: Este nombre será la referencia en el
código de guión Cada componente de la máquina debe ser una descripción y no se puede repetir.
Posición: la posición espacial del componente.
Escala: la escala del componente.
Rotación: la rotación espacial del componente.
Etiqueta: la etiqueta de texto asignada al componente.
Posición de la etiqueta: establece la posición de la etiqueta asignada a este componente.
Color de la etiqueta: establece el color de la etiqueta asignado a este componente.
Usando los controladores (ver la sección Controladores), es posible personalizar el rescate del componente para
hacer que se mueva o gire en función de las condiciones necesarias.
2. Elemento Dinámico: es un componente que es afectado por la gravedad, puede ser movido por otros elementos o fuerzas
y se puede unir a otros elementos dinámicos o elementos estáticos. Por defecto, cuando se añade a la máquina, se presenta como un
pequeño cuadro rojo, pero cambiando sus propiedades puedes personalizarlo según tus necesidades.
Los elementos dinámicos tienen algunas propiedades especiales y otras son iguales a los elementos estáticos, para las mismas propiedades, puede
verificar en Elemento estático, para las propiedades especiales, aquí se describen:
Bounciness: ¿Qué tan hinchable es la superficie? Un valor de 0 no rebotará. Un valor de 1 rebotará sin ninguna pérdida
de energía, se esperan ciertas aproximaciones, aunque eso podría agregar pequeñas cantidades de energía a la simulación.
AirResisstance: cuánto afecta la resistencia del aire al objeto cuando se mueve de las fuerzas. 0 significa que no hay resistencia del aire,
y el infinito hace que el objeto deje de moverse inmediatamente
AngularAirResistance: cuánta resistencia del aire afecta al objeto cuando gira desde el par. 0 significa que no hay aire
resistencia
Masa: La masa del objeto (en kilogramos por defecto).
Fijar al elemento: aquí se establece el número de identificación del elemento estático o elemento dinámico al que se adjunta este componente
a.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Posición de Restricción: aquí se configuran los 3 ejes donde se restringe el movimiento para que este componente
tener un comportamiento especial. Establezca 1 para restringir el movimiento en un eje, un 0 permite el movimiento. Por ejemplo (0, 1, 0)
restringe el movimiento de gravedad del componente, el elemento dinámico se moverá hacia la izquierda, hacia la derecha, hacia adelante y hacia atrás,
pero no hacia arriba y hacia abajo.
Rotación Restricción: aquí se configuran los 3 ejes donde se restringe la rotación para que este componente
tener un comportamiento especial. Establezca 1 para restringir la rotación en un eje, un 0 permite la rotación.
3. Elemento de avión: un avión que podría usarse para múltiples usos, podría ser colisionable o no, puede cambiar su textura para personalizarlo
según sus necesidades. Además, podría tener una textura personalizable que podría ser movida por una entrada/salida de PLC. Útil para
hacer cinturones, o elementos móviles.
Este componente tiene algunas propiedades especiales, aquí se describen:
PLC_OUT_ADVANCED: si está habilitado (valor > 1) la textura avanzará si esta salida de plc está activada.
PLC_OUT_REVERSE: si está habilitado (valor > 1) la textura se moverá hacia atrás si esta salida de plc está activada.
Speed: la velocidad de la textura al moverse Offset Speed:
la velocidad de los elementos en el plano al moverse IsFloorVR: solo se usa para
Machines Simulator VR, si es cierto, el usuario puede teletransportarse a este componente (útil para
hacer plataformas, escaleras, etc.)
ChangePartRotation: cuando un WorkPart está en el plano, si esta propiedad se establece en true, el WorkPart girará hacia la dirección de avance del
plano (a la velocidad angular PartRotationRate), esto podría usarse para simular la transición entre planos (o cintas transportadoras) .
PhysicModePush: si esta propiedad se establece en true, las partes de trabajo en el plano se moverán usando fuerzas físicas, más realista que el modo
predeterminado, pero más costoso a nivel de computadora de recursos. Úselo cuando necesite transportar WorkParts entre diferentes planos.
4. Modelo 3D: este elemento es una forma 3D con o sin colisión o comportamiento físico. Utilice la propiedad Cambiar modelo para asignar un
modelo 3D personalizado de la biblioteca. También podría vincularse a cualquier componente usando su propiedad FixToElemName, si se selecciona,
este componente será un elemento secundario del componente nombrado, es decir, se moverá y rotará como su elemento secundario.
Establezca la propiedad IsStatic en verdadero si ninguna función moverá o llamará al componente durante la ejecución de la simulación
(normalmente para elementos de decoración).
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Establezca Property Collisionable en true si desea usar la forma 3DModel como una forma de colisión, se recomienda
usar modelos lowpoly para este modo, de lo contrario, la computadora puede ralentizarse con modelos con mucha geometría. También
puede establecer las propiedades del material para la fricción. En este modo, el modelo 3D debe establecerse siempre en la misma
posición y no usar funciones de movimiento para cambiar su posición ni vincularlo con componentes móviles.
5. Vacío: use este componente para agrupar componentes sobre el mismo padre y/o hacer animaciones de fotogramas clave.
La agrupación de componentes permitirá organizar los componentes cuando se utilice una gran cantidad de ellos. El componente vacío
tiene una característica importante llamada KeyFrame Animator. KeyFrame Animator utiliza la técnica para dibujar o filmar cada punto
de animación que define los puntos inicial y final de una transición suave. Estos se denominan fotogramas porque su posición en el tiempo
se mide en segundos en una línea de tiempo de edición lineal. Usando esta herramienta es posible hacer animaciones fáciles o complejas
sin programar ninguna línea de código, usar controladores o código gráfico, entonces no se requieren conocimientos de programación.
Consideraciones sobre la herramienta KeyFrame Animator
Con la herramienta KeyFrame del componente Vacío, se pueden crear animaciones sobre los componentes hijos asociados al mismo, que
son del tipo: Componente Estático, Componente Plano y Componente Modelo 3D. El resto de los componentes no se verán afectados por el
animador KeyFrame. Las animaciones de fotogramas clave también están disponibles para los componentes definidos por el
usuario.
Cómo utilizar la herramienta de animación de fotogramas clave
Agregue un nuevo componente Vacío a su simulación, agregue un nuevo componente Modelo 3D y empareje con el componente
Vacío:
Seleccione el componente Vacío, en el panel de propiedades derecho, haga clic en el botón KeyFrame Animator:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
La herramienta KeyFrame Animator aparecerá en la parte inferior de la pantalla, puede moverla o cambiar su tamaño usando el control de cambio
de tamaño inferior derecho:
Una vez que se selecciona el componente Vacío (si no, KeyFrame Animator se desactivará), haga clic en el botón Agregar animación para crear
una nueva animación. En la ventana Nueva animación, escriba un nombre y haga clic en Aceptar:
En la lista desplegable de componentes de propiedades del animador, seleccione el componente que desea animar (la lista desplegable de
componentes se completará con todos los componentes que el componente Vacío tendrá como elementos secundarios), en este caso:
Puede elegir de cada componente dos propiedades para animar la posición o la rotación, seleccione en este caso el
Vacío1 Posición y haga clic en el botón Agregar nueva propiedad para agregarlo a la línea de tiempo:
Ahora seleccione la posición de inicio para la animación y haga clic en el botón Agregar nuevo fotograma clave:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Se añadirá un rombo amarillo a la línea de tiempo donde se guarda la posición (en este caso) o rotación asignada, a esta animación de la línea
de tiempo décima de segundo.
Ahora coloque el mouse sobre el cursor de la línea de tiempo azul y muévalo presionando el botón izquierdo del mouse a la posición de tiempo de
destino para el nuevo valor de fotograma clave (1 segundo en este caso):
Si hace clic con el botón izquierdo del mouse sobre la propiedad del componente agregada en la línea de tiempo, esta se seleccionará en el Editor,
lo que facilitará moverla o rotarla para guardar su valor:
Mueva el componente a la izquierda 5 unidades (metros) moviendo la flecha roja del gizmo o escribiendo el valor de posición X a la derecha
Panel de propiedades, haga clic en el botón Agregar nuevo fotograma clave:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Se guarda un nuevo fotograma clave. Si mueve el cursor de la línea de tiempo, puede ver cada posición guardada para cada fotograma clave, el componente
seleccionado se colocará y rotará en el valor del fotograma clave seleccionado.
Ahora seleccione de la lista desplegable la propiedad de rotación Model3D y agréguela a la animación, establezca el cursor de fotograma clave en 0,0 segundos, seleccione
el botón Model3D0[rot] y presione el botón Agregar fotograma clave. Ahora configure el cursor de fotograma clave en 0,5 segundos, cambie la rotación en el eje Y a 90
y presione el botón Agregar fotograma clave.
Presione el botón Reproducir para ver la animación, el componente vacío se moverá de 0 a 5 y el modelo rotará 90 grados de 0 a 0,5 segundos.
Puede actualizar cada valor de fotograma clave si coloca el cursor de la línea de tiempo sobre él y presiona nuevamente el botón Agregar fotograma clave con el nuevo
valor. Recuerde haber seleccionado la línea de propiedad del componente adecuado para actualizar su valor.
También es posible actualizar cada valor de fotograma clave si se selecciona su línea horizontal (se selecciona su componente asignado) y hacer clic con el botón
derecho del mouse sobre él, verá las propiedades y valores de fotograma clave en la parte superior de la ventana de Animator:
Allí puede cambiar su valor para cada eje, puede eliminarlo si hace clic en el icono de cruz o confirmarlo presionando el icono de verificación.
Por defecto se aplican aceleraciones para todas las animaciones, se inicia el movimiento o rotación, se acelera hasta llegar a la posición media (o rotación) y luego se
desacelera nuevamente hasta el destino final.
Si necesita que la animación se ejecute de forma lineal, seleccione cualquiera de los fotogramas clave para la propiedad de la línea de animación y establezca la
verificación Lineal en su propiedad, esto afectará a todos los fotogramas clave de esta línea.
Puede mover un valor de fotograma clave haciendo clic sobre él con el botón izquierdo del mouse y moviéndolo en la línea de tiempo:
Cada animación tiene tres modos de reproducción, Single, Loop y Round:
Simple: la animación se reproduce una vez y se detiene cuando finaliza.
Bucle: la animación se reproduce en bucle.
Redondo: la animación se reproduce en modo bucle pero al final retrocede y vuelve a empezar.
Para cambiar el modo de animación, seleccione la animación deseada y cambie el modo en la lista desplegable inferior:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Presione el botón Eliminar animación para eliminar la animación seleccionada.
El animador de línea de tiempo tiene un límite de 10 segundos, pero cambiando la velocidad de la animación puede crear animaciones más grandes,
por ejemplo, si configura una animación de 10 segundos, pero la reproducción pero la velocidad de reproducción está establecida en 0,1 segundos,
tardará 100 segundos
Cómo reproducir animaciones
Para ejecutar las animaciones, utilice el código script o el código Graph.
Para el ejemplo anterior, si desea reproducir la animación cuando la salida 0 del PLC está activada, escriba el siguiente código de script:
O en los controladores de gráficos:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
El nodo Administrador de animaciones tiene los siguientes nodos:
Nodos de entrada:
Nombre: el nombre de la animación a reproducir Velocidad: la
velocidad de la animación.
Reproducir: si es verdadero, se reproduce la animación.
Detener: si es verdadero, la animación se detiene
Pausa: si es verdadero, la animación está en pausa.
Rebobinar: si es verdadero, la animación se reproduce en modo rebobinado (final a inicio)
Nodos de salida:
Terminado: verdadero cuando finaliza la animación.
Reproduciendo: verdadero mientras se reproduce la animación.
• Sistemas integrados
Aquí están disponibles una serie de sistemas integrados que puede utilizar en sus máquinas:
1. Elevador de carga: este sistema se utiliza para elevar las cargas y moverlas hacia arriba/abajo, por ejemplo, para tomar cajas de un transportador,
moverlo hacia arriba y esperar hasta que llegue un palé, luego bajarlo para descargar la caja en el palé. Este dispositivo puede ser gestionado por
señales de PLC digitales o analógicas.
2. CNC: utilice este sistema para simular una máquina CNC, las puertas se pueden mover mediante una salida de PLC y el estado de la
las puertas pueden ser leídas por dos entradas de PLC. Utilice dentro del CNC un creador de WorkPart o un modificador de WorkPart para crear o
modificar WorkParts.
3. Manipulación de 3 ejes: este dispositivo se utiliza para manipular cajas pequeñas, tiene tres ejes (arriba/abajo, avance/retroceso y rotación).
Úselo para tomar WorkParts de un lugar y colocarlo en otro. Utiliza dos salidas digitales de PLC para mover cada eje (posición de trabajo y posición
inicial), cuatro salidas de PLC para la rotación del eje (90, 180, 90 y 180 grados) y otra salida de PLC para activar la succión con el fin de tomar
WorkParts . Cada eje dispone de entradas digitales para informar sobre su estado (posiciones de trabajo o inicio o fin de giro). El eje vertical y
horizontal puede ser manejado por E/S analógicas para moverlo de acuerdo a las necesidades del programa.
4. Pallet Loader: cargador de palets automático, utilícelo para apilar cajas en palets. Utiliza las siguientes salidas de PLC: a. Transportador:
activa la bandeja superior para mover las cajas b. Tumbler: cuando está
activo, gira las cajas para nivelar la segunda pila
C. Empujador: activó el sistema de empuje para mover las cajas en el área de descarga
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
d. Abrir compuertas: cuando las cajas estén listas para ser cargadas en el palet, abra las compuertas para descargarlo. mi. Posición
superior del elevador: mueve el elevador de tarimas a la posición superior (primer nivel de pila) f. Posición inferior del
elevador: mueve el elevador de tarimas a la posición inferior (carga/descarga de tarimas) g. Descenso del elevador: desciende el
elevador para apilar otro nivel de cajas. H. Rodillos de avance: avance de los rodillos elevadores para
mover las tarimas hacia adelante. i. Rodillos inversos: rodillos elevadores inversos para mover las
tarimas hacia atrás.
Y las siguientes Entradas de PLC:
j. Pulsador Atrás: informa al PLC si el pulsador está en posición trasera k. Avanzado:
informa al PLC si el pulsador está avanzado l. Puertas Abiertas: informa al
PLC si las puertas están abiertas m. Ascensor Parado: informa si el
ascensor está en movimiento o si está parado n. SW Entrada palet: informa si la fotocélula
situada en la entrada del ascensor detecta un palet o. SW Salida palet: informa si la fotocélula situada en la salida del ascensor detecta un
palet
5. Isla robótica: un conjunto de un robot antropomórfico y un CNC, el CNC incorpora un cambiador de WorkPart para cambiar WorkParts, puede usarlo para simular el
proceso de mecanizado, la máquina puede trabajar en modo automático o manual, verifique la propiedad Modo automático para seleccione el modo deseado. Si la
isla está funcionando en Modo Automático, el plc señala
funciona de la siguiente manera:
Salida PLC Posición 1, 2 ó 3: la primera vez que se activa una de estas salidas del plc, el robot va a la posición 1, 2 ó 3, toma la pieza y la mete dentro del CNC, luego el CNC
trabaja durante 10 segundos y activa el cambio de workpart por el id seleccionado en ChangeToWorkPartTypeProperty, el cambio se realiza si el workpart introducido
coincide con el id indicado en la propiedad SourceWorkPartType. Luego se activa la entrada del PLC Trabajo Terminado y la isla robótica está esperando nuevamente
la subida de las salidas del PLC Posición 1, 2 o 3 para descargar la pieza de trabajo en la Posición deseada, cuando el Robot termina el proceso de descarga activa la entrada
del PLC Terminado.
Trabajando en modo manual, cada una de las siguientes señales tiene la función indicada:
Salidas:
Salida PLC Posición 1: El robot va a la posición 1 Salida PLC
Posición 2: El robot va a la posición 2 Salida PLC Posición 3:
El robot va a la posición 3 Salida PLC Posición Inicio: El robot
va a la posición inicial Salida PLC Abrir cerrar puertas: Si está activo el
CNC las puertas se abren, se cierran si son falsas.
Recogedor de Salida PLC: si es verdadero el Robot activa el sistema de succión para tomar partes, si es falso lo libera.
PLC Out CNC Work: si es verdadero, el CNC comenzará su ciclo de trabajo (cambiará el tipo de pieza de trabajo a los 10 segundos al igual que en
modo automatico)
Entradas:
PLC En Part Taked: activo cuando los robots toman una pieza.
PLC En Trabajado: activo cuando el CNC finaliza su ciclo de trabajo:
PLC In Finished: activo cuando los robots finalizan sus movimientos.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
6. Apilador: esta máquina se utiliza para almacenar cajas o tarimas en sus almacenes. El Apilador puede funcionar en modo manual o
modo automatico. La numeración de las tiendas es como se indica en la imagen de abajo. Para operar el Apilador en modo Automático, use las
siguientes señales de PLC:
El PLC emite PositionBit0 a PositionBit4 > Establece el número de tienda para ir.
Salida del PLC Load_unload > si es verdadero el apilador, una vez que llegue a la posición de la tienda seleccionada descargará la
mercancía en la tienda, si es falso tomará la mercancía de la tienda.
Luz estroboscópica de salida del PLC> el apilador comenzará a moverse cuando esta señal sea verdadera.
El Apilador informará al PLC sobre la finalización del proceso de carga/descarga activando el Trabajo de Fin de Entrada de PLC.
Ejemplo 1: Trabajando en modo automático, para que el Apilador vaya a cargar una caja en posición de carga, se debe activar el siguiente
ciclograma de señales: Primer paso: Salidas
Segundo paso:
Salidas estroboscópico Carga / Bit de posición Bit de posición Bit de posición Bit de posición Bit de posición 0
Descargar 4 3 2 1
Valor 1 1 0 0 0 0 0
Luego, el apilador irá a la posición de carga y cargará una caja, luego esperará al PLC
Si queremos almacenar esta casilla en la Tienda número 12, debemos activar las siguientes señales:
Primer paso:
Salidas estroboscópico Carga / Bit de posición Bit de posición Bit de posición Bit de posición Bit de posición 0
Descargar 4 3 2 1
Valor 0 0 0 1 1 0 0
Segundo paso:
Salidas estroboscópico Carga / Bit de posición Bit de posición Bit de posición Bit de posición Bit de posición 0
Descargar 4 3 2 1
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Valor 1 0 0 1 1 0 0
Ejemplo 2: si queremos tomar una caja de la posición de almacenamiento 30 y luego descargarla en la posición de descarga del apilador,
debemos seguir el siguiente ciclograma:
Primer paso:
Salidas estroboscópico Carga / Bit de posición Bit de posición Bit de posición Bit de posición Bit de posición 0
Descargar 4 3 2 1
Valor 0 1 1 1 1 1 0
Segundo paso:
Salidas estroboscópico Carga / Bit de posición Bit de posición Bit de posición Bit de posición Bit de posición 0
Descargar 4 3 2 1
Valor 1 1 1 1 1 1 0
Luego el apilador irá al almacén número 30 y descargará la caja allí ubicada, el PLC deberá esperar hasta que ingrese el plc
Se activará End Of Work, entonces, para descargar la caja en la posición de descarga del apilador configurada:
Tercer paso:
Salidas estroboscópico Carga / Bit de posición Bit de posición Bit de posición Bit de posición Bit de posición 0
Descargar 4 3 2 1
Valor 0 0 1 1 1 1 1
Cuarto paso:
Salidas estroboscópico Carga / Bit de posición Bit de posición Bit de posición Bit de posición Bit de posición 0
Descargar 4 3 2 1
Valor 1 0 1 1 1 1 1
En el caso de que el Apilador vaya a tener dos racks para almacenar, o vaya a utilizar más de uno a la vez, será necesario seleccionar el
sentido en que se moverán las cuchillas, para ello puede utilizar la Salida PLC: Salida
PLC Cambiar Sentido Hojas > si es verdadero cargará o descargará en sentido contrario. Ejemplo:
Para gestionar el apilador totalmente en modo manual, utilice las siguientes señales:
Salida Analógica PLC Eje Horizontal: mueve el eje horizontal a la posición numérica deseada gestionada por el PLC (los valores numéricos
mueven en metros el eje horizontal).
Salida Analógica PLC Eje Vertical: mueve el eje vertical a la posición numérica deseada gestionada por el PLC (valores numéricos
mueve en metros el eje vertical).
Eje Horizontal Entrada Analógica PLC: informa al PLC la posición actual del eje horizontal.
Eje Vertical Entrada Analógica PLC: informa al PLC la posición actual del eje vertical.
PLC Dig. Out Blades Forward: si es verdadero, mueve las hojas a la posición de avance, si es falso, regresa a la posición inicial.
PLC Dig. Out Blades Backward: si es verdadero, mueve las hojas hacia atrás, si es falso, regresa a la posición inicial.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
PLC Dig. Out Pallet Brake: activa un freno para los palets (o cajas) que debe activarse ANTES de los movimientos de los ejes (para evitar desplazamientos) y debe
desactivarse una vez detenidos los ejes y ANTES de descargar el palet/caja en el almacén.
7. Sistema de Peso: Utilice este sistema para pesar las WorkParts, utilizando las siguientes señales: a. PLC Dig. Out
Advance > mueve la bandeja hacia adelante b. PLC Dig. Out Reverse >
mueve la bandeja hacia atrás c. PLC Dig. Salir Peso > Inicia el proceso de
peso d. Resultado de la entrada analógica del PLC > Devuelve la
propiedad Masa de la pieza de trabajo.
8. Posicionador: se utiliza para alinear o posicionar piezas de trabajo en los transportadores o dispositivos móviles, luego los dispositivos de recolección como robots o
los pórticos pueden sujetar las WorkParts con precisión. Puede ser gestionado por señales de E/S digitales y/o analógicas.
9. Tanque de Líquidos: este es un dispositivo compuesto por un tanque que se puede llenar con líquidos (colores configurables) con 2 válvulas, una para llenar y otra
para vaciar. Hay un transmisor de nivel de radar para leer el nivel actual de líquido en el tanque (en litros). El tanque tiene una capacidad máxima de 3000 litros.
Cada válvula es controlada por una salida analógica del PLC (de 0 a 10V) el valor analógico es proporcional a la apertura/cierre de la válvula, 0V es totalmente
cerrada, 10V es totalmente abierta. Para la válvula de drenaje, hay un medidor de flujo que indica la cantidad de flujo del líquido que sale del tanque (m³/s). Detalles
técnicos del tanque:
Altura: 2m.
Diámetro: 1,4 m
Radio de la tubería de descarga: 0,1 m
• Botones e interruptores
1. Botones de presión, hay diferentes tipos de botones disponibles:
a. Botón de emergencia: use este elemento para colocar un botón de emergencia de seguridad en su máquina, usa una entrada de PLC
para informar sobre su estado (presionado o no).
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
b. Pulsadores: Utiliza una Entrada de PLC para informar sobre su estado (presionado o no) y una Dig de PLC. Salida a
activar la luz del botón.
C. Indicador LED: una lámpara que utiliza una salida digital PLC para habilitar/deshabilitar la luz.
2. Selector: Selector con dos o tres posiciones configurables, utiliza dos o tres entradas digitales de PLC para informar sobre la posición actual
del selector.
3. Potenciómetro: los usuarios pueden arrastrar y girar el potenciómetro; una entrada analógica del PLC informará sobre el valor actual (de 0 a
10 por defecto, pero los valores máximo y mínimo se pueden personalizar, como valor inicial predeterminado)
4. Pantalla digital: muestra datos numéricos utilizando una salida analógica de PLC o una entrada analógica de PLC
5. Display 7 Segmentos: este componente gestiona un display de 4 dígitos de 7 segmentos. Puede programar el comportamiento en modo BCD,
entonces solo se utilizan las salidas de PLC: PLC_OUT_A (como bit 0), PLC_OUT_B (como bit 1), PLC_OUT_D (como bit 2),
PLC_OUT_D (como bit 4) y PLC_OUT_E (para activar decimales). punto). O puede gestionarlo directamente
activando/desactivando cada segmento mediante la salida de PLC correspondiente. Use el multiplex para seleccionar el número de dígito
deseado usando PLC_OUT_MULTIPLEX_BIT01 para activar el bit 1 y PLC_OUT_MULTIPLEX_BIT02 para activar el bit 2 para seleccionar
uno de los 4 dígitos de la pantalla para configurar el valor. Es necesario configurar la luz estroboscópica de salida del PLC una vez que
todos los bits anteriores estén configurados para configurar el número de valor de visualización. También es posible utilizar una salida
analógica de PLC para mostrar su valor (sin necesidad de realizar ninguna conversión). Puede configurar el color de la pantalla
manualmente o usar PLC_Output_Color_Bit0 y PLC_Output_Color_Bit1 para seleccionar el color de la pantalla, donde 0: rojo, 1: amarillo, 2:
verde y 3: azul.
6. Interruptor: interruptor de dos botones, cada botón puede activar una entrada digital PLC.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
7. LeverSwitch: un interruptor de palanca, activa una entrada digital del PLC.
8. Gabinete Eléctrico: es un elemento estático con propiedad de modelo, útil para colocar todos los componentes anteriores.
• Medio ambiente
1. DayCycle: use este componente para crear en su entorno una simulación para el ciclo diurno y nocturno.
2. Habitación: Este componente permite crear una habitación, donde todas las texturas (techo, piso, derecha, izquierda, frente y parte trasera) pueden ser
personalizado
3. Ventana: una ventana de tamaño configurable
4. Puertas: diferentes tipos de puertas verticales y horizontales.
5. Puerta: un sistema de persianas que puede ser administrado por una salida de PLC (para abrir) y una entrada de PLC (para informar que la persiana está abierta)
o puede administrarse automáticamente cuando se detecta un WorkPart.
6. Puerta de la máquina: una puerta para máquinas, utiliza una excavación de PLC. entrada para informar sobre su estado actual (abierto/cerrado), y un PLC dig.
Salida para permitir o no la apertura manual.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
7. Escaleras: una herramienta de escalera configurable
8. Escaleras modulares: permite crear un sistema de plataforma y escaleras industriales con todos los elementos disponibles dentro de este
componente.
9. Marco: un marco configurable de ancho y alto
10. Lluvia: permite simular lluvia (solo para Outdoor Editor)
11. Viento: permite simular un efecto de viento con partículas (solo para Outdoor Editor)
12. Montañas: crea un paisaje de montaña (solo para Outdoor Editor)
13. Constructor de fábricas.
Este componente permite crear fábricas personalizadas. Puede usarse en el editor Factory 1 o en el editor Outdoor.
Si se usa en el Editor Factory1, para que no tenga conflictos con el valor predeterminado de fábrica, se puede ocultar, para esto use la siguiente función de Script
en el Código de Script de Máquina:
inicio vacío público ()
{
//Ocultar el modelo de fábrica
predeterminado MS.HideFactory();
}
Para crear una nueva fábrica personalizada, agregue un componente Factory Builder a la simulación:
Mueva el cursor amarillo con las teclas de flechas para colocarlo en la posición de construcción.
Pulse sobre el componente deseado para crear paredes, suelo, cubierta, puertas o columnas:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Ahora, haga clic en los puntos rojos ubicados arriba, abajo, a la izquierda o a la derecha para crear el mismo componente pegado a esa posición:
Si desea crear otro componente de fábrica, antes de hacer clic en el punto rojo, seleccione en la propiedad CreateItem del módulo el
componente a crear:
Puede crear tantos edificios de fábrica como necesite para su simulación, con longitud, altura y ancho personalizados.
mediciones.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Luces
1. Direccionales: las luces direccionales se pueden considerar como fuentes de luz distantes que existen infinitamente lejos. un direccional
la luz no tiene una posición de fuente identificable, por lo que el objeto de luz se puede colocar en cualquier lugar. Todos los objetos de la escena se
iluminan como si la luz siempre proviniera de la misma dirección. La distancia de la luz desde el objeto de destino no está definida y, por lo tanto, la
luz no disminuye.
2. Foco: Al igual que un punto de luz, un foco de luz tiene una ubicación y un rango específicos sobre los cuales cae la luz. Sin embargo, la luz puntual está
restringida a un ángulo, lo que da como resultado una región de iluminación en forma de cono. El centro del cono apunta en la dirección hacia
adelante (Z) del objeto de luz. La luz también disminuye en los bordes del cono del foco. Ampliar el ángulo aumenta el ancho del cono y con él aumenta
el tamaño de este fundido, conocido como la 'penumbra'
3. Punto: un punto de luz está ubicado en un punto en el espacio y envía luz en todas las direcciones por igual. la dirección de la luz
golpear una superficie es la línea desde el punto de contacto hasta el centro del objeto de luz. La intensidad disminuye con la distancia de la luz,
llegando a cero en un rango específico. La intensidad de la luz es inversamente proporcional al cuadrado de la distancia desde la fuente. Esto se conoce
como 'ley del cuadrado inverso' y es similar a cómo se comporta la luz en el mundo real.
4. DecorLight: Diferentes tipos de luces:
• Varios
1. Ruta Bezier: utilice este componente para crear rutas de ruta que seguirán otros componentes o la cámara cuando se active un PLC.
se activará la entrada/salida, o a través de un código de script.
Para configurar Bezier Path, presione el botón Configurar Bezier en el panel de propiedades derecho una vez que se selecciona el componente:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Configurar la ventana Bezier:
Adjuntar ID de componente a la ruta: configure el número de ID del componente que desea seguir en la ruta y presione el botón Adjuntar. Luego, cuando
la ruta esté activa (activando la E/S seleccionada o mediante código de secuencia de comandos), el componente seguirá la ruta de la ruta.
Sel.Punto. al pulsar se selecciona el punto, de esta forma es más fácil colocarlo en la posición deseada.
Sel.Ctrl.Point: cuando se presiona selecciona el punto de control, de esta manera es más fácil moverlo para darle la forma de ruta deseada.
Trav.Time: establece el tiempo de viaje entre este punto y el siguiente.
Insertar nuevo punto: inserta un nuevo punto entre este punto y el siguiente.
Borrar Punto: borra el punto.
2. Gráfico: a través del componente Gráfico, puede crear gráficos cartesianos para mostrar valores en los ejes X, Y, tanto para fijos
valores y para valores continuos con la gestión de una pila FIFO
3. Operadores: Tres personas disponibles, con animaciones que pueden interactuar en sus máquinas. El operador se mueve y camina.
Use la ruta Bezier para seguir una ruta y use la animación para caminar.
4. Vehículo: este componente se puede usar para pruebas cuando se necesitan vehículos, por ejemplo, puertas de garaje, cruces, semáforos, etc. Hay
cuatro tipos de vehículos disponibles, use las teclas del teclado numérico para moverlo: 8 Tecla Tecla de teclado para
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
avanzar, 2 teclas del teclado para retroceder, 6 teclas del teclado para girar a la derecha, 4 teclas del teclado para girar a la izquierda, tecla espaciadora para frenar. Para la
carretilla elevadora, use Page Up para mover la horquilla hacia arriba y Page Down para mover la horquilla hacia abajo.
5. Reproductor de video: este componente permite reproducir archivos de video. Útil para mostrar videos de tutoriales, instructivos o decorativos
propone Archivos de video compatibles: asf, avi, dv, m4v, mov, mp4, mpg, mpeg, ogv, vp8, webm, wmv. Para poder reproducir los videos, coloque los
archivos de video en la carpeta '\ Machines Simulator 3\ms3bin_Data\StreamingAssets\Videos' .
Si la propiedad WebCam se establece en verdadero, en el caso de que la computadora haya conectado una cámara web, VideoPlayer mostrará el video de
la fuente de la cámara web.
• Neumática
1. Cilindro 15: 5 cilindros neumáticos con diferentes apariencias, puede programar las salidas del PLC para avanzar
y hacia atrás (si la salida del PLC hacia atrás está configurada en 1, el cilindro funciona como válvula monoestable, esto es cuando la salida de avance
del PLC está en el avance del cilindro y cuando la salida está apagada, se mueve hacia atrás). Estos componentes son útiles cuando un elemento
dinámico está vinculado a él, usando las propiedades FixedDynamicElement y HingeDynamicElment (solo uno puede ser
activo), debe establecer la identificación del elemento dinámico en estas propiedades para que el elemento dinámico se mueva vinculado al cilindro. El
FixedDynamicElement fija el elemento dinámico como si fuera una soldadura al cilindro, el HingeDynamicElment crea una conexión
de bisagra entre el cilindro y el elemento dinámico permitiendo un movimiento de conexión en el eje de la unión del cilindro.
2. Empuje neumático: un dispositivo utilizado para empujar piezas, utiliza dos excavaciones de PLC. Salidas para avance/retroceso y para PLC dig.
Entradas para informar sobre la posición del pistón (avanzado/atrás)
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Física
1. Articulación Bisagra: Este componente especial no tiene representación en la máquina. Sirve para unir dos Elementos Dinámicos o
un elemento dinámico con un elemento estático.
A continuación se enumeran las propiedades de este elemento:
Fuente del cuerpo: ID del elemento de origen (elemento adjunto a)
Cuerpo conectado: id del cuerpo conectado (elemento que está adjunto)
Ancla: La posición del eje alrededor del cual se balancea el cuerpo.
Eje: La dirección del eje alrededor del cual oscila el cuerpo.
Configuración automática del ancla conectada: si está habilitado, la posición del ancla conectada se calculará automáticamente
para que coincida con la posición global de la propiedad del ancla.
Anclaje Conectado: Configuración manual de la posición del ancla conectada.
Use Spring: Spring hace que Rigidbody alcance un ángulo específico en comparación con su cuerpo conectado.
Resorte: propiedades del resorte que se utilizan si Usar resorte está habilitado.
Resorte: la fuerza que ejerce el objeto para moverse a la posición.
Amortiguador: cuanto mayor sea este valor, más se ralentizará el objeto.
Posición objetivo: Ángulo objetivo del resorte. El resorte tira hacia este ángulo medido en grados.
Usar motor: el motor hace que el objeto gire.
Propiedades del Motor que se utilizan si Usar Motor está habilitado.
Velocidad objetivo: la velocidad que el objeto intenta alcanzar.
Fuerza: La fuerza aplicada para alcanzar la velocidad.
Free Spin: Si está habilitado, el motor nunca se usa para frenar el giro, solo para acelerarlo.
Límites de uso: si está habilitado, el ángulo de la bisagra se restringirá dentro de los valores mínimo y máximo.
Propiedades de los Límites que se usan si Usar Límites está habilitado.
Min: El ángulo más bajo al que puede ir la rotación.
Máx.: el ángulo más alto al que puede ir la rotación.
Rebote: cuánto rebota el objeto cuando alcanza el límite de parada mínimo o máximo.
Distancia de contacto: dentro de la distancia de contacto desde el límite, los contactos persistirán para evitar fluctuaciones.
Fuerza de ruptura: La fuerza que debe aplicarse para que se rompa esta articulación.
Break Torque: El torque que se necesita aplicar para que esta unión se rompa.
Habilitar colisión: cuando está marcado, esto habilita las colisiones entre cuerpos conectados con una articulación.
Habilitar preprocesamiento: deshabilitar el preprocesamiento ayuda a estabilizar las configuraciones imposibles de cumplir.
2. Gancho: Este componente sirve para unir componentes que están en contacto cuando la salida del PLC se define en la propiedad
PLC_OUT_TAKE está activado. Se activará la entrada plc PLC_INP_DETECTED para informar que el componente gancho está en contacto con
el componente.
3. Tela: utilice este componente para simular material de tela. La textura y el comportamiento se pueden personalizar. Este componente solo
choca con formas de esfera o cápsula
4. Cable: El componente de cable simula el comportamiento de un cable físico conectado en dos extremos. Los puntos finales pueden ser usuarios
puntos fijos configurados o se pueden asociar con otros componentes como elemento estático, elemento dinámico o elemento plano.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
5. Cinemática inversa: con este componente, puede crear sistemas mecánicos complejos que se moverán en una estructura de nodos jerárquicos siguiendo un
objetivo seleccionado. La cinemática inversa es el proceso matemático de calcular los parámetros de unión variables necesarios para colocar el final de una
cadena cinemática, como un robot manipulador o cualquier tipo de esqueleto mecánico, en una posición y orientación dadas en relación con el inicio de la
cadena.
El componente de Cinemática Inversa se puede configurar (para cada nodo) con las siguientes propiedades para tener el comportamiento deseado:
o ComponentNameTarget: establece el nombre del componente que será el destino de la IK Chain. El último nodo de la cadena IK intentará alcanzar la
posición de destino. Establezca esta propiedad en blanco si el código de secuencia de comandos establecerá el objetivo. o Iteraciones: 4
por defecto, aquí puedes programar el número de iteraciones que hará el algoritmo para llegar al objetivo
posición.
o Tolerancia: la tolerancia del algoritmo para alcanzar la posición de destino. o IKWeight:
el peso general de todos los nodos IK para alcanzar el objetivo (1 máximo, 0 ninguno). o NodeWeight: el peso que tendrá este
nodo en la cadena general (1 máximo, 0 ninguno). o Recalculate Pos: marque esta propiedad para recalcular posiciones
para cada lazo. o NodeLockAxis: bloquea uno de los tres ejes (X,Y o Z) para rotar. o NodeAngularAxis:
selecciona uno de los tres ejes (X,Y o Z) para rotar para alcanzar la posición de destino. o
NodeAngularLimits: marque esta propiedad si el eje de rotación tiene límites para rotar. o NodeMaxLimit: establece el ángulo de rotación
máximo para el NodeAngularAxis seleccionado (NodeAngularLimits debe estar
encender)
o NodeMinLimit: establece el ángulo de rotación mínimo para el NodeAngularAxis seleccionado (NodeAngularLimits debe estar
encender).
o Prueba: marque a verdadero para probar el movimiento de la cadena IK. Cuando se establece en verdadero, el editor establecerá el foco en el
componente establecido como objetivo para moverlo usando los gizmos y verificar el comportamiento.
o Rutas de configuración: habilite esta propiedad para mover la cadena IK a posiciones de destino predefinidas. Estos puestos serán
disponible cuando la simulación se está ejecutando.
Para crear un nuevo nodo, presione el botón Agregar nodo en la cuadrícula de propiedades de IK:
Hay un nuevo componente definido por el usuario llamado Delta Robot que utiliza tres de estos componentes para cada brazo robótico:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Puede abrir este UDC para ver cómo está programado para una aplicación real.
• PLC
1. PushButton: Consola virtual de pulsadores, donde se pueden personalizar todos los pulsadores, selectores y leds de las lámparas. Este
consola aparece en la parte superior de la pantalla (presione las flechas arriba y abajo del teclado para moverse hacia arriba y hacia abajo).
2. HMI: esta es una consola que podría usarse como HMI para las máquinas que diseñe.
La HMI tiene 6 botones de presión ubicados en el lado izquierdo de la pantalla, 6 en el lado derecho y 4 en la parte inferior. Las IO para gestionar estos
botones se configuran con las propiedades:
Seleccione de la lista desplegable SelectedButton el botón que desea configurar, luego configure sus propiedades con:: PLC_OUT_Activate: activa el número
de salida del PLC seleccionado al presionar este botón.
PLC_OUT_ButtonON: si el número de salida del PLC seleccionado es ON, el botón tendrá el ColorON seleccionado, si es falso ColorOFF.
PLC_IN_Activate: activa el número de entrada del PLC seleccionado al pulsar este botón.
PLC_IN_ButtonON: si el número de entrada del PLC seleccionado es ON, el botón tendrá el ColorON seleccionado, si es falso ColorOFF.
ButtonName: el texto del botón para mostrar en la pantalla.
ColorON: el color del botón cuando está encendido.
ColorOFF: el color del botón cuando está APAGADO
La HMI incluye 5 pantallas configurables:
Líneas de texto:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Datos de entrada:
Botones:
Interruptores:
Mezcla:
Los controles disponibles en cada página se pueden gestionar mediante código script:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Robots
1. Axis Gantry: se utiliza para transportar WorkParts con precisión micrométrica, utiliza tres entradas analógicas de PLC y tres
salidas analógicas para configurar las coordenadas de los ejes, una salida digital del PLC para activar el imán y tomar WorkParts y una entrada
digital para informar que se tomó WorkParts. Utilice la propiedad Modo de prueba para mover el eje con las teclas numéricas (1 a 9) para mover el
eje y realizar pruebas.
2. Pórtico pequeño: igual que el componente anterior pero se usa para propuestas más pequeñas. También incorpora un eje más que permite girar
la toma de piezas con el sistema de aspiración.
3. Robot de soldadura: Robot con efecto de chispas de soldadura para simular la soldadura. Utiliza E/S analógicas de PLC para gestionar el eje.
Utilice las salidas analógicas del PLC para controlar el eje del robot, las entradas analógicas del PLC se utilizan para leer las posiciones
actuales del eje. Utilice la propiedad Modo de prueba para mover el eje con las teclas numéricas (1 a 9) para mover el eje del robot y realizar pruebas.
4. Robot Recolector: se utiliza para mover WorkParts con precisión micrométrica, utiliza E/S analógicas de PLC para establecer las coordenadas de
los ejes, una entrada de PLC y una salida de PLC para tomar partes. La velocidad y la distancia de detección se pueden personalizar. Utilice
las salidas analógicas del PLC para controlar el eje del robot, las entradas analógicas del PLC se utilizan para leer las posiciones actuales
del eje. Utilice la propiedad Modo de prueba para mover el eje con las teclas numéricas (1 a 9) para mover el eje del robot y realizar pruebas.
5. Robot Articulado: este es un Robot especial que puede ser utilizado para sus propias propuestas. Por defecto, puede
configurar tres tipos diferentes de pinzas (pinza para piezas grandes o pequeñas o sistema de succión), pero puede
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
asigne cualquier componente disponible en la máquina para ser utilizado como herramienta, para hacerlo, seleccione la propiedad
GripperType a 'Ninguno' y asigne en la propiedad ToolComponent el id del componente que desea vincular en la herramienta del robot.
Use las salidas analógicas del PLC para controlar el eje y la velocidad del robot, las entradas analógicas del PLC se usan para leer las
posiciones actuales del eje. Utilice la propiedad Modo de prueba para mover el eje con las teclas numéricas (1 a 9) para mover el
eje del robot y realizar pruebas.
6. Cobot tipo 1: Robot Colaborativo de 6 ejes. Utiliza un sistema de vacío para atrapar piezas. Debido a su nivel de seguridad y baja
velocidad, estos robots pueden trabajar en colaboración con operadores humanos y no requieren vallas.
7. Cobot tipo 2: Robot Colaborativo de 6 ejes. Utiliza un sistema de vacío para atrapar piezas. Debido a su nivel de seguridad y baja
velocidad, estos robots pueden trabajar en colaboración con operadores humanos y no requieren vallas.
8. Robot Industrial: Al igual que el Robot Articulado, este es un robot de propósito general con 6 ejes. Utiliza una salida de PLC
digital para tomar partes y una entrada de PLC digital para informar cuando detecta una parte para tomar. El uso de la
propiedad ToolComponent se puede vincular a cualquiera de los componentes de la máquina para usarlo como
herramienta para el robot. El tamaño del sistema de agarre y la distancia desde el último eje se puede configurar con las
propiedades GripScale y GripOffset, para que el sistema de agarre pueda detectar piezas, no debe estar en contacto con
ningún componente (herramienta personalizada).
9. Robot Scara: Robot tipo SCARA de cuatro grados de libertad con posicionamiento horizontal. usa uno
Salida digital de PLC para tomar piezas y una entrada digital de PLC para informar cuando detecta una pieza para tomar. El
uso de la propiedad ToolComponent se puede vincular a cualquiera de los componentes de la máquina para usarlo como
herramienta para el robot; de forma predeterminada, un dispositivo de ventosa está presente como herramienta de robot,
pero se puede ocultar en caso de que se use una herramienta personalizada. El tamaño del sistema de agarre y la
distancia desde el último eje se puede configurar con las propiedades GripScale y GripOffset, para que el sistema de agarre
pueda detectar piezas, no debe estar en contacto con ningún componente (herramienta personalizada). Este robot puede
ser manejado por el PLC en modo normal, moviendo cada uno de los 4 ejes de manera independiente, o puede ser
manejado en modo trayectoria (modo Cinemática Inversa) indicando una coordenada 2D en el espacio (X y Z) y los dos
primeros ejes muévase a esta posición. el eje vertical y el eje de rotación no están incluidos en el movimiento IK. Si elige el Modo IK
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
(Activando la Salida del PLC PLC_OUT_IKMode, las salidas analógicas del PLC PLC_AOUT_ARM1AXIS y
PLC_AOUT_ARM2AXIS establecerán la coordenada para la posición X y Z respectivamente.
Gestión de robots:
Los Robots se pueden gestionar de varias formas:
Directamente por el PLC para cada eje utilizando las E/S analógicas de posición y velocidad.
Usando el Código de Script o los Controladores para establecer las rutas de posición.
El primero es menos realista, pero es posible tomar el control total de los ejes del Robot (no se usa en la vida real), el segundo permite
configurar manualmente las rutas del robot para cada tarea (tomar partes, hacer movimientos, etc…) y posteriormente mediante PLC I/O para dar
las órdenes de inicio de rutas del robot.
Para el primer método, configure las E/S analógicas del PLC para cada eje del robot (también es posible configurar las salidas analógicas del PLC
para establecer la velocidad del eje), luego asigne los valores deseados a las salidas analógicas del PLC para mover el eje del robot. leyendo las
entradas analógicas del PLC se conocen las posiciones actuales de los ejes.
Para saber a dónde debe ir el robot, utilice la propiedad de prueba (solo disponible en el modo editor)
Configuración del robot en modo de prueba
Cuando la máquina está en modo de ejecución, aparecerá el panel de control Move Robot with Inverse Kinematic , marque todas las casillas de
verificación de los ejes Force para poder usar las teclas numéricas (1,2,3,4,5,6,7 ,8 y 9) para mover los ejes del robot:
Usa las teclas:
1 y 2 para mover el Eje 1
3 y 4 para mover el Eje 2
5 y 6 para mover el Eje 3
7 y 8 para mover el Eje 4
9 y 0 para mover el Eje 5
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
O y P para mover el Eje 6
En esta ventana se muestran los valores de los ejes, utilícela para conocer los valores de los ejes del Robot para configurar las posiciones con el PLC.
Para el segundo método, debe usar la función Inverse Kinematic Robot, si la propiedad Test Mode es verdadera, cuando comience la simulación, el Robot se moverá en modo
Inverse Kinematics, esto significa que puede mover el robot con el mouse para colocarlo. en la posición deseada.
Para permitir que el robot se mueva en el modo de cinemática inversa, asegúrese de que todas las casillas de verificación Forzar para todos los ejes estén deshabilitadas:
Configuración del robot en modo de prueba en el modo de cinemática inversa
Cuando el modo cinemático inverso está activo, se colocará una esfera roja en el último eje del robot, coloque el cursor del mouse sobre la esfera y haga clic con el botón
izquierdo del mouse para mover el robot a las posiciones deseadas:
Además, puede usar los controles deslizantes del panel de control para mover cada eje del robot, haga clic en la casilla de verificación Forzar para permitir el movimiento
manual del control deslizante, también si es necesario controlar un eje en particular en una posición especial. Cuando se necesita mucha precisión, se pueden forzar
los ejes y moverse lentamente con las teclas:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
1 y 2 para mover el Eje 1 3 y 4
para mover el Eje 2
5 y 6 para mover el Eje 3
7 y 8 para mover el Eje 4
9 y 0 para mover el Eje 5
O y P para mover el Eje 6
Una ruta de Robot puede estar formada por una determinada posición de los ejes del robot o por múltiples de ellos. Para crear una ruta, siga el
siguiente procedimiento:
Presione desde el panel de control flotante Mover Robot con Cinemática Inversa el botón Agregar Nueva Ruta:
Escriba un nombre para la ruta y presione el botón Agregar:
Luego aparecerá un nuevo Botón en la Sección de Rutas:
Ahora coloque los ejes del Robot en la posición deseada para esta ruta y presione el Botón de Ruta para guardarlo en esta Ruta:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Se guardará la posición de los ejes, haga clic sobre el botón Ruta para todas las posiciones que desea guardar para esta ruta:
En este ejemplo, la ruta llamada TakePart está compuesta por 5 posiciones de eje (llamadas puntos). Cuando se llame a esta Ruta, el robot
seguirá secuencialmente todas las rutas de los puntos comenzando desde 0 hasta el último número disponible.
Puede hacer clic en el botón de cada punto para mover el robot a la posición del punto con el fin de comprobar las posiciones de los ejes para cada
punto de toma.
Es posible eliminar una Ruta o un punto en la ruta haciendo clic en el botón derecho 'Del'
Si desea cambiar un punto existente, mueva el robot a la nueva posición deseada y presione el botón Actualizar ('Udt') para este punto:
Cómo llamar a las Rutas en modo Run:
Las rutas pueden ser llamadas por código script o por Controladores.
Ejemplo de código script:
Utilice el método Route Robot:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Ejemplo de controlador:
Seleccione el robot en el editor y haga clic en el botón 'Agregar nuevo controlador' de la cuadrícula de propiedades derecha:
Ahora haga clic en el botón creado Controller_1 y configúrelo de la siguiente manera:
Nombre: GoToTakePart (o cualquier descripción de esta acción)
Tipo: seleccione de la lista GoRoute As
Triger seleccione Salida digital (Dig.Out)
Como Id. de activación, escriba el número de salida del PLC utilizado para mover el robot a Route TakePart (0 en este ejemplo).
Parámetros:
RouteName: escribe TakePart (el nombre de la ruta que hemos configurado antes). En lugar de escribir el nombre, puede hacer clic en el botón Seleccionar
ruta para seleccionar de la lista todas las rutas disponibles:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Entonces ahora cuando el PLC activará la salida 0 del PLC, el Robot se moverá secuencialmente por todos los puntos que
componen la ruta TakePart.
Si desea saber cuándo se detuvo el robot, agregue un nuevo controlador y use la siguiente configuración:
Cuando el Robot termine la Ruta, activará la Entrada Digital 0 del PLC:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Accesorios
Los dispositivos de utilería no interactúan con el PLC, pero permiten personalizar las máquinas, todo se puede personalizar en color, hay
son los siguientes elementos:
1. Cercas
2. Plataformas
3. Barandillas
4. Soportes
5. Barras de direccionamiento: si es necesario, se pueden configurar para aplicar una fuerza de repulsión a fin de abordar las piezas de trabajo en movimiento en
la dirección deseada.
6. Calcomanías: Dibuje calcomanías en el piso para señalización.
• Escáneres
1. Cámara: se utiliza para detectar el tipo de WorkPart que está presente en el objetivo de la cámara, utiliza una salida de PLC que es el comando para
comenzar a trabajar y una entrada analógica de PLC donde se escribirá el tipo de pieza detectado por la cámara. El campo de detección se
puede personalizar.
2. Sensor RFID: utilizado para leer y escribir códigos numéricos en WorkParts. Puede usar una salida analógica de PLC y un PLC
entrada analógica para escribir valores de lectura o 8 salidas digitales PLC y 8 PLC dig. Entradas para escribir y leer los códigos, utilizando valores
digitales, el número debe estar codificado en modo binario:
Ejemplo: para escribir el valor 134 configure las siguientes salidas del PLC:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Después de una operación de lectura, si las entradas del PLC tienen estos valores:
Significa que el código leído de WorkPart es 81 (decimal)
Para escribir un valor, una vez que la parte de trabajo esté frente al sensor RFID, configure las salidas del plc PLC_Out_128 en
PLC_Out_1, y configure PLC_Out _Write en verdadero (o configure la salida analógica PLC_AOUT_Value con el valor deseado)
Para leer un valor, una vez que la parte de trabajo esté frente al sensor RFID, active la lectura de salida digital del PLC, y el valor leído estará presente en las
entradas de entrada del PLC PLC_In_1 a PLC_IN_128 (o lea la entrada analógica PLC_AIN_Result)
3. Camera Remote: se utiliza para colocar una cámara con monitor para ver lugares estratégicos para ser monitoreados por los operadores. Además, se puede
utilizar para detectar movimiento mediante la entrada de PLC: PLC_IN_MOVEMENT. Cuando se configura esta entrada de PLC, la cámara activará esta
entrada de PLC cuando se detecte movimiento en el área central del foco de la cámara.
4. Sensor de visión: este sensor de visión especial se usa para detectar piezas de trabajo en el área de escaneo del sensor y proporciona
Información sobre:
las coordenadas espaciales (X,Y,Z) de estos WorkParts detectados están en el espacio relativo a la posición de la cámara.
la rotación de las WorkParts escaneadas, la rotación es relativa a la posición de la palabra, no a la cámara.
el tipo de WorkPart para los detectados.
el tamaño de los WorkParts escaneados (X: ancho, Y: alto, z: largo).
Este sensor es capaz de detectar todos los WorkParts que se encuentran dentro del área de visión. El sensor se puede utilizar para dar las posiciones de los
WorkPart a Robots, Gantry's, Axis,… y poder recogerlos o manipularlos a su conveniencia, o medir las dimensiones de los WorkParts (X: ancho, Y: alto, Z:
largo) . Utilice la salida de PLC PLC_OUT_MODE para cambiar entre los modos de coordenadas o de medida, si PLC_OUT_MODE es falso, el sensor
proporcionará las coordenadas, si es verdadero, las dimensiones.
• Sensores
1. Interruptor inductivo: se usa para detectar piezas de trabajo, usa una entrada digital de PLC (PLC_IN_SIGNAL) que estará activa cuando
WorkPart se detecta en el campo de detección inductivo. El campo de detección se puede personalizar. Si la propiedad DistanceMeasurementSensor
se establece en true, podría usarse como un sensor para medir distancias, desde el punto en que se encuentra el sensor hasta el objeto detectado. Las unidades
de medida son milímetros, el resultado se envía a una entrada analógica del PLC (PLC_IN_DISTANCE)
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
2. Fotocélula: se usa para detectar WorkParts, usa una entrada de PLC que estará activa cuando se detecte un WorkPart en el
campo de detección de fotocélulas. El campo de detección se puede personalizar.
3. Barrera de fotocélula: se usa también para detectar piezas de trabajo, usa una entrada de PLC que estará activa cuando se detecte una pieza de trabajo
en la barrera de fotocélulas.
4. Interruptor Capacitivo: Se utiliza para detectar WorkParts cuyo tipo coincida con los tipos de valores programados, utiliza una entrada de PLC que estará
activa cuando se detecte una WorkPart en el campo de detección inductiva y su tipo coincida con los programados, de esta manera puede simular
diferentes materiales WorkParts. El campo de detección se puede personalizar.
También es posible configurar una entrada analógica de PLC utilizada para usar el sensor capacitivo como detector de distancia, luego envía la
distancia al PLC desde el WorkPart que está en el rango del sensor.
5. Interruptor de proximidad: se usa para detectar WorkParts, usa una entrada de PLC que se activará cuando un WorkPart toque el
sensor.
• Señales
1. Baliza luminosa 1 y 2: se puede utilizar para informar al usuario sobre el estado de la máquina, como el estado de trabajo (manual/
automático) o algún estado de error, utiliza tres salidas de PLC.
2. Sirena: se utiliza para mostrar algún tipo de error. Utiliza una salida de PLC.
3. Sirena 2: utilizada para mostrar algún tipo de error. Utiliza una salida de PLC.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Efectos especiales
En esta categoría podemos seleccionar una variedad de componentes útiles para agregar efectos especiales a las máquinas.
1. Cartelera: dibuja una textura que siempre está de frente a la cámara.
2. ExplosionFX: efecto utilizado para crear explosiones.
3. FireFX: efecto utilizado para crear fuego.
4. FlameFX: efecto utilizado para crear una llama.
5. PaintFX: efecto para simular chorros de pintura.
6. PlasmaFX: efecto utilizado para crear un efecto de plasma.
7. SmokeFX: este efecto se utiliza para crear humo.
8. SpartksFX: este efecto se utiliza para crear chispas.
9. SteamFX: efecto para simular un chorro de vapor.
10. WaterFX: efecto utilizado para crear agua en movimiento.
11. Agua: efecto utilizado para crear agua (como mar, depósito, ...)
12. Texto 3D: dibuja un Texto 3D.
13. Stamper: se utiliza para 'estampar' texturas en elementos de WorkParts, las texturas se imprimirán en el WorkPart que choca
con el rayo apuntado por esta componente.
14. Línea: se utiliza para crear líneas que se pueden actualizar en tiempo de ejecución por código o controladores.
15. Cutter: este componente se utiliza para cortar WorkParts. Los WorkParts a cortar deben tener asignado un Custom
propiedad WorkpartPrefab y un Cube PhysicShape.
16. Contenedor de efectos especiales: incluye un montón de efectos diferentes como llama, niebla, gas, vapor de agua, calor, impacto de metal, impacto de arena,
impacto de piedra, impacto de madera, remolinos de arena, chorro de aceite y gota de agua.
• Transportes
1. Cinta Transportadora 1: se utiliza para transportar WorkParts. Es posible configurarlo para que funcione en modo digital o analógico.
En modo digital utiliza dos salidas de PLC (PLC_OUT_ADVANCE y PLC_OUT_REVERSE) para activar el transportador en ambas direcciones.
En modo analógico, utiliza una salida de PLC analógica (PLC_AOUT_SPEED) para establecer la velocidad de la correa, si la velocidad = 0 la correa se
detiene, si la velocidad > 0 la correa avanza, si la velocidad < 0 la correa retrocede.
También es posible utilizar un codificador de cuadratura incremental para controlar la posición de la correa por el PLC.
Para ello se utilizan dos entradas digitales de PLC: Encoder_PHA y Encoder PHB. Cuando se utilizan estas dos salidas, el reductor del transportador muestra el
codificador:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
¿Cómo funciona el codificador de cuadratura?
El disco de código dentro de un codificador de cuadratura contiene dos pistas generalmente denominadas Canal A y Canal B. Estas pistas o canales están
codificados noventa grados eléctricos desfasados, como se indica en la imagen a continuación, y este es el elemento de diseño clave que proporcionará
la cuadratura. codificar su funcionalidad. Para saber dónde se requiere detección de dirección, un controlador puede determinar la dirección del
movimiento en función de la relación de fase entre los canales A y B. Como se ilustra en la siguiente figura del codificador óptico de ejemplo, cuando el codificador
gira en el sentido de las agujas del reloj, su señal mostrará Canal Un Canal B líder, y sucederá lo contrario cuando el codificador de cuadratura gire en
sentido contrario a las agujas del reloj.
PhysicMode: si esta propiedad se establece en true, las piezas de trabajo en la cinta transportadora se moverán usando fuerzas físicas, más realista que el
modo predeterminado, pero más costoso a nivel de computadora de recursos. Úselo cuando necesite transportar WorkParts entre diferentes cintas transportadoras.
2. Cinta transportadora 2: se utiliza para transportar piezas de trabajo, utiliza una salida de PLC para activar la cinta transportadora.
3. Rodillo transportador 1 y 2 (pequeño/mediano/grande): se utiliza para transportar piezas de trabajo, utiliza dos salidas de PLC para mover el transportador
en dos sentidos diferentes.
4. Transferencia de cinta transportadora: se utiliza para pasar piezas de trabajo de un transportador a otro en 90 grados, utiliza dos salidas de PLC para
activa el transportador en ambas direcciones
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
5. Cadena transportadora: utilizada para mover piezas en dos sentidos, útil para transferir piezas de trabajo entre dos transportadores de rodillos ubicados
a 90 grados. Utiliza las siguientes señales de PLC:
Salidas del PLC
Avance: avance los rodillos, mueve WorkParts hacia adelante Reverse: invierta
los rodillos, mueve WorkParts hacia atrás Rise: si es verdadero, mueve las
cadenas hacia arriba, si es falso, mueve las cadenas hacia abajo.
Cadena a la derecha: si es verdadero, inicia el movimiento encadena a la derecha para mover las piezas de trabajo a la derecha.
Cadena a la izquierda: si es verdadero, comienza el movimiento encadena a la izquierda para mover las piezas de trabajo a la izquierda.
Entradas del
PLC: Cadena arriba: verdadero si las cadenas están en la posición superior, falso si están en la posición inferior.
6. Transportador libre: rodillo transportador utilizado para cargar/descargar piezas en la máquina apiladora, utiliza dos salidas de PLC para activar el
rodillos en ambas direcciones
7. Tope de transportador, rodillo y correa: se utiliza para detener las piezas de trabajo movidas por los diferentes tipos de transportadores, utiliza una salida de PLC.
8. Transportador Simple: se utiliza para transportar WorkParts, utiliza dos salidas de PLC para mover la cinta transportadora en dos diferentes
Sentidos.
9. Banda Curva: banda para curvas, utiliza una salida de PLC para activar el transportador.
10. Transportador Delgado: transportador para el transporte de piezas pequeñas, como botellas, latas o similares. Las guías se pueden personalizar para ajustarse a las piezas, como
la separación, la longitud o los ángulos de entrada/salida.
11. Conveyor Builder: este componente permite crear diseños de transportadores complejos de forma automatizada y muy sencilla utilizando diferentes partes del transportador.
Una vez colocado, haga clic en el punto rojo para crear la siguiente sección del transportador.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
PhysicMode: si esta propiedad se establece en true, las piezas de trabajo en la cinta transportadora se moverán usando fuerzas físicas, más realista que el modo
predeterminado, pero más costoso a nivel de computadora de recursos. Úselo cuando necesite transportar WorkParts entre diferentes cintas transportadoras
12. Brazo de selección: este dispositivo se mueve 90 grados hacia la izquierda o hacia la derecha con el objetivo de distribuir WorkParts en el
cintas transportadoras, utiliza dos salidas de PLC, una para moverse a la izquierda y otra para moverse a la derecha.
13. Elevador: utilizado para levantar y mover WorkParts, utiliza dos entradas de PLC y seis salidas de PLC.
14. Elevador grande: se usa para levantar y mover piezas de trabajo, usa las siguientes señales: Salidas
digitales de PLC:
PLC_OUT_GO_UP: mueve el elevador a la posición superior, se detiene cuando la señal es falsa.
PLC_OUT_GO_DOWN: mueve el ascensor a la posición inferior, se detiene cuando la señal es falsa.
PLC_OUT_ADVANCE: mueve el rodillo en sentido de avance
PLC_OUT_REVERSE: mueve el rodillo en sentido inverso Entradas Digitales
PLC: PLC_IN_SW1:
activo cuando la fotocélula 1 está activa (posición de entrada)
PLC_IN_SW2: activo cuando la fotocélula 2 está activa (posición de salida)
E/S analógicas del PLC:
PLC_AOUT_ELEVPOSITION: mueve el ascensor al valor indicado por la salida analógica del PLC
PLC_AINP_ELEVPOSITION: posición actual del ascensor escrita en la entrada analógica del PLC
15. Mesa de unión: utilizada para mover WorkParts en dos sentidos, utiliza ocho salidas de PLC para mover los topes y los rodillos.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
16. Mesa clasificadora: utilícela para enviar WorkParts a diferentes posiciones de ángulo.
Señales de salida del PLC:
RUN: activa los rodillos para mover piezas.
RIGHT60: mueve los rollos 60 grados a la derecha
RIGHT90: mueve los rollos 90 grados a la derecha
LEFT60: mueve los rollos 60 grados a la izquierda
LEFT90: mueve los rollos 90 grados a la izquierda
POSICIÓN DE RESTABLECIMIENTO: mueve los rollos 0 a la posición inicial
PLC_ANALOGIC_OUT_ROT: gira los rodillos el valor analógico del plc.
17. Mesa giratoria 1: utilizada para mover WorkParts con precisión micrométrica, utiliza dos entradas de PLC y cuatro salidas de PLC.
18. Turn Table 2: se usa para mover WorkParts a diferentes posiciones de ángulo, usa las siguientes señales de PLC:
Salidas digitales:
Avance: mueva los rodillos en la dirección de avance
Inversa: mueve los rodillos en dirección inversa
Girar: gira la mesa 90 grados En el sentido de las agujas del
reloj: si es verdadero, la rotación se realiza en el sentido de las agujas del reloj, si es falso, en el sentido contrario a las agujas del
reloj Detener: detiene la rotación de la mesa.
Inicio: Mueve la mesa a la posición de inicio.
Entradas digitales:
Detenido: verdadero si la tabla está detenida.
En movimiento: verdadero mientras la mesa está girando.
19. Transportador: diferentes transportadores de bandejas predefinidos (con o sin puerta de apertura/cierre).
20. Cinta transportadora de metal: una cinta transportadora de bandeja de metal.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
21. Transportadores modulares: aquí están disponibles diferentes tipos de secciones de transportadores, para que pueda personalizar el transportador
disposición.
22. Rodillo transportador pequeño: otro tipo de rodillo transportador, utilizado para transportar piezas de trabajo, utiliza dos salidas de PLC para mover el
transportador en dos sentidos diferentes. Hay tres tipos: Grande, Pequeño y curvo.
• Piezas de trabajo
Los WorkParts son los elementos a gestionar en las máquinas (palet, cajas, elementos interactivos,…), siempre estarán afectados por
la gravedad y por las fuerzas aplicadas por los demás componentes. En una máquina, puede tener tantos WorkParts como necesite
y tantos tipos como necesite. WorkParts utiliza los recursos de su sistema, por lo que debe administrarlos para no sobrecargar su
sistema y ralentizar el sistema de su máquina. Para gestionarlos dispone de cinco componentes especiales, el WorkPart, el WorkPart
Creator, el WorkPart Destructor, el WorkPart Modifier y el WorkPart Translator.
1. WorkPart: algunas propiedades son las mismas que las de los elementos estáticos y dinámicos, a continuación, veamos las WorkParts especiales
propiedades:
WorkPartPrefab: puede elegir entre 19 diferentes WorkParts preestablecidos, por defecto hay cajas, paletas, cajones y piezas
ensambladas disponibles, cada tipo puede tener diferentes comportamientos:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
StackableSmallBox y StackableBox se acoplan automáticamente a los WorkParts en los que se basan, de esta
manera se pueden utilizar en los componentes Stacker u otros donde se requieran grandes movimientos y
no se desee que las cajas se caigan.
El Maletín se utiliza como contenedor para transportar otras WorkParts.
La Base Ensamblada 1, 2 y 3 se unirá con la Tapa Ensamblada 1, 2 y 3 cuando
insertado.
Custom: este WorkPart puede ser personalizado por el usuario, eligiendo el modelo 3D y/o texturas,
tamaños, peso,…
CrashSound: si es verdadero, cuando WorkPart choca con otro elemento, emite un sonido.
HitSoundSoft: sonido a emitir cuando la colisión es menor (y CrashSound es cierto)
HitSoundHard: sonido a emitir cuando la colisión es fuerte (y CrashSound es verdadero)
WorkPartType: es un valor entero para identificar este workPart en un tipo numérico.
FixToWorkPartType: si esta propiedad es >=0, esta pieza de trabajo se unirá con WorkPart (con WorkPartType
propiedad que coincida con el valor de esta propiedad), cuando los dos WorkParts colisionarán.
ShowOnMachineStart: si es verdadero, este WorkPart se cargará cuando la máquina se inicie en modo de ejecución. De lo contrario,
debe crearse con un componente creador de WorkPart.
2. WorkPart Creator: el componente WorkPart Creator creará las WorkParts en la posición que defina y cuando el
La salida o entrada del PLC que seleccione está activada.
Propiedades del creador de piezas de trabajo:
• Modo de creación: Elija Random para crear aleatoriamente un WorkPart desde la propiedad WorkParToCreateList, elija
Sequential para crear un WorkPart secuencialmente a partir de la colección.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Ubicación de creación: hay dos modos disponibles, Centro y Aleatorio. Elija Center para crear las nuevas WorkParts en el centro del Creator Box, elija
Random para crear las WorkParts en un área aleatoria dentro del perímetro del Creator Box.
• Intervalo de creación: (en segundos) si es 0 solo se creará un WorkPart en el disparo positivo del número de salida del PLC seleccionado, si se
establece un número mayor que cero, cada segundo de este número se creará el WorkPart siempre que el PLC la salida estará activada.
• Intervalo de creación aleatorio: si es verdadero, los WorkParts se crearán en un intervalo aleatorio entre 0 segundos y
Valor en segundos del intervalo de creación.
• PLC_OUT_CREATEWP: Número de salida del PLC utilizado para crear un nuevo WorkPart, cuando esta salida estará activada (Trigger
a on), se creará un nuevo WorkPart.
• PLC_IN_CREATEWP: Número de entrada del PLC utilizado para crear un nuevo WorkPart, cuando esta entrada del PLC estará activada (Trigger to
activado), se creará un nuevo WorkPart.
• Rotación aleatoria de WorkPart: si es verdadero, las WorkParts se crearán con una rotación aleatoria para cada eje x, y y z,
si es falso, los WorkParts creados tendrán la misma rotación que el WorkPart Creator.
• WorkParToCreateList: es una colección de los WorkParts disponibles para la instalación, aquí puede escribir los tipos de WorkPart que este componente
creará cuando la salida del PLC esté activada. Cada tipo debe estar separado por
comas
Ejemplos:
WorkParToCreateList: 0
ParteDeTrabajoParaCrearLista: 0,1,2
WorkParToCreateList: 2,4,6,7
• UserCompToCreateList: es una colección de los componentes definidos por el usuario disponibles para la instalación, aquí puede escribir los tipos de
UDC que este componente creará cuando la salida del PLC esté activada. Cada tipo debe estar separado por comas.
• ViewInMachine: si es verdadero, WorkPart Creator estará visible. Si es falso será invisible.
3. Destructor de WorkPart: El Destructor de WorkPart destruirá las WorkParts cuando colisionen con él, liberando el
recursos de la parte de trabajo.
• PLC_OUT_DESTROY_WP: Número de salida del PLC utilizado para destruir el WorkPart, si esta salida del PLC es 1 cuando un
la pieza de trabajo colisiona con ella se destruirá, si se asigna, la pieza de trabajo se destruirá si colisiona y la salida
Está encendido.
• PLC_IN_DESTROY_WP: Número de entrada del PLC utilizado para destruir el WorkPart, si esta entrada del PLC es 1 cuando un workpart colisione con
él será destruido, si está asignado el workpart será destruido si colisiona y la entrada está activada.
• WorkPart To Destroy: si esta propiedad está vacía, todas las WorkParts que colisionen con el Destructor serán destruidas, si ingresa un WorkPartType ID,
solo destruirá estas WorkParts. Nota: puede escribir más de una identificación separada por comas. Ej: 1,3,5
4. Modificador de pieza de trabajo: el modificador de pieza de trabajo destruirá el tipo de pieza de trabajo seleccionado si choca con él y creará el
elemento de trabajo de tipo seleccionado
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• PLC_OUT_MODIF: Número de salida del PLC utilizado para modificar el WorkPart, si esta salida del PLC es 1 cuando un workpart colisione
con él se cambiará, si se asigna el workpart se cambiará si colisiona y la salida está activada. • PLC_IN_MODIF: Número de entrada
de PLC utilizado para modificar el WorkPart, si esta entrada de PLC es 1 cuando un workpart colisione con él se cambiará, si se asigna el workpart
se cambiará si colisiona y la entrada está activada. • SourceWorkPart: tipo de WorkPart que se destruirá cuando el
componente esté activo y la workpart
choca con ella.
• FinalWorkPart: tipo de pieza de trabajo que se creará cuando se destruya la pieza de trabajo de origen.
5. WorkPart Transporter: el WorkPart Translator está compuesto por dos elementos el emisor y el receptor, cuando un
La pieza de trabajo tocará el receptor y se enviará automáticamente a la ubicación del emisor, sin crear ni destruir ninguna pieza de trabajo.
Uso de métodos abreviados de teclado para mover, rotar o escalar componentes
Una vez que se selecciona un componente, se puede personalizar seleccionando la Cuadrícula de propiedades (lado derecho) y escribiendo el valor
deseado para cada una de sus propiedades:
Pero para las operaciones más utilizadas, se pueden utilizar algunos atajos de teclado para acelerar la configuración de la máquina.
Para los datos de transformación de cada componente, hay disponibles comandos especiales. Los datos de transformación de los componentes
almacenan los datos relacionados con la posición, la rotación y la escala en el espacio para cada uno de los tres ejes.
Una vez seleccionado un componente, presione la tecla 'W' (para mover), la tecla 'E' (para rotar) o la tecla 'R' (para escalar) el componente. Luego, se
colocará un gizmo diferente sobre el componente para mostrar el tipo de operación que se aplicará sobre el componente.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Vea también cómo se indica en el texto de la barra de estado inferior:
Con tecla W:
Con tecla E:
Con tecla R:
Luego, una vez que se presionan las teclas W, E o R, el usuario debe presionar la tecla 'X' para mover, rotar o escalar en el eje X, o la
Tecla 'Y' para mover, rotar o escalar en el eje Y, o tecla 'Z' para mover, rotar o escalar en el eje Z
Nomenclatura y dirección del eje
Ahora es necesario teclear el número donde queremos colocar, rotar o escalar el componente del eje, solo son válidas las teclas numéricas
(0,1,2,3,4,5,6,7,8,9), punto '. ' o las teclas coma ',' y más '+' y menos '–'. Utilice la tecla de retroceso para eliminar la última tecla de entrada. Una vez
ingresado el número, presione la tecla Enter para confirmar. Presione la tecla Escape en cualquier momento de la secuencia para cancelar la operación.
Por ejemplo, la secuencia de teclas para mover el transportador en la siguiente máquina será:
1. Haga clic sobre el componente del transportador y presione la tecla W para ingresar al modo Posición:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
2. Pulse la tecla 'X' para seleccionar el eje X en el que se va a posicionar:
3. Pulse las teclas '1' + '.' + '2' + '5' + '' para escribir el valor 1.25
4. Finalmente presione la tecla Enter para confirmar y colocar el componente en la nueva posición
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Mediateca
Machines Editor tiene disponible una mediateca compuesta por texturas, modelos 3D y sonidos. Algunos componentes como Elementos
estáticos y dinámicos, Plano y Partes de trabajo tienen una textura y/o una propiedad de modelo, si hace clic en el botón respectivo, aparece la
ventana de textura o modelo y puede elegir la textura o modelo para aplicar a este componente.
La biblioteca de sonidos se usa para escuchar los sonidos disponibles, puede usarla en los componentes o en la programación de instalación
para dar a sus componentes o instalaciones capacidades de sonido.
¿Puedo agregar nuevo contenido multimedia?
Sí, puede agregar a su proyecto sus propias texturas (formato de archivo jpg o png), sus propios archivos de audio (archivos wav) o
modelos 3D (formato obj). Para hacerlo, cópielo en la carpeta deseada y use las funciones de secuencia de comandos para llamar a las texturas y
archivos de audio para los componentes que desea personalizar.
A partir de la versión 3.2.2, puede seleccionar desde el selector de ventana de texturas sus propios archivos gráficos, para hacerlo, copie sus
archivos en la carpeta de instalación de Machines Simulator 3\ms3bin_Data\StreamingAssets\MyTextures\
Para agregar nuevos modelos 3D o Componentes, vaya al Apéndice:
Cómo agregar nuevos modelos 3D a Machines Simulator 3 y Machines Simulator VR
Forma física frente a propiedades del modelo frente a componentes
Para personalizar la apariencia de algunos de sus componentes (como elementos estáticos y dinámicos y WorkParts), tiene disponible el contenido
multimedia para modelos 3D, componentes y texturas. La propiedad Model cambia la apariencia visible de su componente, pero tenga cuidado
porque la colisión (esta es la forma física) de sus componentes, siempre será una forma primitiva definida por la propiedad Physic Shape (esto
es, un cubo, un cilindro, una esfera o una cápsula), entonces cuando asignas un Modelo a un componente debes cuidar que el modelo asignado
quepa dentro del límite de la forma física, en este ejemplo se muestra un elemento Estático donde se ha asignado un barril como modelo, en la
primera imagen vemos como el barril es más pequeño que la forma física (representada por un cubo rojo), luego ajustando la propiedad Physic
Scale podemos establecer la forma física del componente, y luego el modelo se ajusta de acuerdo a su forma. Además, la escala, la
rotación y la posición del modelo se pueden cambiar para lograr el mismo objetivo:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
En lugar de asignar un modelo, puede asignar un Componente de la Biblioteca de modelos:
Los componentes tienen su propia forma y física de colisión, cuando en un elemento Estático, Dinámico o WorkPart se le asigna un
componente de la galería del modelo, este adaptará su forma a la del propio componente, perdiendo su propia forma:
1. Este WorkPart tiene la forma predeterminada:
2. Cuando se asigna un componente:
3. El WorkPart tendrá la forma del componente (no es necesario que encaje como el modelo):
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Componentes definidos por el usuario
Los UserDefinedComponets son componentes especiales creados con otros componentes (todos descritos anteriormente). Estos componentes se
pueden agregar al Simulador de Máquinas, copiando los archivos .udc a la carpeta UserDefinedComponents.
Propiedades:
Posición, escala y rotación: propiedades 3D del espacio para colocar, escalar y rotar el componente.
Label, LabelPosition & LabelColor: asigna una etiqueta de descripción con posición y color.
Editar Entradas Digitales: al pulsar aparece una nueva ventana donde podemos configurar la dirección de las Entradas Digitales
entradas asignadas a este UDC.
Editar Salidas Digitales: al pulsar aparece una nueva ventana donde podemos configurar la dirección de las Salidas Digitales asignadas a esta UDC.
Editar Entradas Analógicas: al pulsar aparece una nueva ventana donde podemos configurar la dirección de las Entradas Analógicas asignadas a esta UDC.
Editar Salidas Analógicas: al pulsar aparece una nueva ventana donde podemos configurar la dirección de las Salidas Analógicas asignadas a esta
UDC.
Editar Parámetros: al pulsarlo aparece una nueva ventana donde podemos configurar los valores numéricos (float) de los parámetros asignados a este
UDC.
Modo de editor de componentes definido por el usuario
Es muy difícil proporcionar todas las máquinas, componentes, sistemas, dispositivos necesarios para cubrir todos los requisitos del usuario,
por ejemplo en cada tipo de industria se utilizan diferentes tipos de componentes, necesitaríamos miles de componentes para poder crear todos los
posibles. instalaciones.
La solución es el Editor de Componentes, donde los usuarios pueden crear sus propios componentes y darles el comportamiento deseado para interactuar
con la instalación. Estos son los componentes definidos por el usuario.
Todos los componentes creados se pueden compartir con todos los usuarios. Visite con frecuencia www.nirtec.com sitio web para descargar
nuevos componentes.
Todos los componentes vistos hasta ahora son componentes del sistema y son personalizables a través de propiedades, pero los Componentes
definidos por el usuario (UDC por adelantado) son un paso más, puedes cambiar todos ellos, formas, modelos, texturas y comportamiento.
Una vez creados y guardados, los UDC se ubican en la carpeta UserDefinedComponents de la ruta de su aplicación y residen en un archivo
individual con extensión .udc.
Estos archivos se pueden compartir y se cargan automáticamente al inicio de Machines Simulator para que estén listos para sus máquinas.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Interfaz del editor de componentes definido por el usuario
Para ingresar al Editor de UDC, seleccione en la barra de menú de UDC el elemento de menú Crear nuevo componente definido por el usuario,
luego se ubicará un nuevo panel en el lado izquierdo, aquí verá un árbol con la jerarquía de componentes:
Crear nuevo componente definido por el usuario: crea un nuevo componente UDC.
Abrir UDC: abre un nuevo componente de UDC.
Guardar UDC: Guarda el componente UDC actual.
Cerrar el Editor de UDC: Cierra el Editor de UDC.
El Editor de UDC funciona en el mismo entorno que su máquina, luego puede crear el UDC de acuerdo con la misma escala que la máquina
actual.
Los Componentes definidos por el usuario son un conjunto de uno o más componentes del árbol de componentes, cada uno puede tener sus
propias propiedades y puede tener un comportamiento especial. El Componente Definido por el Usuario es un grupo de componentes relacionados
entre sí y que tendrán un objetivo común, pudiendo tener asociado un código script para tener un comportamiento especial.
O no.
Propiedades del objeto principal de UDC
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Al seleccionar el objeto principal de UDC (el padre principal, es el primer elemento en el árbol de jerarquía de UDC), sus propiedades se muestran en la
cuadrícula ubicada en el lado derecho.
Lista de propiedades UDC:
Descripción: el nombre de la UDC Categoría:
la categoría (carpeta) donde se mostrará el Árbol de Componentes.
Ejecutar código: si es verdadero, el UDC tendrá un comportamiento especial y tendrá asignado un código de script para personalizar cómo funciona.
obras.
Posición, escala y rotación: las propiedades del espacio 3D para colocar, escalar y rotar el UDC.
Botón Edit Script Code: al pulsarlo se abre el editor de scripts y aquí podemos programar el comportamiento de la UDC.
Botón Graph Bode: inicia el editor de código gráfico para programar el comportamiento de UDC utilizando el lenguaje de nodos gráficos.
Editar Entradas Digitales: al pulsar aparece una nueva ventana donde podemos añadir las Entradas Digitales asignadas a esta UDC. Presione el botón
Agregar nueva entrada para agregar nuevas entradas, también debe ingresar la dirección que usará este UDC (pero solo para pruebas, debido a que el
UDC final se abordará en la máquina, cuando este UDC esté terminado). Pulse el botón Eliminar para eliminar esta entrada.
Editar Salidas Digitales: lo mismo pero con salidas digitales.
Editar Entradas Analógicas: lo mismo pero con entradas analógicas.
Editar Salidas Analógicas: lo mismo pero con salidas analógicas.
Editar parámetros: al igual que I/O, el UDC podría haber definido parámetros numéricos (tipo flotante) para personalizar los parámetros de los componentes
principales, use este botón para crear, editar o eliminar los parámetros:
Estas E/S y parámetros se utilizarán en el cuerpo del código de script lógico para gestionar el comportamiento del UDC.
Constructores: Permite asignar hasta 6 puntos de construcción a cada lado del componente (X, X, Y, Y, Z, Z) para colocar nuevos UDC
automáticamente.
KeyFrame Animator: al igual que el componente Vacío, cada UDC tiene una herramienta KeyFrame Animator para configurar animaciones (ver
Cómo usar la herramienta KeyFrame Animator)
Consulte la sección Referencia de programación para obtener información sobre la programación.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Cómo agregar componentes a UDC
Para agregar nuevos componentes al UDC, tenga cuidado de que el árbol de jerarquía del UDC esté seleccionado y haga doble clic en el componente
que desea agregar en el árbol de Componentes, luego este componente se agregará al UDC:
Al hacer clic en el componente, puede personalizarlo utilizando su cuadrícula de propiedades.
Componentes de crianza
Una característica importante es el parenting de componentes, esto es, hacer componentes Childs de otros, por ejemplo, en la siguiente imagen, tenemos
parenting el StaticElement2 con StaticElement1. Esto es muy útil porque toda la operación 3D con los padres (como posición, rotación y escala) afectará
también a los hijos:
Luego, si rotamos StaticElement 1, también rota StaticElement2, pero para StaticElement2 el origen es StaticElement1 como si estuviera conectado.
Esto simplifica mucho la lógica, ya que solo debemos aplicar comandos de script a los componentes principales.
Otro ejemplo es, por ejemplo, Articulated Robot UDC, aquí tenemos todos los componentes del robot conectados, luego aplicamos movimiento solo al
eje requerido, los otros componentes se verán afectados por el componente de su padre y se mueven todos juntos como será conectado físicamente:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Una vez que se crea un componente definido por el usuario, se guarda en la carpeta:
C:\Nirtec\Machines Simulator 3\Componentes definidos por el usuario\
(Donde C:\ es la unidad de instalación que ha elegido durante la instalación del software).
Puede abrir, copiar y pegar sus diferentes componentes definidos por el usuario (.udc) creados por usted u otros usuarios colocando los archivos en la
carpeta indicada.
constructores
Para que el sistema constructor funcione correctamente, el UDC creado debe tener ciertas características, el primer componente debe ser un componente
estático y debe tener la forma adecuada para encajar con los otros componentes UDC que se pueden llamar a través de los controles del constructor.
Como la función del componente Estático solo servirá como guía para el sistema constructor, en este caso la propiedad Visible se establece en APAGADO:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Ahora haga clic en UserDefinedComponent y haga clic en el botón Builders, en la ventana del botón derecho configurará las siguientes propiedades:
Constructor en +Z/Z/+X/X/+Y/Y: activando/desactivando el check habilitarás/deshabilitarás la herramienta del constructor en las ubicaciones: frontal/
posterior/derecha/izquierda/arriba/abajo.
Etiquetas: aquí debe establecer el nombre de las etiquetas para los componentes que se mostrarán una vez que el usuario presione el control del
constructor. Puede escribir tantas etiquetas como necesite, use el ';' carácter para separarlo.
Etiqueta de conexión UDC: aquí debe escribir la etiqueta asignada a este componente para cada lado donde podría conectarse con otro UDC utilizando
su herramienta de creación.
Ejemplo:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Controladores
Los Controladores son las herramientas de los Componentes para darle comportamientos especiales, cada componente tiene sus propios
controladores. Los Controladores evitan escribir código y simplifican la máquina.
Úselo para activar las funciones de los componentes especiales sin usar el código de secuencia de comandos en el Código de secuencia de comandos de la máquina.
Código gráfico
El Código Gráfico permite programar el comportamiento de la máquina sin necesidad de escribir código C#. Útil para todos los usuarios que no tengan
conocimientos de programación.
Con esta herramienta podrá crear un sistema automático para automatizar sin escribir ninguna línea de código. Cada componente tiene
asociados diferentes bloques gráficos que permiten realizar acciones sobre él de forma totalmente gráfica sin el uso de código.
Para comenzar a utilizar la función Código gráfico, haga clic sobre la máquina y haga clic en el botón Código gráfico:
O en cada componente seleccionado, presionando el botón Controlador gráfico en la Cuadrícula de propiedades derecha:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Una vez presionado, se iniciará el editor de código gráfico:
Ahora puede presionar el botón derecho del mouse para disparar el menú contextual de Nodos o presionar el menú superior de Nodos para mostrar
todos los nodos disponibles para el componente actual.
Si el editor de código gráfico se inicia desde el componente Máquina, permitirá el acceso a todos los componentes disponibles en la máquina:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Si el editor de gráficos se inicia desde cualquiera de los componentes disponibles, solo se mostrarán los nodos para este componente
seleccionado:
Desde el editor de gráfico de máquina, puede alternar entre el modo de lógica de máquina o el modo de programa de demostración haciendo clic en la
verificación del programa de demostración ubicada en la parte superior derecha de la ventana de código gráfico:
Usando la función de código de gráfico, cuando la máquina esté en modo de ejecución, siempre se ejecutará todo el código de gráfico ubicado en la
ventana de código de gráfico de la máquina y en cada componente de código de gráfico.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Si la Máquina se inicia desde el menú principal del Simulador de Máquinas en modo Demo, se ejecutará el código Gráfico ubicado en la ventana Código Gráfico
de la Máquina, el código en el Programa Demostración y en cada componente del Código Gráfico.
(Esto es diferente del código de secuencia de comandos, dado que en el modo de demostración solo se ejecutará el código en el código de secuencia de comandos de demostración de la máquina
y no en el código de secuencia de comandos de la máquina).
Una vez en el editor de gráficos, use los siguientes botones del mouse:
Rueda del ratón: acercar/alejar
Rueda del mouse (o botón central del mouse): presione y mueva el mouse para desplazar el código del gráfico (izquierdaderechaarribaabajo).
Una vez que haya colocado un nodo en el Gráfico, haga clic sobre él para moverlo a la posición deseada.
Al presionar el botón izquierdo del mouse sobre un área de código vacía y arrastrarlo, se mostrará la herramienta de sección para seleccionar los nodos deseados:
Tipos de nodos:
Los nodos son la herramienta que permite la programación, cada uno de ellos tiene diferentes funciones y al realizar las conexiones entre ellos
podemos lograr el funcionamiento deseado.
Existen los siguientes tipos de nodos:
Tipo de datos:
Permite insertar diferentes tipos de datos para variables y/o valores constantes. Los tipos son:
Booleano (valor verdadero o falso)
Entero (valor numérico sin valores decimales)
Flotante (valor numérico con decimales)
Cadena (valor de texto)
Vector3 (tres valores numéricos con decimales, generalmente usados para posiciones en el espacio)
Convertidor de datos: función especial para convertir entre diferentes tipos de valores.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
ESTE:
Permite declarar las Entradas y salidas analógicas y digitales, en modo normal solo se pueden leer las Salidas y las Entradas se pueden leer y
escribir. En el programa Graph Code Demo, tanto las entradas como las salidas se pueden leer y escribir.
Lógica:
Permite escribir nodos para operaciones lógicas booleanas: And, Or, Not y Xor.
Funciones: las siguientes funciones están disponibles
Rama: comprueba si el valor de entrada, si es verdadero, la primera salida está activa, si es falso la segunda
Comparar: realiza la operación de comparación seleccionada, el resultado será verdadero o falso
Fórmula: para requisitos complejos permite escribir una expresión con diferentes parámetros de entrada y un parámetro de salida.
Nueva función: permite insertar una nueva función para ser llamada por el nodo Llamada de función.
Llamada de función: cuando la entrada es verdadera, llama a la función escrita (solo disponible en Machine Graph)
Secuenciador: realiza una función Switch Case para secuenciar funciones de acuerdo con la variable de entrada entera.
Init: activo solo una vez al inicio del sistema, útil para inicializar variables o funciones.
Math: realiza las operaciones matemáticas seleccionadas en los dos parámetros de entrada y lo devuelve para el parámetro de
salida.
Operación matemática: realiza las operaciones matemáticas seleccionadas en los parámetros de entrada y las devuelve
para el parámetro de salida.
Math vector3: realiza las operaciones matemáticas seleccionadas en el parámetro de entrada Vector3 y las devuelve para el
parámetro de salida Vector3.
Switch Case: si el parámetro de entrada es verdadero, activa la salida correspondiente Timer:
establece/reinicia un temporizador, cuando se alcanza el temporizador, activa la salida.
Trigger: dispara la variable de entrada, la salida se activará solo en el primer cambio del parámetro de entrada.
Utilidades:
Delta Time: devuelve un factor de compensación para que los movimientos no dependan de la velocidad del
sistema.
KeyPress: devuelve verdadero si se presionan, mantienen o sueltan las teclas seleccionadas.
Mouse: obtiene información sobre los botones y la posición del mouse.
Mensaje: muestra diferentes tipos de mensajes en la pantalla.
Modelo: devuelve el modelo 3D seleccionado de la galería de modelos.
Textura: devuelve la textura seleccionada de la galería de texturas.
Sonido: devuelve el sonido seleccionado de la galería de sonidos.
Comentario: inserta un comentario en el gráfico.
Panel Group: panel para agrupar nodos. Se usa para hacer grupos de nodos (diseñados para una misma funcionalidad) que se pueden mover
maximizados o minimizados. Haga doble clic en el título del panel para cambiar el nombre.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
WorkParts: estos nodos se pueden utilizar para gestionar e interactuar con las piezas actuales presentes en la máquina, los nodos disponibles son:
WorkPartType: devuelve el tipo de WorkPart de entrada.
Modelo WP: cambia el modelo 3D (con escala, posición y rotación) para el WorkPart de entrada Escala WP: cambia la
escala WP para el Wp de entrada.
Textura WP: cambia la textura (y el mosaico) para el WP de entrada.
WorkPartColl Ray: devuelve el WP que choca con el rayo con origen y dirección pasados como entrada
parámetros
Contacto WP: Devuelve el WP que está en contacto con el WP pasado.
Adjuntar WP: adjunta los dos WP pasados.
WP Detach: si el WP pasado tiene otro WP adjunto, lo desconecta.
Insertar WP: inserta el segundo WP pasado en el primer WP pasado.
Liberar WP: si el WP pasado tiene insertado otro WP, lo libera.
Componentes:
Para cada componente que tiene la máquina en su jerarquía, aparece en este menú, para ser llamado a personalizarlo. Cada nodo componente tiene
un icono de ayuda ubicado en la parte superior derecha, si el cursor del mouse se coloca sobre él, muestra un texto sobre la funcionalidad del nodo:
Diseño de nodos:
Todos los nodos tienen un diseño similar con las siguientes propiedades:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
En el lado izquierdo están los puertos de entrada, donde se debe conectar la condición de entrada, en el lado derecho están los puertos de salida que darán salida
a los valores en función de las funcionalidades del nodo.
Para realizar la conexión de los nodos del puerto, coloque el mouse sobre el puerto deseado y una vez que se marque en amarillo, presione el botón izquierdo
del mouse y arrastre sobre el puerto del nodo deseado:
Tienes que tener en cuenta que:
Solo es posible realizar conexiones entre puertos de diferente tipo (puertos de salida con puertos de entrada y puertos de entrada con puertos de salida). No es
posible realizar conexiones entre puertos del mismo tipo (puertos de entrada con puertos de entrada y puertos de salida con puertos de salida).
Los puertos de salida pueden tener varias conexiones, los nodos de entrada solo pueden tener UNA conexión.
Solo es posible realizar conexiones con puertos del mismo tipo de datos, estos tipos de datos tienen diferentes colores para poder identificarlos rápidamente,
estos son:
Puertos booleanos (verde):
Puertos Int (blanco):
Puertos flotantes (azul):
Puertos de cadena (naranja):
Puertos Vector3 (amarillo):
Puertos WorkParts (magenta):
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Estructura del programa de código gráfico
Debido a que una máquina puede estar compuesta por muchos componentes y cada uno puede tener asociado un Código Gráfico o no, para localizar
rápidamente el Código Gráfico de cada componente programado, puede utilizar la función para visualizar todos los elementos que tienen Código Gráfico.
programados en la máquina, para ello, haga clic en el menú superior Todos los Gráficos, luego se desplegará una lista en el lado Izquierdo con todos los
componentes que tienen Programado Código Gráfico, y al hacer clic en cada ítem podrá visualizar rápidamente su código.
Estrategias de programación de código gráfico
Como herramienta de desarrollo, existen muchas formas de programar utilizando el código gráfico, pero la recomendación sería:
Utilice el Código Gráfico del Objeto Máquina para administrar toda la lógica que involucra todas las relaciones con los componentes disponibles en la máquina.
Utilice el código gráfico de cada componente para gestionar individualmente la lógica de este componente aislado de los demás.
Referencia de programación
Para darle más poder a sus máquinas o sus Componentes Definidos por el Usuario, puede utilizar el módulo de programación disponible en el Editor de
Máquinas, con este módulo puede acceder a todos los objetos principales de instalación y componentes para interactuar con él.
El módulo de programación tiene disponible una función de verificación de sintaxis que le informa cuando se detecta un error en el código.
El Editor de Máquinas tiene dos ambientes diferentes donde se puede aplicar la programación, la máquina y los Componentes Definidos por el Usuario,
existen objetos comunes y diferentes aplicables a estos ambientes.
El Código Script debe ser programado usando el lenguaje C#.
Estructura del programa:
Para ambos (máquina y UDC) la estructura del programa es la siguiente.
En el Código hay cuatro métodos:
• Inicial() •
Principal()
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
• Física ()
• Finalizar()
El método Init solo se ejecuta una vez, cuando el Editor de Máquinas se inicia en Modo Ejecutar (en el Simulador de Máquinas cuando se carga una
Máquina).
El método principal se ejecuta cíclicamente mientras el Editor de máquinas está en modo de ejecución.
El método de física se ejecuta cíclicamente mientras el editor de máquinas está en modo de ejecución.
El método de finalización se ejecuta una vez cuando el Editor de máquinas finaliza el Modo de ejecución.
Diferencias entre los métodos Main y Physics:
El método Main() se llama a cada fotograma y se usa para actualizaciones periódicas como:
Objetos no físicos en movimiento
Temporizadores
simples que reciben
entradas Lectura/escritura de entradas y salidas de plc
El método Physics() se llama cada paso de física, en Physics(), los intervalos son consistentes con el motor de física. Se utiliza para actualizaciones
periódicas como:
ajustar la física aplicar
movimientos, fuerzas, torsiones u otras funciones relacionadas con la física
Cómo llamar a componentes en código:
En este ejemplo, vamos a ver cómo se puede llamar a cualquiera de los componentes disponibles en el cuerpo del código del script:
Aquí se muestra un elemento estático donde su propiedad Descripción es Comp1
Ahora haga clic en el árbol de jerarquía > Componente de la máquina, luego haga clic en el botón Editar código de secuencia de comandos:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Se abrirá el Editor de secuencias de comandos:
Ahora escribe en el cuerpo del método Main() el siguiente código:
if(Input.GetKey(KeyCode.P)) {
Comp1.ChangeTexture(“Metal\\metal0”);
}
Luego presione el botón Compilar y Guardar, si no hay errores en el área inferior de las ventanas del script, aparece el texto:
¡Compilación OK!
De lo contrario, un mensaje mostrará el tipo de error.
Ahora pase al modo de ejecución y presione la tecla P, luego verá cómo el Elemento estático cambiará la textura:
Preste atención a cómo se ha llamado al elemento estático en el código del script, como su nombre de descripción Comp1, esta es la forma
en que puede llamar a los componentes de la máquina y del objeto UDC en el código del script.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Referencia de programación de scripts
Se lista una referencia de todas las funciones disponibles:
Métodos de objeto EditorUtils:
El objeto EditorUtils proporciona algunas herramientas para personalizar su código.
Estos son:
void ShowText(cadena de texto);
Descripción: muestra texto en la barra de herramientas de estado, útil para fines de depuración.
Ejemplo: EditorUtils.ShowText("Texto de ejemplo");
void PlayLoopSound (clip de cuerda, volumen flotante)
Descripción: reproduce el tiempo del clip de la biblioteca de medios, con volumen flotante (de 0 a 1) y se repite en modo de bucle.
Ejemplo: EditorUtils.PlayLoopSound("Alarm", 0.6f);
void PlaySingleSound (clip de cuerda, volumen flotante)
Descripción: reproduce el clip de la biblioteca de sonido, con volumen flotante
(forma 0 a 1)
Ejemplo: EditorUtils.PlaySingleSound("PneumaticCyl", 1);
void PararSonido();
Descripción: Detiene el clip que se está reproduciendo actualmente.
Ejemplo: EditorUtils.StopSound();
float CollisionDistance (posición del Vector3, objetivo del Vector3, distancia flotante);
Descripción: Devuelve la distancia de colisión entre cualquier componente y la posición del punto que apunta en una dirección objetivo.
Ejemplo: float dist = EditorUtils.CollisionDistance(Vector3.One,
Vector3.Abajo * 2);
void SetCursor(int cursorType)
Descripción: muestra diferentes cursores del puntero del mouse (útil para indicar acciones sobre componentes. 0: predeterminado, 1:
cruz roja, 2: cruz azul, 3: mano abierta, 4: mano cerrada, 5: mano con dedo, 6: seleccionado)
Ejemplo: EditorUtils.SetCursor(1);
Constantes:
ancho de pantalla int
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Descripción: Devuelve el ancho de pantalla actual.
Ejemplo: int screenWidth = Screen.width;
altura de pantalla int
Descripción: Devuelve la altura de la pantalla actual.
Ejemplo: int screenHeight = Screen.height;
cadena Aplicación.dataPath();
Descripción: Devuelve la ruta donde está instalado Machines Simulator Editor.
Ejemplo: ruta de cadena = Application.dataPath();
Funciones:
Algunas funciones útiles para ayudar en el programa de su máquina:
tiempo flotante.deltaTime
Descripción: Devuelve un factor de compensación para obtener la misma tarifa
independientemente del sistema (esta función debe llamarse dentro del método Main().
Proporciona el tiempo entre el cuadro actual y el anterior)
Ejemplo: movimiento flotante = 5.0f * Time.deltaTime;
Float Time.fixedDeltaTime
Descripción: Devuelve un factor de compensación para obtener la misma tarifa
independientemente del sistema (esta función debe llamarse dentro del método Physics() porque tiene en cuenta a qué velocidad de
fotogramas fija física actualiza la lógica)
Ejemplo: movimiento flotante = velocidad * Tiempo.fixedDeltaTime;
Métodos de objetos IOManager (acceso a funciones de E/S):
bool GetInput(int num);
Descripción: devuelve el estado 'num' del número de entrada del PLC Ejemplo:
if(IOManager.GetInput(1))
{...}
bool GetOutput(int num);
Descripción: devuelve el estado 'num' del número de salida del PLC Ejemplo:
if(IOManager.GetOutput(1))
{...}
void SetInput(int num, bool stat);
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Descripción: establece el estado del número de entrada del PLC 'num' en 'stat'
Ejemplo: IOManager.SetInput(1, verdadero);
void SetOutput(int num, bool stat);
Descripción: establece el estado 'num' del número de salida del PLC en 'stat'. Esto produce
no se puede activar mientras el PLC se está ejecutando, porque el PLC lo sobrescribirá.
Ejemplo: IOManager.SetOutput(2, false);
void SetVirtualOutput(int num, bool stat);
Descripción: establece el estado 'num' del número de salida del PLC en 'stat' (para
Salidas gestionadas por código). Estas salidas se pueden activar mientras el PLC está funcionando.
Ejemplo: IOManager.SetOutput(2, false);
bool TrigInpUp(int si);
Descripción: devuelve el estado de cambio del número de entrada del PLC 'num' de falso a
verdadero.
Ejemplo: if(IOManager.TrigInpUp(1)) {...}
bool TrigInpDwn(int si);
Descripción: devuelve el estado de cambio del número de entrada del PLC 'num' de verdadero a falso.
Ejemplo: if(IOManager.TrigInpDwn(1)) {...}
bool TrigOutUp(int si);
Descripción: devuelve el estado de cambio del número de salida del PLC 'num' de falso a
verdadero.
Ejemplo: if(IOManager.TrigOutUp(1)) {...}
bool TrigOutDwn(int num);
Descripción: devuelve el estado de cambio de número de salida del PLC 'num' de verdadero a falso.
Ejemplo: if(IOManager.TrigOutDwn(1)) {...}
float GetAInput(int num);
Descripción: devuelve el número de Entrada Analógica del PLC 'num'
Ejemplo: float d1 = IOManager.GetAInput(1);
void SetAInput(int num, float v);
Descripción: establece el valor 'v' de la Entrada Analógica del PLC 'num' para ser enviado al
SOCIEDAD ANÓNIMA
Ejemplo: IOManager.SetAInput(3, 10.5f);
float GetAOutput(int num);
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Descripción: devuelve el número de Salida Analógica del PLC 'num'
Ejemplo: float d1 = IOManager.GetAOutput(1);
void SetAOutput(int num, float v);
Descripción: establece el valor 'v' de la Salida Analógica del PLC 'num'
Ejemplo: IOManager.SetAOutput(3, 10.5f);
void SetInputDesc(int num, string desc)
Descripción: establece una descripción de texto para la entrada digital del PLC 'num'
Ejemplo: IOManager.SetInputDesc(1, "Sensor alto");
void SetOutputDesc(int num, string desc)
Descripción: establece una descripción de texto para la salida digital del PLC 'num'
Ejemplo: IOManager.SetOutputDesc(1, "Iniciar motor");
void SetAnInputDesc(int num, string desc)
Descripción: establece una descripción de texto para la entrada analógica del PLC 'num'
Ejemplo: IOManager.SetAnInputDesc(3, "Valor del sensor de temperatura");
void SetAnOutputDesc(int num, string desc)
Descripción: establece una descripción de texto para la salida analógica del PLC 'num'
Ejemplo: IOManager.SetAnOutputDesc(5, "Valor de posición del eje vertical");
Métodos de teclado y ratón:
bool Input.GetKeyDown(KeyCode.KeyName);
Descripción: Devuelve verdadero durante el marco en que el usuario comienza a presionar la tecla identificada por
KeyName
Ejemplo:
if(Input.GetKeyDown(KeyCode.F5)) {
bool Input.GetKeyUp(KeyCode.KeyName);
Descripción: Devuelve verdadero durante el marco en que el usuario suelta la clave identificada por KeyName
Ejemplo:
if(Input.GetKeyUp(KeyCode.O)) {
bool Input.GetKey(KeyCode.KeyName);
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Descripción: Devuelve verdadero mientras el usuario mantiene presionada la tecla identificada por
Nombre clave
Ejemplo:
if(Input.GetKey(KeyCode.P)) {
bool Input.GetMouseButton(botón int);
Descripción: Devuelve si el botón del mouse dado se mantiene presionado.
Ejemplo:
if (Input.GetMouseButton(0)) string txt = "Clic
izquierdo presionado.";
if (Input.GetMouseButton(1)) string txt =
"Presionó clic derecho.";
si (Entrada.GetMouseButton(2))
string txt = "Clic central presionado.";
bool GetMouseButtonDown (botón int);
Descripción: Devuelve verdadero durante el cuadro en el que el usuario presionó el botón del mouse dado.
Ejemplo: si
(Input.GetMouseButtonDown(0))
string txt = "Clic izquierdo presionado.";
si (Entrada.GetMouseButtonDown(1))
string txt = "Clic derecho presionado.";
if (Input.GetMouseButtonDown(2)) string txt = "Clic
central presionado.";
bool GetMouseButtonUp(botón int);
Descripción: Devuelve verdadero durante el cuadro en el que el usuario suelta el botón del mouse dado.
Ejemplo: si
(Input.GetMouseButtonUp(0))
string txt = "Clic izquierdo presionado.";
if (Input.GetMouseButtonUp(1)) string txt =
"Presionó clic derecho.";
if (Input.GetMouseButtonUp(2)) string txt = "Clic
central presionado";
float GetAxis(string nombreEje); Descripción:
Devuelve el valor del eje virtual identificado por axisName.
Ejemplo:
float h = Input.GetAxis("Ratón X");
float v = Input.GetAxis("Mouse Y");
float mouseWheel = Input.GetAxis("Mouse ScrollWheel");
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Objeto Simulador de Máquinas (MS):
void MS.Message(string text): Muestra un mensaje de texto en la parte superior.
void MS.Message(string text, Color background, Color textcolor): Muestra un mensaje de texto en la parte superior, con background y
textcolors pasados como parámetros.
void MS.EndMessage(): elimina el mensaje actual.
void MS.Message(string text, int second, Color background, Color textcolor): Muestra un mensaje de texto en la parte superior, con
background y textcolors pasados como parámetros, y es visible durante los segundos pasados como segundo parámetro
WorkPartLogic MS.WPList > contiene todos los objetos WorkParts actuales creados en la máquina:
Ejemplo:
EditorUtils.ShowText(MS.WPList.Count.ToString());
int wpt = MS.WPList[3].WorkPartType > Establece en la variable wpt el tipo de WorkPart para la cuarta workpart en la máquina.
void MS.ChangeFlyCam() > cambia la cámara al modo de vuelo
void MS.ChangeFirstPersonCam() > cambia la cámara a primera persona
void MS.ChangeTripCam() > cambia la cámara al modo de viaje
void MS.DisableCameraMovement() > Deshabilita el movimiento de la cámara por parte del sistema, luego no se moverá con las teclas del
sistema ni el mouse. Útil para programar comportamientos especiales de la cámara.
void MS.EnableCameraMovement() > El sistema toma el control de la cámara a mover mediante las teclas del sistema y el mouse.
Transform MS.SystemCamera > devuelve la referencia del objeto de transformación (posición, rotación, escala) de la cámara, útil para
programar comportamientos especiales para el
cámara.
void MS.SystemCameraPosition(Vector3 pos) > coloca la cámara en la posición pasada por Vector3 (x,y,z).
void MS.SystemCameraRotation(ángulos del Vector3)> rota la cámara en los ángulos pasados por el Vector3 (x,y,z).
float MS.MainLightIntensity > Obtener/Establecer la intensidad de la luz principal
bool MS.Fog > Obtener/Establecer si el entorno tiene niebla
float MS.FogDensity > Obtener/Establecer la densidad de niebla del entorno
Color MS.FogColor > Obtener/Establecer si el color de niebla del entorno
void MS.SetPlayerSize(float rad, float height) > establece el tamaño del reproductor (radious, height)
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
bool MS.RayCollision(Origen del Vector3, posición del Vector3, distancia flotante)> devuelve verdadero si algún Componente choca con el Rayo
con origen en el origen del Vector3, apunta a la dirección del Vector3 y con la distancia pasada por la distancia flotante
WorkPartLogic MS.RayCollisionWorPart(Origen del Vector3, posición del Vector3, distancia flotante)> devuelve la referencia de la Parte de
trabajo que choca con el rayo con origen en el origen del Vector3, apunta a la dirección del Vector3 y con la distancia pasada por la distancia flotante
ComponentBase MS.RayCollisionComponent(Origen del Vector3, posición del Vector3, distancia flotante)> devuelve la referencia del objeto
ComponetBase (objeto común para todos los componentes) que choca con el rayo con origen en el origen del Vector3, apunta a la dirección
del Vector3 y con la distancia pasada por el flotador distancia
void MS.ShowFloor(valor bool) > si el valor es verdadero, se muestra el piso de la fábrica, si el valor es falso, no estará presente el piso en los
entornos Fábrica 1 o Exterior. Útil para crear suelos personalizados con agujeros u otros. Tenga en cuenta que si el valor es
falso, no estará disponible la colisión para piso.
void HideFactory(): solo válido para el entorno Factory1. Llamar a este método ocultará el edificio de la fábrica.
void SetLimits(Vector2 x, Vector2 y, Vector3 z): En el entorno Factory1 establece los límites de movimiento para los ejes x, y y z en una estructura
Vector2.
ArrayList MS.Interchange: estructura de datos ArrayList para intercambiar datos entre los componentes de la máquina.
ComponentBase Create(string compo, Vector3 pos): crea el nombre del componente 'compo' pasado y lo coloca en la posición 'pos'.
ComponentBase Create(string compo, Vector3 pos, Vector3 rot): crea el nombre del componente 'compo' pasado y lo coloca en la posición 'pos',
con rotación 'rot'.
void CreateWP(int id, Vector3 pos, Vector3 rot): crea un WorkPart de tipo id (previamente debe crearse en el editor) en la posición 'pos', con
rotación 'rot'.
void DisableCollision(Collider c1, Collider c2, bool v): Deshabilita o Habilita las colisiones (parámetros v) entre los dos colisionadores pasados.
PanelValue MS.PanelDisplay(string desc): crea un objeto PanelValue
PanelButton MS.PanelButton(texto de cadena): crea un objeto PanelButton
Label3D MS.Label3D (texto de cadena): muestra un texto de etiqueta 2D en una posición de espacio 3D.
Objeto de valor de panel:
void PanelConfig(string desc, string v): establece la descripción y el valor del panel
void PanelDescription(string t): establece la descripción del panel
Valor vacío (cadena/int/flotante/doble/valor Vector3): establece el valor para mostrar
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void SetPosition(int columna, int fila): establece la posición del panel en la pantalla. Los paneles están alineados en 10 columnas y 12 filas.
void SetPosition(int col, int row, int length): establece la posición del panel en la pantalla y su longitud (1 a 10). Los paneles están alineados en 10 columnas
y 12
filas
Objeto PanelButton:
void ButtonText (texto de cadena): establece el texto del botón
void SetPosition(int columna, int fila): establece la posición del botón en la pantalla.
Los botones están alineados en 10 columnas y 24 filas.
void SetPosition(int col, int row, int length): establece la posición de los botones en la pantalla y su longitud (1 a 10). Los paneles están alineados en 10
columnas y 24
filas
bool ButtonPresed: devuelve verdadero si el botón permanece presionado
evento ClickEvent: este evento se activa cuando el usuario presiona el botón.
Objeto Label3D:
bool Visible: establece/obtiene si la etiqueta 3D es visible o no
texto de cadena: establece el texto de la etiqueta.
Vector3 Position: establece la posición de la etiqueta en el espacio 3D.
Color Color: establece el color de la etiqueta.
Vector3 Color: establece el color de la etiqueta.
int Size: establece el tamaño del texto de la etiqueta.
Temporizadores MS:
void MS.SetTimer(nombre de cadena, intervalo flotante) > inicia una cuenta regresiva del temporizador llamada 'nombre' con un intervalo de milisegundos
bool MS.GetTimer(string name) > devuelve verdadero si el 'nombre' del temporizador ha alcanzado el tiempo de cuenta regresiva
void MS.ResetTimer(nombre de la cadena) > reinicia el 'nombre' del temporizador
Ejemplo de temporizador:
temporizador de flotación
1; intervalo flotante; bool
timerEnabled = falso;
inicio de vacío público ()
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
{
temporizador1 = 0;
intervalo = 5000; // en ms.
}
vacío público Principal () {
si (temporizador habilitado) {
hora1 += Hora.deltaTime * 1000; si (temporizador1 >=
intervalo) {
temporizador1 = 0;
EditorUtils.ShowText("¡El temporizador caducó!"); temporizador
habilitado = falso;
}
}
if(Input.GetKeyDown(KeyCode.P)) {
EditorUtils.ShowText(""); temporizador
habilitado = verdadero;
}
Finalizar vacío público () {
//USO DE TEMPORIZADORES MS
inicio vacío público () {
vacío público Principal () {
if(MS.GetTimer("Temporizador1")) {
EditorUtils.ShowText("¡El temporizador caducó!");
MS.ResetTimer("Temporizador1");
}
if(Input.GetKeyDown(KeyCode.P)) {
EditorUtils.ShowText("");
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
MS.SetTimer("Temporizador1", 5000);
}
Finalizar vacío público () {
PanelValue PanelDisplay (descripcion de cadena): muestra un panel 2D para mostrar valores numericos, la descripcion del
parametro establece el texto de descripcion en el Panel.
Objeto de valor de panel:
void PanelConfig(string desc, string v): establece la descripción y el valor del panel
void PanelDescription(string t): establece la descripción del panel
Valor vacío (cadena/int/flotante/doble/valor Vector3): establece el valor para mostrar
Vector2 PanelPosition: obtiene/establece la posición del panel en la pantalla
Objeto PanelButton:
void ButtonText (texto de cadena): establece el texto del botón
void SetPosition(int columna, int fila): establece la posición del botón en la pantalla.
Los botones están alineados en 10 columnas y 24 filas.
bool ButtonPresed: devuelve verdadero si el botón permanece presionado
evento ClickEvent: este evento se activa cuando el usuario presiona el botón.
Ejemplo:
Evento de clic de botón del panel Ejemplo:
PanelButton but1;
inicio vacío público () {
pero1 = MS.PanelButton("INICIO");
pero1.EstablecerPosición(5,12);
but1.ClickEvent += but1_ClickEvent;
}
vacío público Principal () {
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Public void Física() {
public void Finish()
{ but1.ClickEvent = but1_ClickEvent; }
anular pero1_ClickEvent() {
MS.Message("Activado");
}
Componente Funciones Script Referencia Ayuda
Componentes básicos
Objeto base:
ComponentBase
ComponentBase.tag > establece/obtiene un objeto en la propiedad de etiqueta del componente Base
Común para todos los componentes:
Vector3 Position > Obtener/establecer la posición del componente en el espacio
Escala Vector3 > Obtener/Establecer la escala del componente
Rotación Vector3 > Obtener/Establecer la rotación del componente en el espacio
Etiqueta de cadena > Obtener/Establecer el texto de la etiqueta para el componente
Vector4 LabelPosition> Obtener/Establecer la posición de la etiqueta y la rotación del eje Y para el componente
wwhere (x: posición del eje X, y: posición del eje Y, z: posición del eje Z, w: rotación del eje Y)
Color LabelColor > Obtener/Establecer el color de la etiqueta para el componente
void Link(Transform t) > vincula o vincula el componente con el objeto Transform del componente pasado.
void UnLink() > desvincula/desparenta el componente de su padre.
Objeto espacial:
Vector3 Component.Space.localPosition > Obtener/Establecer la posición local del Componente con respecto a su
elemento jerárquico superior
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Vector3 Component.Space.localEulerAngles > Obtener/Establecer la rotación local del Componente respecto a su elemento
jerárquico superior
void Component.Space.RotateAround(Vector3 point, Vector3 axis, float angle) > Gira el componente sobre el eje que pasa
por el punto en las coordenadas mundiales por grados de ángulo.
Lista de inventario:
Devuelve todos los componentes presentes en la máquina.
Ejemplo:
EditorUtils.ShowText(Inventory.Count.ToString()); // Imprime en pantalla todos los componentes que tiene la maquina
actual.
Elemento estático:
void AnimationMove (dirección de la cadena, velocidad flotante, destino flotante) > Mueve el componente desde la
posición actual a la posición 'destino', a 'velocidad', en la dirección pasada como cadena "X" o "Y" o "Z" . Esta función no
aplica física.
La función debe llamarse por disparador, no por nivel.
float GetAnimationPosition(dirección de la cadena) > Devuelve la posición actual del componente para el eje pasado como
parámetro (x, y, o z)
void Move (dirección de la cadena, velocidad flotante, destino flotante) > Mueve el componente desde la posición actual a
la posición 'dest', a 'velocidad', en la dirección pasada como cadena "X" o "Y" o "Z" . Esta función aplica la física. La función
debe llamarse por disparador, no por nivel.
float GetMovePosition(dirección de la cadena) > Devuelve la posición actual del componente para el eje pasado como
parámetro (x, y, o z)
public void AnimationRotate(eje de cadena, grados de flotación, velocidad de flotación, sentido int) > Gira el componente
desde el ángulo actual al ángulo de 'grados', a 'velocidad', en la dirección pasada como cadena "X" o "Y" o "Z". Si sentido
es 0 gira en sentido horario, si 1 gira en sentido antihorario si es 2, gira en modo absoluto. Esta función no aplica física. La
función debe llamarse por disparador, no por nivel.
float GetAnimationRotation(string axis) > Devuelve el ángulo actual del eje pasado como parámetro (x, y, o z)
void AnimationRotateAcc (dirección de la cadena, velocidad de flotación, destino de flotación) > Gira el componente en el eje
"x", "y" o "z" a la velocidad de los ángulos de destino. Esta función no aplica física. La función debe ser llamada por
disparador.
void Rotar (eje de cadena, grado flotante, velocidad flotante, sentido int) > Gira el componente desde el ángulo
actual al ángulo 'grado', a 'velocidad', en la dirección pasada como cadena "X" o "Y" o "Z". Si sentido es 0 gira en sentido
horario, si 1 gira en sentido antihorario si es 2, gira en modo absoluto. Esta función aplica la física.
La función debe llamarse por disparador, no por nivel.
float GetRotation(string axis) > Devuelve el ángulo actual del eje pasado como parámetro (x, y, o z)
void AnimationRotateAngles (valor Vector3)> Gira el componente a un local
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
ángulo posición vector3 valor y velocidad. Esta función no aplica física. La función debe ser llamada por nivel. Utilice esta función para
girar el componente a una posición angular exacta.
void AnimationRotations(Velocidad del vector3) > Gira el componente en el eje y la velocidad del vector3. Esta función no aplica
física. La función debe ser llamada por nivel.
void Rotations(Vector3 angleAxis, float speed) > Gira el componente en el vector3 eje y velocidad. Esta función aplica la
física. La función debe ser llamada por nivel.
void AnimationOrbit(Vector3 orig, Vector3 axis, float deg, float speed) > Orbita el componente con origen 'orig' en el eje 'axis' con grados
de 'velocidad' y 'grados'.
Esta función no aplica física. La función debe ser llamada por nivel.
void Orbit(Vector3 orig, Vector3 axis, float angles): orbita el componente con origen 'orig' en el eje 'axis' a la velocidad y grados
indicados por los ángulos. Esta función no aplica física.
Vector3 PhysicScale > Obtener/establecer la escala física del componente
float Opacity > Obtener/Establecer la opacidad del Componente (0 a 1).
void ChangeTexture(string textName) > Establecer la textura textName.
Vector2 TextureTile: establece/obtiene el mosaico de textura del componente para los ejes X y Z.
void TextureMovementX(float sp): establece el movimiento de textura del componente en el eje X a velocidad sp.
void TextureMovementZ(float sp): establece el movimiento de la textura del componente en el eje Z a velocidad sp.
void SetModel (mod de cadena) > Establezca el modelo de nombre de mod.
void SetModelPosition(Vector3 v3) > Establecer la posición del modelo.
void SetModelScale(Vector3 v3)> Establecer la escala del modelo.
void SetModelRotation(Vector3 v3) > Establecer la rotación del modelo.
Vector3 CurrPos() > Devuelve la posición actual del componente (sin física)
Vector3 CurrRot() > Devuelve la rotación actual del componente (sin física)
Traducir (Vector3 pos) > Traduce el componente a la posición pos en coordenadas locales (sin física)
TranslateWorld (Vector3 pos) > Traduce el componente a la posición pos en coordenadas mundiales (sin física)
Girar (Vector3 pos) > Gira el componente a la posición pos en coordenadas locales (sin física)
RotateWorld (Vector3 pos) > Gira el componente a la posición pos en el mundo
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
coordenadas (sin física)
void MovePosition (Vector3 pos) > Mueve el componente a la posición pos (con física)
Vector3 CurrentPosition() > Devuelve la posición actual del componente (con física)
MoveRotation(Vector3 rot) > rota el componente para rotar ángulos (con física)
Vector3 CurrentRotation () > Devuelve los ángulos de rotación actuales del componente (con física)
void PlaySingleSound (clip de cuerda, volumen flotante) > Reproduce un sonido de 'clip' en la posición 3D del
componente, con volumen (0 a 1)
void PlayLoopSound (clip de cuerda, volumen flotante) > Reproduce un sonido de 'clip' en la posición 3D del componente,
con volumen (0 a 1) en modo de bucle
void StopSound() > Detiene el sonido de reproducción actual
bool MouseOverComponent() > Devuelve verdadero si el puntero del mouse está sobre el componente
bool ComponentCollision > Devuelve el verdadero si algún componente choca con el componente
void ApplyForce(Vector3 force) > Aplica la fuerza al Elemento Dinámico o
Parte de trabajo que choca con el componente
bool ControllerVrTouch > Devuelve el verdadero cuando el controlador VR derecho o izquierdo choca con el componente
bool ControllerVrTouchRight > Devuelve el verdadero cuando el controlador de la mano derecha VR choca con el componente
bool ControllerVrTouchLeft > Devuelve el verdadero cuando el controlador de la mano izquierda VR choca con el
componente
WorkPartLogic WorkPartCollision > Devuelve el objeto WorkPart que colisiona con el componente
List<WorkPartLogic> WorkPartCollisionList > Devuelve una lista con todos los objetos WorkPart dentro del área
StaticComponent (cuando el método Ghost es verdadero).
bool RayCollision (origen del Vector3, posición del Vector3, distancia flotante) > devuelve verdadero si algún componente
choca con el rayo con origen en el origen del Vector3, apunta a la dirección del Vector3 y con la distancia pasada por la
distancia flotante
WorkPartLogic RayCollisionWorPart (origen del Vector3, posición del Vector3, distancia de flotación) > devuelve
la referencia de la pieza de trabajo que choca con el rayo con origen en el origen del Vector3, apunta a la dirección
del Vector3 y con la distancia pasada por la distancia de flotación
ComponentBase RayCollisionComponent(Origen del Vector3, posición del Vector3, distancia flotante) > devuelve la
referencia del objeto ComponentBase (objeto común para todos los componentes) que choca con el Ray con origen en el
origen del Vector3, apunta a la dirección del Vector3 y con la distancia pasada por la distancia flotante
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
ComponentBase _Component > Devuelve el objeto ComponentBase (objeto base de todos los demás componentes derivados) que
colisiona con el componente
void AddCollisionController(): utilice este método si utiliza la función CollidesWith o cuando se asigna un componente como
modelo. Este método debe llamarse en Init Script Method para que el componente reconozca las colisiones.
bool CollidesWith(string desc): devuelve verdadero si el elemento estático colisiona con el componente con descripción 'desc', falso
si no colisiona. void Ghost (valor bool) > si es verdadero, el elemento estático no tiene colisión, pero los scripts
de otros componentes lo detectan.
void IsVisible(valor bool) > Establece si el elemento es visible o no.
void IsEnabled(valor bool) > Establece si el elemento está habilitado o no. Si no está habilitado, la colisión se deshabilitará.
void LightEmission (bool habilitado, Color col) > si habilitado es verdadero, el componente emite una luz con col Color
void LightEmission (bool habilitado, color col, intensidad flotante) > si habilitado es verdadero, el componente emite una luz con
color col con la intensidad pasada
void SetMaterialColor(Color col)> Cambia el color del material con el parámetro de color pasado
void LoadExternalTexture(string path, Vector2 ttile) > Carga un archivo jpg/png ubicado en la ruta y repite el mosaico en el
componente
void Active(bool v) > Activar o desactivar el componente (no visible y no colisionable)
void PlayExternalSound(string wav) > Reproduce un archivo wav ubicado en la ruta wav
void LoadUpdatableModel (nombre de cadena) > Establece el modelo 'nombre' de la carpeta del modelo actualizable, el nombre debe
pasarse como "StreamingAssets/ModelName"
void DisableCollision(WorkPartLogic wp, bool v): deshabilita o habilita la colisión (parámetro v) entre el WorkPart pasado y el
StaticElement actual.
Collider Collis(): devuelve el objeto colisionador.
Transform Transf: devuelve el componente Transform objeto (posición, rotación y escala).
Elemento dinámico:
Vector3 PhysicScale > Obtener/establecer la escala física del componente
void ChangeTexture(string textName) > Establecer la textura textName.
void SetModel (mod de cadena) > Establezca el modelo de nombre de mod.
void SetModelPosition(Vector3 v3) > Establecer la posición del modelo.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void SetModelScale(Vector3 v3)> Establecer la escala del modelo.
void SetModelRotation(Vector3 v3) > Establecer la rotación del modelo.
Vector3 CurrPos() > Devuelve la posición actual del componente (sin física)
Vector3 CurrRot() > Devuelve la rotación actual del componente (sin física)
Traducir (Vector3 pos) > Traduce el componente a la posición pos en coordenadas locales (sin física)
TranslateWorld (Vector3 pos) > Traduce el componente a la posición pos en coordenadas mundiales (sin física)
Girar (Vector3 pos) > Gira el componente a la posición pos en coordenadas locales (sin física)
RotateWorld (Vector3 pos) > Gira el componente a la posición pos en coordenadas mundiales (sin física)
void MovePosition (Vector3 pos) > Mueve el componente a la posición pos (con física)
Vector3 CurrentPosition() > Devuelve la posición actual del componente (con física)
MoveRotation(Vector3 rot) > rota el componente para rotar ángulos (con física)
Vector3 CurrentRotation () > Devuelve los ángulos de rotación actuales del componente (con física)
void PlaySingleSound (clip de cuerda, volumen flotante) > Reproduce un sonido de 'clip' en la posición 3D del componente, con
volumen (0 a 1)
void PlayLoopSound (clip de cuerda, volumen flotante) > Reproduce un sonido de 'clip' en la posición 3D del componente, con
volumen (0 a 1) en modo de bucle
void StopSound() > Detiene el sonido de reproducción actual
bool MouseOverComponent() > Devuelve verdadero si el puntero del mouse está sobre el componente
bool ComponentCollision > Devuelve el verdadero si algún componente choca con el componente
bool ControllerVrTouch > Devuelve el verdadero cuando el controlador VR derecho o izquierdo choca con el componente
bool ControllerVrTouchRight > Devuelve el verdadero cuando el controlador de la mano derecha VR choca con el componente
bool ControllerVrTouchLeft > Devuelve el verdadero cuando el controlador de la mano izquierda VR choca con el componente
WorkPartLogic WorkPartCollision > Devuelve el objeto WorkPart que colisiona con el componente
bool RayCollision(Origen del Vector3, posición del Vector3, distancia flotante) > devuelve verdadero si algún Componente choca
con el Rayo con origen en el origen del Vector3, es
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
apuntando a la dirección Vector3 y con distancia pasada por distancia flotante
WorkPartLogic RayCollisionWorPart (origen del Vector3, posición del Vector3, distancia de flotación) > devuelve la
referencia de la pieza de trabajo que choca con el rayo con origen en el origen del Vector3, apunta a la dirección del Vector3
y con la distancia pasada por la distancia de flotación
ComponentBase _Component > Devuelve el objeto ComponentBase (objeto base de todos los demás componentes derivados) que
colisiona con el componente
void AddCollisionController(): utilice este método si utiliza la función CollidesWith o cuando se asigna un componente como
modelo. Este método debe llamarse en Init Script Method para que el componente reconozca las colisiones.
bool CollidesWith(string desc): devuelve verdadero si el Elemento Dinámico colisiona con el componente con descripción 'desc', falso
si no colisiona.
void IsVisible(valor bool) > Establece si el elemento es visible o no.
void IsEnabled(valor bool) > Establece si el elemento está habilitado o no. Si no está habilitado, la colisión se deshabilitará.
void ApplyForce(Vector3 force) > Agrega una fuerza al elemento dinámico
void ApplyRelativeForce(Vector3 force) > Agrega una fuerza al elemento dinámico en relación con su sistema de coordenadas.
void AddTorque (Vector3 force) > Agrega un par de fuerza al elemento dinámico
void AddRelativeTorque(Vector3 force) > Agrega un par de fuerza al elemento dinámico relativo a su sistema de coordenadas.
void LoadExternalTexture(string path, Vector2 ttile) > Carga un archivo jpg/png ubicado en la ruta y repite el mosaico en el
componente.
void LightEmission (bool habilitado, Color col) > si habilitado es verdadero, el componente emite una luz con col Color
void LightEmission (bool habilitado, color col, intensidad flotante) > si habilitado es verdadero, el componente emite una luz con
color col con la intensidad pasada
void SetMaterialColor(Color col)> Cambia el color del material con el parámetro de color pasado
void Active(bool v) > Activar o desactivar el componente (no visible y no colisionable)
void PlayExternalSound(string wav) > Reproduce un archivo wav ubicado en la ruta wav
void AttachMe(Component.Space sp) > Establece el objeto dinámico como el padre del componente pasado, de esta manera el
componente pasado se moverá y girará como el objeto del elemento dinámico
void DettachMe(Component.Space sp) > Rompe la relación principal entre el objeto dinámico y el componente pasado.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void LoadUpdatableModel (nombre de cadena) > Establece el modelo 'nombre' de la carpeta del modelo actualizable, el nombre debe pasarse como
"StreamingAssets/ModelName"
void DisableCollision(WorkPartLogic wp, bool v): deshabilita o habilita la colisión (parámetro v) entre el WorkPart pasado y el DynamicElement actual.
Collider Collis(): devuelve el objeto colisionador.
Transform Transf: devuelve el componente Transform objeto (posición, rotación y escala).
Elemento plano:
public void AnimationRotate(eje de cadena, grados de flotación, velocidad de flotación, sentido int) > Gira el componente desde el ángulo actual al
ángulo de 'grados', a 'velocidad', en la dirección pasada como cadena "X" o "Y" o "Z". Esta función no aplica física. La función debe llamarse por
disparador, no por nivel.
void AnimationRotateAcc (dirección de la cadena, velocidad de flotación, destino de flotación) > Gira el componente en el eje "x", "y" o "z" a la velocidad
de los ángulos de destino. Esta función no aplica física. La función debe ser llamada por disparador.
float GetAnimationRotation(string axis) > Devuelve el ángulo actual del eje pasado como parámetro (x, y, o z)
Float Speed > Obtener/establecer la velocidad del avión (si la propiedad colisionable es verdadera)
void Advance (valor bool) > Establece si el avión avanza o se detiene
void Reverse (valor bool) > Establece si el avión se mueve hacia atrás o se detiene
float MovementAmount > devuelve la cantidad de movimiento que se está moviendo el avión, útil para crear transportadores con control de
codificador
Vector2 PlaneScale > Obtener/Establecer la escala del plano
void ChangeTexture(string textName) > Establecer la textura textName.
Vector3 CurrPos() > Devuelve la posición actual del componente (sin física)
Vector3 CurrRot() > Devuelve la rotación actual del componente (sin física)
Traducir (Vector3 pos) > Traduce el componente a la posición pos en coordenadas locales (sin física)
TranslateWorld (Vector3 pos) > Traduce el componente a la posición pos en coordenadas mundiales (sin física)
Girar (Vector3 pos) > Gira el componente a la posición pos en coordenadas locales (sin física)
RotateWorld (Vector3 pos) > Gira el componente a la posición pos en coordenadas mundiales (sin física)
void MovePosition (Vector3 pos) > Mueve el componente a la posición pos (con física)
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Vector3 CurrentPosition() > Devuelve la posición actual del componente (con física)
MoveRotation(Vector3 rot) > rota el componente para rotar ángulos (con física)
Vector3 CurrentRotation () > Devuelve los ángulos de rotación actuales del componente (con física)
void PlaySingleSound (clip de cuerda, volumen flotante) > Reproduce un sonido de 'clip' en la posición 3D del
componente, con volumen (0 a 1)
void PlayLoopSound (clip de cuerda, volumen flotante) > Reproduce un sonido de 'clip' en la posición 3D del componente,
con volumen (0 a 1) en modo de bucle
void StopSound() > Detiene el sonido de reproducción actual
bool MouseOverComponent() > Devuelve verdadero si el puntero del mouse está sobre el componente
bool ComponentCollision > Devuelve el verdadero si algún componente choca con el componente
void AddCollisionController(): use este método si usa la función CollidesWith. Este método debe llamarse en Init
Script Method para que el componente reconozca las colisiones.
bool CollidesWith(string desc): devuelve verdadero si el elemento plano choca con el componente con descripción 'desc',
falso si no choca.
void Ghost (valor bool) > si es verdadero, el elemento plano no tiene colisión, pero los scripts de otros componentes lo
detectan.
void ApplyForce(Vector3 force) > Aplica la fuerza al Elemento Dinámico o
Parte de trabajo que choca con el componente
bool ControllerVrTouch > Devuelve el verdadero cuando el controlador VR derecho o izquierdo choca con el componente
bool ControllerVrTouchRight > Devuelve el verdadero cuando el controlador de la mano derecha VR choca con el componente
bool ControllerVrTouchLeft > Devuelve el verdadero cuando el controlador de la mano izquierda VR choca con el
componente
WorkPartLogic WorkPartCollision > Devuelve el objeto WorkPart que colisiona con el componente
bool RayCollision (origen del Vector3, posición del Vector3, distancia flotante) > devuelve verdadero si algún componente
choca con el rayo con origen en el origen del Vector3, apunta a la dirección del Vector3 y con la distancia pasada por la
distancia flotante
ComponentBase _Component > Devuelve el objeto ComponentBase (objeto base de todos los demás componentes
derivados) que colisiona con el componente
WorkPartLogic RayCollisionWorPart (origen del Vector3, posición del Vector3, distancia de flotación) > devuelve
la referencia de la pieza de trabajo que choca con el rayo con origen en el origen del Vector3, apunta a la dirección
del Vector3 y con la distancia pasada por la distancia de flotación
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void IsVisible(valor bool) > Establece si el elemento es visible o no.
void IsEnabled(valor bool) > Establece si el elemento está habilitado o no. Si no está habilitado, la colisión se deshabilitará.
void LoadExternalTexture(string path, Vector2 ttile) > Carga un archivo jpg/png ubicado en la ruta y repite el mosaico en el
componente.
void LightEmission (bool habilitado, Color col) > si habilitado es verdadero, el componente emite una luz con col Color
void LightEmission (bool habilitado, color col, intensidad flotante) > si habilitado es verdadero, el componente emite una luz con
color col con la intensidad pasada
void SetMaterialColor(Color col)> Cambia el color del material con el parámetro de color pasado
void Active(bool v) > Activar o desactivar el componente (no visible y no colisionable)
void PlayExternalSound(string wav) > Reproduce un archivo wav ubicado en la ruta wav
void DisableCollision(WorkPartLogic wp, bool v): deshabilita o habilita la colisión (parámetro v) entre el WorkPart pasado y el
elemento Plane actual
Collider Collis(): devuelve el objeto colisionador.
Transform Transf: devuelve el componente Transform objeto (posición, rotación y escala).
modelo 3d
void AnimationMove(string direction, float speed, float dest): Mueve el componente desde la posición actual a la posición
'dest', a 'speed', en la dirección pasada como cadena "X" o "Y" o "Z". Esta función no aplica física.
La función debe llamarse por disparador, no por nivel.
float GetAnimationPosition(dirección de la cadena): Devuelve la posición actual del componente para el eje pasado como parámetro (x,
y, o z)
void AnimationRotate(eje de cadena, grados de flotación, velocidad de flotación, sentido int): gira el componente desde el ángulo actual
al ángulo de 'grados', a 'velocidad', en la dirección pasada como cadena "X" o "Y" o " Z". Si sentido es 0 gira en sentido horario, si 1 gira
en sentido antihorario si es 2, gira en modo absoluto. Esta función no aplica física. La función debe llamarse por disparador, no por
nivel.
void AnimationRotateAcc (dirección de la cadena, velocidad de flotación, destino de flotación) > Gira el componente en el eje "x", "y" o
"z" a la velocidad de los ángulos de destino. Esta función no aplica física. La función debe ser llamada por disparador.
float GetAnimationRotation(string axis): Devuelve el ángulo actual del eje pasado como parámetro (x, y, o z)
void Rotate(Vector3 v): Rota el componente de acuerdo al vector pasado.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void AnimationRotations(Vector3 speed): Gira el componente en el vector3 eje y velocidad. Esta función no aplica física. La función debe
ser llamada por nivel.
void AnimationOrbit(Vector3 orig, Vector3 axis, float deg, float speed): orbita el componente con origen 'orig' en el eje 'axis' con
grados de 'velocidad' y 'grados'.
Esta función no aplica física. La función debe ser llamada por nivel.
void Orbit(Vector3 orig, Vector3 axis, float angles): orbita el componente con origen 'orig' en el eje 'axis' a la velocidad y grados
indicados por los ángulos. Esta función no aplica física.
Vector3 ModelScale: obtener/establecer la escala del componente
float Opacity: Obtener/Establecer la opacidad del Componente (0 a 1).
float Transparente: Obtener/Establecer la opacidad del Componente (0 a 1).
void ChangeTexture(string textName): establece la textura textName.
Vector2 TextureTile: establece/obtiene el mosaico de textura del componente para los ejes X y Z.
void TextureMovementX(float sp): establece el movimiento de textura del componente en el eje X a velocidad sp.
void TextureMovementZ(float sp): establece el movimiento de la textura del componente en el eje Z a velocidad sp.
void SetModel (mod de cadena): establece el modelo de nombre de mod.
void PlaySingleSound (clip de cuerda, volumen flotante): reproduce un sonido de 'clip' en la posición 3D del componente, con volumen
(0 a 1)
void PlayLoopSound (clip de cuerda, volumen flotante): reproduce el sonido del 'clip' en la posición 3D del componente, con
volumen (0 a 1) en modo de bucle
void StopSound (): detiene el sonido de reproducción actual
void IsVisible(valor bool): Establece si el elemento es visible o no.
void LightEmission (bool habilitado, Color col): si habilitado es verdadero, el componente emite una luz con col Color
void LightEmission (bool habilitado, color col, intensidad flotante): si habilitado es verdadero, el componente emite una luz con color col
con la intensidad pasada
void SetMaterialColor (color col): cambia el color del material con el parámetro de color pasado
void LoadExternalTexture(string path, Vector2 ttile): carga un archivo jpg/png ubicado en la ruta y repite el mosaico en el
componente
void PlayExternalSound(string wav): reproduce un archivo wav ubicado en la ruta wav
void LoadUpdatableModel (nombre de cadena): establece el modelo 'nombre' de la carpeta del modelo actualizable, el nombre
debe pasarse como "StreamingAssets/ModelName"
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Transform Transf: devuelve el componente Transform objeto (posición, rotación y escala).
Vacío
void PlayAnim(string name, float sp): Reproduce la animación 'name' a velocidad 'sp'.
La función debe llamarse por disparador, no por nivel.
void StopAnim(string name): Detiene la animación 'name'. La función debe llamarse por disparador, no por nivel.
void PauseAnim(string name): Pausa el 'nombre' de la animación. La función debe llamarse por disparador, no por nivel.
void RewindAnim(string name, float sp): Rebobina el 'nombre' de la animación a la velocidad 'sp'. La función debe llamarse por disparador, no por
nivel. bool AnimationEnded(string name): devuelve verdadero si la animación 'nombre' ha sido llamada y
finalizada, falso si se está ejecutando.
Incorporado
Ascensor de carga:
bool Inicio > si es verdadero, mueve el cargador a la posición de inicio
bool Load > si es verdadero mueve el cargador a la posición de carga
bool Elev1 > si true mueve el cargador a la posición elev 1
bool Elev2 > si es verdadero mueve el cargador a la posición elev 2
bool Take > si es verdadero toma la parte
bool InHomePos > devuelve verdadero si el cargador está en la posición inicial
bool InElev1 > devuelve verdadero si el cargador está en la posición elev 1
bool InElev2 > devuelve verdadero si el cargador está en la posición elev 2
void MoveVerticalAxis(valor flotante) > Mueve el eje vertical a la posición de valor
float ReadVerticalAxis() > devuelve el valor del eje vertical
CNC:
bool DoorOpened()> Devuelve verdadero si las puertas del CNC están abiertas
void OpenDoors() > Abre puertas CNC
void CloseDoors()> Cierra puertas CNC
Posicionador:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void MoveVerticalAxisUp() > Mueve el eje vertical a la posición Arriba
void MoveVerticalAxisDown()> Mueve el eje vertical a la posición de Inicio
void MoveHorizontalAxisHome()> Mueve el eje horizontal a la posición de Inicio
void MoveHorizontalAxisPos1()> Mueve el eje horizontal a la posición 1
void MoveHorizontalAxisPos2()> Mueve el eje horizontal a la posición 2
bool VerticalAxisInHomePos> devuelve verdadero si el eje vertical está en casa
posición
bool VerticalAxisInUpPos> devuelve verdadero si el eje vertical está en la posición 1
bool HorizontalAxisInHomePos> devuelve verdadero si el eje horizontal está en la posición inicial
bool HorizontalAxisInPos1> devuelve verdadero si el eje horizontal está en la posición 1
bool HorizontalAxisInPos2> devuelve verdadero si el eje horizontal está en la posición 2
void MoveVerticalAxis(valor flotante)> Mueve el eje vertical a la posición del valor
float ReadVerticalAxis()> devuelve el valor del eje vertical
void MoveHorizontalAxis(valor flotante)> Mueve el eje horizontal a la posición de valor
float ReadHorizontalAxis()> devuelve el valor del eje horizontal
Transform Transf: devuelve el objeto Transform (posición, rotación y escala) para el eje vertical.
Isla robótica:
bool Position1 > Envía el robot a la posición de carga/descarga 1
bool Position2 > Envía el robot a la posición de carga/descarga 2
bool Position3 > Envía el robot a la posición de carga/descarga 3
bool PositionCNC > Envía el robot para cargar/descargar la posición del CNC
bool PositionHome > Envía el robot a la posición de inicio
bool OpenDoors > Abre puertas CNC
bool WorkCNC > Inicia ciclo de trabajo CNC
bool Pick > Inicia la succión del robot para cargar/descargar piezas
bool Picked > Devuelve verdadero si el robot ha detectado una pieza en el dispositivo de succión
bool ActionEnded > Devuelve verdadero cuando una acción ha finalizado (por ejemplo
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Posición 1, 2, 3, CNC, Inicio, OpenDoors y WorkCNC)
void ResetAction> Restablece el estado verdadero de ActionEnded
Sistema de pesas:
void Advance (valor bool) > Bandeja de avance
void Reverse (valor bool) > Bandeja inversa
float Speed > Establece/Obtiene la velocidad de la bandeja
void StartWeight (valor booleano) > Inicia el peso parcial
float WeightResult > devuelve el peso de la pieza
Manejo de 3 ejes:
bool MoveHoriz > si es verdadero, el eje horizontal se mueve a la posición de trabajo, si es falso, vuelve a la posición
inicial
bool MoveVert > si es verdadero, el eje vertical se mueve a la posición de trabajo, si es falso, vuelve a la posición
inicial
void MoveHorizontalAxisfloat value) > Mueve el eje horizontal a la posición de valor (0 a 1.2)
void MoveVerticalAxisvalue) > Mueve el eje horizontal a la posición de valor (0 a 0.9)
float ReadHorizontalAxis > devuelve la posición del valor actual del eje horizontal
float ReadVerticalAxis > devuelve la posición del valor actual del eje vertical
bool Pick > si es verdadero, el sistema de succión toma un puerto
bool PartDetected > devuelve verdadero cuando los sistemas de succión detectan una pieza para tomar
bool Picked: devuelve verdadero cuando se toma una parte
bool Rot90clk > si es verdadero, el eje de rotación gira 90 grados en el sentido de las agujas del reloj
bool Rot90cnt > si es verdadero, el eje de rotación gira 90 grados en sentido contrario a las agujas del reloj
bool Rot180clk > si es verdadero, el eje de rotación gira 180 grados en el sentido de las agujas del reloj
bool Rot180cnt > si es verdadero, el eje de rotación gira 180 grados en sentido contrario a las agujas del reloj
bool RotEnded > devuelve verdadero cuando se detiene el eje de rotación.
bool HorizEnded > devuelve verdadero cuando se detiene el eje horizontal.
bool VertEnded > devuelve verdadero cuando se detiene el eje vertical.
float WorkVerticalPosition > Establece/obtiene la posición de trabajo del eje vertical
float WorkHorizontalPosition > Establece/obtiene la posición de trabajo del eje horizontal
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Transform HTransf: devuelve el objeto Transform (posición, rotación y escala) para el eje horizontal.
Transform VTransf: devuelve el objeto Transform (posición, rotación y escala) para el eje vertical.
Manejo de paletas:
bool AdvTray > si es verdadero mueve la bandeja transportadora superior, si es falso la detiene
bool AdvChains > si es verdadero hace avanzar los rodillos transportadores, si es falso lo detiene
bool RevChains > si es verdadero invierte los rodillos transportadores, si es falso lo detiene
bool MoveTumbler > si es verdadero mueve el vaso, si es falso lo oculta
bool Pusher > si es verdadero avanza el empujador de la caja, si es falso retrocede
bool OpenGates > si es verdadero abre las puertas para liberar las cajas en el palet, si es falso las cierra.
bool PalletUp > si es verdadero, mueve hacia arriba el palet del transportador
bool PalletDown > si es verdadero, mueve hacia abajo el palé del transportador
bool Descenso: si es verdadero baja por el palet transportador la cantidad configurada para cargar una nueva caja en el palet
bool statusSw1 > devuelve el estado de la fotocélula 1
bool statusSw2 > devuelve el estado de la fotocélula 2
bool PusherBack > devuelve verdadero si el empujador está en la posición trasera
bool PusherAdv > devuelve verdadero si el empujador está en posición avanzada
bool GatesOpened > devuelve verdadero si las puertas están abiertas, falso si están cerradas
bool ElevatorStopped > devuelve verdadero cuando se detiene el transportador de paletas
float OffsetP1 > establece/obtiene la cantidad de desplazamiento para mover la barra de ajuste del cuadro frontal
float OffsetP2 > establece/obtiene la cantidad de compensación para mover la barra de ajuste de la caja trasera
float OffsetP3 > establece/obtiene la cantidad de compensación para mover la barra de ajuste del cuadro derecho
float OffsetP4 > establece/obtiene la cantidad de compensación para mover la barra de ajuste del cuadro izquierdo
float TumblerDeg > establece/obtiene los grados que giran los sistemas de vaso (40 por defecto)
Apilador:
void MoveToPosition(int pos, bool load, float speedX, float speedY)): mueve el apilador a la posición de almacenamiento seleccionada (0 a 30, 0 es la
posición inicial), si la carga es
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
verdadero, el apilador mueve el eje Y hacia abajo desde la posición de almacenamiento seleccionada, para cargar la carga de los
almacenes al apilador, si la carga es falsa, el apilador mueve el eje Y hacia arriba desde la posición de almacenamiento seleccionada,
para descargar la carga del apilador a las tiendas Las variables SpeedX y SpeedY son para la velocidad de los ejes X e Y.
void MoveBladesForward(valor bool) > si es verdadero mueve las cuchillas hacia adelante, si es falso regresa a la posición inicial
void MoveBladesBackward (valor bool) > si es verdadero, mueve las hojas hacia atrás, si es falso, regresa a la posición inicial
void ActivateBrake(valor bool) > si es verdadero activa el freno del apilador para evitar que la carga se mueva cuando el apilador
se mueve, si es falso el freno se desactiva.
bool StackerStopped > devuelve verdadero cuando se detiene el apilador.
bool bladesStopped > devuelve verdadero cuando se detienen las hojas del apilador.
Transform Transf > devuelve el objeto Transform (posición, rotación y escala) para el ascensor para que otros componentes puedan
estar relacionados con él.
Tanque de líquido:
SetInputValve(valor flotante)> abre la válvula analógica para la entrada de líquido en el tanque (valores de 0 a 10)
SetOutputValve(float v)> abre la válvula analógica para salida de líquido en tanque (valores de 0 a 10)
float GetLevel > devuelve el nivel de líquido en el tanque en litros (0 a 3000).
void SetLevel(float lev) > establece el nivel actual en el tanque en litros (0 a 3000).
float GetFlow > devuelve el flujo de salida de líquido (en m³/s).
Color LiquidColor > establece/obtiene el color del líquido en el tanque.
void SetTankColor(Color col) > establece el color del líquido en el tanque. void SetTankColor(float r, float g, float b, float
a) > establece el color (rojo, verde, azul, alfa) del líquido en el tanque.
void SetInputColor(Color col) > establece el color del líquido de entrada.
void SetInputColor(float r, float g, float b, float a) > establece el color (rojo, verde, azul, alfa) del líquido de entrada.
Física
Gancho:
Vector3 PhysicScale > Obtener/establecer la escala física del componente
void ChangeTexture(string textName) > Establecer la textura textName.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void SetModel (mod de cadena) > Establezca el modelo de nombre de mod.
void SetModelPosition(Vector3 v3) > Establecer la posición del modelo.
void SetModelScale(Vector3 v3)> Establecer la escala del modelo.
void SetModelRotation(Vector3 v3) > Establecer la rotación del modelo.
void MovePosition (Vector3 pos) > Mueve el componente a la posición pos (con física)
Vector3 CurrentPosition() > Devuelve la posición actual del componente (con física)
MoveRotation(Vector3 rot) > rota el componente para rotar ángulos (con física)
Vector3 CurrentRotation () > Devuelve los ángulos de rotación actuales del componente (con física)
bool MouseOverComponent() > Devuelve verdadero si el puntero del mouse está sobre el componente
bool ComponentCollision > Devuelve el verdadero si algún componente choca con el componente
WorkPartLogic WorkPartCollision > Devuelve el objeto WorkPart que colisiona con el componente
bool RayCollision (origen del Vector3, posición del Vector3, distancia flotante) > devuelve verdadero si algún componente choca
con el rayo con origen en el origen del Vector3, apunta a la dirección del Vector3 y con la distancia pasada por la distancia flotante
WorkPartLogic RayCollisionWorPart (origen del Vector3, posición del Vector3, distancia de flotación) > devuelve la
referencia de la pieza de trabajo que choca con el rayo con origen en el origen del Vector3, apunta a la dirección del Vector3
y con la distancia pasada por la distancia de flotación
ComponentBase _Component > Devuelve el objeto ComponentBase (objeto base de todos los demás componentes derivados) que
colisiona con el componente
void Connect (WorkPartLogic wp) > Crea un gancho (unión fija) entre el componente de gancho y el componente de WorkPart
pasado
void Disconnect() > Rompe el gancho
int PLC_OUT_TAKE > Establece la salida digital del PLC para tomar WorkParts
int PLC_INP_DETECTED > Establece la entrada digital del PLC que está activa cuando se detecta un WorkPart para tomar
bool Detección () > Devuelve verdadero si Hook toca un WorkPart
Pick (valor bool) > si el valor pasa es verdadero y el componente Hook tocó un WorkPart (la detección devuelve verdadero),
toma el WorkPart. Si el valor pasado es falso, elimina el enganche WorkPart.
void LoadExternalTexture(string path, Vector2 ttile) > Carga un archivo jpg/png ubicado en la ruta y repite el título en el
componente.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void LoadUpdatableModel (nombre de cadena) > Establece el modelo 'nombre' de la carpeta del modelo actualizable, el
nombre debe pasarse como "StreamingAssets/ModelName"
Cable:
void UpdatePosEnd1(Vector3 p): Establece la posición en tiempo real para la posición final del cable 1. Importante:
la propiedad ComponentConnect1 debe estar vacía y no asignada a ningún componente. void UpdatePosEnd2(Vector3
p): Establece la posición en tiempo real
para la posición final del cable 2. Importante: la propiedad ComponentConnect2 debe estar vacía y no asignada a
ningún componente.
Cinemática inversa:
void IKEnable(bool v): si el parámetro 'v' es verdadero, se activa el IK, si es falso, se desactiva.
void void SetTarget (Vector3 pos): establece la posición de destino en la coordenada 'pos'
void SetTarget(string comp): establece el objetivo en el componente con la descripción 'comp'.
void GoRoute(string name): mueve el objetivo IK a la ruta 'name' configurada.
bool RouteFinised: Obtiene si la Ruta actual ha terminado
Misceláneas
BezierRuta:
float Speed > Establece/Obtiene la velocidad de la ruta
bool Loop > Establece/Obtiene si la ruta está en bucle
bool PathEnd > Devuelve verdadero si la ruta finaliza
int PathPoint > Obtiene el número de punto en el que se encuentra actualmente la ruta
bool StartMovement > Establece/Obtiene el movimiento de inicio de la ruta
void ResetPath() > Restablece el punto de ruta actual y comienza desde el primer punto
Vector3 BezierRoutePosition() > devuelve las coordenadas de posición para cada posición de la ruta
Vector3 BezierRotation() > devuelve la orientación del eje Vector3 para la posición del punto actual en la ruta
Cuadro:
void ConfigChart(int series, string[] tittle, Color[] cols): Configura el gráfico con el número de series a dibujar, el título y el color
de cada serie.
void SetPoint (posiciones flotantes [], valores flotantes []): dibuja los valores del gráfico para cada serie en la posición X y el
valor Y.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void SetPoint (posición flotante, valor flotante): dibuja el valor del gráfico para la posición X y el valor Y (solo una serie).
void ClearChart(): borra el gráfico.
void Refresh(float[] value): dibuja dinámicamente los valores del gráfico para cada serie.
El valor x se actualiza en cada llamada de función y el valor es para el eje Y.
void Actualizar (valor flotante): dibuja dinámicamente los valores del gráfico para una serie. El valor x se actualiza en cada llamada de
función y el valor es para el eje Y.
Operadores:
int AnimationClip > Establece/obtiene el clip de animación para el operador seleccionado (número del 1 al ...)
Vector3 CurrentPosition: devuelve la posición actual del componente en el espacio.
Transform Transf: devuelve el componente Transform objeto (posición, rotación y escala).
Vehículos:
Transform CamTarget > obtiene el componente Transform (información de posición, rotación y escala) sobre la cámara objetivo del
automóvil (para cámara en tercera persona)
Transform CamPos > obtiene el componente Transform (información de posición, rotación y escala) sobre la cámara de posición
del automóvil
Transform BodyTarget > obtiene el componente Transform (información de posición, rotación y escala) sobre la cámara objetivo
del automóvil (para cámara en primera persona)
Reproductor de video:
string FileName > Establece/Obtiene el nombre del archivo que se va a reproducir. El archivo debe colocarse en la carpeta '\ Machines
Simulator 3\ms3bin_Data\StreamingAssets\Videos\'
bool Loop > Establece/Obtiene si el video se reproducirá en bucle
float Volume > Establece/Obtiene el sonido del volumen del video (0 para reproducir silenciado)
void PlayVideo() > Reproduce el video
void StopVideo() > Detiene el video
void PlayVideo (nombre de archivo de cadena) > reproduce el archivo de video del nombre de archivo. El archivo debe colocarse en
'\ Machines Simulator 3\ms3bin_Data\StreamingAssets\Videos\'
carpeta
Neumática
Cilindro Neumático 1, Cilindro Neumático 2, Cilindro Neumático 3, Cilindro Neumático 4, Cilindro Neumático 5:
bool Advance > Establece el avance del pistón
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
bool Volver> Establece el retroceso del pistón
float Speed > Obtiene/Establece la velocidad del pistón
float Stroke > Obtiene/establece la carrera del pistón
bool Avanzado > Se vuelve verdadero si el pistón está avanzado, falso de lo contrario
bool Retirado > Se vuelve verdadero si el pistón se retira, falso de lo contrario
Empujador neumático:
void AdvanceCyl(bool v) > Empujador de avances
void BackCyl (bool v) > Retira el empujador
float Speed > Obtiene/Establece la velocidad del empujador
bool CylAdvanced() > Devuelve verdadero si el empujador está avanzado, falso de lo contrario
bool bool CylRelated() > Devuelve verdadero si el empujador se retira, falso de lo contrario
Ambiente
Controlador de día y noche:
int CurrentHour > Obtener/Establecer la hora actual (0 a 23)
int CurrentMinute > Obtener el minuto actual (0 a 59)
float SecondsInFullDay > Get/Set El número de segundos del mundo real en un día completo. Establézcalo en 86400 para un día
en tiempo real de 24 horas.
float TimeMultiplier > Este número multiplicador se puede usar para acelerar y ralentizar el paso del tiempo
Puerta:
void OpenCloseDoors(bool v) > Abrir/Cerrar la puerta/s
bool Stopped() > devuelve verdadero si la/s puerta/s terminan de moverse
Puerta:
void OpenDoor(bool v) > Si es verdadero abre la puerta, si es falso la cierra.
bool DoorOpened() > devuelve verdadero si la puerta está abierta, falso si está cerrada
Puerta de la máquina:
bool DoorOpened()> Devuelve verdadero si la puerta está abierta, falso si está cerrada
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Lluvia: (solo para ambiente exterior)
float RainIntensity: Obtiene/establece la intensidad de la lluvia: 0> Sin lluvia, 1000> Lluvia máxima
bool Nubes: Obtiene/establece la presencia de nubes
void SoundEnabled(bool v): habilita/deshabilita el efecto de sonido de la rienda.
void Play(): inicia el efecto.
void Stop(): detiene el efecto.
Viento: (solo para ambiente exterior)
float WindSpeed: Obtiene/establece la intensidad del viento.
Color Color1: obtiene/establece el color y la transparencia del viento
Vector3 Scale: obtiene/establece la escala de viento
void Play(): inicia el efecto.
void Stop(): detiene el efecto.
void Visible(valor booleano): activa/desactiva la visibilidad del efecto.
Luces
Luz direccional:
Color LightColor > Obtener/Establecer el color de la luz
float Intensity > Obtener/Establecer la intensidad de la luz
Destacar:
Color LightColor > Obtener/Establecer el color de la luz
float Intensity > Obtener/Establecer la intensidad de la luz
Rango de flotación > Obtener/Establecer el rango de luz
float RangeSpot > Obtener/establecer el punto de rango de luz
void Visible (valor bool) > hace que la luz sea visible o no
Punto de luz:
Color LightColor > Obtener/Establecer el color de la luz
float Intensity > Obtener/Establecer la intensidad de la luz
Rango de flotación > Obtener/Establecer el rango de luz
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void Visible (valor bool) > hace que la luz sea visible o no
PLC
IHM:
string HMITittle: Obtener/Establecer el título HMI
void ActiveHMIPage(int id): Establece la página HMI activa (0 a 4): 0: TextLines, 1
Texto de entrada, 2: Botones, 3: Interruptores, 4: Mezcla
void ActiveHMIPage(string id): establece la página HMI activa ("Texto", "Entrada",
"Botones", "Interruptores", "Mezcla")
int GetActiveHMIPage(): devuelve la página HMI activa
void SetBackgroundImage(string imag): establece la imagen cargada desde la ruta imag en la página principal de HMI
void TextLines(int id, string txt): Establece el texto para LineText id con Text txt en la página HMI TextLines
void TextLines(int id, string txt, Color textColor, Color backColor): Establece el texto para LineText id con Texto, color y color de
fondo en la página HMI TextLines
void TittleBackcolor(Color col): establece el color de fondo del título de HMI principal
void TittleTextColor(Color col): establece el color del texto del título de la HMI principal
void HMIBackcolor(Color col): establece el color de fondo de la HMI
void ButtonText(int id, string txt): establece el texto de los botones de función de la HMI principal
void ButtonText(int id, string txt, Color textcol, Color backColor): establece el
Texto de los botones de función de la HMI principal, con color y color de fondo
void InputText(int id, string labelTxt, string inputTxt): Establece los textos de entrada para etiquetas y entradas para la página de
texto de entrada de HMI
void InputTextVisible(int id, bool v): establece la visibilidad de los textos de entrada para la página de texto de entrada de HMI
string GetInputText(int id): devuelve el texto de entrada escrito por el usuario para el
Página de texto de entrada HMI
void PageButtonText(int id, string txt): Establece el texto de los botones en el
Página de botones HMI
void PageButtonVisible(int id, bool v): Establece la visibilidad de los botones en la HMI
Página de botones
void PageLedText(int id, string txt): Establece el texto para los leds en la HMI
Página de botones
void PageLedVisible(int id, bool v): Establece la visibilidad de los leds en los Botones HMI
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Página
void PageSetLedColor(int id, string col): Establece los colores de los leds en la HMI
Página de botones (col es un valor de cadena: "azul","verde","amarillo","rojo")
void PageLedStatus(int id, bool v): establece el estado de los leds en la página de botones de la HMI
void PageSwitchText(int id, string txt): Establece el texto para los interruptores en el
Página de cambio de HMI
void PageSwitchVisible(int id, bool v): Establece la visibilidad de los interruptores en la HMI
Cambiar página
void PageSwitchValue(int buttonNo, bool v): establece el interruptor con id buttonNo al valor v en la página de interruptores de HMI
void SetMixImage(string imag): establece la imagen para cargar en el contenedor de imágenes en la página HMI Mix (imag es la ruta
de la imagen)
void HMIMixTextLines(int id, string txt): Establece el texto para TextLines en el
Página de mezcla HMI
void HHIMixTextLines(int id, string txt, Color textColor, Color backColor): Establece el texto, el color del texto y el color de fondo para
TextLines en la página HMI Mix
void HMIMixButtonText(int id, string txt): establece el texto de los botones en el
Página de mezcla HMI
void HMIMixButtonVisible(int id, bool v): establece la visibilidad del botón en la HMI
Página de mezcla
void HMIMixLedText(int id, string txt): Establece el texto para los leds en la HMI
Página de mezcla
void HMIMixLedVisible(int id, bool v): Establece la visibilidad del Led en el HMI Mix
Página
void HMIMixSetLedColor(int id, string col): Establece el color del Led en HMI Mix
Página
void HMIMixLedStatus(int id, bool v): establece el estado del LED en la página HMI Mix
void HMIMixSwitchText(int id, string txt): Establece el texto para los Switches en el
Página de mezcla HMI
void HMIMixSwitchVisible(int id, bool v): Establece la visibilidad de los Switches en el
Página de mezcla HMI
void HMIMixSwitchValue(int buttonNo, bool v): Establece el interruptor con id buttonNo al valor v en la página HMI Mix
Eventos:
ButtonClick (int buttonNo): se activa cuando se presiona el botón desde la HMI Principal
Botones (buttonNo es la identificación del botón presionado)
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
PageButtonEvent (int buttonNo): se activa cuando se presiona el botón desde la HMI
Página de botones (buttonNo es la identificación del botón presionado)
SwitchClick (int buttonNo): se activa cuando se presiona el interruptor desde la HMI
Cambiar página (buttonNo es la identificación del interruptor presionado)
MixButtonClick (int buttonNo): se activa cuando se presiona el botón desde la HMI
Página de mezcla (buttonNo es la identificación del botón presionado)
MixSwitchClick (int buttonNo): se activa cuando se presiona el interruptor desde la HMI
Página de mezcla (buttonNo es la identificación del interruptor presionado)
Ejemplo de gestión de eventos:
inicio vacío público () {
HMI.Hacer clic en botón += Hacer clic en botón;
HMI.PageButtonEvent += PageButtonEvent; HMI.SwitchClick +=
SwitchClick; HMI.MixButtonClick += MixButtonClick;
HMI.MixSwitchClick += MixSwitchClick;
void ButtonClick(int buttonNo) {
EditorUtils.ShowText("Botón principal presionado: " + número de botón.ToString());
}
void PageButtonEvent(int buttonNo) {
EditorUtils.ShowText("Botón de página de botón HMI presionado: " buttonNo.ToString()); } +
void SwitchClick(int buttonNo) {
EditorUtils.ShowText("Interruptor presionado: " + número de botón.ToString());
}
void MixButtonClick(int buttonNo) {
EditorUtils.ShowText("Botón de página de mezcla presionado: " + número de botón.ToString());
}
void MixSwitchClick(int buttonNo) {
EditorUtils.ShowText("Interruptor de página de mezcla presionado: " + número de botón.ToString());
}
vacío público Principal () {
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Public void Física() {
Finalizar vacío público () {
HMI.Hacer clic en botón = Hacer clic en botón;
HMI.PageButtonEvent = PageButtonEvent; HMI.SwitchClick = SwitchClick;
HMI.MixButtonClick = MixButtonClick; HMI.MixSwitchClick
= MixSwitchClick;
Robots
Pórtico y pórtico pequeño:
void MoveSAxis(string ax, float v, float speed) > mueve el eje X, Y o Z, pasado como parámetro 'ax', en la posición del parámetro 'v' y la velocidad pasada.
float ReadAxis(string ax) > devuelve el eje X, Y o Z, pasado como parámetro 'ax'.
bool PartDetected() > devuelve verdadero si se detecta una pieza en el dispositivo magnético.
bool Picked() > devuelve verdadero si el dispositivo magnético selecciona una pieza.
bool take > si es verdadero, conecta el imán para tomar partes, si es falso, libera la parte seleccionada
bool AxXStopped > devuelve verdadero si el eje X está detenido (ha terminado de moverse)
bool AxYStopped > devuelve verdadero si el eje Y está detenido (ha terminado de moverse)
bool AxZStopped > devuelve verdadero si el eje Z está detenido (ha terminado de moverse)
bool AxRStopped > devuelve verdadero si el eje de rotación se detiene (ha terminado de moverse)
bool GantryStopped > devuelve verdadero si todos los ejes del pórtico están detenidos (finalización del movimiento)
void GoToPoint(string pointName, float speed) > envía el pórtico al nombre del punto (tomado en modo de prueba) con la velocidad pasada.
Transform A0,A1,A2,A3: devuelve el objeto Transform para cada eje del robot
Cobot 1 y Cobot 2
void ConfigRoutePos(string name, float a0, float a1, float a2, float a3, float a4, float a5): si la ruta 'nombre' no sale, crea una nueva ruta llamada
'nombre' y agrega un nuevo punto para cada eje, si la ruta ya existe, agregue un nuevo punto a la ruta del robot.
void ConfigRouteVel(string name, float a0, float a1, float a2, float a3, float a4, float a5): Establece la velocidad de la ruta 'nombre' para cada eje.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void ConfigRouteAcc(string name, float a0, float a1, float a2, float a3, float a4, float a5): Establece la aceleración para el
inicio de la ruta 'nombre' para cada eje.
void ConfigRouteDecc(string name, float a0, float a1, float a2, float a3, float a4, float a5): Establece la desaceleración para
el final de la ruta 'nombre' para cada eje.
void ResetRoutes(): Resetea todas las rutas configuradas (posición, velocidad y aceleración)
void Ruta (nombre de la cadena): inicia el movimiento del robot para la ruta 'nombre'
bool RouteFinised > Obtiene si la ruta actual ha terminado
bool RobotStopped() > verdadero cuando el robot terminó la ruta
float ReadAxis(int axis) > leer el nombre del eje pasado.
bool Pick > si es verdadero, activa el sistema de succión, si es falso, lo desactiva.
bool Picked > devuelve verdadero cuando se selecciona una pieza.
bool PartDetected() > devuelve verdadero cuando se detecta una pieza y está lista para recoger.
void InitAxes(float ax0, float ax1, float ax2, float ax3, float ax4, float ax5) > Inicializa los cinco ejes del robot con los valores
pasados. Este método debe llamarse en la sección del programa de lógica Init.
Transform A0,A1,A2,A3,A4,A5: devuelve el objeto Transform para cada eje del robot
Robot de carga pesada
void ConfigRoutePos(string name, float a0, float a1, float a2, float a3, float a4, float a5): si la ruta 'nombre' no sale, crea
una nueva ruta llamada 'nombre' y agrega un nuevo punto para cada eje, si la ruta ya existe, agregue un nuevo punto a la
ruta del robot.
void ConfigRouteVel(string name, float a0, float a1, float a2, float a3, float a4, float a5): Establece la velocidad de la ruta
'nombre' para cada eje.
void ConfigRouteAcc(string name, float a0, float a1, float a2, float a3, float a4, float a5): Establece la aceleración para el
inicio de la ruta 'nombre' para cada eje.
void ConfigRouteDecc(string name, float a0, float a1, float a2, float a3, float a4, float a5): Establece la desaceleración para
el final de la ruta 'nombre' para cada eje.
void ResetRoutes(): Resetea todas las rutas configuradas (posición, velocidad y aceleración)
void Ruta (nombre de la cadena): inicia el movimiento del robot para la ruta 'nombre'
bool RouteFinised > Obtiene si la ruta actual ha terminado
bool RobotStopped(): verdadero cuando el robot terminó la ruta
float ReadAxis(int axis): lee el nombre del eje pasado. Tenga en cuenta '6' para el eje X.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
bool Fix: si es verdadero, activa el sistema de retención para que las piezas no se muevan mientras el robot se mueve, si es falso, lo desactiva.
bool PartDetected: devuelve verdadero cuando se detecta una pieza con el sensor ubicado en las palas de carga.
void MoveAxisX(float pos, float speed): mueve el eje X del robot a la posición de destino 'pos' a la velocidad pasada como segundo parámetro.
void InitAxes(float ax0, float ax1, float ax2, float ax3, float ax4, float ax5) > Inicializa los cinco ejes del robot con los valores pasados. Este método debe
llamarse en la sección del programa de lógica Init.
Transform A0,A1,A2,A3: devuelve el objeto Transform para cada eje del robot
Robot recogedor:
float AxisSpeed > Obtener/Establecer la velocidad del eje para todos los ejes
float[] speedAxis > establece la velocidad individualmente para cada eje del robot (0 a 5)
void ConfigRoutePos(string name, float a0, float a1, float a2, float a3, float a4, float a5): si la ruta 'nombre' no sale, crea una nueva ruta llamada 'nombre'
y agrega un nuevo punto para cada eje, si la ruta ya existe, agregue un nuevo punto a la ruta del robot.
void ConfigRouteVel(string name, float a0, float a1, float a2, float a3, float a4, float a5): Establece la velocidad de la ruta 'nombre' para cada eje.
void ConfigRouteAcc(string name, float a0, float a1, float a2, float a3, float a4, float a5): Establece la aceleración para el inicio de la ruta 'nombre' para
cada eje.
void ConfigRouteDecc(string name, float a0, float a1, float a2, float a3, float a4, float a5): Establece la desaceleración para el final de la ruta 'nombre' para
cada eje.
void ResetRoutes(): Resetea todas las rutas configuradas (posición, velocidad y aceleración)
void Ruta (nombre de la cadena): inicia el movimiento del robot para la ruta 'nombre'
bool RouteFinised > Obtiene si la ruta actual ha terminado
bool Pick: si es verdadero, activa el sistema de succión, si es falso, lo desactiva.
bool Picked: devuelve verdadero cuando se selecciona una pieza.
void InitAxes(float ax0, float ax1, float ax2, float ax3, float ax4, float ax5) > Inicializa los cinco ejes del robot con los valores pasados. Este método debe
llamarse en la sección del programa de lógica Init.
Transform A0,A1,A2,A3,A4,A5: devuelve el objeto Transform para cada eje del robot
Robot de soldadura:
float AxisSpeed > Obtener/Establecer la velocidad del eje para todos los ejes
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
float[] speedAxis > establece la velocidad individualmente para cada eje del robot (0 a 4)
void ConfigRoutePos(string name, float a0, float a1, float a2, float a3, float a4): si la ruta 'nombre' no sale, crea una nueva ruta
llamada 'nombre' y agrega un nuevo punto para cada eje, si la ruta ya sale, añade un nuevo punto al robot
ruta.
void ConfigRouteVel(string name, float a0, float a1, float a2, float a3, float a4): Establece la velocidad de la ruta 'nombre' para
cada eje.
void ConfigRouteAcc(string name, float a0, float a1, float a2, float a3, float a4): Establece la aceleración para el inicio de la ruta
'nombre' para cada eje.
void ConfigRouteDecc(string name, float a0, float a1, float a2, float a3, float a4): Establece la desaceleración para el final de la ruta
'nombre' para cada eje.
void ResetRoutes(): Resetea todas las rutas configuradas (posición, velocidad y aceleración)
void Ruta (nombre de la cadena): inicia el movimiento del robot para la ruta 'nombre'
bool RouteFinised > Obtiene si la ruta actual ha terminado
bool Solder: si es verdadero inicia el proceso de soldadura, si es falso lo detiene
void InitAxes(float ax0, float ax1, float ax2, float ax3, float ax4, float ax5) > Inicializa los cuatro ejes del robot con los valores pasados.
Este método debe llamarse en la sección del programa de lógica Init.
Transform A0,A1,A2,A3,A4,A5: devuelve el objeto Transform para cada eje del robot
Robot Articulado:
float AxisSpeed > Obtener/Establecer la velocidad del eje para todos los ejes
float[] speedAxis > establece la velocidad individualmente para cada eje del robot (0 a 5)
void ConfigRoutePos(string name, float a0, float a1, float a2, float a3, float a4) > si la ruta 'nombre' no sale, crea una nueva ruta
llamada 'nombre' y agrega un nuevo punto para cada eje, si la ruta ya existe, agregue un nuevo punto a la ruta del robot.
public void ConfigRouteVel(string name, float a0, float a1, float a2, float a3, float a4) > Establece la velocidad de la ruta 'nombre'
para cada eje.
public void ConfigRouteAcc(string name, float a0, float a1, float a2, float a3, float a4) > Establece la aceleración para el inicio de
la ruta 'nombre' para cada eje.
public void ConfigRouteDecc(string name, float a0, float a1, float a2, float a3, float a4) > Establece la desaceleración para el final
de la ruta 'nombre' para cada eje.
void ResetRoutes() > Resetea todas las rutas configuradas (posición, velocidad y aceleración)
void Ruta (nombre de cadena) > iniciar el movimiento del robot para la ruta 'nombre'
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
bool RouteFinised > Obtiene si la ruta actual ha terminado
bool CloseGrips > Obtener/establecer si los agarres del robot están cerrados o abiertos
bool GripsClosed > Obtener si los agarres del robot están cerrados void
InitAxes(float ax0, float ax1, float ax2, float ax3, float ax4, float ax5) > Inicializa los cuatro ejes del robot con los valores
pasados. Este método debe llamarse en la sección del programa de lógica Init.
Transform A0,A1,A2,A3,A4,A5: devuelve el objeto Transform para cada eje del robot
Robot industrial:
void ConfigRoutePos(string name, float a0, float a1, float a2, float a3, float a4, float a5) > si la ruta 'nombre' no sale, crea
una nueva ruta llamada 'nombre' y agrega un nuevo punto para cada eje, si la ruta ya existe, agregue un nuevo punto a la
ruta del robot.
void ConfigRouteVel(string name, float a0, float a1, float a2, float a3, float a4, float a5) > Establece la velocidad de la ruta
'nombre' para cada eje.
void ConfigRouteAcc(string name, float a0, float a1, float a2, float a3, float a4, float a5) > Establece la aceleración para el
inicio de la ruta 'nombre' para cada eje.
void ConfigRouteDecc(string name, float a0, float a1, float a2, float a3, float a4, float a5) > Establece la desaceleración
para el final de la ruta 'nombre' para cada eje.
void ResetRoutes() > Resetea todas las rutas configuradas (posición, velocidad y aceleración)
void Ruta (nombre de cadena) > iniciar el movimiento del robot para la ruta 'nombre'
bool RouteFinised > Obtiene si la ruta actual ha terminado
bool RobotStopped() > verdadero cuando el robot terminó la ruta
float ReadAxis(int axis) > leer el nombre del eje pasado.
bool Pick > si es verdadero, activa el sistema de succión, si es falso, lo desactiva.
bool Picked > devuelve verdadero cuando se selecciona una pieza.
bool PartDetected() > devuelve verdadero cuando se detecta una pieza y está lista para recoger.
void InitAxes(float ax0, float ax1, float ax2, float ax3, float ax4, float ax5) > Inicializa los cinco ejes del robot con los valores
pasados. Este método debe llamarse en la sección del programa de lógica Init.
void MoveToIK(Vector3 destPos, bool a1, bool a2, bool a3, bool a4, bool a5, bool a6, float ax1, float ax2, float ax3, float ax4,
float ax5, float ax6, float vel, float spe1, float spe2 , float spe3, float spe4, float spe5, float spe6): mueve el robot en modo
cinemático inverso a la posición destPos. a1 a a6 son verdaderas
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
para cada eje se mueve, falso si no. ax1 a ax6 indica la posición del eje en caso de que este eje no se incluya en el modo
IK (el valor 0 indica que se mueve en el modo IK). spd indica la velocidad global para todos los ejes, spe1 a spe6 la velocidad
de eje individual para cada eje que no se mueve en el modo IK.
Transform A0,A1,A2,A3,A4,A5: devuelve el objeto Transform para cada eje del robot
Escalera de robot (Escalera de robot)
void ConfigRoutePos(string name, float a0, float a1, float a2, float a3): si la ruta 'nombre' no sale, crea una nueva ruta
llamada 'nombre' y agrega un nuevo punto para cada eje, si la ruta ya sale, agregue un nuevo punto a la ruta del robot.
void ConfigRouteVel(string name, float a0, float a1, float a2, float a3): Establece la velocidad de la ruta 'nombre' para cada
eje.
void ConfigRouteAcc(string name, float a0, float a1, float a2, float a3): Establece la aceleración para el inicio de la ruta
'nombre' para cada eje.
void ConfigRouteDecc(string name, float a0, float a1, float a2, float a3): Establece la desaceleración para el final de la ruta
'nombre' para cada eje.
void ResetRoutes(): Resetea todas las rutas configuradas (posición, velocidad y aceleración)
void Ruta (nombre de la cadena): inicia el movimiento del robot para la ruta 'nombre'
bool RouteFinised: Obtiene si la Ruta actual ha terminado
bool RobotStopped(): verdadero cuando el robot terminó la ruta
float ReadAxis(int axis): lee el nombre del eje pasado.
bool Pick: si es verdadero, activa el sistema de succión, si es falso, lo desactiva.
bool Picked: devuelve verdadero cuando se selecciona una pieza.
bool PartDetected(): devuelve verdadero cuando se detecta una pieza y está lista para recoger.
void InitAxes(float ax0, float ax1, float ax2, float ax3): Inicializa los cuatro ejes del robot con los valores pasados. Este
método debe llamarse en la sección del programa de lógica Init.
void MoveToIK(Vector3 destPos, bool a1, bool a2, bool a3, bool a4, float ax1, float ax2, float ax3, float ax4, float spd,
float spe1, float spe2, float spe3, float spe4): mueve el robot en modo cinemático inverso a la posición destPos. a1 a a4
son verdaderos para cada eje que se mueve, falsos si no. ax1 a ax4 indica la posición del eje en caso de que este eje no
se incluya en el modo IK (el valor 0 indica que se mueve en el modo IK). spd indica la velocidad global para todos los ejes,
spe1 a spe4 la velocidad de eje individual para cada eje no movido en modo IK.
void SpeedAxis(int n, float v): establece la velocidad para cada eje (0 t0 3)
Transform A0,A1,A2,A3: devuelve el objeto Transform para cada eje del robot
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Escáneres
Cámara:
Distancia flotante > Obtener/Establece la distancia a la que la cámara puede detectar piezas
bool StartCam > si la verdadera cámara comienza a leer WorkParts Type
int DetectedWPType > Devuelve el tipo de WorkPart detectado
bool Detección > devuelve verdadero si la cámara detecta movimiento en el cuadrado medio centrado de la pantalla de la cámara
Control remoto de la cámara:
float CameraRotX: Obtener/Establecer la rotación de la cámara en el eje X
float CameraRotY: Obtener/Establecer la rotación de la cámara en el eje Y
float CameraZoom: obtiene/establece el zoom de la cámara (0 a 180)
rfid:
void WriteRFID(int n) > Escribe el código 'n' en el WorkPart detectado
int ReadRFID()> devuelve el código leído en el WorkPart detectado
Sensor de visión:
bool StartCam: si es verdadero, el sensor comienza a escanear
int NumParts(): Devuelve el número de WorkParts detectados.
Vector3 GetCoordinates(int sel): devuelve la posición del 'sel' seleccionado
Coordenadas de WorkPart, relativas a la posición de la cámara.
Vector3 GetMeasures(int n): devuelve el tamaño del WorkPart 'sel' seleccionado (X: ancho, Y: alto, z: largo).
int WPId(int n): devuelve el tipo del WorkPart 'sel' seleccionado.
Vector3[] Coordinates(): devuelve una matriz Vector3 para todos los WorkParts detectados con su posición coordinada.
Vector3[] Medidas(): devuelve una matriz Vector3 para todas las piezas de trabajo detectadas con sus tamaños (X: ancho, Y: alto, z: largo).
int[] WPIds(): devuelve una matriz int para todas las partes de trabajo detectadas con su información de tipo de parte de trabajo.
float GetPartRotation(int n): devuelve la rotación en el eje Y para la 'n' seleccionada
Parte de trabajo.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
float[] GetRotations(): devuelve una matriz flotante para todos los WorkParts detectados con su valor de rotación del eje Y.
Vector3 GetPartRotations(int n): devuelve la rotación para la 'n' seleccionada
Parte de trabajo.
Vector3[] PartRotations(): devuelve una matriz Vector3 para todas las piezas de trabajo detectadas con su valor de rotación para los ejes X, Y y Z.
bool MeasMode: si es verdadero, devuelve las dimensiones de la pieza de trabajo, si es falso, devuelve la posición de
la pieza de trabajo.
Sensores
Interruptor inductivo:
Distancia de flotación > Obtener/Establecer la distancia a la que el interruptor puede detectar piezas
bool Status > Devuelve el estado (el interruptor ha detectado una parte o no)
float DistanceMeasurementValue: si está configurado como sensor de medición de distancia, devuelve la distancia al objeto detectado en milímetros.
Célula fotoeléctrica:
Distancia flotante > Obtener/Establece la distancia a la que la fotocélula puede detectar piezas
bool Status > Devuelve el estado (la fotocélula ha detectado una pieza o no)
Fotobarrera:
bool Status > Devuelve el estado (PhotoBarrier ha detectado una pieza o no)
Capacitivo:
Distancia de flotación > Obtener/Establecer la distancia a la que el interruptor capacitivo puede detectar piezas
bool Status > Devuelve el estado (el interruptor ha detectado una parte o no)
distancia flotante > si la propiedad IsAnalogic se establece en verdadero, devuelve la distancia a la que el interruptor detecta la pieza
bool IsAnalogic > id verdadero y se detecta una parte, devuelve la distancia a la que el interruptor detecta la parte
Interruptor mecánico:
float ActivationAngle > Obtener/Establecer el ángulo desde el que se activa el interruptor cuando una pieza se toca
bool Status > Devuelve el estado (el interruptor ha detectado una parte o no)
Sensor de luz:
float LightIntensity: devuelve la intensidad de la luz detectada.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Señales
Faro de luz:
bool RedLight > Encender/apagar la luz roja
bool YellowLight > Encender/apagar la luz amarilla
bool GreenLight > Encender/apagar la luz verde
Sirena y Sirena2:
bool StartSiren > Activar/desactivar sirena
Efectos especiales
Cartelera:
void Visible (valor bool) > Establecer la cartelera visible o no
void LoadExternalTexture(string path, Vector2 ttile) > Carga un archivo jpg/png ubicado en la ruta y repite el título en el
componente.
Efectos especiales de explosión:
bool BigExplosion > Establece si la explosión es grande (verdadero) o pequeña (falso)
bool Visible > Activa el efecto Explosión
void SoundEnabled(bool v)> Habilita/deshabilita el sonido del efecto
Efectos de fuego:
bool Embers > Muestra/Oculta brasas
bool FireLight > Muestra/Oculta una luz alrededor del fuego
bool Visible > Activa el efecto Fuego
void SoundEnabled(bool v)> Habilita/deshabilita el sonido del efecto
Efectos de llama:
bool Visible > Activa el efecto Llama
void SoundEnabled(bool v)> Habilita/deshabilita el sonido del efecto
Efectos de plasma:
bool Visible > Activa el efecto plasma
void SoundEnabled(bool v)> Habilita/deshabilita el sonido del efecto
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Efectos de humo:
bool Embers > Muestra/Oculta brasas
bool FireLight > Muestra/Oculta una luz alrededor del humo
bool Visible > Activa el efecto de humo
Efectos de chispas:
bool ElectricSparks > establece el tipo de chispas
bool Visible > Activa el efecto chispas
void SoundEnabled(bool v)> Habilita/deshabilita el sonido del efecto
Efectos de agua:
float WaterSize > Establece el tamaño de las partículas de agua
bool Visible > Activa el efecto del agua
void SoundEnabled(bool v)> Habilita/deshabilita el sonido del efecto
Texto 3D:
string Texto > Establece el mensaje de texto
Color TextColor > Establece el color del texto
void Visible (valor bool) > Ver/ocultar el efecto de Texto
Cortador:
int CuttedWorkPart_ID: obtiene/establece la nueva identificación para la parte de trabajo que se corta
int DetectedWPType: devuelve el Worpart ID que choca con la hoja de corte
void Cut (retraso flotante): hace que la pieza de trabajo se corte (después de que transcurran los segundos de 'retraso')
void ResetCut (retraso flotante): restablece el corte (después de pasar segundos de 'retraso')
void void ChangeTexture(string textName): cambia la textura que se aplicará al corte WorkPart
Estampador:
void CreateStamp() > Activa el efecto de sello
Línea:
float Width > Establece/Obtiene el ancho de línea
Vector3 Point1Pos > Establece/obtiene la posición de la línea del punto 1 (en coordenadas locales)
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Vector3 Point2Pos > Establece/obtiene la posición de la línea del punto 2 (en coordenadas locales)
void Point1PosWorld(Vector3 position) > Establece la posición de la línea del punto 1 (en coordenadas mundiales)
void Point2PosWorld (posición Vector3) > Establece la posición de la línea del punto 2 (en coordenadas mundiales)
Color LineColor > Establece/obtiene el color de la línea
void ChangeTexture(string textName) > cambia la textura de la línea.
Vector2 TextureTile > Obtiene/establece el mosaico de textura.
void LightEmission (bool habilitado, color col, intensidad flotante) > establece la emisión de luz para la línea.
void Draw(Vector3 p1, Vector3 p2) > dibuja la línea en los puntos pasados
Interruptores
Pantalla digital:
void SetValue(float v) > establece el valor de visualización digital.
Pantalla7Segs:
void Display(bool Seg_a, bool Seg_b, bool Seg_c, bool Seg_d, bool Seg_e, bool Seg_f, bool Seg_g, bool Seg_dp, bool multp1,
bool multp2, bool strobe) > establece los valores booleanos para administrar la pantalla de 7 segmentos.
void DisplayValue(valor flotante) > muestra el valor numérico pasado como parámetro. void DisplayCol(float r, float g, float b) >
establece el color de visualización para los valores rojo, verde y azul (0 a 1).
Presionar el botón:
bool Status > devuelve el estado del botón
void ButtonLight (valor bool) > configurar el botón de luz encendido/apagado
Selector:
int SelectorPosition() > devuelve la posición actual del Selector
float PotentiometerValue() > Devuelve el valor actual del potenciómetro.
Palanca de cambio:
bool Status > Devuelve el estado actual de la palanca del interruptor
Cambiar dos botones:
bool ButtonBlue > Devuelve el estado del botón azul
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
bool ButtonRed > Devuelve el estado del botón rojo
Transportes
Cinta transportadora 1:
void Advance (valor bool) > Establece si el transportador avanza o se detiene
void Reverse (valor bool) > Establece si el transportador se mueve hacia atrás o se detiene
float Speed > Obtiene/Establece la velocidad de la cinta transportadora
bool Legs> Obtiene/establece la presencia de las piernas del transportador
float AnalogicSpeed > Obtiene/Establece la velocidad de la cinta transportadora (funcionando en modo analógico,
velocidad = 0 cinta detenida, velocidad > 0 cinta adelante, velocidad < 0 cinta atrás)
float MovementAmount > devuelve la cantidad de movimiento que se está moviendo la bandeja del transportador, útil
para crear transportadores con control de codificador
Cinta transportadora 2:
void Connect (valor bool) > Establece si el transportador se mueve o se detiene
Ejemplo:
Transportar. Conectar (verdadero);
float Speed > Obtiene/Establece la velocidad de la cinta transportadora
Ejemplo:
Velocidad de transporte = 2.5f;
Cinta transportadora 3:
void Advance (valor bool) > Inicia/detiene la banda en dirección hacia adelante
void Reverse (valor bool) > Inicia/detiene la correa en dirección hacia atrás
void OpenDoor(bool v) > Si es verdadero abre la puerta, si es falso la cierra.
bool DoorOpened() > devuelve verdadero si la puerta está abierta, falso si está cerrada
float SpeedTray > Obtiene/Establece la velocidad de la cinta transportadora
Cinta transportadora 4 y 5:
void Advance (valor bool) > Establece si el transportador avanza o se detiene
void Reverse (valor bool) > Establece si el transportador se mueve hacia atrás o se detiene
float MovementAmount > devuelve la cantidad de movimiento que se está moviendo la bandeja del transportador, útil
para crear transportadores con control de codificador
Cinta transportadora 6:
void Connect (valor bool) > Establece si el rodillo se mueve o se detiene
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
float Speed > Obtiene/Establece la velocidad de los rodillos (movimiento de piezas)
float SpeedOffset > Obtiene/Establece la velocidad de los rodillos (sin afectar a las partes, solo para efectos visuales)
Cinturón curvo:
void Advance (valor bool) > Establece si el transportador avanza o se detiene
float Speed > Obtiene/Establece la velocidad de la correa
Transportador Roller1:
void Advance (valor bool) > Establece si el transportador avanza o se detiene
void Reverse (valor bool) > Establece si el transportador se mueve hacia atrás o se detiene
float Speed > Obtiene/Establece la velocidad del transportador (movimiento de piezas)
Rodillo transportador 2 pequeño, rodillo transportador 2 mediano, rodillo transportador 2 grande:
void Advance (valor bool) > Establece si el transportador avanza o se detiene
void Reverse (valor bool) > Establece si el transportador se mueve hacia atrás o se detiene
float Speed > Obtiene/Establece la velocidad del transportador (movimiento de piezas)
float SpeedRolls > Obtiene/Establece la velocidad de los rodillos transportadores (sin afectar a las partes, solo para efectos
visuales)
Transportador delgado:
void Advance (valor bool): establece si el transportador avanza o se detiene
void Reverse (valor bool): Establece si el transportador se mueve hacia atrás o se detiene
float Speed: Obtiene/Establece la velocidad del transportador
float AnalogicSpeed: Obtiene/Establece la velocidad de la cinta transportadora (funcionando en modo analógico, velocidad = 0
cinta parada, velocidad > 0 cinta adelante, velocidad < 0 cinta atrás)
Rodillo de parada del transportador / Tope de la cinta transportadora:
bool Up > Mueve el stop (true up, false down)
Parada del transportador:
bool Move > Mueve el stop (verdadero arriba, falso abajo)
Cadena transportadora:
void Advance (valor bool) > Establece si el transportador avanza o se detiene
void Reverse (valor bool) > Establece si el transportador se mueve hacia atrás o se detiene
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void ChainsRise (valor bool) > Establecer cadenas arriba/abajo
void ChainsRight (valor bool) > Establece si las cadenas se mueven a la derecha
void ChainsLeft (valor bool) > Establece si las cadenas se mueven hacia la izquierda
bool ChainInUpperPos() > devuelve verdadero si las cadenas están arriba, falso si están abajo
Rodillo transportador pequeño:
void Advance(valor bool) > Establece si el transportador avanza o se detiene void Reverse(valor bool) > Establece si el transportador se
mueve hacia atrás o se detiene float Speed > Obtiene/establece la velocidad del transportador (movimiento de piezas)
Ascensor:
float UpperPosition > Establece la posición superior de la plataforma del elevador (para ir)
float LowerPosition > Establece la posición inferior de la plataforma del elevador (para ir)
bool Up > si es cierto mover la plataforma del elevador hacia arriba
bool Down > si es cierto mover la plataforma del elevador hacia abajo
bool AdvX > si es verdadero activa los rodillos elevadores (a la derecha)
bool RevX > si es verdadero activa los rodillos elevadores (a la izquierda)
bool AdvZ > si es verdadero activa los rodillos elevadores (hacia adelante)
bool RevZ > si es verdadero activa los rodillos elevadores (hacia atrás)
float ElevationPlatformPos > devuelve la posición de la plataforma del ascensor
Transform Transf: devuelve el objeto Transform (posición, rotación y escala) para la plataforma del ascensor.
Ascensor2:
bool Up > Mueve el ascensor hacia arriba
bool Abajo > Mueve a Eleator Abajo
float ElevatorSpeed > Establece la velocidad del ascensor
float RollerSpeed > Establece la velocidad de los rodillos del elevador
bool Adv > si es verdadero los rodillos avanzan
bool Rev > si es cierto, los rodillos se invierten
bool Sw1 > devuelve el valor del sensor 1
bool Sw2 > devuelve el valor del sensor 2
void MoveElevator(float pos) > mueve el elevador a la posición 'pos'
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
float PlatformPosition > devuelve la posición actual del ascensor
Transform ElevatorTransform: devuelve el objeto Elevator Transform (Posición, Rotación y Escala).
Transform Transf: devuelve el objeto Transform (posición, rotación y escala) para la plataforma del ascensor.
Unirse a la tabla:
float Speed > Obtiene/Establece la velocidad de los rodillos de la mesa (movimiento de piezas)
bool AdvX > si es verdadero activa los rodillos de la mesa (a la derecha)
bool RevX > si es verdadero activa los rodillos de la mesa (a la izquierda)
bool AdvZ > si es verdadero activa los rodillos de la mesa (hacia adelante)
bool RevZ > si es verdadero activa los rodillos de la mesa (hacia atrás)
bool StopAdvX > si es verdadero activa Stop derecho
bool StopRevX > si es verdadero activa Stop izquierdo
bool StopAdvZ > si es verdadero, activa el reenvío Stop
bool StopRevZ > si es verdadero activa Stop hacia atrás
Gire la mesa 1:
float SpeedRolls > Obtiene/Establece la velocidad de los rodillos de la mesa
float TableRotationSpeed > Obtiene/Establece la velocidad de giro de la mesa
void Advance (valor bool) > Establece si los rodillos de la mesa avanzan o se detienen
void Reverse (valor bool) > Establece si los rodillos de la mesa se mueven hacia atrás o se detienen
bool RotateTable > Comienza a girar 90 grados la mesa giratoria
bool ClockWise > si es verdadero, la rotación se realizará en el sentido de las agujas del reloj, si es falso, en el sentido contrario
a las agujas del reloj
bool StopTable > Detiene la rotación de la tabla
bool Inicio > si es verdadero, la mesa vuelve a la posición de inicio
bool tableMoving > devuelve verdadero si la mesa gira hacia la posición de destino.
bool tableStopped > devuelve verdadero si la mesa ha alcanzado la posición de rotación y se detiene.
bool SWInp > devuelve el estado de los detectores inductivos
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
interruptores del área de entrada de la tabla.
bool SWOut > devuelve el estado de los interruptores de detectores inductivos del área de salida de la tabla.
Transform Transf: devuelve el objeto Transform (posición, rotación y escala) para la tabla.
Gire la mesa 2:
float BeltSpeed > Obtiene/Establece la velocidad de la correa (movimiento de piezas)
float SpeedOffsetTray > Obtiene/Establece la velocidad de la banda (sin afectar a las partes, solo para efectos visuales)
float TableRotationSpeed > Obtiene/Establece la velocidad de rotación de la tabla
bool RotateTable > si es verdadero, activa la rotación de la tabla (+90 grados desde la posición actual id en el sentido de
las agujas del reloj está activado, 90 grados si el sentido de las agujas del reloj está desactivado)
bool ClockWise > cambia la dirección de rotación (encendido en el sentido de las agujas del reloj, apagado en el sentido contrario a las agujas del reloj)
bool StopTable > si es verdadero detiene la rotación de la tabla
bool StartBelt > si es verdadero iniciar el movimiento de la correa
Transform Transf: devuelve el objeto Transform (posición, rotación y escala) para la tabla.
Transportador modular:
void Connect (valor bool) > Establece si el transportador se mueve o se detiene
float Speed > Obtiene/Establece la velocidad de los transportadores
Brazo de selección:
bool RotRight > si es verdadero, gira el brazo hacia la derecha
bool RotLeft > si es verdadero, gira el brazo hacia la izquierda
Clasificador de mesa:
bool RotateRight60 > si es verdadero, los rodillos giran 60 grados a la derecha
bool RotateRight90 > si es verdadero, los rodillos giran 90 grados a la derecha
bool RotateLeft60 > si es verdadero, los rodillos giran 60 grados a la izquierda
bool RotateLeft90 > si es verdadero, los rodillos giran 90 grados a la izquierda
bool HomePos > si es verdadero, los rodillos van a la posición inicial
bool Run > si es verdadero, inicia el movimiento de los rodillos
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Interruptores
Cambiar:
bool ButtonBlue > Obtiene el estado del botón azul
bool ButtonRed > Obtiene el estado del botón rojo
bool Trigger > Obtener/Establecer el comportamiento de los botones, si tigger es verdadero, una vez que se presiona el botón cambia su estado, si es falso,
el estado del botón pasa de falso a verdadero, y 1,5 segundos después a falso nuevamente.
bool Conmutado > si es verdadero, solo se usa una entrada de PLC, cuando se presiona el botón azul, la entrada de PLC será verdadera,
cuando se presiona el botón rojo, la entrada de PLC pasa a falso.
Palanca de cambio:
bool Lever > Obtiene el estado del nivel
bool Doble > Obtener/Establecer el tipo de palanca (verdadero para doble, falso para simple)
Piezas de trabajo
Parte de trabajo:
Vector3 PhysicScale > Obtener/establecer la escala física de WorkPart
int WorkPartType > Obtener/Establecer el tipo de WorkPart (número entero para identificar esta pieza de trabajo en la máquina)
void ChangeTexture(string textName) > Establecer la textura textName.
void SetModelPosition(Vector3 v3) > Establecer la posición del modelo.
void SetModelScale(Vector3 v3)> Establecer la escala del modelo.
void SetModelRotation(Vector3 v3) > Establecer la rotación del modelo.
void MovePosition (Vector3 pos) > Mueve el componente a la posición pos (con física)
Vector3 CurrentPosition() > Devuelve la posición actual del componente (con física)
MoveRotation(Vector3 rot) > rota el componente para rotar ángulos (con física)
Vector3 CurrentRotation () > Devuelve los ángulos de rotación actuales del componente (con física)
void PlaySingleSound (clip de cuerda, volumen flotante) > Reproduce un sonido de 'clip' en la posición 3D del componente, con volumen (0 a 1)
void PlayLoopSound (clip de cuerda, volumen flotante) > Reproduce un sonido de 'clip' en la posición 3D del componente, con volumen (0 a 1) en modo
de bucle
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
void StopSound() > Detiene el sonido de reproducción actual
bool MouseOverComponent() > Devuelve verdadero si el puntero del mouse está sobre el componente
bool ComponentCollision > Devuelve el verdadero si algún componente choca con el componente
ComponentBase _Component > Devuelve el objeto ComponentBase (objeto base de todos los demás componentes
derivados) que colisiona con el componente
bool ControllerVrTouch > Devuelve el verdadero cuando el controlador VR derecho o izquierdo choca con el componente
bool ControllerVrTouchRight > Devuelve el verdadero cuando el controlador de la mano derecha VR choca con el componente
bool ControllerVrTouchLeft > Devuelve el verdadero cuando el controlador de la mano izquierda VR choca con el
componente
void AddCollisionController(): use este método si usa la función CollidesWith. Este método debe llamarse en Init
Script Method para que el componente reconozca las colisiones.
bool CollidesWith(string desc): devuelve verdadero si el WorkPart colisiona con el componente con descripción 'desc',
falso si no colisiona.
void ApplyForce(Vector3 force) > Agrega una fuerza al WorkPart
void ApplyRelativeForce(Vector3 force) > Agrega una fuerza al Worpart relativo a su sistema de
coordenadas.
void AddTorque (Vector3 force) > Agrega un par de fuerza al WorkPart
void AddRelativeTorque(Vector3 force) > Agrega un torque de fuerza al WorkPart relativo a su sistema de coordenadas.
void BreakUnion() > Rompe una unión entre el WorkPart y otro WorkPart fijado a este WorkPart.
void MakeUnion(int WorkPartType) > Hace una unión entre este WorkParts y otros WorkParts si ambos chocan y el
segundo WorkPart coincide con WorkPart
tipo. Se puede escribir más de un tipo con comas (Ejemplo 1,2,3)
void LoadExternalTexture(string path, Vector2 ttile) > Carga un archivo jpg/png ubicado en la ruta y repite el título en
el componente.
void LightEmission (bool habilitado, Color col) > si habilitado es verdadero, el componente emite una luz con col Color
void PlayExternalSound(string wav) > Reproduce un archivo wav ubicado en la ruta wav
void AttachMe(Component.Space sp) > Establece el objeto WorkPart como el padre del componente pasado, de esta
manera el componente pasado se moverá y rotará como WorkPart
void DettachMe(Component.Space sp) > Rompe la relación principal entre el
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
WorkPart y el componente pasado.
void LoadUpdatableModel (nombre de cadena) > Establece el modelo 'nombre' de la carpeta del modelo actualizable, el nombre debe
pasarse como "StreamingAssets/ModelName"
Collider Collis(): devuelve el objeto colisionador.
Creador de partes de trabajo:
void CreateNewWorkPart() > Crea una nueva WorkPart
void CreateNewWorkPart(int workPartType) > Crea una nueva WorkPart del tipo workPartType.
void CreateByTime(float min, float max): Crea una nueva WorkPart en un tiempo aleatorio entre los parámetros pasados 'min' y 'max'.
evento CreatorHandler CreatorEvent > Se dispara cuando se ha creado un
WorkPart
y devuelve la referencia del WorkPart creado
Ejemplo: (en la máquina existe un componente WorkPart Creator llamado
WPCreat1)
inicio vacío público () {
WPCreat1.CreatorEvent += WPCreat1_CreatorEvent;
}
vacío público Principal () {
Finalizar vacío público () {
WPCreat1.CreatorEvent = WPCreat1_CreatorEvent;
}
vacío privado WPCreat1_CreatorEvent (WorkPartLogic workPart) {
//workPart contiene la referencia de la parte de trabajo creada actualmente
}
event CreatorUCCHandler CreatorUCCEvent: Se dispara cuando se ha creado un UserDefinedComponent y devuelve la referencia
del UCC creado
Ejemplo: (en la máquina existe un componente WorkPart Creator llamado
WPCreat1)
inicio vacío público () {
WPCreat1.CreatorUCCEvent += WPCreat1_CreatorUCCEvent;
}
vacío público Principal () {
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Finalizar vacío público () {
WPCreat1.CreatorUCCEvent = WPCreat1_CreatorUCCEvent;
}
vacío privado WPCreat1_CreatorUCCEvent(UCC ucc) {
//ucc contiene la referencia UCC creada actualmente
}
Destructor de partes de trabajo:
int WorkPartDestrType > Devuelve el tipo WokPart del actual destruido
Parte de trabajo
evento DestructorEvent > Se dispara cuando un WorkPart ha sido destruido y devuelve el tipo de WorkPart destruido
Ejemplo: (en la máquina existe un componente WorkPart Destructor llamado
WPDestruct1)
inicio vacío público () {
WPDestruct1.DestructorEvent += WPDestruct1_DestructorEvent;
}
vacío público Principal () {
Finalizar vacío público () {
WPDestruct1.DestructorEvent = WPDestruct1_DestructorEvent;
}
vacío privado WPDestruct1_DestructorEvent (tipo int) {
//type contiene el tipo de pieza de trabajo destruido actual
}
Componentes definidos por el usuario
Cuando se utilizan componentes definidos por el usuario, los componentes secundarios deben gestionarse mediante código para que
los usuarios puedan configurarlos. Se explican las funciones de UDC disponibles para gestionar E/S y parámetros.
Lista de inventario:
Devuelve todos los componentes presentes en el UDC.
Ejemplo:
for(int f=1;f<16;f++) {
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Inventario[f].Espacio.Rotar(velocidad, 0, 0);
}
bool GetOutput(string name) > Devuelve el valor booleano de la salida digital
nombre
Ejemplo: (en este ejemplo se supone que el UDC ha declarado una salida
llamado StartMotor)
bool connect = UC.GetOutput("IniciarMotor");
bool TrigOutUp(nombre de cadena) > devuelve el estado de cambio de 'nombre' de salida de UC de falso a verdadero.
bool TrigOutDwn (nombre de cadena) > devuelve el estado de cambio de 'nombre' de salida de UC de verdadero a falso.
void SetInput(nombre de cadena, valor bool) > Establece el valor de la entrada digital
nombre
Ejemplo: (en este ejemplo se supone que el UDC ha declarado una entrada
llamado Sensor)
UC.SetInput("Sensor", verdadero);
bool TrigInpUp(nombre de cadena) > devuelve el estado de cambio de 'nombre' de entrada de UC de falso a verdadero.
bool TrigInpDwn(nombre de cadena) > devuelve el estado de cambio de 'nombre' de entrada de UC de verdadero a falso.
float GetParameter(string name) > Devuelve el valor flotante del nombre del parámetro
Ejemplo: (en este ejemplo se supone que el UDC ha declarado un parámetro llamado Velocidad)
velocidad flotante = UC.GetParameter("Velocidad");
float GetAOutput(string name) > Devuelve el valor flotante de la salida analógica
nombre
Ejemplo: (en este ejemplo se supone que la UDC ha declarado una salida analógica denominada Intensidad)
fuerza flotante = UC.GetAOutput("Intensidad");
void SetAInput(string name, bool value) > Establece el valor de la entrada analógica
nombre
Ejemplo: (en este ejemplo se supone que la UDC ha declarado una entrada analógica llamada Luz)
UC.SetAInput("Luz", valorl);
void SetOutput(nombre de cadena, valor booleano) > Establece el valor booleano para el nombre de la salida digital
bool GetInput(string name) > Devuelve el valor booleano del nombre de la entrada digital
void SetAOutput(nombre de cadena, valor bool) > Establece el valor flotante para el nombre de salida analógica
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
float GetAInput(string name) > Devuelve el valor flotante del nombre de la entrada analógica
int DInputAddr(string name) > Devuelve la dirección asignada por el usuario al nombre de la entrada digital
int DOutputAddr(string name) > Devuelve la dirección asignada por el usuario al nombre de la salida digital
int AInputAddr(string name) > Devuelve la dirección asignada por el usuario al nombre de la entrada analógica
int AOutputAddr(string name) > Devuelve la dirección asignada por el usuario al nombre de la salida analógica
Componentes de usuario
Una vez que un componente definido por el usuario se guarda y aparece en el árbol de componentes, se denomina
componente de usuario.
Los componentes de usuario que se incluyen dentro de los componentes definidos por el usuario tienen las siguientes
funciones, para que puedan ser administrados por el código de secuencia de comandos de UDC.
void SetInputAddress(nombre de cadena, dirección int) > Establece la dirección de entrada digital UC para la
entrada digital de nombre
Ejemplo: Suponiendo que estamos trabajando en el código de secuencia de comandos
de un UserDefinedComponet que ha asignado una entrada digital llamada Sensor. Este UCD tiene un UC llamado MySwitch
y tiene una entrada digital llamada Pressure MySwitch.SetInputAddress("Pressure",
UC.DInputAddr("Sensor"));
void SetOutputAddress (nombre de cadena, dirección int) > Establece la dirección de salida digital UC para el nombre
de salida digital
Ejemplo: Suponiendo que estamos trabajando en el código de secuencia de comandos
de un UserDefinedComponet que ha asignado una salida digital llamada Motor. Este UCD tiene un UC llamado MyTransport
y tiene una salida digital llamada Start MySwitch.SetOutputAddress("Inicio", UC.DOutputAddr("Motor"));
void SetAInputAddress(string name, int address) > Establece la dirección de entrada analógica de UC para la entrada
analógica de nombre
Ejemplo: Suponiendo que estamos trabajando en el código de script de un
UserDefinedComponet que ha asignado una entrada analógica llamada Valor. Esta UCD tiene una UC llamada MySensor y
tiene una entrada analógica llamada Val MySensor.SetAInputAddress("Val",
UC.AInputAddr("Value"));
void SetAOutputAddress(string name, int address) > Establece la dirección de salida analógica UC para el nombre de
salida analógica
Ejemplo: suponiendo que estamos trabajando en el código de script de un
UserDefinedComponet que ha asignado una salida analógica llamada Force. Esta UCD tiene una UC llamada MyDevice
y tiene una salida analógica llamada Forc MyDevice.SetAOutputAddress("Forc",
UC.AOutputAddr("Force"));
void SetParameter(nombre de cadena, valor flotante) > Establece el valor del parámetro UC para
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
el parámetro de nombre
Ejemplo: suponiendo que estamos trabajando en el código de secuencia de comandos
de un UserDefinedComponet que ha asignado un parámetro llamado Velocidad. Este UCD tiene un UC llamado MyControl
y tiene un parámetro llamado Velocity
MyControl.SetParameter("Velocidad, UC.GetParameter("Velocidad"));
void IsVisible (valor bool): Establece si el componente de usuario es visible (valor = verdadero) o no (valor = falso)
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Simulador de máquinas VR
En Machines Simulator v.3 está disponible un nuevo módulo de software, Machines Simulator Virtual Reality (Machines Simulator VR).
Con este nuevo software es posible mediante un visor de realidad virtual, utilizar Machines Simulator en un sistema de realidad virtual,
pudiendo el usuario sentir dentro de las máquinas y sistemas simulados como si fuera la realidad.
Machines Simulator VR no contiene el módulo editor, puede iniciar las máquinas para probar su comportamiento lógico como Machines
Simulator. Debe usar el Editor de máquinas para diseñar las máquinas, y luego se puede probar tanto en Machines Simulator como
en Machines Simulator VR.
Machines Simulator VR es compatible con la plataforma Steam VR, lo que significa que cualquier sistema VR que pueda ser compatible con
Steam VR será compatible también con Machines Simulator VR.
Machines Simulator VR está diseñado para la plataforma Steam VR y ha sido probado con dispositivos SteamVR compatibles, HTC
Sistema Vive, Oculus/Meta y visores de realidad mixta de Windows:
Además, es compatible con los sistemas Oculus Rift y Rift S (incluidos Oculus Quest y Quest 2 con el cable USB Oculus Link o el enlace
Oculus Air).
Si usa Windows Mixed Reality, primero debe instalar Windows Mixed Reality para SteamVR:
http://store.steampowered.com/app/719950/Windows_Mixed_Reality_for_SteamVR/
Machines Simulator VR, debe ejecutarse con derechos de administrador para reconocer la licencia, luego siga el mismo procedimiento
explicado en la sección de esta guía: Memoria USB de Machines Simulator ( en caso de que no haya instalado el software en la ruta
predeterminada : C:\Nirtec\Máquinas Simulador VR)
(Tenga en cuenta que el archivo MachinesSimulatorVR.exe es el archivo al que debe otorgar derechos de administrador)
Para usar SteamVR con Oculus Rift, debes seguir estas instrucciones:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Instrucciones de SteamVR + Oculus Rift
1. Asegúrese de que su Rift esté instalado: el primer paso para que su Oculus Rift funcione con SteamVR es asegurarse de que
su Rift esté instalado y funcione correctamente.
2. Habilite Fuentes desconocidas: en la aplicación de escritorio de Oculus , en la parte superior derecha, haga clic en el ícono de ajustes para acceder a
Configuración. En el menú del lado izquierdo, haga clic en General , luego marque el interruptor Fuentes desconocidas , seguido del botón Permitir . No
cierres la aplicación de escritorio de Oculus.
Deberá confirmar esta selección antes de habilitarla.
3. Instale SteamVR: Inicie Steam (instálelo si aún no lo ha hecho). Si no se le solicita automáticamente con un
ventana emergente para instalar SteamVR, vaya a Biblioteca > Herramientas e instale SteamVR de la lista.
4. Inicie SteamVR: una vez que SteamVR esté instalado, verá un icono de realidad virtual en la parte superior derecha de la ventana de Steam (cerca de los
botones de minimizar y maximizar). Haga clic aquí para iniciar SteamVR. Tu Rift ahora debería ser detectado y deberías poder ponerte el visor y
ver la versión VR de SteamVR. (Nota: es probable que la aplicación de escritorio de Oculus deba ejecutarse en segundo plano). El botón Atrás en el
controlador de Xbox One (incluido con Oculus Rift para el consumidor) abrirá el menú SteamVR cuando tenga los auriculares puestos.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Machines Simulator VR funciona igual que Machines Simulator, una vez que se carga una máquina, se comunica con Virtual PLC
para enviar/recibir señales de E/S. Luego puedes sentir como estabas ubicado en la máquina tocando partes, sensores, etc.
Nota: si toca un sensor (inductivo, fotocélula, proximidad) con el controlador, el sensor se activará, entonces podrá simular errores
o condiciones no deseadas en su máquina para probar la integridad del programa frente a errores comunes en la gestión de
señales.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Al presionar el botón de agarre del controlador izquierdo, aparecerá una tableta en la posición del controlador izquierdo y se podrán administrar
los comandos del PLC.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Sala de inicio
Cuando se inicia Machines Simulator VR, ingresará a la sala de inicio, allí encontrará señales de indicación sobre cómo funcionan
los controladores y una pantalla de selección donde puede seleccionar la máquina para cargar:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Usando el láser rojo que proviene del controlador derecho, seleccione la máquina que desea cargar (haciendo clic con el botón
disparador en los botones izquierdo y derecho ubicados a los lados de la imagen de la máquina), luego puede hacer clic en el botón
Modo de demostración para ver cómo funciona la máquina. debe ser operado o el botón Cargar Máquina, que lanzará la máquina y se
conectará con VirtualPLC para poder ser administrado.
Utilice el láser rojo para seleccionar elementos
En el lado derecho de la habitación, tienes unas cajas y botones para practicar cómo agarrarlo y tocarlo:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Cómo cargar nuevas máquinas en Machines Simulator VR
Una vez que haya creado sus máquinas con el editor Machines, copie el archivo .maq de la carpeta Machines Simulator MyMachines a la
carpeta Machines Simulator VR MyMachines . ¡Es tan fácil!
Gestión de conductores
Si desea usar la misma configuración de controlador que Machines Simulator 3 para usar las interfaces externas para administrar
Machines Simulator VR, copie los archivos *.ini y *.drv ubicados en m3bin_Data\Drivers de la carpeta MS3, en la carpeta
ms3vrbin_Data\Drivers. de MSVR.
Una vez que se cargue una máquina, abra la tableta para ver el menú de opciones del PLC (botón izquierdo del controlador) y haga clic en
Seleccionar Drv. Config y seleccione con el panel táctil del controlador derecho (o Joystick) moviendo hacia arriba y hacia abajo
el archivo de configuración a usar, luego presione el botón Cargar configuración :
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Simulador de Máquinas Lite
Machines Simulator Lite es una aplicación de Android que permite usar cualquier teléfono, tableta o dispositivo Android compatible para ejecutar una versión
simplificada de Machines Simulator.
Puede usar las máquinas disponibles o puede crear sus propios sistemas con Machines Simulator 3 Editor (seleccione
Icono de Factory Lite en la sección Editor):
Para que las máquinas puedan ser gestionadas por EasyPLC, se debe seleccionar un controlador dedicado, Machines Simulator Lite:
Para comunicarse con Machines Simulator Lite, seleccione este controlador en EasyPLC Editor ubicado en su PC, luego cargue (o cree) el programa
lógico de PLC para administrar la máquina y transfiera el programa a VirtualPLC, luego pase al modo de ejecución.
Se mostrará un nuevo icono en el área de la bandeja de notificaciones de Windows:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Al hacer clic en los íconos de los enchufes, se mostrarán todas las direcciones IP de las conexiones Ethernet disponibles, debe tener en cuenta solo la dirección
IP con respecto a su PC proporcionada por el enrutador (192.168.1.136 en este caso).
Ahora inicie Machines Simulator lite en su dispositivo Android y conéctelo a la misma red WiFi a la que está conectada su computadora:
Ahora seleccione el botón Configuración del menú principal:
En el área de texto de la dirección IP, escriba la dirección IP de su computadora donde se ejecuta EasyPLC y VirtualPLC (192.168.1.136 en este ejemplo)
En el texto del puerto, escriba el puerto Ethernet utilizado (8080 por defecto, pero se puede cambiar en EasyPLC Machines Simulator)
controlador ligero)
Ver E/S: el sistema puede administrar un máximo de 128 entradas digitales, 128 salidas digitales, 8 entradas analógicas y 8 salidas analógicas, seleccione en
esta lista desplegable el número de E/S digitales que desea ver.
Move Speed y View Speed permiten personalizar la velocidad de los movimientos del usuario.
Machines File Path: aquí se muestra la ubicación donde debe copiar los archivos creados en Machines Simulator Editor para que Machines Simulator Lite los cargue
cuando inicie el programa.
Pulse el botón Atrás cuando haya terminado.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Interfaz Lite del simulador de máquinas
Desde el menú principal de Machines Simulator Lite, presione Cargar máquina, luego verá la página de selección de Máquinas, aquí puede presionar los
botones Anterior y Siguiente para navegar entre las máquinas disponibles. En el lado izquierdo de la pantalla, verá la descripción del sistema y cómo operarlo.
Pulsar Cargar Máquina para iniciar la máquina y conectar con EasyPLC para ser gestionada por VirtualPLC, o Pulsar Inicio en Modo Demo para ver cómo se
debe operar la máquina (en este modo no se realiza conexión con EasyPLC).
Máquinas Simulator Lite trabajando
Si ha elegido Cargar máquina, Machines Simulator lite intente conectarse con VirtualPLC, si tiene éxito, verá el estado del led izquierdo en verde con el texto:
Conectado con PLC, de lo contrario, si hay problemas de comunicación debido a que VirtualPLC no se está ejecutando o las comunicaciones los parámetros
no están bien, el led mostrará un color rojo.
Pulse el botón Detener para detener la comunicación con VirtualPLC (útil para realizar cambios en EasyPLC/VirtualPLC para modificar
la lógica).
Presione el botón Ver E/S para ver el estado de E/S digital (rojo encendido/verde apagado).
Pulse Reiniciar máquina para poner la máquina en condiciones iniciales.
Pulse Salir de la máquina para volver al menú principal
Si ha elegido Iniciar en Modo Demo, Machines Simulator lite iniciará la máquina como si estuviera siendo manejada por un PLC, luego podrá ver cómo debe
ser operada. En este modo no se realiza comunicación con EasyPLC/VirtualPLC, por lo que no se muestra el estado de comunicación del led:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Presione el botón Ver E/S para ver el estado de E/S digital (rojo encendido/verde apagado).
Pulse Salir de la máquina para volver al menú principal
Cómo mover
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Más
Visite con frecuencia www.nirtec.com sitio web para consultar nueva información, actualizaciones y nuevos contenidos, también el canal de YouTube: https://
www.youtube.com/c/RafaelIzquierdoNirtec donde encontraras mas tutoriales e informacion importante.
¡Espero que disfrutes de Simulador de Máquinas!
Si tiene alguna pregunta o duda, envíe un correo electrónico a:
Info@nirtec.com
¡Buena suerte en tu mundo de programación virtual!
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
APÉNDICE
Cómo agregar nuevos modelos y componentes 3D a Machines Simulator 3 y Machines Simulator VR
Puede agregar sus propios modelos 3D al simulador de máquinas. De forma predeterminada, Machines Simulator solo puede leer
modelos .obj (frente de onda) con materiales (archivo .mtl) y texturas (.dds, .crn, .jpg, .jpeg, .png, .tga [24/32 bit + rle], .bmp)
Para cargar sus propios modelos, copie los archivos .obj (.mtl y texturas) en la siguiente carpeta:
(Carpeta de instalación) \Machines Simulator 3\ms3bin_Data\StreamingAssets\
Cuando seleccione un Modelo de la biblioteca, elija la categoría Actualizable , y todos los archivos obj que ha copiado se mostrarán en la
ventana Modelo, seleccione el modelo deseado y presione el botón Seleccionar . Su modelo OBJ se cargará en Machines Simulator
y se puede usar como un modelo estándar (asignado a componentes estáticos, componentes dinámicos y piezas de trabajo).
Si desea crear modelos personalizados con materiales y texturas más especializados, puede cargar el simulador de paquetes de activos
en máquinas.
Para crear sus propios paquetes de activos para agregar sus propios modelos y componentes 3D personalizados al software Machines
Simulator 3 y/o MS VR, debe seguir los siguientes pasos:
Descargue la versión 2020.2.3f1 de Unity del archivo de descarga de UNITY.
Importante: este procedimiento solo funcionará con la versión de Unity indicada, de lo contrario, los modelos exportados no podrían
cargarse en MS 3.
Instale la versión de Unity e inicie el programa, luego cree un nuevo Proyecto y llámelo MyModelExporter (por ejemplo):
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Una vez que se carga el proyecto, agregue un Objeto plano para establecer la referencia del piso > GameObject > Objeto 3D > Plano
En Inspector, establezca los valores de Escala de transformación en X: 10, Y: 10, Z: 10
Agregue el fragmento de código AssetBundles.cs en los Activos de su proyecto, descargue este archivo del foro de nirtec (http://nirtec.com/forum/
index.php?topic=409.0), o crea uno nuevo con este código:
utilizando System.Collections;
usando System.Collections.Generic; utilizando
UnityEngine; utilizando
UnityEditor; utilizando
System.IO;
Paquetes de activos de clase pública {
[MenuItem ("Activos/Crear paquete de activos")]
vacío estático público BuilAssetBundle()
var ruta de salida = Application.streamingAssetsPath; Opciones de
BuildAssetBundleOptions = BuildAssetBundleOptions.ChunkBasedCompression;
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
BuildTarget target = EditorUserBuildSettings.activeBuildTarget;
BuildPipeline.BuildAssetBundles(ruta de salida, opciones, destino); //
AssetDatabase.Refresh();
Ahora agregue sus modelos 3D en los Activos de su proyecto, en este ejemplo se agregará un modelo de Robot, tenga en cuenta que debe
agregar cada parte del modelo que debe moverse individualmente, de lo contrario, cuando lo importe en MS3, no se puede dar movimiento a
cada parte del modelo.
Por ejemplo, vamos a añadir este modelo 3D de un Robot antropomórfico:
Luego vamos a importar en Unity todos los modelos para cada parte individual, esto se hace, arrastrando y soltando los archivos de modelo
aceptados por Unity (.fbx, .obj, .max, .skp o .blend) en el Activo carpeta de nuestro proyecto:
Vea cómo cuando se agregan los archivos 3D, automáticamente se crea una nueva carpeta llamada Material, esta carpeta contiene los
materiales que usa nuestro modelo, pero estos materiales no están texturizados:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Ahora debemos agregar al proyecto estos archivos de textura:
Una vez que se agregan los archivos gráficos (.jpg, .gif, .png, …), debemos asignar a cada material, luego haga clic en el material
grayDark, y en el inspector, verá el mapa de Albedo vacío, haga arrastrar y soltar para grayDark textura en el material Albedo box:
Ahora que el material está asignado con la textura correcta, haga lo mismo para todos los materiales restantes.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Para verificar la apariencia del modelo 3D, arrastre el modelo 3D a la escena y establezca la posición de transformación en X: 0, Y: 0,
Z:0 en Inspector:
Si el modelo parece demasiado grande o demasiado pequeño, haga clic en el modelo de activos importado y cambie el factor de escala en el
inspector según corresponda:
Una vez que la escala y el aspecto estén bien, haga clic en el modelo 3D de activos y, en la parte inferior derecha, en la ventana de vista previa del
modelo, seleccione el cuadro combinado AssetBundle y seleccione Nuevo:
Allí selecciona el nombre que le quieres poner a tu modelo, por Instancia myrobot:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Y configure los nombres de AssetBundle para cada modelo importado:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Cree una nueva carpeta en su proyecto llamada StreamingAssets:
Ahora, seleccione Activos > Crear paquete de activos.
El sistema compilará los Assets, y una vez terminado, en la carpeta StreamingAssets encontrarás dos archivos por cada modelo, uno sin
extensión y otro con extensión .manifest:
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Debe copiar estos dos archivos para cada modelo en la carpeta Machines Simulator 3 y Machines Simulator VR
ms3bin_Data\StreamingAssets:
Ahora inicie MS3 y en Editor, con cualquier componente que tenga la propiedad Cambiar modelo (Elemento estático, Dinámico
Element, Hook o WorkPart), presione el botón Change Model, y desde Select Model presione el botón Updater, y todos los modelos
importados se mostrarán en la ventana de vista previa (tenga en cuenta que no se muestra ninguna imagen, solo el nombre):
Nota: puede seguir el mismo procedimiento para agregar sus propios materiales a MS3
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
Los componentes son una herramienta más sofisticada. Los componentes podrían tener su propia configuración física utilizando la
configuración deseada con cuerpos rígidos y colisiones.
Cómo crear un componente:
1. Cree una nueva carpeta en su Proyecto de activos, llamada MyComponent (puede nombrarla como desee):
2. Copie dentro todos los modelos, texturas y materiales utilizados por su componente:
En este ejemplo se copian, un modelo, cuatro texturas y se crea un material donde se aplican todas las texturas. Posteriormente, el
material se asigna al modelo.
3. Cree un GameObject vacío, asígnele el nombre SackComp (o lo que sea, pero el nombre debe terminar con 'Comp') y
cambiar su posición de transformación a (0,0,0)
4. Arrastre su modelo en el nuevo SackComp GameObject creado como un niño:
5. Cree un nuevo Objeto 3D > Cubo como elemento secundario de SackComp GameObject y muévase como el primer elemento secundario
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
6. Escale la caja para que se ajuste a todo el componente del modelo (saco), esta será su forma de colisión, luego deshabilite la malla
Componente renderizador:
7. Agregue un componente Rigidbody al cubo y establezca la verificación Usar gravedad en falso e IsKinematic en verdadero, cambie la Detección de colisión a
Continuos Speculative:
8. Ahora empareje SackComp GameObject como elemento secundario de Cube GameObject:
9. Una vez terminado, crea un Prefab, haciendo Drag & Drop desde SackComp GameObject a MyComponent
carpeta de activos
10. Ahora, para todos los archivos utilizados en la carpeta MyComponent, haga clic en cada uno y en el lado inferior derecho de AssetBundle
cree un nuevo AssetBundle llamado mysack (o lo que sea) y asígnelo a cada elemento.
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.
Machine Translated by Google
Simulador de Máquinas para EasyPLC.
Simulador de Máquinas
¡Los siete archivos están asignados a mysack Assetbundle!
Ahora seleccione el archivo SackComp en la carpeta MyComponent y en el menú Activos , seleccione Crear paquete de activos:
Una vez compilado, encontrará los dos archivos mysack y mysack.manifest en la carpeta StreamingAssets del proyecto, luego copie los dos
archivos en su carpeta Machines Simulator3\ms3bin_Data\StreamingAssets\MyComponents\
Ahora agregue un StaticElement, DynamicElement o WorkPart y asigne un componente, seleccione la categoría actualizable y seleccione
mysack:
¡Eso es todo!
Copyright © 2008 2023 por Rafael Izquierdo Todos los derechos reservados.