SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
1
SoapBox Snap
(Como convertir Arduino en un PLC)
Guía Básica de Instalación y Funcionamiento.
Prof. José Manuel Ruiz Gutiérrez
Abril 2015
2
1. Descripción de SoapBox Snap
1.1. SoapBox Snap
SoapBox Snap es una plataforma de automatización basado en PC libre y de
código abierto. Incluye un editor de "diagrama de contactos" y un "Runtime" a
la derecha de la pantalla. El editor de contactos incluye instrucciones estándar
como contactos, bobinas, temporizadores, contadores, activadores por nivel de
subida y bajada, e instrucciones set/reset. El software del "Runtime" puede
establcer comunciacion cn la tarjeta cnecatada al pC con ayuda de los drivers
de controladores para dispositivos de I/O Phidgets que se conectan
directamente a su puerto USB. SoapBox Snap también viene con un
"Runtime" para Arduino, lo que significa que pueden descargarse aplicacines
de diagramas de contactos a un Arduino (Uno, Mega o Nano) e incluso
realizar la depuración en línea y forzar estado de salidas.
Snap en realidad no es un PLC propiamente dicho pero lo emula. No es para
uso industrial. Está dirigido a la educacioon u los aficionados y diseñadores de
prototios. Si usted está familiarizado con los diagramas de contactos o en su
día trabajo con ellos (o si tiene conocimientos de tipo eléctrico) y desea incluir
la automatización en sus proyectos personales o académicos, SoapBox Snap
está pensado para usted.
SoapBox Snap está diseñado para ser modificado y ampliado. Además de ser
liberado bajo la licencia de código abierto GPL, la aplicación tiene muchos
puntos de extensión donde los programadores .NET pueden añadir nuevas
características. Los principales posibilidades de expansión del software son:
3
 Puede agregar nuevas instrucciones de lógica de escalera
 Puede agregar nuevos controladores para el Runtime
 Puede agregar nuevos Runtime de ejecución, por lo que la lógica que se
escribe con SoapBox Snap puede ejecutarse en otras plataformas de
hardware
 Puede agregar nuevos editores de lenguaje, excepto el de contactos
logicamente
SoapBox Snap utiliza un protocolo de formato de archivo y comunicación
abierto llamado Protocolo SoapBox. Está basado en XML y Secure Sockets
Layer (SSL) para que pueda ser implementada en cualquier plataforma que
soporte esas normas. Una implementación de referencia escrito en C # se
incluye en SoapBox Snap. Protocolo SoapBox es de doble licencia, bajo la
GPL (como parte de SoapBox Snap) y por separado bajo la CDDL, que le
permite utilizarlo en aplicaciones propietarias.
Requisitos previos
SoapBox Snap requiere:
 Windows XP, Vista, Windows 7, o también funcionará en Windows
Server 2003
 .NET Framework 4 (se descarga automáticamente durante la
instalación si la necesita)
 Si está en Windows 8, asegúrese de que .NET 3.5 también está
instalado
 Instale el Phidgets 32 o 64 bits del instalador de descarga , así mismo
 Descargar SoapBox
