Utilizar Visual Studio Code en una Raspberry PLC

Configurar Visual Studio Code en una Raspberry Pi PLC
5 de abril de 2024 por
Utilizar Visual Studio Code en una Raspberry PLC
Boot & Work Corp. S.L., Francesc Nosas

1. Requisitos

Visual Studio Code es un editor de código fuente y, como tal, requiere de un entorno de escritorio para aprovechar todo su potencial. Para ello, nos tendremos que asegurar de que nuestra imagen de sistema operativo cuente con un entorno de escritorio. Una forma de comprobarlo es conectar el PLC a una pantalla de PC utilizando un cable HDMI.

Si estamos seguros de que la imagen en nuestro PLC no tiene un entorno de escritorio, tendremos que grabar una nueva imagen del sistema operativo en la tarjeta SD. ¡Cuidado! Hacerlo va a eliminar todos los datos almacenados en ella, por lo que podríamos hacer una copia de seguridad de los archivos importantes y almacenarlos en otro lugar para su posterior recuperación. 

Nuestra elección personal es comenzar con el "Raspberry Pi OS (Legacy, 32-bit)" encontrado en el Raspberry Pi imager, y construir la imagen del PLC en él. Para más información sobre cómo hacerlo, consulta el siguiente blog: 

Cómo crear una imagen del PLC de Raspberry a partir de un SO de Raspberry PI


2. Instalar VScode

Instalar Visual Studio Code on un sistema operativo en base Debian es de lo más sencillo. Simplemente ejecute el siguiente comando en el Terminal:

	​~$ sudo apt-get install code

De ahora en adelante, Visual Studio Code va a ser accesible desde el escritorio de Raspberry Pi.


Aún no podemos programar nuestra PLC. Vamos a necesitar las librerías adecuadas para ello.

3.  Instalar librerías

Para que nuestro PLC funcione, necesitamos algunas bibliotecas que nos faciliten programar en él. Ninguna de las siguientes bibliotecas ha sido diseñada específicamente para Visual Studio Code, ya que este es solo un editor de texto y no requiere de add-ons especiales.

La única librería obligatoria es librpiplc para lenguaje C. Nos va a permitir programar en C. Siga los pasos en el siguiente enlace para instalarla:

 https://github.com/Industrial-Shields/librpiplc

Si queremos programar en Python, vamos a necesitar la anterio librpiplc y python3-librpiplc. Ésta nos va a permitir compilar código python para Raspberry Pi PLCs en cualquier editor de texto de nuestra elección, lo cual también incluye VSCode. Siga las instruccionesen el siguiente enlace para instalarla: 

https://github.com/Industrial-Shields/python3-librpiplc

Si todo se ha instalado correctamente, ya podemos empezar a utilizar Visual Studio Code para programar las PLCs.

4. Ejemplo

Para asegurarnos de que ambas bibliotecas instaladas estén funcionando correctamente, probaremos el siguiente código Python.

from rpiplc_lib import rpiplc


def digital_read_write():

    rpiplc.pin_mode("I0.0",rpiplc.INPUT)

    read_value=rpiplc.digital_read("I0.0")

    print("The I0.0 is reading: {}".format(read_value))


    rpiplc.pin_mode("Q0.0",rpiplc.OUTPUT)

    rpiplc.digital_write("Q0.0",rpiplc.HIGH)

    rpiplc.delay(1000)

    rpiplc.digital_write("Q0.0",rpiplc.LOW)

    rpiplc.delay(1000)


def analog_read_write():

    rpiplc.pin_mode("I0.2",rpiplc.INPUT)

    read_value=rpiplc.analog_read("I0.2") # 0 - 2047

    print("The I0.2 is reading: {}".format(read_value))


    rpiplc.pin_mode("A0.0",rpiplc.OUTPUT) 

    rpiplc.analog_write("A0.0",1024) # 2.5v Output

    rpiplc.delay(2000)

    rpiplc.analog_write("A0.0",4095) # 10v Output

    rpiplc.delay(2000)

    rpiplc.analog_write("A0.0",0)


def relay_test():

    rpiplc.pin_mode("R0.1",rpiplc.OUTPUT)

    rpiplc.digital_write("R0.1",rpiplc.HIGH)

    rpiplc.delay(1000)

    rpiplc.digital_write("R0.1",rpiplc.LOW)

    rpiplc.delay(1000)


def main():

    rpiplc.init("RPIPLC_57R")


    while True:

        digital_read_write()

        analog_read_write()

        relay_test()


if __name__ == "__main__":

    main()
    


Después de guardar el archivo, podemos abrir una terminal directamente desde VS Code en la siguiente pestaña:



Tratando la ventana de terminal como si fuera un terminal convencional, podemos ejecutar los archivos.


Buscar en nuestro blog

Utilizar Visual Studio Code en una Raspberry PLC
Boot & Work Corp. S.L., Francesc Nosas 5 de abril de 2024
Compartir

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Industrial PLC comparison >>>