Está en la página 1de 8

State Machine

Una máquina de estado o State Machine es ​el método de Análisis y Diseño de Circuitos
Secuenciales Sincrónicos
Para realizar una máquina de estado, es necesario , tener claro que es lo que se
pretende analizar, es decir, entender el proceso y cual es la estructura que la máquina
de estado debe seguir.
Para realizar esta experiencia se debió buscar información adecuada, cabe mencionar
que esta máquina de estados tendrá una implementación en LABVIEW, um buen punto
para partir el desarrollo de una maquina de estados es buscar los ejemplos básicos que
se pueden encontrar en la pagina web y en el curso online dentro de la pagina de
National Instrument (NI).
Como se requiere simular el comportamento de un motor passo a passo, sin tener la
conexión directa, se recurre a usar leds, ( cada led representará um motor). El ejemplo
que se considero para poner en practica el uso de um state machine se basa em um
led, um boton start, um boton inicio y um boton exit.
El led solo enciende cuando el botón “Start” es pressionado y se apaga cuando el
boton “Stop” es accionado, la función del boton “Exit” em este sistema es detener o
reiniciar el sistema.
La programación em labview permite el uso de dos paneles, el frontal y el diagrama de
bloques, en este ultimo, es donde se realiza la programacion em lenguaje G, vale decir
gráfico.
En el diagrama de bloques, para poder implementar un state machine es preciso usar
structures, um “While Loop”, “Case Structures” y un “Event Structure”.
El uso de “String” es para enviar el mensaje y re-dirigir al case donde se ejecutará el
processo, em este caso prender o apagar um led y reinciar el sistema.
El control y la función booleana es solo para realizar la representación y la logica de la
programación.
Si se es principiante en programacion com LABVIEW es preciso trabajar en paralelo
com “Help” pues se tendra mas informacion cada uma de las variables y las funciones
que se van implementando em la programacion, sirviendo de referencia tambien para
tener em claro las restricciones que cada uma presenta.
Para el segundo ejemplo se agrego um segundo led para simular el movimento de dos
motores, para eso, la maquina de estado considerada em la primera experiencia
cambio a uma com um knob y dos leds, donde el knob sirve de selector donde se
decide que led va a ser accionado.

Eventos

Controladores de eventos:

Mouse Down: generado por un click en el botón del mouse, dentro de un control
especifico
Mouse down?: generado por un click del boton del mouse, dentro de un control
específico.

Mouse Enter: Generado cuando el cursor entra al bound del objeto en el panel frontal.

Mouse leave: generado cuando el cursor deja al bound del objeto en el panel de
control.

Mouse move: Generado cuando se mueve el mouse sobre el control

Mouse up: Generado cuando se suelta el mouse en el control específico, Labview no


genera este evento si un short-out menú aparece con un click del botón del mouse.

Value Change: Generado cuando el usuario cambia el valor del control, se debe leer el
terminal de un control booleano”enganchada” al Value Change del caso de eventos.
Labview genera este evento incluso si el usuario introduce el mismo valor que el valor
que el principal. Cuando se usa con un slide, labview genera todos los valores
intermedios del slide. cada tiempo en usuario de cambio de valor incluye valores que
se registraron antes de soltar el mouse.

Dentro de estos controles hay otros subcontroles como:

Source: que es fuente del evento LabView VI, que se refiere a cualquier evento de Vi
integrada.

Time: Valor de timer en milisegundos cuando el evento ocurre.

CtlRef: Referencia al control en el que se produjo el evento.

Coords: Coordenadas del mouse al hacer click en el momento del evento. Coordenadas
en relación al panel.

Button: Valores que corresponden a botón usuario cuando este hace click. Bom
izquierdo es 1, botón derecho es 2. Los sistemas operativos pueden asignar valores
más grandes, si el mouse tiene más de dos botones. Para filtros de eventos, se puede
modificar los datos devueltos por el campo de datos de evento.

OldVal: valor del control antes de cambiar el dato

NewVal: valor del control despues de cambiar el dato.

Mods: Cluster de booleanos que contienen modificadores en la plataforma


independiente. Labview retorna todos los modificadores dependientes al evento,
campo de datos PlatMods. Para eventos claves, este evento vuelve a booleano
indicando si el evento ocurrido en el control numérico. Para eventos de mouse, este
evento retorna a booleano, indicando si el evento fue un doble click.
Para ambos eventos, un booleano es retornado si la clave de plataforma
independiente del menú como <ctrl>, fue presionado cuando ocurría el evento. Para
filtros de eventos, se puede modificar los datos de retorno para este campo de datos
en eventos.