Código Fuente
SoapBox Snap está escrito en C # con Visual Studio 2010 Professional. El
código fuente está disponible a través de nuestro SVN público SVN
(Subversion) repositorio en http://svn.soapboxsnap.com/svn .
Soporte
En primer lugar, comenzar con la Introducción Tutorial .
Si usted tiene más preguntas, visite http://ask.soapboxsnap.com/ y haga su
pregunta.
4
1.2. Instalación SoapBox Snap
(Consultar el documento fuente "Getting Started" para SoapBox Snap)
SoapBox Snap es una aplicación de escritorio de Windows. Puede descargar
el programa de instalación desde la página del proyecto SoapBox Snap .
Una vez que haya descargado, haga doble clic en el programa de instalación
que ha descargado, y se instalará en su ordenador. Siga las instrucciones del
asistente de instalación. Usted también tiene que instalar los controladores de
Phidgets (escoger el apropiado 32 o 64 bits del instalador de descarga.
Inicio Rápido
La primera vez que ejecute SoapBox Snap, se abrirá la pagina de inicio
SoapBox Snap. Hay una sección de "Getting Started" , y un enlace llamado Load
Example Application. Haga clic en este enlace y se abrirá una aplicación de
ejemplo pequeño, conecte el Runtime, marque "Download the aplicatión..." en
la ventana que aparece descargarlo, inicie Runtime, y vea la ejecución de la
aplicación.
y verá la aplicación de ejemplo ejecutándose.
5
Creación de una nueva solución
Comience ejecutando SoapBox Snap: vaya a Inicio -> Archivos de programa
-> SoapBox Automation -> SoapBox Snap
Nota: si usted está interesado en utilizar SoapBox Snap programar un
Arduino con la lógica de escalera y luego ir a la SoapBox Snap Arduino
Tutorial (este documentos es el próximo epígrafe de este documento) .
Haga clic en Filer-> New ... en el menú principal. Esto abrirá una aplicación
vacía. Busque el "Solution Explorer". Es una pequeña ventana que contiene
un elemento: Solution [].
Al expandir el elemento Solution[New Solution] usted verá un elemento
llamado Runtime en su Explorador de soluciones. El icono junto al
elemento Runtime es un vínculo roto, lo que indica que usted no está
conectado con el Runtime (usted aprenderá cómo conectar a continuación).
6
Si expande la flecha (o signo más) junto al elemento Runtime, verá dos
elementos debajo de él:. Logic y Device Configuration (configuración de
dispositivos). Logic es una estructura de carpetas donde se puede añadir
"páginas" de la lógica.
También puede agregar subcarpetas a la carpeta Logic para organizar su
aplicación como quiera. Para agregar una carpeta o una página, haga clic
derecho sobre el elemento Logic y seleccione Add> Folder (Carpeta) o Page
(Pagina) respectivamente.
El orden de la lógica en el árbol es importante. Las páginas lógicas se ejecutan
en el Runtime en el mismo orden en que aparecen en el árbol.
Puede editar los nombres de las carpetas y páginas en la carpeta Logic,
seleccionando la carpeta o página en el árbol, dando dos clics seguidos sobre
el nombre se puede cambiar este. Cuando termine de introducir el nuevo
nombre, pulse Intro.
Haga doble clic sobre la pagina que seleccione para desplegar su ventana
correspondiente de edición.
7
1.3. Edición de una página: Lógica de Contactos
La primera vez que abre una página, que está vacía. Agregue su primer línea
de lógica haciendo clic derecho en cualquier lugar de la página y
eligiendo Insert a bottom> Lader Logic.
Puede insertar cualquier número de líneas. (Nota: Las líneas son a veces
llamadas Grupos de instrucciones). Puede insertar nuevas líneas en cualquier
lugar de la página, y usted puede reordenar líneas seleccionando uno,
haciendo clic derecho y seleccionando Move Selected Group Up/Move Selected
Group Down , o seleccionando una línea y usando la función de arrastrar y
soltar para moverlo hacia arriba o hacia abajo. El orden de las líneas es
importante porque se ejecutan en este orden en el Runtime.
Para añadir lógica a las líneas establecidas, necesitaremos arrastrar y soltar los
bloques de instrucción que aparecen en la parte derecha de la pantalla
dejándolos sobre la línea. Si no se ve la ventana de bloques de instrucciones
debe ir a View-> Instructions y seleccionar la opción. Arrastrando y soltando
en su lugar adecuado ira montando línea a línea su "Esquema de Contactos".
Al colocar una instrucción en una línea, SoapBox Snap da un nombre a la
instrucción. Asegúrese de cambiar el nombre, dándole uno que sea
significativo. Se le permitirá dar dos instrucciones del mismo nombre, pero si
desea hacer referencia a otra parte, esto puede resultar confuso. El rectángulo
azul por encima de la instrucción es un lugar donde se puede introducir una
8
descripción de varias líneas. Esto es generalmente una buena idea. Trate de ser
breve.
Una vez que ha escrito algo de lógica, asegúrese de guardarlo. Seleccione
File-> Save As ... en el menú principal.
El siguiente paso es descargar la aplicación en el Runtime con el que se
ejecutará ...
9
1.4. Comunicación "en línea" con el Runtime
Asumiendo que tiene una solución cargada (véase más arriba), activar el modo
"Online" con el Runtime es relativamente simple. Busque el
elemento Runtime en el Explorador de soluciones. Haga clic derecho sobre él
y seleccione Connect en el menú contextual.
Si esta es la primera vez que haya descargado algo sobre Runtime, SoapBox
Snap detectará que el Runtime está vacío. Se le preguntará si desea descargar
la aplicación. Decir que sí. Si el Runtime ya tiene una aplicación cargada, se le
preguntará si desea "upload (subir)" o "download (bajar)". En este caso,
seleccione "download".
Después de descargar, echar un vistazo a el elemento Runtime en el
Explorador de soluciones. El icono de "enlace roto" ahora debería haber
convertido en un "enlace no roto", y habrá un nuevo icono al lado que muestra
el estado de la ejecución de Runtime. Si usted ve a dos flechas verdes, el
Runtime esta siendo ejecutado, pero si usted ve un blanco 'X' en un octágono
rojo, significa que el Runtime se detiene. Para empezar, haga clic derecho
sobre el elemento Runtime y seleccione Start en el menú contextual.
10
Una vez que esté conectado con el Runtime y se esté ejecutándola aplicación,
si abre una página de diagrama de contactos ahora verá la lógica se ejecuta en
tiempo real. Usted puede hacer algunos cambios, como el nombre y la
descripción de las instrucciones, pero la mayoría de las ediciones requerirán
que desconecte.
Una vez desconectada, realice su edición, y luego vuelva a conectar,.
y seleccione la opción de download para descargar los cambios en el Runtime
Si seleccionamos la opción "Upload" de la ventana anterior lo que hacemos es
descargar la aplicación desde Arduino al PC viéndola el esquema de contactos
en la pantalla que corresponda.
11
1.5. Elementos de la Librería de bloques de Instrucción
disponibles.
Para la confección de una aplicación disponemos de los bloques siguientes:
Para incluir en cada bloque hay unos parámetros que se pueden editar simplemente
haciendo doblemente clic sobre el bloque. Algún bloque no tiene parámetros.
Pongamos algunos ejemplos de designación de parámetros de bloques.
Bloque "Contacto Normalmente Abierto".
Vemos en la figura que al hacer click sobre el contacto aparece marcado para editar y
pulsado en esa ventana se despliega una ventana de configuración de valores de la que
seleccionamos lo que corresponda.
Bobina.
12
1.6. Tutorial de SoapBox Snap controlando Arduino
Antes de poder utilizar SoapBox Snap para programar Arduino con una
aplicación de "Lenguaje de Contactos" se necesita:
 Un PC con Windows XP, Windows 7, o superior
 Un Arduino UNO , Nano o Mega (R3)
 El software de Arduino
 (Lea el de introducción tutorial si usted nunca ha usado un Arduino
antes)
 Instale la Librería Timer1 para Arduino
 Descargue e instale la Librería de controladores Phidgets - elegir el
instalador apropiado de 32 o 64 bits
 Instale SoapBox Snap (versión 6.7.2014 o posterior)
 Tenga en cuenta que si usted desea utilizar un Arduino Mega o desea
configurar algunos pines digitales como salidas analógicas (PWM), se
necesita la versión 1.11.2015 o posterior.
 Al instalar SoapBox Snap, instalará .NET 4 si no lo tiene
 Si estás en Windows 8, asegúrese de que tiene tanto el marco .NET 3.5
y 4.0 (o 4.5)
Nota: Se asume que usted está familiarizado con la lógica de contactos. No es
preciso saber de C ++.
Después de haber completado los pasos anteriores, conecte su Arduino a
través del cable USB, abra su IDE Arduino y luego abra el Firmware de
SoapBox Snap Arduino firmware, que se encuentra en esta carpeta:
C:Program Files (x86)SoapBox AutomationSoapBox SnapArduinoFirmware
Haga doble clic en el archivo "ArduinoFirmware.ino", que es un "sketch"
Arduino. Si usted tiene el software de Arduino instalado (vinculado arriba)
entonces esto va a abrir el boceto en el IDE de Arduino. Siga estos pasos para
descargar el firmware en la tarjeta Arduino:
13
1. En el menú Herramientas>Placa, asegúrese de que tiene la placa
Arduino correcta seleccionada (para que coincida con el hardware
físico).
2. En el menú Herramientas> Puerto serie, asegúrese de que tiene su
puerto serie de Arduino seleccionado (recuerde este número de puerto
para más adelante también)
14
3. Opcionalmente, si usted tiene el Nano o Mega, puede editar el archivo
BoardSelect.h y comentar la línea (//) "UNO #define" y elimine el
comentario (//), ya sea el "NANO #define" o línea "MEGA
#define". (Dos marcas de barra es un comentario: //) Esto le permitirá
utilizar todas las 8 entradas analógicas en el Nano, en lugar de sólo los
primeros 6 que están disponibles en el Uno, o usar todas las Entradas
Analogicas disponible y todas las E/S digital en la tarjeta Arduino
Mega. Si usted decide hacer esto, usted tendrá que marcar el archivo
BoardSelect.h como lectura/escritura (en lugar de sólo lectura). Tiene
que hacer esto en su sistema de archivos de Windows, no en el software
de Arduino.
15
4. Asegúrese de que haya importado la libreria Timer1. Ir al menú
seleccionar Programa> Include library-> Add .ZIP Library ... y busque
el archivo de librería TimerOne-r11.zip que descargó en la sección de
pre-requisitos arriba. (Esta operacion colocara la librería en una carpeta
dentro C:Users....DocumentsArduinolibraries llaamda TimerOne-
r11)
16
5. Ahora descargue el Firmware en Arduino
6. Si funcionó, el LED conectado al pin 13 de la tarjeta Arduino deberá
parpadear cada 1 seg. Opcionalmente, se puede conectar a la tarjeta
desde el software de Arduino usando el elemento de menú
Herramientas> Serial Monitor.
Ajuste la velocidad de transmisión en 115200. Ahora puedes escribir
algunos comandos. Trate de escribir "status" sin las comillas y presiona
Enter. Debería decir "Running = False" "EOM". También puede tratar
de "information". incluso se puede tratar de leer el estado de una
entrada ahora: "read b0" leerá el estado del pin de entrada 3, "read b1"
leerá el estado del pin de entrada 4, y así sucesivamente. "read n0"
leerá el valor de A0 entrada analógica, etc.
17
7. Ademas: pruebe el comando "device-config". Esto vuelve a leer una
lista de la configuración de E/S. Los Pines de E/S digitales de Arduino
se pueden configurar como entradas, salidas, o salidas (PWM). Por
defecto todos los pines digitales se configuran como entradas, pero se
puede cambiar un pin a una salida. Por ejemplo, si desea que el pin 8
pase a ser una salida, envíe el comando: "config-output 8". Si quieres
pin 9 para ser un análogo (PWM), envíe el comando: "config-pwm 9"
En cualquier momento, puede cambiar al estado inicial por defecto con
el comando "config-reset". Tenga en cuenta que esto sólo para fines
informativos en este momento. Tendra que hacer esto a través de
SoapBox Snap más tarde, como se verá, o todos los cambios de
configuración será eliminado de la primera vez que descarga aplicación
para el dispositivo.
8. Cuando se haya completado, puede cerrar el software de Arduino.
18
Ahora usted puede comenzar SoapBox Snap. El instalador se ha instalado un
acceso directo en el escritorio, o usted lo puede encontrar en el menú de inicio
(que es bajo la carpeta SoapBox Automation).
Al iniciar SoapBox Snap, se abre la SoapBox Snap página de inicio. A la
izquierda de la página de inicio, verá algunos enlaces. Haga clic en el enlace
"New Program". Ahora a la izquierda verás una ventana del Solution Explorer
(Explorador de aplicación). Dentro de esa ventana, el objeto de nivel superior
es Solution [New Solution]y bajo este aparece el Runtime es el
Runtime. Tenemos que empezar por cambiar las propiedades del Runtime:
1. Haga clic derecho sobre el elemento Runtime y seleccione Propiedades
... en el menú contextual
2. En la página de propiedades que se abre, hay un cuadro desplegable
Tipo. Seleccione "SoapBox Snap Arduino Runtime" de la lista
desplegable
19
3. En el cuadro de texto Address, escriba el puerto COM de comunicacion
con la tarjeta Arduino (por ejemplo, "COM3" sin las comillas)
4. Opcionalmente, en el cuadro de texto de configuración, tiene que
introducir la información de configuración de E/S. Desafortunadamente
lo que tienes que ser muy preciso aquí. Lo que hay que hacer es
especificar que pines digitales serán salidas (por defecto son todas las
entradas).Por ejemplo, si desea que los pines 7 y 8 sean salidas, tiene
que escribir en la primera línea: "config-output 7" (sin comillas) y
"config-output 8" en la línea siguiente.
5. A partir de la versión 1.11.2015, también puede configurar ciertos pines
como salidas (PWM) analógicos. Sólo algunos pines son configurables
para salidas PWM. Ellos deben estar marcados en su tarjeta
Arduino. Los pines PWM para Arduino Uno y Nano son 3, 5, 6, 9, 10 y
11. El para Arduino Mega pines PWM son de 2 a 12 y 44 a 46 (pin 13
es técnicamente un pin PWM pero se usa como un LED de estado).
20
Para configurar uno de los pines PWM como un (PWM) de salida
analógica (por ejemplo, el pin 9), la sintaxis es "config-pwm 9".
6. Haga clic en el botón Apply en la esquina inferior derecha de la ventana
de propiedades de ejecución
7. Haga clic en el icono Save Changes for this solution de la barra
de herramientas. Se le preguntará dónde desea guardar el
archivo. Usted decide en donde guardarlo.
Nota sobre la terminología: En Arduino hablamos de sketchs "uploading" ,
pero en el mundo de la "lógica de contactos" normalmente hablamos de
"downloading" programas de contactos (KOP) que descargamos sobre
PLCs. Eso significa que todo lo anterior aquí estaba hablando de la carga y
todo lo de aquí abajo está hablando acerca de la descarga, pero en realidad es
la misma dirección: desde el PC a Arduino.
Ahora usted tiene que hacer su primera descarga. Esto descargará un
programa de lógica de contactos, además de la configuración que ha
introducido, en el Arduino:
1. Asegúrese de que ha desconectado el software de Arduino Serial Port
Monitor. Si el puerto esta tomado por el IDE Arduino no será posible la
conexion con SoapBox Snap y será necesario liberar el puerto para
que la aplicacion se conecte.
21
2. Haga clic en "Runtime" en el Solution Explorer a la izquierda, y haga
clic en Connect en el menú contextual
3. Se le presentará un cuadro de diálogo de Upload/Download
(carga/descarga). Siempre seleccione "Descargar" cuando reciba este
mensaje. Este firmware no soporta la carga (a menos que usted ya ha
descargado y luego desconectada del Runtime, pero todavía tenga
SoapBox Snap abierto y tratar de volver a conectar, en cuyo caso la
carga sólo se pone de nuevo la última descarga). Es técnicamente
posible implementar la carga, pero perdería el nombre de todas sus
bobinas, etc.
4. Después de su descarga, el Runtime iniciará automáticamente el
programa de lógica de contactos (que no hará nada porque está
vacío). El LED en el pin 13 ahora será en ON, pero sin flash
brevemente una vez por segundo. Debería ver dos iconos al lado del
elemento de Runtime en el explorador de soluciones: una flecha verde
redonda que indica la lógica de escalera está en marcha, y un eslabón
de la cadena con una flecha verde que indica SoapBox Snap está
conectado con el Runtime. Tenga en cuenta que cuando usted está
conectado, el puerto COM está en uso y no se puede conectar a la placa
Arduino con cualquier otro software.
5. Debajo de Runtime en el Solution Explorer , hay un elemento llamado
"Device Configuration" (Configuración del
equipo). Haga clic derecho sobre la configuración de dispositivos y
seleccione Read Device Configuration (Leer configuración de
dispositivos en el menú contextual).
.
22
6. Se le advertirá de que no se puede hacer esta edición mientras está
conectado. Responda "sí" cuando se le pregunta si desea
desconectarse. Ahora, bajo la configuración de dispositivos, verá un
nuevo elemento llamado E/S locales.
7. Expande el elemento Local I/O y todos los elementos secundarios
haciendo clic en el signo más (+) o iconos de flecha junto a cada
elemento.
Esto es lo que el explorador de soluciones debe
ser similar, si ha utilizado la configuración que se
muestra arriba, con los pines 7 y 8 configurados
como salidas:
Ahora usted puede ir de nuevo en línea con el
Runtime y hacer algunas cosas interesantes como
monitor y obligar a los valores de E/S discretas:
1. Haga clic en el icono del disco nuevo para
guardar
2. Haga clic derecho sobre el elemento
Runtime y haga clic en Conect en el menú
contextual
3. Elija la opción "Download" de la ventana
de diálogo de "Upload/Download "
23
Ahora observa los iconos de "bombilla" junto a los pines de entrada. Si sus
pines de entrada están implicados, los indicadores de encendido/apagado se
activarna siguieno el estado de los pines de Arduino. También puede intentar
usar un puente para conectar un pin de entrada a los pines 5 V o GND para
hacer que vaya o desactivar respectivamente
También puede forzar las salidas dentro o fuera de aquí. Haga clic derecho
sobre el icono "pin7" (si se ha configurado como una salida) y elija Fuerza En
el menú contextual. El icono de la bombilla al lado pin7 se iluminará, y
aparecerá un icono de forzado (que se parece a un rayo pequeño).
Usted se dará cuenta de que si expande Discrete Outputs pines de salida, hay
un elemento debajo que dice "False" de forma predeterminada. Aquí es donde
se conecta esta salida a su lógica. Por defecto, la salida es impulsado por una
señal "False" no modificable, por lo menos que lo fuerzas, la salida estará
apagado. Usted puede cambiar esto a una constante "True" (siempre
encendido, a menos forzado desactivado), o se puede conectar directamente a
un pin de entrada, o una señal (como una bobina) en su lógica. Para cambiar la
conexión, haga doble clic en donde dice "Falso", y esto se abrirá un cuadro de
diálogo Signal Chooser (selector de señal). La primera opción es un valor
codificado (introduce True o False), o puede utilizar la opción inferior y
seleccione una bobina de su lógica (PIN6 en la figura), o una de las señales de
entrada.
24
Una nota sobre las "Señales": en los PLCs tradicionales con frecuencia se
habla de bits, etiquetas, direcciones o ubicaciones de memoria. Si bien esto es
cierto en un nivel muy bajo en el Runtime, SoapBox Snap crea
implícitamente estas cosas cuando sea necesario y usted no tiene que
preocuparse por ellos. Al colocar una bobina en una linea de programación,
asigna implícitamente un poco de memoria y asigna automáticamente la
"señal", el nombre que le dan a la bobina. Eso significa que usted puede
pensar en la bobina, la señal, y la ubicación de memoria que almacena el
estado de esa variable como todo uno y el mismo. Es sólo "una bobina". Al
colocar un contacto en una línea, utilice el Selector de señal (o simplemente
escriba el nombre de la señal utilizando el cuadro de texto de autocompletar)
para seleccionar una bobina u otra señal booleana para hacer referencia en ese
contacto. Del mismo modo, cuando se utiliza una instrucción de flanco
ascendente, no es necesario asignar una ubicación de memoria especial para
guardar el estado, ya que esto se hace para usted. Contadores y cronómetros
funcionan de la misma forma, excepto que implícitamente definen más de una
señal de cada uno, tales como señales booleanas "Done" y "valor actual"
señales numéricas. Uno de los beneficios de la asignación de la memoria
implícita es que evita que el "error de principiante" de utilizar la misma
ubicación de memoria en dos instrucciones de bobina diferentes. Lo más
importante es que significa que usted puede centrarse en escribir la lógica de
escalera en lugar de gestionar la memoria y las etiquetas.
Escribir un programa en Lógica de Contactos para el Runtime de Arduino es
el mismo que para el Runtime de software que se incluye en SoapBox
Snap. Abra la página principal del Lenguaje de Contactos mediante la
expansión del árbol Solution Explorer bajo Runtime-> Lógic y haga doble
clic en el elemento principal.
25
Un solo renglón vacío se habrá creado por defecto. Las instrucciones
disponibles aparecen en una lista visual a la derecha. Usted puede arrastrar y
soltar estas instrucciones en el renglón. Nuevos peldaños se pueden agregar
haciendo clic derecho en el editor de escalera y con el menú contextual.
Todas las instrucciones excepto "Find Text (Buscar texto)" trabajará con el
Runtime de Arduino (no tiene ningún uso para las instrucciones de Cuerda en
este momento). Tenga en cuenta que cada línea se llama un "grupo" o "grupo
de instrucciones" .
SoapBox Snap admite la depuración en línea, pero no la edición en línea, así
que tienes que desconectar para hacer los cambios y luego conecte
nuevamente para descargar los cambios.
Algunas cosas a tener en cuenta:
 El programa de lógica de Lenguaje de Contactos se almacena en la
memoria EEPROM del Arduino, por lo que no se borrará ante un
reinicio o un corte de energía
 No hay una "retención" o memoria "persistente", por lo que todas las
bobinas, temporizadores, contadores, etc. volverán a los valores por
defecto, cuando se produzca una descarga o se apague la alimentación.
 Conexión a la Arduino con SoapBox Snap no causa un reset, pero la
conexión con Serial Port Monitor del Software Arduino si.
 La versión actual del Runtime limita el tamaño del programa de lógica
de contactos a 750 bytes (3.750 en la Mega), incluyendo
cabeceras. Esto equivale a alrededor de 50 líneas de contacto (250 para
26
Arduino Mega), pero esto, obviamente, depende en gran medida de la
complejidad de sus aplicaciones.
 Si quiere ver lo grande que es el programa descargado, conéctese al
Runtime con el software de Arduino Serial Port Montor, transferencia
ajustada a 115.200, final de línea a NL y CR y escriba "information"
sin las comillas, y pulse Enter. Entre la información reportada será el
tamaño máximo y el tamaño actual del programa.
 Pin 13 está codificado para ser el LED de control por lo que no esta
disponible. Asimismo, los pines 0 y 1 están codificados para ser
utilizado por el puerto de serie del hardware, por lo que los pines
disponibles son sólo del 2 al 12 (más las entradas analógicas). En
Arduino Mega tiene 16 entradas analógicas y pines adicionales 14 a 53.
José Manuel Ruiz Gutiérrez
Abril 2015. Ver1
Este trabajo está bajo licencia Creative Commons Attribution 3.0 Unported License)

Más contenido relacionado

La actualidad más candente

MATRIZ LED 4x10 CON ARDUINO - ATMEGA328P
MATRIZ LED 4x10 CON ARDUINO - ATMEGA328PMATRIZ LED 4x10 CON ARDUINO - ATMEGA328P
MATRIZ LED 4x10 CON ARDUINO - ATMEGA328PFernando Marcos Marcos
 
Essentials Virtual Desktop EN ESPAÑOL.
Essentials Virtual Desktop EN ESPAÑOL.Essentials Virtual Desktop EN ESPAÑOL.
Essentials Virtual Desktop EN ESPAÑOL.Wendy Barco
 
Proyecto: Robot seguidor de línea
Proyecto: Robot seguidor de líneaProyecto: Robot seguidor de línea
Proyecto: Robot seguidor de líneaFrancesc Perez
 
métodos de sintonización de controladores P, PI, PD, PID.
métodos de sintonización de  controladores P, PI, PD, PID.métodos de sintonización de  controladores P, PI, PD, PID.
métodos de sintonización de controladores P, PI, PD, PID.Alejandro Flores
 
Interruptores de transferencia automática
Interruptores de transferencia automáticaInterruptores de transferencia automática
Interruptores de transferencia automáticaJaime F. Alvarido
 
Protocolos de comunicación para PLCs
Protocolos de comunicación para PLCsProtocolos de comunicación para PLCs
Protocolos de comunicación para PLCsUDO Monagas
 
compuertas logicas
compuertas logicascompuertas logicas
compuertas logicasbamz19
 
Contador del 0 al 99
Contador del 0 al 99Contador del 0 al 99
Contador del 0 al 99Leida Zuñiga
 
Transistores mosfet
Transistores mosfetTransistores mosfet
Transistores mosfetgoogleport
 
Definicion de plc historia y tipos
Definicion de plc historia y tiposDefinicion de plc historia y tipos
Definicion de plc historia y tiposDocumentosAreas4
 
Ud 02 esquemas electricos
Ud 02 esquemas electricosUd 02 esquemas electricos
Ud 02 esquemas electricosvicpecas
 
Técnicas y procesos en instalaciones eléctricas
Técnicas y procesos en instalaciones eléctricasTécnicas y procesos en instalaciones eléctricas
Técnicas y procesos en instalaciones eléctricasjose jimenez
 
Los circuitos integrados
Los circuitos integradosLos circuitos integrados
Los circuitos integradosJomicast
 

La actualidad más candente (20)

Interbus
InterbusInterbus
Interbus
 
Trabajo sobre Flip Flop
Trabajo sobre Flip FlopTrabajo sobre Flip Flop
Trabajo sobre Flip Flop
 
protoboard
protoboardprotoboard
protoboard
 
MATRIZ LED 4x10 CON ARDUINO - ATMEGA328P
MATRIZ LED 4x10 CON ARDUINO - ATMEGA328PMATRIZ LED 4x10 CON ARDUINO - ATMEGA328P
MATRIZ LED 4x10 CON ARDUINO - ATMEGA328P
 
Essentials Virtual Desktop EN ESPAÑOL.
Essentials Virtual Desktop EN ESPAÑOL.Essentials Virtual Desktop EN ESPAÑOL.
Essentials Virtual Desktop EN ESPAÑOL.
 
SENSORES INDUSTRIALES.pdf
SENSORES INDUSTRIALES.pdfSENSORES INDUSTRIALES.pdf
SENSORES INDUSTRIALES.pdf
 
Proyecto: Robot seguidor de línea
Proyecto: Robot seguidor de líneaProyecto: Robot seguidor de línea
Proyecto: Robot seguidor de línea
 
métodos de sintonización de controladores P, PI, PD, PID.
métodos de sintonización de  controladores P, PI, PD, PID.métodos de sintonización de  controladores P, PI, PD, PID.
métodos de sintonización de controladores P, PI, PD, PID.
 
Interruptores de transferencia automática
Interruptores de transferencia automáticaInterruptores de transferencia automática
Interruptores de transferencia automática
 
Protocolos de comunicación para PLCs
Protocolos de comunicación para PLCsProtocolos de comunicación para PLCs
Protocolos de comunicación para PLCs
 
compuertas logicas
compuertas logicascompuertas logicas
compuertas logicas
 
Contador del 0 al 99
Contador del 0 al 99Contador del 0 al 99
Contador del 0 al 99
 
Reporte compuertas logicas
Reporte compuertas logicas Reporte compuertas logicas
Reporte compuertas logicas
 
Transistores mosfet
Transistores mosfetTransistores mosfet
Transistores mosfet
 
Definicion de plc historia y tipos
Definicion de plc historia y tiposDefinicion de plc historia y tipos
Definicion de plc historia y tipos
 
Ud 02 esquemas electricos
Ud 02 esquemas electricosUd 02 esquemas electricos
Ud 02 esquemas electricos
 
Técnicas y procesos en instalaciones eléctricas
Técnicas y procesos en instalaciones eléctricasTécnicas y procesos en instalaciones eléctricas
Técnicas y procesos en instalaciones eléctricas
 
3.2. Operacion del Transistor BJT
3.2. Operacion del Transistor BJT3.2. Operacion del Transistor BJT
3.2. Operacion del Transistor BJT
 
Los circuitos integrados
Los circuitos integradosLos circuitos integrados
Los circuitos integrados
 
Lista de ejercicios ca de simu
Lista de ejercicios ca de simuLista de ejercicios ca de simu
Lista de ejercicios ca de simu
 

Similar a Arduino PLC: Manual Guía de Soapbox snap

Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarEduardo Méndez
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarJuan Hoyos
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarblasty2
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programarblasty2
 
PASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTMLPASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTMLfelipeforero72
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminadoLEFR202
 
Instalacion de java y sus herramientas
Instalacion de java y sus herramientasInstalacion de java y sus herramientas
Instalacion de java y sus herramientasJuan Diaz Calixtro
 
Diseno implementacion modulo_hernandez_2011_anexo_a
Diseno implementacion modulo_hernandez_2011_anexo_aDiseno implementacion modulo_hernandez_2011_anexo_a
Diseno implementacion modulo_hernandez_2011_anexo_amanuel rivera rivera arce
 
Manual_java.pdf
Manual_java.pdfManual_java.pdf
Manual_java.pdfAnaLpez275
 
Manual para visual_c_luis_ocampo
Manual para visual_c_luis_ocampoManual para visual_c_luis_ocampo
Manual para visual_c_luis_ocampoluis_ocampo27
 
Mplab v8.00
Mplab v8.00Mplab v8.00
Mplab v8.00SERC1322
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigoLiliana Nieto
 
[..Tuto..] Pgs4a-0.9.4 en Ubuntu 12.04 precise instalación
[..Tuto..] Pgs4a-0.9.4 en Ubuntu 12.04 precise instalación[..Tuto..] Pgs4a-0.9.4 en Ubuntu 12.04 precise instalación
[..Tuto..] Pgs4a-0.9.4 en Ubuntu 12.04 precise instalaciónIvan Dragogear
 

Similar a Arduino PLC: Manual Guía de Soapbox snap (20)

Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
Tutorial aprendiendo a programar
Tutorial aprendiendo a programarTutorial aprendiendo a programar
Tutorial aprendiendo a programar
 
PASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTMLPASOS PARA LA SOLUCION DE PROBLEMAS - HTML
PASOS PARA LA SOLUCION DE PROBLEMAS - HTML
 
Informatica
InformaticaInformatica
Informatica
 
PLC Alternativo
PLC AlternativoPLC Alternativo
PLC Alternativo
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminado
 
Code bloks tutorial_terminado
Code bloks tutorial_terminadoCode bloks tutorial_terminado
Code bloks tutorial_terminado
 
Instalacion de java y sus herramientas
Instalacion de java y sus herramientasInstalacion de java y sus herramientas
Instalacion de java y sus herramientas
 
Rs logix 500
Rs logix 500Rs logix 500
Rs logix 500
 
REPORTES
REPORTESREPORTES
REPORTES
 
Diseno implementacion modulo_hernandez_2011_anexo_a
Diseno implementacion modulo_hernandez_2011_anexo_aDiseno implementacion modulo_hernandez_2011_anexo_a
Diseno implementacion modulo_hernandez_2011_anexo_a
 
Manual_java.pdf
Manual_java.pdfManual_java.pdf
Manual_java.pdf
 
Manual para visual_c_luis_ocampo
Manual para visual_c_luis_ocampoManual para visual_c_luis_ocampo
Manual para visual_c_luis_ocampo
 
Mplab v8.00
Mplab v8.00Mplab v8.00
Mplab v8.00
 
Mplab v8.00
Mplab v8.00Mplab v8.00
Mplab v8.00
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigo
 
[..Tuto..] Pgs4a-0.9.4 en Ubuntu 12.04 precise instalación
[..Tuto..] Pgs4a-0.9.4 en Ubuntu 12.04 precise instalación[..Tuto..] Pgs4a-0.9.4 en Ubuntu 12.04 precise instalación
[..Tuto..] Pgs4a-0.9.4 en Ubuntu 12.04 precise instalación
 
Tutorial net beans
Tutorial net beansTutorial net beans
Tutorial net beans
 

Más de SANTIAGO PABLO ALBERTO

Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaSANTIAGO PABLO ALBERTO
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez SANTIAGO PABLO ALBERTO
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio PereiraSANTIAGO PABLO ALBERTO
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...SANTIAGO PABLO ALBERTO
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1SANTIAGO PABLO ALBERTO
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTSANTIAGO PABLO ALBERTO
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...SANTIAGO PABLO ALBERTO
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...SANTIAGO PABLO ALBERTO
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...SANTIAGO PABLO ALBERTO
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...SANTIAGO PABLO ALBERTO
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...SANTIAGO PABLO ALBERTO
 

Más de SANTIAGO PABLO ALBERTO (20)

secuencia electroneumática parte 1
secuencia electroneumática parte 1secuencia electroneumática parte 1
secuencia electroneumática parte 1
 
secuencia electroneumática parte 2
secuencia electroneumática parte 2secuencia electroneumática parte 2
secuencia electroneumática parte 2
 
Manual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzadaManual de teoría y practica electroneumática avanzada
Manual de teoría y practica electroneumática avanzada
 
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez Programacion de PLC basado en Rslogix 500 por Roni Domínguez
Programacion de PLC basado en Rslogix 500 por Roni Domínguez
 
Programación de microcontroladores PIC en C con Fabio Pereira
Programación de microcontroladores PIC en  C con Fabio PereiraProgramación de microcontroladores PIC en  C con Fabio Pereira
Programación de microcontroladores PIC en C con Fabio Pereira
 
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
Análisis y Diseño de Sistemas de Control Digital por Ricardo Fernandez del Bu...
 
Arduino: Arduino de cero a experto
Arduino: Arduino de cero a expertoArduino: Arduino de cero a experto
Arduino: Arduino de cero a experto
 
Fisica I
Fisica IFisica I
Fisica I
 
Quimica.pdf
Quimica.pdfQuimica.pdf
Quimica.pdf
 
Manual básico PLC OMRON
Manual básico PLC OMRON Manual básico PLC OMRON
Manual básico PLC OMRON
 
Programación de autómatas PLC OMRON CJ/CP1
Programación de  autómatas PLC OMRON CJ/CP1Programación de  autómatas PLC OMRON CJ/CP1
Programación de autómatas PLC OMRON CJ/CP1
 
Manual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMARTManual del sistema del controlador programable S7-200 SMART
Manual del sistema del controlador programable S7-200 SMART
 
Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART Catálogo de PLC S7-200 SMART
Catálogo de PLC S7-200 SMART
 
PLC: Automatismos industriales
PLC: Automatismos industrialesPLC: Automatismos industriales
PLC: Automatismos industriales
 
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
PLC: Buses industriales y de campo practicas de laboratorio por Jose Miguel R...
 
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...PLC y Electroneumática: Electricidad y Automatismo eléctrico por  Luis Miguel...
PLC y Electroneumática: Electricidad y Automatismo eléctrico por Luis Miguel...
 
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
Electrónica: Diseño y desarrollo de circuitos impresos con Kicad por Miguel P...
 
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
PLC: Diseño, construcción y control de un motor doble Dahlander(cuatro veloci...
 
PLC: Motor Dahlander
PLC: Motor DahlanderPLC: Motor Dahlander
PLC: Motor Dahlander
 
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...Electrónica digital:  Introducción a la Lógica Digital - Teoría, Problemas y ...
Electrónica digital: Introducción a la Lógica Digital - Teoría, Problemas y ...
 

Último

LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfAdelaHerrera9
 
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIACOMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIARafaelPaco2
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdfEdwinAlexanderSnchez2
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfssuserc34f44
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Francisco Javier Mora Serrano
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTFundación YOD YOD
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfErikNivor
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaXjoseantonio01jossed
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdfAnthonyTiclia
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfZamiertCruzSuyo
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 

Último (20)

LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
 
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIACOMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
COMPONENTES DE LA VIA FERREA UAJMS - BOLIVIA
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf183045401-Terminal-Terrestre-de-Trujillo.pdf
183045401-Terminal-Terrestre-de-Trujillo.pdf
 
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdfCE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
CE.040 DRENAJE PLUVIAL_RM 126-2021-VIVIENDA.pdf
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
Hanns Recabarren Diaz (2024), Implementación de una herramienta de realidad v...
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
Una estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NISTUna estrategia de seguridad en la nube alineada al NIST
Una estrategia de seguridad en la nube alineada al NIST
 
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdfCONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
CONSTRUCCIONES II - SEMANA 01 - REGLAMENTO NACIONAL DE EDIFICACIONES.pdf
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctricaProyecto de iluminación "guia" para proyectos de ingeniería eléctrica
Proyecto de iluminación "guia" para proyectos de ingeniería eléctrica
 
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
2. UPN PPT - SEMANA 02 GESTION DE PROYECTOS MG CHERYL QUEZADA(1).pdf
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 

Arduino PLC: Manual Guía de Soapbox snap

  • 1. 1 SoapBox Snap (Como convertir Arduino en un PLC) Guía Básica de Instalación y Funcionamiento. Prof. José Manuel Ruiz Gutiérrez Abril 2015
  • 2. 2 1. Descripción de SoapBox Snap 1.1. SoapBox Snap SoapBox Snap es una plataforma de automatización basado en PC libre y de código abierto. Incluye un editor de "diagrama de contactos" y un "Runtime" a la derecha de la pantalla. El editor de contactos incluye instrucciones estándar como contactos, bobinas, temporizadores, contadores, activadores por nivel de subida y bajada, e instrucciones set/reset. El software del "Runtime" puede establcer comunciacion cn la tarjeta cnecatada al pC con ayuda de los drivers de controladores para dispositivos de I/O Phidgets que se conectan directamente a su puerto USB. SoapBox Snap también viene con un "Runtime" para Arduino, lo que significa que pueden descargarse aplicacines de diagramas de contactos a un Arduino (Uno, Mega o Nano) e incluso realizar la depuración en línea y forzar estado de salidas. Snap en realidad no es un PLC propiamente dicho pero lo emula. No es para uso industrial. Está dirigido a la educacioon u los aficionados y diseñadores de prototios. Si usted está familiarizado con los diagramas de contactos o en su día trabajo con ellos (o si tiene conocimientos de tipo eléctrico) y desea incluir la automatización en sus proyectos personales o académicos, SoapBox Snap está pensado para usted. SoapBox Snap está diseñado para ser modificado y ampliado. Además de ser liberado bajo la licencia de código abierto GPL, la aplicación tiene muchos puntos de extensión donde los programadores .NET pueden añadir nuevas características. Los principales posibilidades de expansión del software son:
  • 3. 3  Puede agregar nuevas instrucciones de lógica de escalera  Puede agregar nuevos controladores para el Runtime  Puede agregar nuevos Runtime de ejecución, por lo que la lógica que se escribe con SoapBox Snap puede ejecutarse en otras plataformas de hardware  Puede agregar nuevos editores de lenguaje, excepto el de contactos logicamente SoapBox Snap utiliza un protocolo de formato de archivo y comunicación abierto llamado Protocolo SoapBox. Está basado en XML y Secure Sockets Layer (SSL) para que pueda ser implementada en cualquier plataforma que soporte esas normas. Una implementación de referencia escrito en C # se incluye en SoapBox Snap. Protocolo SoapBox es de doble licencia, bajo la GPL (como parte de SoapBox Snap) y por separado bajo la CDDL, que le permite utilizarlo en aplicaciones propietarias. Requisitos previos SoapBox Snap requiere:  Windows XP, Vista, Windows 7, o también funcionará en Windows Server 2003  .NET Framework 4 (se descarga automáticamente durante la instalación si la necesita)  Si está en Windows 8, asegúrese de que .NET 3.5 también está instalado  Instale el Phidgets 32 o 64 bits del instalador de descarga , así mismo  Descargar SoapBox Código Fuente SoapBox Snap está escrito en C # con Visual Studio 2010 Professional. El código fuente está disponible a través de nuestro SVN público SVN (Subversion) repositorio en http://svn.soapboxsnap.com/svn . Soporte En primer lugar, comenzar con la Introducción Tutorial . Si usted tiene más preguntas, visite http://ask.soapboxsnap.com/ y haga su pregunta.
  • 4. 4 1.2. Instalación SoapBox Snap (Consultar el documento fuente "Getting Started" para SoapBox Snap) SoapBox Snap es una aplicación de escritorio de Windows. Puede descargar el programa de instalación desde la página del proyecto SoapBox Snap . Una vez que haya descargado, haga doble clic en el programa de instalación que ha descargado, y se instalará en su ordenador. Siga las instrucciones del asistente de instalación. Usted también tiene que instalar los controladores de Phidgets (escoger el apropiado 32 o 64 bits del instalador de descarga. Inicio Rápido La primera vez que ejecute SoapBox Snap, se abrirá la pagina de inicio SoapBox Snap. Hay una sección de "Getting Started" , y un enlace llamado Load Example Application. Haga clic en este enlace y se abrirá una aplicación de ejemplo pequeño, conecte el Runtime, marque "Download the aplicatión..." en la ventana que aparece descargarlo, inicie Runtime, y vea la ejecución de la aplicación. y verá la aplicación de ejemplo ejecutándose.
  • 5. 5 Creación de una nueva solución Comience ejecutando SoapBox Snap: vaya a Inicio -> Archivos de programa -> SoapBox Automation -> SoapBox Snap Nota: si usted está interesado en utilizar SoapBox Snap programar un Arduino con la lógica de escalera y luego ir a la SoapBox Snap Arduino Tutorial (este documentos es el próximo epígrafe de este documento) . Haga clic en Filer-> New ... en el menú principal. Esto abrirá una aplicación vacía. Busque el "Solution Explorer". Es una pequeña ventana que contiene un elemento: Solution []. Al expandir el elemento Solution[New Solution] usted verá un elemento llamado Runtime en su Explorador de soluciones. El icono junto al elemento Runtime es un vínculo roto, lo que indica que usted no está conectado con el Runtime (usted aprenderá cómo conectar a continuación).
  • 6. 6 Si expande la flecha (o signo más) junto al elemento Runtime, verá dos elementos debajo de él:. Logic y Device Configuration (configuración de dispositivos). Logic es una estructura de carpetas donde se puede añadir "páginas" de la lógica. También puede agregar subcarpetas a la carpeta Logic para organizar su aplicación como quiera. Para agregar una carpeta o una página, haga clic derecho sobre el elemento Logic y seleccione Add> Folder (Carpeta) o Page (Pagina) respectivamente. El orden de la lógica en el árbol es importante. Las páginas lógicas se ejecutan en el Runtime en el mismo orden en que aparecen en el árbol. Puede editar los nombres de las carpetas y páginas en la carpeta Logic, seleccionando la carpeta o página en el árbol, dando dos clics seguidos sobre el nombre se puede cambiar este. Cuando termine de introducir el nuevo nombre, pulse Intro. Haga doble clic sobre la pagina que seleccione para desplegar su ventana correspondiente de edición.
  • 7. 7 1.3. Edición de una página: Lógica de Contactos La primera vez que abre una página, que está vacía. Agregue su primer línea de lógica haciendo clic derecho en cualquier lugar de la página y eligiendo Insert a bottom> Lader Logic. Puede insertar cualquier número de líneas. (Nota: Las líneas son a veces llamadas Grupos de instrucciones). Puede insertar nuevas líneas en cualquier lugar de la página, y usted puede reordenar líneas seleccionando uno, haciendo clic derecho y seleccionando Move Selected Group Up/Move Selected Group Down , o seleccionando una línea y usando la función de arrastrar y soltar para moverlo hacia arriba o hacia abajo. El orden de las líneas es importante porque se ejecutan en este orden en el Runtime. Para añadir lógica a las líneas establecidas, necesitaremos arrastrar y soltar los bloques de instrucción que aparecen en la parte derecha de la pantalla dejándolos sobre la línea. Si no se ve la ventana de bloques de instrucciones debe ir a View-> Instructions y seleccionar la opción. Arrastrando y soltando en su lugar adecuado ira montando línea a línea su "Esquema de Contactos". Al colocar una instrucción en una línea, SoapBox Snap da un nombre a la instrucción. Asegúrese de cambiar el nombre, dándole uno que sea significativo. Se le permitirá dar dos instrucciones del mismo nombre, pero si desea hacer referencia a otra parte, esto puede resultar confuso. El rectángulo azul por encima de la instrucción es un lugar donde se puede introducir una
  • 8. 8 descripción de varias líneas. Esto es generalmente una buena idea. Trate de ser breve. Una vez que ha escrito algo de lógica, asegúrese de guardarlo. Seleccione File-> Save As ... en el menú principal. El siguiente paso es descargar la aplicación en el Runtime con el que se ejecutará ...
  • 9. 9 1.4. Comunicación "en línea" con el Runtime Asumiendo que tiene una solución cargada (véase más arriba), activar el modo "Online" con el Runtime es relativamente simple. Busque el elemento Runtime en el Explorador de soluciones. Haga clic derecho sobre él y seleccione Connect en el menú contextual. Si esta es la primera vez que haya descargado algo sobre Runtime, SoapBox Snap detectará que el Runtime está vacío. Se le preguntará si desea descargar la aplicación. Decir que sí. Si el Runtime ya tiene una aplicación cargada, se le preguntará si desea "upload (subir)" o "download (bajar)". En este caso, seleccione "download". Después de descargar, echar un vistazo a el elemento Runtime en el Explorador de soluciones. El icono de "enlace roto" ahora debería haber convertido en un "enlace no roto", y habrá un nuevo icono al lado que muestra el estado de la ejecución de Runtime. Si usted ve a dos flechas verdes, el Runtime esta siendo ejecutado, pero si usted ve un blanco 'X' en un octágono rojo, significa que el Runtime se detiene. Para empezar, haga clic derecho sobre el elemento Runtime y seleccione Start en el menú contextual.
  • 10. 10 Una vez que esté conectado con el Runtime y se esté ejecutándola aplicación, si abre una página de diagrama de contactos ahora verá la lógica se ejecuta en tiempo real. Usted puede hacer algunos cambios, como el nombre y la descripción de las instrucciones, pero la mayoría de las ediciones requerirán que desconecte. Una vez desconectada, realice su edición, y luego vuelva a conectar,. y seleccione la opción de download para descargar los cambios en el Runtime Si seleccionamos la opción "Upload" de la ventana anterior lo que hacemos es descargar la aplicación desde Arduino al PC viéndola el esquema de contactos en la pantalla que corresponda.
  • 11. 11 1.5. Elementos de la Librería de bloques de Instrucción disponibles. Para la confección de una aplicación disponemos de los bloques siguientes: Para incluir en cada bloque hay unos parámetros que se pueden editar simplemente haciendo doblemente clic sobre el bloque. Algún bloque no tiene parámetros. Pongamos algunos ejemplos de designación de parámetros de bloques. Bloque "Contacto Normalmente Abierto". Vemos en la figura que al hacer click sobre el contacto aparece marcado para editar y pulsado en esa ventana se despliega una ventana de configuración de valores de la que seleccionamos lo que corresponda. Bobina.
  • 12. 12 1.6. Tutorial de SoapBox Snap controlando Arduino Antes de poder utilizar SoapBox Snap para programar Arduino con una aplicación de "Lenguaje de Contactos" se necesita:  Un PC con Windows XP, Windows 7, o superior  Un Arduino UNO , Nano o Mega (R3)  El software de Arduino  (Lea el de introducción tutorial si usted nunca ha usado un Arduino antes)  Instale la Librería Timer1 para Arduino  Descargue e instale la Librería de controladores Phidgets - elegir el instalador apropiado de 32 o 64 bits  Instale SoapBox Snap (versión 6.7.2014 o posterior)  Tenga en cuenta que si usted desea utilizar un Arduino Mega o desea configurar algunos pines digitales como salidas analógicas (PWM), se necesita la versión 1.11.2015 o posterior.  Al instalar SoapBox Snap, instalará .NET 4 si no lo tiene  Si estás en Windows 8, asegúrese de que tiene tanto el marco .NET 3.5 y 4.0 (o 4.5) Nota: Se asume que usted está familiarizado con la lógica de contactos. No es preciso saber de C ++. Después de haber completado los pasos anteriores, conecte su Arduino a través del cable USB, abra su IDE Arduino y luego abra el Firmware de SoapBox Snap Arduino firmware, que se encuentra en esta carpeta: C:Program Files (x86)SoapBox AutomationSoapBox SnapArduinoFirmware Haga doble clic en el archivo "ArduinoFirmware.ino", que es un "sketch" Arduino. Si usted tiene el software de Arduino instalado (vinculado arriba) entonces esto va a abrir el boceto en el IDE de Arduino. Siga estos pasos para descargar el firmware en la tarjeta Arduino:
  • 13. 13 1. En el menú Herramientas>Placa, asegúrese de que tiene la placa Arduino correcta seleccionada (para que coincida con el hardware físico). 2. En el menú Herramientas> Puerto serie, asegúrese de que tiene su puerto serie de Arduino seleccionado (recuerde este número de puerto para más adelante también)
  • 14. 14 3. Opcionalmente, si usted tiene el Nano o Mega, puede editar el archivo BoardSelect.h y comentar la línea (//) "UNO #define" y elimine el comentario (//), ya sea el "NANO #define" o línea "MEGA #define". (Dos marcas de barra es un comentario: //) Esto le permitirá utilizar todas las 8 entradas analógicas en el Nano, en lugar de sólo los primeros 6 que están disponibles en el Uno, o usar todas las Entradas Analogicas disponible y todas las E/S digital en la tarjeta Arduino Mega. Si usted decide hacer esto, usted tendrá que marcar el archivo BoardSelect.h como lectura/escritura (en lugar de sólo lectura). Tiene que hacer esto en su sistema de archivos de Windows, no en el software de Arduino.
  • 15. 15 4. Asegúrese de que haya importado la libreria Timer1. Ir al menú seleccionar Programa> Include library-> Add .ZIP Library ... y busque el archivo de librería TimerOne-r11.zip que descargó en la sección de pre-requisitos arriba. (Esta operacion colocara la librería en una carpeta dentro C:Users....DocumentsArduinolibraries llaamda TimerOne- r11)
  • 16. 16 5. Ahora descargue el Firmware en Arduino 6. Si funcionó, el LED conectado al pin 13 de la tarjeta Arduino deberá parpadear cada 1 seg. Opcionalmente, se puede conectar a la tarjeta desde el software de Arduino usando el elemento de menú Herramientas> Serial Monitor. Ajuste la velocidad de transmisión en 115200. Ahora puedes escribir algunos comandos. Trate de escribir "status" sin las comillas y presiona Enter. Debería decir "Running = False" "EOM". También puede tratar de "information". incluso se puede tratar de leer el estado de una entrada ahora: "read b0" leerá el estado del pin de entrada 3, "read b1" leerá el estado del pin de entrada 4, y así sucesivamente. "read n0" leerá el valor de A0 entrada analógica, etc.
  • 17. 17 7. Ademas: pruebe el comando "device-config". Esto vuelve a leer una lista de la configuración de E/S. Los Pines de E/S digitales de Arduino se pueden configurar como entradas, salidas, o salidas (PWM). Por defecto todos los pines digitales se configuran como entradas, pero se puede cambiar un pin a una salida. Por ejemplo, si desea que el pin 8 pase a ser una salida, envíe el comando: "config-output 8". Si quieres pin 9 para ser un análogo (PWM), envíe el comando: "config-pwm 9" En cualquier momento, puede cambiar al estado inicial por defecto con el comando "config-reset". Tenga en cuenta que esto sólo para fines informativos en este momento. Tendra que hacer esto a través de SoapBox Snap más tarde, como se verá, o todos los cambios de configuración será eliminado de la primera vez que descarga aplicación para el dispositivo. 8. Cuando se haya completado, puede cerrar el software de Arduino.
  • 18. 18 Ahora usted puede comenzar SoapBox Snap. El instalador se ha instalado un acceso directo en el escritorio, o usted lo puede encontrar en el menú de inicio (que es bajo la carpeta SoapBox Automation). Al iniciar SoapBox Snap, se abre la SoapBox Snap página de inicio. A la izquierda de la página de inicio, verá algunos enlaces. Haga clic en el enlace "New Program". Ahora a la izquierda verás una ventana del Solution Explorer (Explorador de aplicación). Dentro de esa ventana, el objeto de nivel superior es Solution [New Solution]y bajo este aparece el Runtime es el Runtime. Tenemos que empezar por cambiar las propiedades del Runtime: 1. Haga clic derecho sobre el elemento Runtime y seleccione Propiedades ... en el menú contextual 2. En la página de propiedades que se abre, hay un cuadro desplegable Tipo. Seleccione "SoapBox Snap Arduino Runtime" de la lista desplegable
  • 19. 19 3. En el cuadro de texto Address, escriba el puerto COM de comunicacion con la tarjeta Arduino (por ejemplo, "COM3" sin las comillas) 4. Opcionalmente, en el cuadro de texto de configuración, tiene que introducir la información de configuración de E/S. Desafortunadamente lo que tienes que ser muy preciso aquí. Lo que hay que hacer es especificar que pines digitales serán salidas (por defecto son todas las entradas).Por ejemplo, si desea que los pines 7 y 8 sean salidas, tiene que escribir en la primera línea: "config-output 7" (sin comillas) y "config-output 8" en la línea siguiente. 5. A partir de la versión 1.11.2015, también puede configurar ciertos pines como salidas (PWM) analógicos. Sólo algunos pines son configurables para salidas PWM. Ellos deben estar marcados en su tarjeta Arduino. Los pines PWM para Arduino Uno y Nano son 3, 5, 6, 9, 10 y 11. El para Arduino Mega pines PWM son de 2 a 12 y 44 a 46 (pin 13 es técnicamente un pin PWM pero se usa como un LED de estado).
  • 20. 20 Para configurar uno de los pines PWM como un (PWM) de salida analógica (por ejemplo, el pin 9), la sintaxis es "config-pwm 9". 6. Haga clic en el botón Apply en la esquina inferior derecha de la ventana de propiedades de ejecución 7. Haga clic en el icono Save Changes for this solution de la barra de herramientas. Se le preguntará dónde desea guardar el archivo. Usted decide en donde guardarlo. Nota sobre la terminología: En Arduino hablamos de sketchs "uploading" , pero en el mundo de la "lógica de contactos" normalmente hablamos de "downloading" programas de contactos (KOP) que descargamos sobre PLCs. Eso significa que todo lo anterior aquí estaba hablando de la carga y todo lo de aquí abajo está hablando acerca de la descarga, pero en realidad es la misma dirección: desde el PC a Arduino. Ahora usted tiene que hacer su primera descarga. Esto descargará un programa de lógica de contactos, además de la configuración que ha introducido, en el Arduino: 1. Asegúrese de que ha desconectado el software de Arduino Serial Port Monitor. Si el puerto esta tomado por el IDE Arduino no será posible la conexion con SoapBox Snap y será necesario liberar el puerto para que la aplicacion se conecte.
  • 21. 21 2. Haga clic en "Runtime" en el Solution Explorer a la izquierda, y haga clic en Connect en el menú contextual 3. Se le presentará un cuadro de diálogo de Upload/Download (carga/descarga). Siempre seleccione "Descargar" cuando reciba este mensaje. Este firmware no soporta la carga (a menos que usted ya ha descargado y luego desconectada del Runtime, pero todavía tenga SoapBox Snap abierto y tratar de volver a conectar, en cuyo caso la carga sólo se pone de nuevo la última descarga). Es técnicamente posible implementar la carga, pero perdería el nombre de todas sus bobinas, etc. 4. Después de su descarga, el Runtime iniciará automáticamente el programa de lógica de contactos (que no hará nada porque está vacío). El LED en el pin 13 ahora será en ON, pero sin flash brevemente una vez por segundo. Debería ver dos iconos al lado del elemento de Runtime en el explorador de soluciones: una flecha verde redonda que indica la lógica de escalera está en marcha, y un eslabón de la cadena con una flecha verde que indica SoapBox Snap está conectado con el Runtime. Tenga en cuenta que cuando usted está conectado, el puerto COM está en uso y no se puede conectar a la placa Arduino con cualquier otro software. 5. Debajo de Runtime en el Solution Explorer , hay un elemento llamado "Device Configuration" (Configuración del equipo). Haga clic derecho sobre la configuración de dispositivos y seleccione Read Device Configuration (Leer configuración de dispositivos en el menú contextual). .
  • 22. 22 6. Se le advertirá de que no se puede hacer esta edición mientras está conectado. Responda "sí" cuando se le pregunta si desea desconectarse. Ahora, bajo la configuración de dispositivos, verá un nuevo elemento llamado E/S locales. 7. Expande el elemento Local I/O y todos los elementos secundarios haciendo clic en el signo más (+) o iconos de flecha junto a cada elemento. Esto es lo que el explorador de soluciones debe ser similar, si ha utilizado la configuración que se muestra arriba, con los pines 7 y 8 configurados como salidas: Ahora usted puede ir de nuevo en línea con el Runtime y hacer algunas cosas interesantes como monitor y obligar a los valores de E/S discretas: 1. Haga clic en el icono del disco nuevo para guardar 2. Haga clic derecho sobre el elemento Runtime y haga clic en Conect en el menú contextual 3. Elija la opción "Download" de la ventana de diálogo de "Upload/Download "
  • 23. 23 Ahora observa los iconos de "bombilla" junto a los pines de entrada. Si sus pines de entrada están implicados, los indicadores de encendido/apagado se activarna siguieno el estado de los pines de Arduino. También puede intentar usar un puente para conectar un pin de entrada a los pines 5 V o GND para hacer que vaya o desactivar respectivamente También puede forzar las salidas dentro o fuera de aquí. Haga clic derecho sobre el icono "pin7" (si se ha configurado como una salida) y elija Fuerza En el menú contextual. El icono de la bombilla al lado pin7 se iluminará, y aparecerá un icono de forzado (que se parece a un rayo pequeño). Usted se dará cuenta de que si expande Discrete Outputs pines de salida, hay un elemento debajo que dice "False" de forma predeterminada. Aquí es donde se conecta esta salida a su lógica. Por defecto, la salida es impulsado por una señal "False" no modificable, por lo menos que lo fuerzas, la salida estará apagado. Usted puede cambiar esto a una constante "True" (siempre encendido, a menos forzado desactivado), o se puede conectar directamente a un pin de entrada, o una señal (como una bobina) en su lógica. Para cambiar la conexión, haga doble clic en donde dice "Falso", y esto se abrirá un cuadro de diálogo Signal Chooser (selector de señal). La primera opción es un valor codificado (introduce True o False), o puede utilizar la opción inferior y seleccione una bobina de su lógica (PIN6 en la figura), o una de las señales de entrada.
  • 24. 24 Una nota sobre las "Señales": en los PLCs tradicionales con frecuencia se habla de bits, etiquetas, direcciones o ubicaciones de memoria. Si bien esto es cierto en un nivel muy bajo en el Runtime, SoapBox Snap crea implícitamente estas cosas cuando sea necesario y usted no tiene que preocuparse por ellos. Al colocar una bobina en una linea de programación, asigna implícitamente un poco de memoria y asigna automáticamente la "señal", el nombre que le dan a la bobina. Eso significa que usted puede pensar en la bobina, la señal, y la ubicación de memoria que almacena el estado de esa variable como todo uno y el mismo. Es sólo "una bobina". Al colocar un contacto en una línea, utilice el Selector de señal (o simplemente escriba el nombre de la señal utilizando el cuadro de texto de autocompletar) para seleccionar una bobina u otra señal booleana para hacer referencia en ese contacto. Del mismo modo, cuando se utiliza una instrucción de flanco ascendente, no es necesario asignar una ubicación de memoria especial para guardar el estado, ya que esto se hace para usted. Contadores y cronómetros funcionan de la misma forma, excepto que implícitamente definen más de una señal de cada uno, tales como señales booleanas "Done" y "valor actual" señales numéricas. Uno de los beneficios de la asignación de la memoria implícita es que evita que el "error de principiante" de utilizar la misma ubicación de memoria en dos instrucciones de bobina diferentes. Lo más importante es que significa que usted puede centrarse en escribir la lógica de escalera en lugar de gestionar la memoria y las etiquetas. Escribir un programa en Lógica de Contactos para el Runtime de Arduino es el mismo que para el Runtime de software que se incluye en SoapBox Snap. Abra la página principal del Lenguaje de Contactos mediante la expansión del árbol Solution Explorer bajo Runtime-> Lógic y haga doble clic en el elemento principal.
  • 25. 25 Un solo renglón vacío se habrá creado por defecto. Las instrucciones disponibles aparecen en una lista visual a la derecha. Usted puede arrastrar y soltar estas instrucciones en el renglón. Nuevos peldaños se pueden agregar haciendo clic derecho en el editor de escalera y con el menú contextual. Todas las instrucciones excepto "Find Text (Buscar texto)" trabajará con el Runtime de Arduino (no tiene ningún uso para las instrucciones de Cuerda en este momento). Tenga en cuenta que cada línea se llama un "grupo" o "grupo de instrucciones" . SoapBox Snap admite la depuración en línea, pero no la edición en línea, así que tienes que desconectar para hacer los cambios y luego conecte nuevamente para descargar los cambios. Algunas cosas a tener en cuenta:  El programa de lógica de Lenguaje de Contactos se almacena en la memoria EEPROM del Arduino, por lo que no se borrará ante un reinicio o un corte de energía  No hay una "retención" o memoria "persistente", por lo que todas las bobinas, temporizadores, contadores, etc. volverán a los valores por defecto, cuando se produzca una descarga o se apague la alimentación.  Conexión a la Arduino con SoapBox Snap no causa un reset, pero la conexión con Serial Port Monitor del Software Arduino si.  La versión actual del Runtime limita el tamaño del programa de lógica de contactos a 750 bytes (3.750 en la Mega), incluyendo cabeceras. Esto equivale a alrededor de 50 líneas de contacto (250 para
  • 26. 26 Arduino Mega), pero esto, obviamente, depende en gran medida de la complejidad de sus aplicaciones.  Si quiere ver lo grande que es el programa descargado, conéctese al Runtime con el software de Arduino Serial Port Montor, transferencia ajustada a 115.200, final de línea a NL y CR y escriba "information" sin las comillas, y pulse Enter. Entre la información reportada será el tamaño máximo y el tamaño actual del programa.  Pin 13 está codificado para ser el LED de control por lo que no esta disponible. Asimismo, los pines 0 y 1 están codificados para ser utilizado por el puerto de serie del hardware, por lo que los pines disponibles son sólo del 2 al 12 (más las entradas analógicas). En Arduino Mega tiene 16 entradas analógicas y pines adicionales 14 a 53. José Manuel Ruiz Gutiérrez Abril 2015. Ver1 Este trabajo está bajo licencia Creative Commons Attribution 3.0 Unported License)