Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Начало работы с Go on PLCnext

Этот блог проведет вас через первые шаги по созданию приложения с помощью Go на PLCnext. Для тех, кто не знаком с Go, я люблю цитировать справочный сайт www.golang.org

Особая причина, по которой вам нравится Go, заключается в том, что с его помощью легко создавать веб-приложения, но они все равно компилируются в статический двоичный файл, поэтому вам не нужно устанавливать пакеты на контроллере PLCnext для развертывания программы.


Этот блог будет заниматься компиляцией для PLCnext только с двумя небольшими программами. Классическая программа HelloWorld, чтобы убедиться, что компиляция идет хорошо, и небольшой вызов REST API, чтобы продемонстрировать мощь Go. При создании этого блога я использовал:

Хорошо, давайте начнем с нашего приложения HelloWorld. Создайте новый файл с именем HelloWorld.go и вставьте в него код из примера HelloWorld. Сохраните файл, откройте терминал и убедитесь, что вы находитесь в правильном каталоге.

С помощью приведенной ниже команды вы создадите и запустите свой код Go. Если все было установлено правильно, Hello World должен отображаться в вашем терминале. Вы можете использовать эту команду во время создания приложения.

go run HelloWorld.go 

Как я уже сказал, также можно собрать код в статический двоичный файл. Это делается с помощью первой команды ниже, следующая команда запускает только что созданный двоичный файл. Если все пойдет хорошо, в вашем терминале снова появится привет, мир.

go build HelloWorld.go
./HelloWorld

Когда вы пытаетесь запустить этот двоичный файл на контроллере PLCnext, вы получаете:

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

Это связано с тем, что архитектура машины Ubuntu и PLCnext не совпадают. К счастью, довольно легко создать двоичный файл, который работает для PLCnext (но учтите, что этот новый двоичный файл не будет работать на машине с Ubuntu). Когда вы устанавливаете среду сборки, как описано ниже. Go создаст двоичный файл, подходящий для PLCnext.

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


и для нашего примера это будет

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


Когда вы перенесете этот файл на контроллер и запустите его, вы должны снова увидеть всплывающее окно hello world, если это так, поздравляем. Вы написали свою первую программу Go для контроллера PLCnext! Взгляните на вызов REST API и измените его в соответствии со своими потребностями!

Проблема с предыдущим шагом?
Вы сделали исполняемый файл с помощью chmod +x HelloWorld ?


Пример "Привет, мир"

package main

import "fmt"

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

Вызов REST API ( 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))
}


Промышленные технологии

  1. Готовые контейнеры для кода:начало работы с инструментами автоматизации процессов в облаке
  2. Начало работы с керамической 3D-печатью
  3. Знакомство с основными красителями!
  4. Начало работы с TJBot
  5. Начало работы с RAK 831 Lora Gateway и RPi3
  6. Начало работы со шлюзом RAK831 LoRa и RPi3
  7. Начало работы с ИИ в страховании:вводное руководство
  8. Учебник по Arduino 01:Начало работы
  9. Начало работы с Eagle Group:что вам нужно знать
  10. Начало работы с My.Cat.com