N1盒子刷入codesys当PLC使用

N1盒子特指斐讯N1盒子,现已停产,但是因为配置相对不错,成为DIY刷机的首选,网上教程也很多,本文介绍把N1盒子刷成PLC使用,大致过程为先给N1盒子刷入Linux系统,再刷入codesys runtime,即可当成PLC使用,利用codesys的IDE即可进行PLC程序上传下载。


N1盒子刷入Linux系统

斐讯N1盒子基本配置如下,本次刷入的Linux系统为armbain

  • ARMv8 Processor rev 4 (v8l) x 4主流架构
  • Amgoics905D Cortex-A53 4核CPU
  • 2G 的内存 + 8G EMMC 存储

刷入armbain过程不做具体介绍,可自行百度,大致过程为把镜像写入U盘,插上靠近HDMI的那个口,启动,自动就会启动U盘中的系统;

本次使用的是Armbian5.77镜像,参考链接,由于本次买的N1盒子是别人挖矿用的,并不是原厂,简单操作就能刷入armbain

启动后,输入默认用户名和密码,root, 1234,第一次刷机后要更改密码,更改密码后使用ctrl+C跳过设置新账号,然后使用nand-sata-install命令把系统写入emmc,完成后拔下U盘,重启即可进入系统

N1盒子刷入codesys当PLC使用_第1张图片

更改源(先跳过)

备注:网上有说要改源的,但是我改了反而连不上,后来又改回去就好了,docker也能正常安装,先记录在这里

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse

N1盒子刷入codesys当PLC使用_第2张图片

更新软件包

apt-get upgrade

设置时区为北京时间,之后可以用date 指令查看当前系统时间

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone

安装docker

curl -fsSL https://get.docker.com/ | sh

安装完成后,执行docker run hello-world,如果docker安装成功,会自动拉取,执行完成后,使用 docker images 即可看到安装的镜像,使用查看指令查看安装的docker

N1盒子刷入codesys当PLC使用_第3张图片

网络设置

网络配置文件地址 etc/network/interfaces

原设置为自动分配IP

allow-hotplug eth0

no-auto-down eth0

iface eth0 inet dhcp

更改为固定IP

auto eth0

iface eth0 inet static

address 192.168.139.100

netmask 255.255.255.0

gateway 192.168.139.1

说明:Debian 中 allow-hotplug 与 auto 的这两个指令有不小区别,参考链接,个人建议,采用静态IP时使用auto指令,采用动态ip时使用allow-hotplug指令;

auto  配置这个命令,仅仅是用于开机启动时启动网络接口,不管你插不插网线,网卡都会启用;

allow-hotplug  只有当内核从网络接口检测到热插拔事件后才会启动该接口。,配置这个命令,是为了保证端口状态及时更新,或者避免由于手动操作导致的重启 network 失败。

N1盒子刷入codesys当PLC使用_第4张图片

最后采用nmtui指令,进行无线网络配置

N1盒子刷入codesys当PLC使用_第5张图片


在N1盒子中刷入codesys runtime

Codesys运行环境系统结构

N1盒子刷入codesys当PLC使用_第6张图片

所用软件的下载及安装

先去官网下载codesys IDE安装包、runtime和gateway下载

注意:下载的IDE要与runtime版本匹配!

IDE安装包到中文官网下载,官方名字如 CODESYS Development System V3.5 SP 17

下载专区-CODESYS-控制器开发平台软件

runtime建议到英文官网下载,那里面的较新

CODESYS Store International | CODESYS Store International

例如下面的通用arm版、树莓派版和X86架构的Linux版,正常这些runtime在设备上运行时是需要收费的,不过部分功能可以免费试用2小时

N1盒子刷入codesys当PLC使用_第7张图片

N1盒子刷入codesys当PLC使用_第8张图片

gateway下载

从codesys store中搜索gateway,本次下载的是下面的第一个,for Linux版本

N1盒子刷入codesys当PLC使用_第9张图片

先用管理员权限安装IDE,之后安装gateway和runtime包,参考步骤如下

注意:不要直接安装,要通过codesys IDE包管理器安装,这里按照下面选择好安装包后,所有选择完毕后,关闭IDE,系统会自动开始安装。

N1盒子刷入codesys当PLC使用_第10张图片

在N1盒子中安装runtime环境

工具-->Update Linux ARM64,之后输入用户名,密码。

说明:下图中Update Linux是对于x86架构的Linux系统所用

N1盒子刷入codesys当PLC使用_第11张图片

这个步骤相当于刷runtime,完成后,可以认为N1盒子就是一台PLC设备了,只不过由于没有授权,只能试用部分功能,且时间为2小时。

点击上图中system info即可看到系统信息。

N1盒子刷入codesys当PLC使用_第12张图片


创建并运行一个codesys程序

这部分不展开了,部分截图如下

新建项目

N1盒子刷入codesys当PLC使用_第13张图片

添加设备

N1盒子刷入codesys当PLC使用_第14张图片

N1盒子刷入codesys当PLC使用_第15张图片

创建子程序

N1盒子刷入codesys当PLC使用_第16张图片

创建主程序,习惯把POU作为主程序,并在其中调用子程序1

N1盒子刷入codesys当PLC使用_第17张图片

创建任务执行周期,并把POU加入到这个任务中

N1盒子刷入codesys当PLC使用_第18张图片

创建要跟踪,用于信号跟踪调试,案例如下

N1盒子刷入codesys当PLC使用_第19张图片

之后编译程序,并将程序下载到PLC中,扫描网络,找到要连接的设备

N1盒子刷入codesys当PLC使用_第20张图片

初次下载会要求创建账号和密码,根据提示设置如下

下图是下载后在线监控截图

N1盒子刷入codesys当PLC使用_第21张图片


你可能感兴趣的:(codesys,arm,嵌入式硬件,iot)