关于go:30秒接入一台PLC设备用Shifu-快速实现工控软件编程

42次阅读

共计 1572 个字符,预计需要花费 4 分钟才能阅读完成。

Shifu Demo 使用指南 ——体验与 PLC 的数字孪生进行交互

Shifu (GitHub 主页:https://github.com/Edgenesis/…) 是一个基于 Kubernetes 的物联网开发及治理的开源平台。开发者通过应用 Shifu,能够更简略地连贯、监督和管制任何物联网设施。

PLC 作为可编程逻辑控制器,是专门为在工业环境下利用而设计的数字运算操作电子系统。因为能够在其外部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,进而实现管制各种类型的机械设备或生产过程,所以 PLC 是与古代工业自动化生产倒退密不可分的设施。

Shifu 曾经实现对 PLC 设施的虚拟化,在 Shifu Demo 中能够体验通过一行命令实现对 PLC 设施的管制,这是在数字孪生环境中对物理设施进行管制最为重要的一步。

本文依据 Shifu Demo 使用指南,具体介绍 Shifu 极速试玩中体验与 PLC 的数字孪生进行交互的内容。

## 部署 Docker
### 1. 下载并装置 Docker

安装包:https://demo.shifu.run/detail

2. 查看 Docker 是否可用

a. 关上 Docker, 并放弃其运行
b. 在 Linux/Windows/Mac 的命令行中执行以下命令

    sudo docker ps

如果 Docker 运行顺利,将会失去以下输入:

装置 Shifu

1. 装置 Shifu

返回 demo.shifu.run 进行下载安装。(间接进入页面中的第二步,实现该步骤的流程后即可回到本页面)

装置实现后 Shifu 会在 docker 运行时随同启动。

2. 查看 Shifu 是否启动

应用以下命令来查看运行成果:

sudo kubectl get pods -A

如果所有“STATUS”都是 Running 即示意胜利:

## 与 PLC 的数字孪生交互
### 1. 启动 Nginx

咱们启动一个 nginx 实例来模仿应用程序与 shifu 之间的交互:

sudo kubectl run --image=nginx:1.21 nginx
sudo kubectl get pods -A | grep nginx
    

能够看到 nginx 曾经在运行:

2. 启动 PLC 虚构设施

首先,咱们启动 PLC 的数字孪生:

sudo kubectl apply -f run_dir/shifu/demo_device/edgedevice-plc

通过如下指令,能够看到 PLC 设施的数字孪生曾经启动:

sudo kubectl get pods -A | grep plc

3. 与 PLC 虚构设施交互

接着,咱们须要进入 nginx:(如果您未启动 Nginx,请您首先 启动 Nginx 服务)

sudo kubectl exec -it nginx -- bash

最初,咱们能够与 PLC 的数字孪生通过 http://deviceshifu-plc.device… 进行交互,将 PLC 的 Q0 内存区域的第 0 位设置成 1:

curl "deviceshifu-plc.deviceshifu.svc.cluster.local/sendsinglebit?rootaddress=Q&address=0&start=0&digit=0&value=1";echo

例如一个 PLC 的 Q0 内存的第四位值代表控制程序,设定“digit=3”与“value=1”就能够开启程序:

curl "deviceshifu-plc.deviceshifu.svc.cluster.local/sendsinglebit?rootaddress=Q&address=0&start=0&digit=3&value=1";echo

Q&A

Q:在这个试玩中如何模仿 PLC?
A:当模仿 PLC 接管到 sendsinglebit 命令能够批改内存区域中一个 bit,接管到 getcontent 命令能够失去内存区域中一个 byte 的值。

本文由博客群发一文多发等经营工具平台 OpenWrite 公布

正文完
 0