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盘,重启即可进入系统

更改源(先跳过)

备注:网上有说要改源的,但是我改了反而连不上,后来又改回去就好了,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

更新软件包

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

网络设置

网络配置文件地址 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 失败。

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


在N1盒子中刷入codesys runtime

Codesys运行环境系统结构

所用软件的下载及安装

先去官网下载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小时

gateway下载

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

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

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

在N1盒子中安装runtime环境

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

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

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

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


创建并运行一个codesys程序

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

新建项目

添加设备

创建子程序

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

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

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

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

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

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


  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: CODESYS V3是一种用于编写和管理可编程逻辑控制器PLC)程序的开发工具。它可以用于不同类型的PLC之间的通信。 首先,要在两个PLC之间建立通信连接,需要在每个PLC上安装CODESYS V3软件,并为每个PLC配置一个唯一的IP地址。接下来,需要在每个PLC上设置通信参数,如通信协议和通信速率。常用的通信协议包括以太网(Ethernet)、串口(Serial)和CAN总线(CANbus)等。 一旦设置完通信参数,可以使用CODESYS V3的函数块和函数调用来实现PLC之间的通信。有许多不同的函数块可供选择,如PLC2PLC通信函数块、MODBUS函数块和S7通信函数块等。这些函数块提供了读取和写入数据的功能,可以读取和写入来自其他PLC的输入和输出数据。 另外,在PLC之间进行数据交换时,也要注意数据的格式和编码。通常,可以使用CODESYS V3的数据转换功能来解析和编码数据。例如,可以使用位操作函数将整数转换为字节,或将浮点数转换为ASCII字符串。 总的来说,CODESYS V3提供了一个强大且灵活的工具,用于实现PLC之间的通信。通过正确配置通信参数、选择适当的函数块和数据转换,可以确保有效和可靠的PLC之间的通信。 ### 回答2: CODESYS V3是一个广泛使用的可编程逻辑控制器PLC)开发环境。CODESYS V3 PLC之间的通信允许多个PLC通过网络进行数据交换和协调操作。 CODESYS V3 PLC可以通过以太网、串口、无线等多种通信方式进行通信。同样的通信模块可以在不同的PLC使用,确保兼容性和可扩展性。 CODESYS V3 PLC之间的通信需要设置通信参数,例如PLC的IP地址、端口号、协议等。通过在每个PLC上设置这些参数,可以建立PLC之间的通信连接。 CODESYS V3使用Socket服务来实现PLC之间的通信。一个PLC可以作为服务器,另一个PLC可以作为客户端。服务器PLC等待来自客户端PLC的连接请求,并将数据发送给客户端。客户端PLC发送请求连接服务器PLC,并从服务器PLC接收数据。 在CODESYS V3中,可以使用提供的函数块来实现PLC之间的数据传输。例如,可以使用TCP/IP通信函数块来建立TCP/IP连接,发送和接收数据。还可以使用UDP通信函数块来进行无连接的数据传输。 CODESYS V3 PLC之间的通信可以用于许多应用,如分布式控制系统,数据采集和监控等。通过建立PLC之间的通信连接,可以实现多个PLC之间协同工作,提高系统的可靠性和效率。 总结起来,CODESYS V3 PLC之间的通信是通过设置通信参数和使用Socket服务来实现的。通过建立PLC之间的通信连接,可以在不同的PLC之间交换数据和协调操作,从而实现复杂的控制系统和应用。 ### 回答3: CODESYS V3是一款可编程逻辑控制器PLC)编程软件,用于开发和编写PLC程序。CODESYS V3允许不同的PLC之间进行通信,以实现数据交换和协调操作。 使用CODESYS V3实现PLC之间的通讯可以通过不同的通信协议来实现。常见的通信协议有Modbus、Ethernet/IP、Profinet、CAN等。根据具体的需求和两台PLC之间的硬件接口,选择合适的通信协议以及相应的通信模块。 首先,在PLC项目中,需要设置两台PLC之间的通信参数。通常需要指定通信的目标PLC的IP地址、端口号等信息。在CODESYS V3中,可以通过配置网络和通信设置来完成这些任务。 然后,在PLC程序中,需要编写代码来实现数据的发送和接收。代码中需要指定数据的地址、长度以及通信协议等信息。通过调用相应的通信函数,可以实现数据的读取和写入,从而实现两台PLC之间的数据交换和通信。 在PLC之间的通信过程中,需要确保网络连接稳定和可靠。如有需要,可以加入一些错误检测和纠正机制,以确保数据的准确性和完整性。 总之,使用CODESYS V3实现PLC之间的通讯需要正确设置通信参数,选择合适的通信协议,并在PLC程序中编写相应的代码进行数据交换。通过合理的设计和配置,可以实现多台PLC之间的数据共享和协同工作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值