Está en la página 1de 191

Machine Translated by Google

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/interfaces­io/).

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/purchase­price/

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  A­1055S

•  A1860:  controlador  para  tarjeta  Yottacontrol  A­1860

•  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  RS­232  (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  anti­aliasing:  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  1­9:  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  low­poly  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

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 0 0 0 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
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  1­5:  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.

Cuando  se  presiona  la  tecla  W  se  muestra  el  modo  de  posición Cuando  se  presiona  la  tecla  E  se  muestra  el  modo  de  rotación Cuando  se  presiona  la  tecla  R  se  muestra  el  modo  de  escala

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  (izquierda­derecha­arriba­abajo).

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  Wi­Fi  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.

También podría gustarte