当前位置: 首页 > news >正文

Verdin AM62使用CODESYS

By Toradex 胡珊逢

简介

CODESYS 是基于 IEC 61131-3 的 PLC 开发工具,在工业控制、交通等领域中有着广泛的应用。文章将介绍如何在 Toradex 采用 TI AM62 SoC 的 Arm 计算机模块 Verdin AM62 使用评估版本的 CODESYS。

硬件介绍

Verdin AM62使用 TI AM623/AM625 处理器,具有最多 4 个主频 1.4GHz 的 Cortex-A53 内核,以及一个 400MHz 主频的 M4F 核心。内存采用 LPDDR4,从 512 MB 到 2 GB 可供选择。eMMC 从 4~16 GB。模块采用 SODIMM DDR4 标准,提供两路千兆以太网、CAN、MIPI DSI 显示、I2C、SPI、UART 等接口。

BSP 配置

CODESYS 分为在电脑端使用 IDE,在 GUI 中开发 PLC 应用,和在设备上运行时 runtime 软件,例如在 Verdin AM62 上的 CODESYS Control for Linux ARM SL。CODESYS 的运行需要使用 RT-Linux 内核。Toradex 发布的 Linux BSP 采用 Yocto Project 

编译,可以在生成 BSP 时直接为 Linux 内核打上实时补丁。修改 local.conf 文件。

DISTRO="tdx-xwayland-rt"

为了尽可能保证内核时实时性,可以裁减 BSP 中的 wayland 显示、Qt demo 等组件,添加用于测试实时性能的 cyclictest。

IMAGE_INSTALL:remove = " weston wayland-qtdemo-launch-cinematicexperience"
DISTRO_FEATURES:remove= "wayland"
IMAGE_INSTALL:append = " rt-tests"

最后使用 bitbake 命令编译镜像,并使用 Toradex Easy Installer将其烧录到 Verdin AM62 模块。

bitbake tdx-reference-multimedia-image

CODESYS IDE 安装

从 CODESYS 网站下载 IDE 开发工具,安装成功后再下载 64bit 的 CODESYS Control for Linux ARM SL。这是后缀为 package 的文件,需要在 CODESYS IDE 中按照下图打开 CODESYS Installer 导入 package 文件进行安装。

安装完毕后可以看到以下目录 C:\Program Files\CODESYS 3.5.20.20\CODESYS\CODESYS Control for Linux ARM64 SL。

Verdin AM62 软件安装

在 Verdin AM62 上需要安装来自 C:\Program Files\CODESYS 3.5.20.20\CODESYS\CODESYS Control for Linux ARM64 SL\Delivery\linuxarm64 目录下的 codesyscontrol_linuxarm64_4.13.0.0_arm64.ipk。将其复制到开发板后运行下面命令安装。

opkg install codesyscontrol_linuxarm64_4.13.0.0_arm64.ipk

在 Dependency 目录下还有一个 deb 格式的 codemeter-lite 安装文件。如有你已经有 CODESYS 的授权密钥,安装 codemeter 后,上面安装的 codesyscontrol 将不受 30 分钟的试用时间限制。由于 Verdin AM62 默认不使用 Debian 包管理系统,可以参考 CODESYS 的网页说明,手动解压 deb 安装包后复制相关文件。执行下面命令即可启动 codesysctonrol,ps aux|grep codesys查看运行情况。当 codesyscontrol 运行后,在同一个网络中的电脑上的 CODESYSY IDE 就可以发现该设备。

/etc/init.d/codesyscontrol start

ps aux|grep codesys

root 710 9.2 1.9 892328 39456 pts/0 SLl 08:04 0:00 /opt/codesys/bin/codesyscontrol.bin /etc/codesyscontrol/CODESYSControl.cfg

PLC 应用开发

打开 IDE 后点击新建项目,设置项目名称和保存路径。

Device 选择 CODESYS Control for Linux ARM64 SL,这是上面安装的组件。

点击 Scan Network 扫面本地网络,发现 Verdin AM62 设备。

首次发现设备时需要设置一个用户名和密码,IDE 将会使用该账户和设备通信。

创建完毕后使用该帐号登录。

然后就可以看到该设备,后面的 PLC 应用将这上面调试和运行。

具体的 PLC demo 编写可以参考我们开发者网页的说明。开启 web visu 功能后,可以连接到 Verdin AM62 的 IP,在浏览器中查看 PLC 运行情况。

Verdin AM62 实时性能测试

在使用 Yocto Project 编译镜像时已经添加了 rt-tests 工具,下面使用 cyclictest 测试实时性能。测试时把 AM62 4 个核心的时钟均设置到最高的 1.4 GHz。

# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

# cpufreq-info |grep current

current policy: frequency should be within 200 MHz and 1.40 GHz.

current CPU frequency is 1.40 GHz (asserted by call to hardware).

current policy: frequency should be within 200 MHz and 1.40 GHz.

current CPU frequency is 1.40 GHz (asserted by call to hardware).

current policy: frequency should be within 200 MHz and 1.40 GHz.

current CPU frequency is 1.40 GHz (asserted by call to hardware).

current policy: frequency should be within 200 MHz and 1.40 GHz.

current CPU frequency is 1.40 GHz (asserted by call to hardware).

stress-ng 把所有核心的负荷加满,使用 cyclictest 持续运行 1 个小时并统计结果。


stress-ng -c 4 --cpu-method all & \
cyclictest -m -Sp98 -D1h -h400 -i200 -q > output

总结

文章介绍了如何在 Verdin AM62 上使用 CODESYS,该方法同样也适用于其他 Toradex Arm 64bit 的模块,如 iMX8 SoC。关于 CODESYS 实时性调教,可以从 BSP、内核裁减,CPU 亲和性设置,中断优化等方面进行,具体参考下面文档。

参考:

https://www.ti.com/lit/pdf/SPRADH0


http://www.mrgr.cn/news/47966.html

相关文章:

  • 面试题汇总
  • Vue.use()和Vue.component()
  • 【复习向】动态流水线相关
  • 抓取手机HCI日志
  • 德州仪器 cookie _px3 分析
  • tesla openday数据驱动串讲
  • 【Java SE 题库】递归的魅力之--> 汉诺塔问题
  • 初阶数据结构(2):空间复杂度和复杂度算法题
  • Alluxio在数据索引和模型分发中的核心价值与应用
  • vue3 + vite + cesium项目
  • ARM在嵌入式开发中的作用有哪些?
  • 攻防世界1
  • 51单片机数码管循环显示0~f
  • F开头的词根词缀:ful
  • 关于不建议使用北京新网数码信息技术公司的服务器和虚拟机的说明(重要说明)
  • PSD18C-LF-T7 高功率TVS射线管芯片IC
  • AcWing算法提高课 1.2.2 最长上升子序列模型(二)
  • 云原生后端
  • uni-app关闭底部系统导航栏的控制按钮BUG
  • Pura 70系列和Pocket 2已支持升级尝鲜鸿蒙NEXT,报名教程在这里
  • 进程的理解
  • 单例模式和读者写者问题
  • 找不到xinput1_3.dll怎么解决,快来试试这个几个方法
  • Java获取当前年月日
  • 活动队列
  • 让你的MacOS剪切板变得更加强大,如何解决复制内容覆盖的问题