Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

Erste Schritte mit Go auf PLCnext

Dieser Blog führt Sie durch die ersten Schritte zum Erstellen einer Anwendung mit Go auf der PLCnext. Für diejenigen, die mit Go nicht vertraut sind, zitiere ich gerne die Referenz-Website www.golang.org

Ein besonderer Grund, Go zu mögen, ist, dass es einfach ist, Webanwendungen zu erstellen, aber dennoch in eine statische Binärdatei kompiliert wird, sodass Sie keine Pakete auf der PLCnext-Steuerung installieren müssen, um das Programm bereitzustellen.


Dieser Blog wird nur das Kompilieren für die PLCnext mit zwei kleinen Programmen behandeln. Ein klassisches HelloWorld-Programm, um sicherzustellen, dass die Kompilierung gut verläuft, und ein kleiner REST-API-Aufruf, um die Leistungsfähigkeit von Go zu demonstrieren. Bei der Erstellung dieses Blogs habe ich verwendet:

Ok, fangen wir mit unserer HelloWorld-Anwendung an. Erstellen Sie eine neue Datei mit dem Namen HelloWorld.go und fügen Sie den Code aus dem HelloWorld-Beispiel in die Datei ein. Speichern Sie die Datei und öffnen Sie Ihr Terminal und stellen Sie sicher, dass Sie sich im richtigen Verzeichnis befinden.

Mit dem folgenden Befehl erstellen Sie Ihren Go-Code und führen ihn aus. Wenn alles korrekt installiert wurde, sollte Hello World in Ihrem Terminal angezeigt werden. Sie können diesen Befehl verwenden, wenn Sie Ihre Anwendung noch erstellen.

go run HelloWorld.go 

Wie ich schon sagte, ist es auch möglich, den Code zu einer statischen Binärdatei zu erstellen. Dies geschieht mit dem ersten Befehl unten, der nächste Befehl führt die neu erstellte Binärdatei aus. Wenn alles gut geht, wird in Ihrem Terminal wieder hello world angezeigt.

go build HelloWorld.go
./HelloWorld

Wenn Sie versuchen, diese Binärdatei auf dem PLCnext-Controller auszuführen, erhalten Sie Folgendes:

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

Dies liegt daran, dass die Architektur der Ubuntu-Maschine und PLCnext nicht zusammenpassen. Glücklicherweise ist es ziemlich einfach, eine Binärdatei zu erstellen, die für PLCnext funktioniert (aber beachten Sie, dass diese neue Binärdatei nicht auf dem Ubuntu-Computer ausgeführt wird). Wenn Sie die Build-Umgebung wie unten beschrieben festlegen. Go erstellt eine Binärdatei, die für die PLCnext geeignet ist.

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


und für unser Beispiel wäre es

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


Wenn Sie diese Datei auf den Controller übertragen und ausführen, sollte Hello World erneut angezeigt werden. Wenn ja, herzlichen Glückwunsch. Sie haben Ihr erstes Go-Programm für eine PLCnext-Steuerung geschrieben! Sehen Sie sich den REST-API-Aufruf an und passen Sie ihn an Ihre Bedürfnisse an!

Problem mit dem vorherigen Schritt?
Hast du die Datei mit chmod +x HelloWorld ?

ausführbar gemacht


Hello-World-Beispiel

package main

import "fmt"

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

REST-API-Aufruf ( 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))
}


Industrietechnik

  1. Code Ready Container:Erste Schritte mit Prozessautomatisierungstools in der Cloud
  2. Erste Schritte mit dem Keramik-3D-Druck
  3. Kennenlernen grundlegender Farbstoffe!
  4. Erste Schritte mit TJBot
  5. Erste Schritte mit dem RAK 831 Lora Gateway und RPi3
  6. Erste Schritte mit dem RAK831 LoRa Gateway und RPi3
  7. Erste Schritte mit KI im Versicherungswesen:Ein Einführungsleitfaden
  8. Arduino-Tutorial 01:Erste Schritte
  9. Erste Schritte mit der Eagle-Gruppe:Was Sie wissen müssen
  10. Erste Schritte mit My.Cat.com