Verdin AM62使用CODESYS

By Toradex胡珊逢

簡介

CODESYS 是基于 IEC 61131-3 的 PLC 開發(fā)工具,在工業(yè)控制轧邪、交通等領(lǐng)域中有著廣泛的應用。文章將介紹如何在 Toradex 采用 TI AM62 SoC 的 Arm 計算機模塊 Verdin AM62 使用評估版本的 CODESYS。

硬件介紹

Verdin AM62使用 TI AM623/AM625 處理器哗总,具有最多 4 個主頻 1.4GHz 的 Cortex-A53 內(nèi)核真屯,以及一個 400MHz 主頻的 M4F 核心脸候。內(nèi)存采用 LPDDR4,從 512 MB 到 2 GB 可供選擇绑蔫。eMMC 從 4~16 GB运沦。模塊采用 SODIMM DDR4 標準,提供兩路千兆以太網(wǎng)配深、CAN携添、MIPI DSI 顯示、I2C篓叶、SPI烈掠、UART 等接口。

BSP 配置

CODESYS 分為在電腦端使用 IDE缸托,在 GUI 中開發(fā) PLC 應用左敌,和在設備上運行時 runtime 軟件,例如在 Verdin AM62 上的 CODESYS Control for Linux ARM SL俐镐。CODESYS 的運行需要使用 RT-Linux 內(nèi)核矫限。Toradex 發(fā)布的 Linux BSP 采用?Yocto Project?

編譯,可以在生成 BSP 時直接為 Linux 內(nèi)核打上實時補丁京革。修改 local.conf 文件奇唤。

DISTRO="tdx-xwayland-rt"

為了盡可能保證內(nèi)核時實時性,可以裁減 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 網(wǎng)站下載?IDE 開發(fā)工具,安裝成功后再下載 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堡妒。將其復制到開發(fā)板后運行下面命令安裝。

opkg?install?codesyscontrol_linuxarm64_4.13.0.0_arm64.ipk

在 Dependency 目錄下還有一個 deb 格式的 codemeter-lite 安裝文件溉卓。如有你已經(jīng)有 CODESYS 的授權(quán)密鑰皮迟,安裝 codemeter 后搬泥,上面安裝的 codesyscontrol 將不受 30 分鐘的試用時間限制。由于 Verdin AM62 默認不使用 Debian 包管理系統(tǒng)伏尼,可以參考?CODESYS 的網(wǎng)頁說明忿檩,手動解壓 deb 安裝包后復制相關(guān)文件。執(zhí)行下面命令即可啟動 codesysctonrol爆阶,ps aux|grep codesys查看運行情況燥透。當 codesyscontrol 運行后,在同一個網(wǎng)絡中的電腦上的 CODESYSY IDE 就可以發(fā)現(xiàn)該設備辨图。

/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 應用開發(fā)

打開 IDE 后點擊新建項目班套,設置項目名稱和保存路徑。


Device 選擇 CODESYS Control for Linux ARM64 SL故河,這是上面安裝的組件孽尽。


點擊 Scan Network 掃面本地網(wǎng)絡,發(fā)現(xiàn) Verdin AM62 設備忧勿。


首次發(fā)現(xiàn)設備時需要設置一個用戶名和密碼,IDE 將會使用該賬戶和設備通信瞻讽。


創(chuàng)建完畢后使用該帳號登錄鸳吸。


然后就可以看到該設備,后面的 PLC 應用將這上面調(diào)試和運行速勇。


具體的 PLC demo 編寫可以參考我們開發(fā)者網(wǎng)頁的說明晌砾。開啟 web visu 功能后,可以連接到 Verdin AM62 的 IP烦磁,在瀏覽器中查看 PLC 運行情況养匈。


Verdin AM62 實時性能測試

在使用 Yocto Project 編譯鏡像時已經(jīng)添加了 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 持續(xù)運行 1 個小時并統(tǒng)計結(jié)果陨晶。

stress-ng -c 4 --cpu-method all & \

cyclictest -m -Sp98 -D1h -h400 -i200 -q > output


總結(jié)

文章介紹了如何在 Verdin AM62 上使用 CODESYS猬仁,該方法同樣也適用于其他 Toradex Arm 64bit 的模塊,如 iMX8 SoC先誉。關(guān)于 CODESYS 實時性調(diào)教湿刽,可以從 BSP、內(nèi)核裁減褐耳,CPU 親和性設置诈闺,中斷優(yōu)化等方面進行,具體參考下面文檔铃芦。

參考:

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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雅镊,一起剝皮案震驚了整個濱河市襟雷,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌漓穿,老刑警劉巖嗤军,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異晃危,居然都是意外死亡叙赚,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門僚饭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來震叮,“玉大人,你說我怎么就攤上這事鳍鸵∥辏” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵偿乖,是天一觀的道長击罪。 經(jīng)常有香客問我,道長贪薪,這世上最難降的妖魔是什么媳禁? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮画切,結(jié)果婚禮上竣稽,老公的妹妹穿的比我還像新娘。我一直安慰自己霍弹,他們只是感情好毫别,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著典格,像睡著了一般岛宦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上钝计,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天恋博,我揣著相機與錄音,去河邊找鬼私恬。 笑死债沮,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的本鸣。 我是一名探鬼主播疫衩,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼荣德!你這毒婦竟也來了闷煤?” 一聲冷哼從身側(cè)響起童芹,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鲤拿,沒想到半個月后假褪,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡近顷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年生音,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窒升。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡缀遍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出饱须,到底是詐尸還是另有隱情域醇,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布蓉媳,位于F島的核電站譬挚,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏酪呻。R本人自食惡果不足惜殴瘦,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望号杠。 院中可真熱鬧,春花似錦丰歌、人聲如沸姨蟋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽眼溶。三九已至,卻和暖如春晓勇,著一層夾襖步出監(jiān)牢的瞬間堂飞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工绑咱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绰筛,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓描融,卻偏偏與公主長得像铝噩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子窿克,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容