30秒接入一台PLC设备,用Shifu 快速实现工控软件编程

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 运行顺利,将会得到以下输出:

file

安装Shifu

1.安装Shifu

前往demo.shifu.run进行下载安装。(直接进入页面中的第二步,完成该步骤的流程后即可回到本页面)

安装完成后 Shifu 会在docker运行时伴随启动。

2.查看Shifu是否启动

使用以下命令来查看运行效果:

sudo kubectl get pods -A

如果所有 “STATUS” 都是 Running 即表示成功:

30秒接入一台PLC设备,用Shifu 快速实现工控软件编程_第1张图片

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

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

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

可以看到nginx已经在运行:

file

2.启动PLC虚拟设备

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

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

通过如下指令,可以看到PLC设备的数字孪生已经启动:

sudo kubectl get pods -A | grep plc

file

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

file

例如一个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

file

Q&A

Q:在这个试玩中如何模拟PLC?
A:当模拟PLC接收到 sendsinglebit 命令可以修改内存区域中一个bit,接收到 getcontent 命令可以得到内存区域中一个byte的值。

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

你可能感兴趣的:(go)