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 nginxsudo 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 公布