发表于 1653643511000
10. EAE安装和配置
10.1 双系统DEMO架构
双系统DEMO的架构图如下,在Linux里,EAE soft dPAC是在Docker容器里运行的,所以需要先给Linux安装Docker,而安装Docker要求Linux能够连接Internet,故首先要对分配给Linux的ETH2的网络适配器enp2s0进行设置。
图24:双系统DEMO架构图
10.2 设置Linux 网络适配器
连接ETH2与无线路由器的LAN口,设置路由器为中继模式,连接家庭宽带一体化光猫。登录Windows后,运行SSH终端PuTTy,启动Linux Shell,切换root用户,依次执行如下命令——
- 查看当前网络接口:ip link show
如果enp2s0的设备状态标志里没有UP①,那么执行:ip link set enp2s0 up
- 设置IP②:ip address add 17.7.7.222/24 dev enp2s0
- 检查IP是否设置成功:ip address show
- 检验连接路由器是否成功③:ping 17.7.7.20
收到来自17.7.7.20的包即证明连接成功,同时按下Ctrl键和C键,停止命令。
- 切换路径:cd /etc/netplan/
- 创建.yaml文件④:vi 00-installer-config.yaml
在编辑界面内按i键,开始编辑,输入下列文本后按ESC键结束编辑,再按:键后输入wq保存并退出编辑界面。
- 使用新的配置⑤:netplan apply
- 检验DNS是否生效:ping baidu.com
收到来自baidu的包即证明DNS生效,同时按下Ctrl键和C键,停止命令。
注:
①<>内文本即设备状态标志,例如:BROADCAST-有效的⼴播地址集、LOWER_UP-驱动程序信号L1启动(从Linux 2.6.17开始)、MULTICAST-⽀持多播、UP-接口运行中等。
②③本例中iPC的ETH2连接一台无线路由器的LAN口,无线路由器再作为中继连接家庭宽带一体化光猫,路由器LAN口默认IP=17.7.7.15,Gateway=17.7.7.20,故设置ETH2的IP为17.7.7.XXX(XXX>15),ping 17.7.7.20验证DNS。
④⑤务必要注意00-installer-config.yaml里文本行缩进,否则netplan apply执行会失败。
10.3 在线安装Docker
Ping通baidu.com后,继续执行如下命令来在线安装Docker——
- 检查更新:apt update
- 安装依赖:apt install apt-transport-https ca-certificates curl software-properties-common
- 添加官方GPG密钥:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 添加软件源:add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
- 检查更新:apt update
- 安装最新版本Docker:apt install docker-ce docker-ce-cli containerd.io
- 验证安装是否成功:docker run hello-world
成功将显示下图文本——
图25:Docker安装成功
- 验证Docker是否自动启动:systemctl status docker
启动将显示下图,“active(running)”表示Docker已启动。
图26:Docker启动状态
Docker安装可参考的网络文章——
https://blog.csdn.net/qq_44866828/article/details/120876275
https://blog.csdn.net/weixin_43852094/article/details/113868467
http://c.biancheng.net/view/3124.html
https://blog.csdn.net/weixin_45954124/article/details/109694102
注意:Docker安装完全依赖网络,必须确保网络稳定。安装过程可能被各种各样的报错中断,可通过网络搜索获取各论坛的解决方法,耐心尝试。
10.4 在线安装Portainer
执行如下命令来在线安装Portainer——
- 拉取镜像:docker pull portainer/portainer
- 创建数据卷:docker volume create portainer_data
- 启动容器:docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce
执行完成后,在Win10的浏览器中输入网址http://192.168.2.2:9000,访问Portainer,创建用户。
图27:创建Portainer用户
10.5 安装soft dPac
首先在C盘根目录下新建一个文件夹“rr”,将工具U盘的softdpac-v21.2.2.22018.0.5tar拷贝到其中,在Linux Shell和Win10命令窗口里交替进行以下操作——
- Linux Shell——
- 切换回普通用户:su rts
- 切换路径:cd /home/rts
- 创建文件夹: mkdir softdpac
- Win10命令窗口——
- 切换路径:cd C:\rr
- 拷贝.tar文件到Linux的指定目录:scp softdpac-v21.2.2.22018.0.5tar rts@192.168.2.2:/home/rts/softdpac
root@192.168.2.2's password为rthdemo
- Linux Shell——
- 切换路径:cd /home/rts/softdpac
- 解压: tar -xvf softdpac-v21.2.22018.05.tar
- 赋予权限:chmod a+x startSoftdPAC.sh
- 安装:python3 install.py
- 启动:./startSoftdPAC.sh --ipbase 192.168.2.200 --itname vnet0 --gateway 192.168.2.1 --network ipvlan --image-name softdpac:x86-v21.2-22018.05 --nbcontainer 1
10.6 安装HMI Runtime
双击运行工具U盘的“EcoStruxure Automation Expert – Runtime -21.2 -21.2.22046.11”,按照提示安装即可。安装成功后,双击桌面图标启动HMI runtime管理器,右键点击任务栏的HMI runtime管理器,选择“setting”,在“HMI Manager-Settings”里勾选“Launch atWindows Start”,HMI runtime将随Win 10一起启动。
图28:设置HMI runtime
10.7 Win10网络设置
打开Win10的“Windows安全中心”下的“防火墙和网络保护”,点击“高级设置”,点击“入站规则”,查看规则列表中本地端口是否有“51499”,没有的话,在“操作”栏里点击“新建规则”。
图29:打开“新建入站规则”
“要新建的规则类型”选择“端口”。
图30:新建入站规则:规则类型
“此规则应用于TCP还是UDP?”选择“TCP”,选择“特定本地端口”,并输入端口“51499”。
图31:新建入站规则:协议和端口
“连接符合指定条件时应当进行什么操作?”选择“允许连接”,点击“下一步”。
图32:新建入站规则:操作
“如何应用该规则?”勾选全部。
图33:新建入站规则:配置文件
输入名称和描述后,点击“完成”。
图34:新建入站规则:配置文件
再参照上述步骤添加出站规则。
按照下图以管理员身份打开Win10命令窗口,执行如下命令新增端口转发——
netsh interface portproxy add v4tov4 listenport=51499 listenaddress=192.168.3.18 connectport=51499 connectaddress=192.168.2.200
图35:以管理员身份打开命令窗口
执行如下命令检查当前设置——
netsh interface portproxy show all
图36:检查当前端口转发设置
10.8 实时性能配置
在BIOS里启用Intel Turbo Boost Technology或EIST,可提供高执行性能,但也会造成CPU温度升高和执行抖动增大,此外为了维持高性能恒定,应禁用睡眠状态(Cx状态)。
推荐在C:\rth\WindowsEFI_Linux64.txt里进行如下设置以保证RTH的实时性能——
图37:RTH实时性能相关配置
11. HMI Runtime和soft dPac部署和运行
在编程计算机上,sln的Physical Topology添加两个设备:Harmony iPC和Workstation,设备各项属性设置如下——
图38:Harmony iPC属性设置
图39:Workstation属性设置
添加相应的Logic device——
图40:添加逻辑设备
按照常规流程完成Mapping、Build、Deploy等操作。
在iPC的Linux里,soft dPac的运行或停止是跟随容器softdpac_1的,softdpac_1默认是保持运行,可在Portainer里对容器softdpac_1进行管理,比如停止、重启、删除、重新创建、复制或编辑等。
注意:对于容器的管理操作具有一定风险,非必要请勿随意操作。
12. 配置I/O模块网络
soft dPac需要通过ETH2控制设备,比如I/O模块,连接好网线之后,按照以下步骤配置网络——
在Linux Shell里使用root用户依次执行——
- 切换路径:cd /home
- 删除enp2s0的IP:ip addr del 17.7.7.222/24 dev enp2s0
- 设置新的IP:ip addr add 192.168.10.200/24 dev enp2s0
- 创建网络ioNetwork:docker network create -d ipvlan -o ipvlan_mode=l2 --subnet=192.168.10.0/24 --gateway=192.168.10.1 -o parent="enp2s0" --label="softdpac"=true "ioNetwork"
如果出现Error response from daemon: network di-9e5c8e15a823 is already using parent interface enp2s0
执行 docker network ls,找到网络9e5c8e15a823被占用的信息:
图41:被占用的网络9e5c8e15a823
执行docker network disconnect softdpacDeviceNet softdpac_1,切断连接。
执行docker network rm 9e5c8e15a823,解除占用后再次创建网络。
Win10的浏览器中打开Portainer,登录后在containers列表中点击“softdpac_1”。
图42:Portainer里打开softdpac_1
在softdpac_1的详情页面里找到“Connected networks”,在“Join a network”下拉框里选择“ioNetwork”,点击“Join network”
图43:加入ioNetwork
附录1 制备Win10安装U盘
准备一个容量8G以上、已格式化的正规品牌U盘,使用微软官网下载的安装工具MediaCreationTool21H2来制备安装U盘。接受许可条款后,按照提示逐步操作即可,以下是几个需要注意的步骤——
- “你想执行什么操作?”:选“为另一台电脑创建安装介质”。
图44:选择“为另一台电脑创建安装介质”
- “选择语言、体系结构和版本”:选“Windows 10专业版”,去掉“对这台电脑使用推荐的选项”的勾选。
图45:选“Windows 10专业版”
制备完成的U盘内容见下图,可以将这些文件和文件夹备份到电脑里,需要时拷贝到U盘根目录即可。
图46:Win10安装U盘内容
附录2 Harmony P6安装扩展固态硬盘
切断iPC电源,卸下检修舱盖的5个螺钉,滑动舱盖将其卸下。
图47: 卸下Harmony P6检修舱盖
将固态硬盘插入插槽1(下图中标识为B的插槽),装回检修舱盖并拧紧螺钉。
图48:扩展硬盘安装
Glossary
Container/容器
一种在单一 Linux 主机上提供多个隔离的 Linux 环境的操作系统级虚拟技术。不像虚拟机(VM),容器并不需要运行专用的访客(guest)操作系统。容器们共享宿主机的(host)操作系统内核,并使用访客操作系统的系统库来提供所需的功能。由于不需要专用的操作系统,因此容器要比虚拟器启动快得多。
Docker
Docker 是一个开源的容器化平台,允许用户构建,测试,并且作为可移动的容器去部署应用,这些容器可以在任何地方运行。一个容器表示一个应用的运行环境,并且包含软件运行所需要的所有依赖软件。
EIST
即Enhanced Intel SpeedStep Technology(增强英特尔智能加速技术),能够根据不同的系统工作量自动调节处理器的电压和频率,以减少耗电量和发热量。
GNU
是一个尚在发展中的自由的操作系统,其内容软件完全以GPL方式发布。创始人是Richard Matthew Stallman,他将GNU视为“达成社会目的技术方法”。
GNU GRUB
应用于GNU的一个多引导引导加载程序。它源于GRUB,最初由Erich Stefan Boleyn设计和实现。
GPL
即GNU General Public License,只要软件中包含有其他GPL协议的产品或代码,那么该软件就必须也采用GPL许可协议且开源及免费。
GRUB
全称GRand Unified Bootloader,是一个多重操作系统启动管理器,用来引导不同系统,比如windows、Linux。
Grub2Win
一个可以让用户从Windows定制GNU GRUB的工具,支持直接从计算机的EFI分区引导GRUB。
Intel Turbo Boost Technology
即英特尔睿频技术,根据CPU的实际作业情况提升核心的频率,比如一个核心作业就可以提高这个核心的频率,加速作业进程。智能加速技术提升的频率要看几个核心在运作,运作的核心越少,提升的频率越高。
Portainer
开源、轻量级的Docker的图形化管理工具,可提供登录用户管理和控制、状态显示面板,应用模板快速部署等功能,基本能满足中小型单位对容器管理的全部需求。
Real-Time System Hypervisor/RTH
实时系统管理程序,是一种前沿软件产品,用户可以在PC兼容的x86体系结构硬件上同时运行传统、专有和/或标准实时操作系统(及其应用程序)。
Secure Shell/SSH
由 IETF 的网络小组(Network Working Group)所制定的建立在应用层基础上的安全协议,是专为远程登录会话和其他网络服务提供安全性的协议。