Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Memulai dengan Go di PLCnext

Blog ini akan memandu Anda melalui langkah pertama dalam membangun aplikasi dengan Go di PLCnext. Bagi yang belum familiar dengan Go, saya akan mengutip website referensi www.golang.org

Alasan khusus untuk menyukai Go adalah mudahnya membuat aplikasi web tetapi masih dapat dikompilasi ke biner statis, oleh karena itu Anda tidak perlu menginstal paket pada pengontrol PLCnext untuk menerapkan program.


Blog ini hanya akan menangani kompilasi untuk PLCnext dengan dua program kecil. Program HelloWorld klasik untuk memastikan kompilasi berjalan dengan baik dan panggilan REST API kecil untuk menunjukkan kekuatan Go. Dalam pembuatan blog ini saya menggunakan:

Oke, mari kita mulai dengan aplikasi HelloWorld kita. Buat file baru bernama HelloWorld.go dan tempel kode dari contoh HelloWorld di dalam file. Simpan file dan buka terminal Anda dan pastikan Anda berada di direktori yang benar.

Dengan perintah di bawah ini Anda akan membuat dan menjalankan kode Go Anda. Jika semuanya telah terinstal dengan benar, Hello World akan ditampilkan di terminal Anda. Anda dapat menggunakan perintah ini saat Anda masih membuat aplikasi.

go run HelloWorld.go 

Seperti yang saya katakan, juga dimungkinkan untuk membuat kode menjadi biner statis. Ini dilakukan dengan perintah pertama di bawah, perintah berikutnya menjalankan biner yang baru dibuat. Jika semuanya berjalan dengan baik, hello world kembali ditampilkan di terminal Anda.

go build HelloWorld.go
./HelloWorld

Saat Anda mencoba menjalankan biner ini pada pengontrol PLCnext, Anda mendapatkan:

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

Ini karena arsitektur mesin Ubuntu dan PLCnext tidak cocok. Untungnya cukup mudah untuk membuat biner yang berfungsi untuk PLCnext (tetapi perhatikan bahwa biner baru ini tidak akan berjalan di mesin Ubuntu). Saat Anda mengatur lingkungan build seperti yang dijelaskan di bawah ini. Go akan membuat biner yang cocok untuk PLCnext.

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


dan untuk contoh kita adalah

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


Saat Anda mentransfer file ini ke pengontrol dan menjalankannya, Anda akan melihat hello world muncul sekali lagi, jika demikian, selamat. Anda telah menulis program Go pertama Anda untuk pengontrol PLCnext! Lihat panggilan REST API dan ubah sesuai kebutuhan Anda!

Masalah dengan langkah sebelumnya?
Sudahkah Anda membuat file tersebut dapat dieksekusi dengan chmod +x HelloWorld ?


Contoh Halo Dunia

package main

import "fmt"

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

Panggilan 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))
}


Teknologi Industri

  1. Code Ready Containers:Memulai Perkakas Otomatisasi Proses di Cloud
  2. Memulai pencetakan 3D keramik
  3. Berkenalan dengan Pewarna Dasar!
  4. Memulai TJBot
  5. Memulai RAK 831 Lora Gateway dan RPi3
  6. Memulai RAK831 LoRa Gateway dan RPi3
  7. Memulai Dengan AI Dalam Asuransi:Panduan Pengantar
  8. Tutorial Arduino 01:Memulai
  9. Memulai Eagle Group:Yang Perlu Anda Ketahui
  10. Memulai My.Cat.com