PlatMods: Cluster de booleanos que contiene modificadores en la plataforma


independiente. Especifica si los clases de plataforma dependientes como <ctrl>,
<shift>, <ALt>, <command>; y <option>, donde eleva cuando el evento es activado.
Para filtros de eventos se pueden modificar los datos de retorno para el evento de
campo de datos, una clave puede hacer Mod y PlatMod. Por ejemplo <Ctrl> es una
clave en la plataforma independiente en windows, pero también puede estar en la
programación de una plataforma independiente.

Discard?: Permite prevenir a Labview procesos de evento. Sin pasar a través de la


conexion normal del evento, es por defecto FALSE

CAN CANopen Protocolo de comunicación

Originalmente, CAN (​Controller Area Network,​ por sus siglas en inglés) fue desarrollado
por Bosch en 1985 para redes en vehículos.

Previo a eso, los fabricantes automotrices conectan dispositivos electrónicos en los


vehículos utilizando sistemas de cableado de punto a punto. Sin embargo, conforme
los fabricantes comenzaron a utilizar más y más dispositivos electrónicos en los
vehículos, los arneses de estos subían en su peso y costo general. Al reemplazar el
cableado por redes de comunicación en los vehículos, se logró reducir el costo del
cable, su complejidad y su peso. CAN, un sistema de bus serial de alta integridad
destinado para comunicar dispositivos inteligentes, emergió como la red estándar para
vehículos. La industria automotriz adoptó rápidamente CAN y, en 1993, se convirtió en
el estándar internacional conocido como ISO 11898.

Desde 1994, se han estandarizado varios protocolos de alto nivel a partir de CAN,
como CANopen y DeviceNet , y su uso se ha extendido a otras industrias.

CAN: Controller Area Network

Beneficios de protocolo CAN:

● Bajo costo
● Protocolo altamente robusto

Especificaciones CAN

● Datos CAN ( hasta 8 bytes en una trama)


● Máximo 1 Mbaud/s
● 40 metros para 1 Mbaud/s
● 6 km para 10 kBaud/s
● 2,032 nodos por bus máximo teórico (en la práctica los límites son
aproximadamente 100 nodos debido al transceptor, la mayoría de los buses
usan entre 3 y 10 nodos)

Tipos de CAN

● CAN de alta velocidad (​hasta 1 Mbit/s en velocidad de transmisión)


● CAN de baja velocidad/ Tolerante a fallas (hasta 125 Kbaud/s en velocidad de
transmisión, tolerante a fallas)
● Can de un solo cable (​hasta 83,3 kBaud/s, pulso de alto voltaje)

CAN de alta velocidade: Las redes de CA de alta velocidade están implementadas con
dos cables y permiten la comunicación con dos tasas de transferencia de hasta 1Mb/s.
Otros nombres para CAn de alta velocidad incluye CAN G e ISO 11898-2. Los
dispositivos típicos CAN de alta velocidade incluyen sistemas de freno antibloqueo,
módulos de control de motor y sistemas de emisión.

Hardware CAN de baja velocidad/ Tolerante a fallas: las redes CAN de baja velocidad/
tolerante a fallas también están implementados con dos cables, pueden comunicarse
con dispositivos a una tasa de hasta 125 Kb/s y cuenta con transceptores con
capacidad de tolerancia a fallas. Otros nombres para esta versión de CAN son CAN B e
ISO 11989-3. Algunos ejemplos de dispositivos típicos em automóviles que incluyan
esta versión del protocolo son dispositivos de confort o la luz de freno.

Hardware CAN de un solo cable: ​Las interfaces CAN de un solo cable pueden
comunicarse con dispositivos a una tasa de hasta 33.33 Kb/s (88,3 Kb/s em modo de
alta velocidade)

CANopen, ​un protocolo de comunicación, que es parte de CAN, es considerado como


uno de alta velocidad, pues la velocidad máxima de transmisión es 1 Mb/s

En el modelo OSI CAN y CANopen cubren cierta escala, es decir CAN considera la parte
fisica y un data link, en cambio CANopen considera una aplicacion, una presentacion,
una sesion, el transporte y la red.

NI 9862

Aplicación y tecnología:

Modelo: Ni 9862
Bus: CAN

Physical Layer: High Speed/ FD

