Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Tecnología Industrial

Primeros pasos con Go on PLCnext

Este blog lo guiará a través de los primeros pasos para crear una aplicación con Go en PLCnext. Para aquellos que no están familiarizados con Go, me gusta citar el sitio web de referencia www.golang.org

Una razón particular por la que le gusta Go es que es fácil de crear aplicaciones web pero aun así se compila en un binario estático, por lo tanto, no tiene que instalar paquetes en el controlador PLCnext para implementar el programa.


Este blog solo manejará la compilación para PLCnext con dos pequeños programas. Un programa clásico de HelloWorld para asegurarse de que la compilación vaya bien y una pequeña llamada a la API REST para mostrar el poder de Go. En la elaboración de este blog he utilizado:

Bien, comencemos con nuestra aplicación HelloWorld. Cree un nuevo archivo llamado HelloWorld.go y pegue el código del ejemplo de HelloWorld dentro del archivo. Guarde el archivo y abra su terminal y asegúrese de estar en el directorio correcto.

Con el siguiente comando, compilará y ejecutará su código Go. Si todo se instaló correctamente, Hello World debería mostrarse en su terminal. Puede usar este comando cuando todavía está creando su aplicación.

go run HelloWorld.go 

Como dije, también es posible compilar el código en un binario estático. Esto se hace con el primer comando a continuación, el siguiente comando ejecuta el binario recién creado. Si todo va bien, en tu terminal se muestra de nuevo hola mundo.

go build HelloWorld.go
./HelloWorld

Cuando intenta ejecutar este binario en el controlador PLCnext, obtiene:

./HelloWorld: cannot execute binary file: Exec format error

Esto se debe a que la arquitectura de la máquina Ubuntu y PLCnext no coinciden. Afortunadamente, es bastante fácil crear un binario que funcione para PLCnext (pero tenga en cuenta que este nuevo binario no se ejecutará en la máquina Ubuntu). Cuando configura el entorno de compilación como se describe a continuación. Go creará un binario adecuado para PLCnext.

env GOOS=linux GOARCH=arm GOARM=7 go build


y para nuestro ejemplo sería

env GOOS=linux GOARCH=arm GOARM=7 go build HelloWorld.go


Cuando transfiera este archivo al controlador y lo ejecute, debería ver hola mundo apareciendo una vez más, si es así, felicitaciones. ¡Ha escrito su primer programa Go para un controlador PLCnext! ¡Eche un vistazo a la llamada a la API REST y modifíquela según sus necesidades!

¿Problema con el paso anterior?
¿Ha hecho el archivo ejecutable con chmod +x HelloWorld?


Ejemplo de Hola Mundo

package main

import "fmt"

func main() {
fmt.Println("hello world")
}
go

Llamada API REST (HTTP GET)

package main

import (
"crypto/tls"
"io/ioutil"
"log"
"net/http"
)

func main() {
http.DefaultTransport.(*http.Transport).TLSClientConfig = &tls.Config{InsecureSkipVerify: true} // Disable TLS check due to bad certificate
MakeRequest()
}

func MakeRequest() {
resp, err := http.Get("https://192.168.18.10/_pxc_api/api/variables?paths=Arp.Plc.Eclr/MainInstance.bInputs") // change to your IP adress and variables
if err != nil {
log.Fatalln(err)
}

body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalln(err)
}

log.Println(string(body))
}


Tecnología Industrial

  1. Contenedores listos para el código:Introducción a las herramientas de automatización de procesos en la nube
  2. Introducción a la impresión 3D de cerámica
  3. ¡Familiarizándose con los tintes básicos!
  4. Introducción a TJBot
  5. Introducción a RAK 831 Lora Gateway y RPi3
  6. Introducción a RAK831 LoRa Gateway y RPi3
  7. Introducción a la IA en seguros:una guía introductoria
  8. Tutorial de Arduino 01:Primeros pasos
  9. Primeros pasos con Eagle Group:lo que necesita saber
  10. Cómo comenzar con My.Cat.com
  11. Node-RED y los primeros pasos con Docker