Transceivers: TJ1041

Min Baud Rate: 40 Kbit/s

Max Baud Rate: 8Mbit/s

Puertos: 1

Especificaciones:

Para el modelo NI 9862 dentro de sus especificaciones tiene un “power Consumption”


con valores en Active Mode: 1W máx., especificaciones en disipación térmica (70°)”,
con valores en “Active Mode”de 1,5W Max.

Especificaciones físicas:

Dimensiones: 7,9 x 8,9 x 2,3 cm

Puertos: 1

9-Pin Male D-sub I/O conector: 1

Entorno

Temperatura ambiental de operación: -40°C hasta 70°C

Humedad relativa de operación: 10 hasta 90%: sin condensación

Temperatura ambiente: -40°C hasta 85°C

Humedad relativa: 5 hasta 95%: sin condensación

Aislamiento

Las especificaciones para modelos Interfases 986X tienen un aislamiento de voltaje


para un ancho de banda de 1000 Vrms y es continuo a 60 VDC.

El tipo de aislamiento tiene un valor de puerto a tierra.

Requerimientos para el cableado

El physical /layer es CAN high speed, con especificaciones de impedancia y con valores
de 108-138 ohm y 120ohm como nominal.

Terminales
El modelo NI 9862 tiene un physical layer del tipo high Speed-CAN y un
software-Selectable termination option de ninguno a 120 Ohm

Requerimiento de bus power

los requerimientos externos del bus son 9-30 VDC requerido en Vsup (9pin)

Cables y accesorios compatibles

Entre los accesorios compatibles con NI 9862 son: CAN breakout box con 14 puertos y
CAN device Simulator.

Definiciones

Existen muchas definiciones usadas, es por eso que es necesario conocer cada una de
ellas:

CiA: CAN in Automation

CAN: Controller Area Network

CANopen: es un protocolo de alto basado en CAN

COB: Communication Object. Mensaje CAN. Datos transferidos dentro del network
usados en COBs

COB-ID: COB-Identifier, único identificador de mensaje CAN. La identificación también


determina con qué prioridad el mensaje entra al network.

DS: Draft Standard

DSP: Draft Standard Proporsal

ID: Identifier

LBS: Least Significant bit/byte

LSS: Layer Setting Services

MSB: Most Significant bit/byte

NMT: Network Management. Este se encarga de inicializar el network, configuración y


la administración.

OSI: Open Systems Interconnection.

PDO: Process Data Object. Objeto usado para intercambiar procesos de datos

RTR: Remote TRansmission REquest


SDO: Service Data Object. COB que conecta el nodo de acceso a la información
contenida en el OD

SYNC: Synchronisation message

OD: Object Dictionary

RRC: Radio Remote Control

TU: Transmitting Unit

RU: Receiving Unit.

Aplicaciones de CAN

CAN fue creado en un principio para uso automotriz, por lo que su aplicación más
común es para comunicación en vehículo de dispositivos electrónicos. Sin embargo,
conforme otras industrias han observado las ventajas de CAN, han adoptado al bus
para una amplia variedad de aplicaciones. Por ejemplo, en aplicaciones ferroviarias se
utiliza CAN en vagones, tranvías, subterráneos, trenes ligeros, y trenes de distancias
largas para comunicar las unidades de las puertas o controladores de freno, unidades
de conteo de pasajeros, y más. CAN también tiene aplicaciones en aviación con los
sensores del estado del vuelo, sistemas de navegación, y computadoras de
investigación en la cabina de control. También puede encontrar buses CAN en muchas
aplicaciones aeroespaciales, que van desde el análisis de datos en vuelos a los sistemas
de control del motor de la nave como los sistemas de combustible, bombas y
actuadores lineales.

Los fabricantes de equipo médico utilizan CAN como una red embebida en los
dispositivos médicos. De hecho, algunos hospitales utilizan CAN para manejar cuartos
de operación completos. Los hospitales controlan componentes operativos del cuarto
como luces, máquinas de rayos X y camas de pacientes con sistemas basados en CAN.
CANopen también es utilizado en aplicaciones no industriales como en equipo de
laboratorio, cámaras deportivas, telescopios, puertas automáticas e incluso, máquinas
de café.

Ruido generado en el robot

Resonancia magnética en los motores paso a paso del robot


Bibliografia

http://home.hit.no/~hansha/training/labview/starter/

http://www.ni.com/tutorial/7595/en/

También podría gustarte