0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

聊一聊PLC背后的那些秘密

TopSemic嵌入式 ? 來(lái)源:工程師的廢紙簍 ? 作者:Tony Yang ? 2021-11-18 17:36 ? 次閱讀

本來(lái)想好的題目是《跟我學(xué)做PLC》,但是轉(zhuǎn)念一想,做為一個(gè)離開(kāi)工控行業(yè)七八年的二手程序猿,自己的行業(yè)知識(shí)已經(jīng)過(guò)期很久了,所以還是改為《揭秘PLC》更合適些。

想當(dāng)年大四的時(shí)候?qū)W分不夠,所以選修了PLC這門(mén)課程,雖然沒(méi)正兒八經(jīng)聽(tīng)過(guò)幾節(jié)課,但是實(shí)驗(yàn)課程卻甚是有趣,引起了我們幾個(gè)小伙伴的好奇心,總想趁老師不在偷偷拆開(kāi)看看,到底里面是一個(gè)PC還是一個(gè)專(zhuān)用的芯片,可惜一直沒(méi)有得手。不過(guò)后來(lái)倒是在微機(jī)原理實(shí)驗(yàn)室里從一堆廢電腦里拆出一個(gè)Voodoo(好家伙,淘寶現(xiàn)在居然能賣(mài)15w)

畢業(yè)后一不小心進(jìn)入了工控行業(yè),開(kāi)始研發(fā)DCS/PLC產(chǎn)品,接觸到了這類(lèi)產(chǎn)品的相關(guān)技術(shù),終于明白PLC里面并沒(méi)有專(zhuān)用的芯片,其核心部件就是MCU或者M(jìn)PU/CPU,小型的用MCU,中大型的用MPU/CPU,用PC做的PLC有個(gè)專(zhuān)用的名字:Soft-PLC。之前朋友圈里有不少人在分享文章:“PLC, DCS, MCU有什么區(qū)別,能不能替換等等”,這里揭開(kāi)第一個(gè)秘密:PLC其實(shí)就是拿MCU做的,它們本質(zhì)上是沒(méi)有區(qū)別的。

既然PLC是用MCU/MPU做的,那具體區(qū)別在哪兒呢?上學(xué)時(shí)看過(guò)很多文章和書(shū)籍,回想起來(lái)總感覺(jué)它們總在外面蹭蹭,極少能真正進(jìn)去,讀者往往得到似是而非的東西。今天我們就好好的刨一刨Codesys,爭(zhēng)取能往祖墳上刨(受到License的限制,本文只會(huì)展示Codesys已公開(kāi)內(nèi)容,并以Codesys V2.3版本為例)。

1. 什么是CodesysCodesys是一個(gè)PLC開(kāi)發(fā)套件,將它的RTS組件運(yùn)行在MCU/MPU端,并配合Codesys PC端就可以輕松設(shè)計(jì)出一款PLC。之前在公眾號(hào)上看到哪位大哥在講國(guó)內(nèi)工業(yè)軟件的短板,拉出Codesys來(lái),說(shuō)它是PLC界的安卓,國(guó)內(nèi)的匯川、合信、和利時(shí)、英威騰、臺(tái)達(dá),國(guó)外的倍福、施耐德、力士樂(lè)都在用,可安卓開(kāi)源的啊,誰(shuí)見(jiàn)過(guò)入門(mén)費(fèi)20W¥的安卓?

相信有不少朋友開(kāi)始嘀咕了,這家伙就沒(méi)有競(jìng)爭(zhēng)對(duì)手了么?有,但確實(shí)不多,而且規(guī)模也都不大,不然怎么說(shuō)Codesys是行業(yè)安卓呢。下面列了幾個(gè)玩家(包括開(kāi)源項(xiàng)目):

VendorSoftwareDescription

3SCodesyshttps://www.codesys.com/

KW-Software(Phoenix收購(gòu))MultiProg原先是Codesys最大競(jìng)爭(zhēng)對(duì)手,后被Phoenix收購(gòu),改名PLCnext

infoteamOpenPCShttp://infoteam.com.cn/

RockwellISaGRAFhttps://www.rockwellautomation.com/

logicalslogi.CADhttps://www.logicals.com/en/

ide4plcide4plchttps://ide4plc.wordpress.com/

BeremizBeremizhttp://www.beremiz.org/

1.1 Codesys的構(gòu)成Codesys由3部分組成:

PC端的Codesys軟件:給電氣攻城獅提供的編程IDE(編輯器+編譯器+調(diào)試器),相當(dāng)于MCU攻城獅的Keil,IAR。這個(gè)IDE是可以免費(fèi)下載。

PLC端的Runtimer system:給PLC Vendor提供的軟件套件,要花錢(qián)買(mǎi)的,可以運(yùn)行在不同的芯片平臺(tái)。后面簡(jiǎn)稱(chēng)RTS(也有其他廠(chǎng)商叫RTE)。

Target配置工具:PC端IDE和PLC端Runtimer之間的橋梁,通過(guò)編寫(xiě)一些配置文件來(lái)生成一個(gè)目標(biāo)文件,目標(biāo)文件含有PLC端的各種信息。

1.2 Codesys for PCCodesys V2.3這個(gè)軟件發(fā)布的比較早,和它的黃金搭檔應(yīng)該是WinXP或者Win7,如果裝在Win10系統(tǒng)上可能會(huì)出現(xiàn)藍(lán)屏,但這并不影響我們對(duì)它進(jìn)行分析,如果安裝的時(shí)候一路next,軟件會(huì)被安裝在如下路徑:C:Program Files (x86)3S SoftwareCODESYS V2.3

雙擊Codesys.exe打開(kāi)軟件會(huì)看到歡迎的提示

點(diǎn)擊新建一個(gè)項(xiàng)目會(huì)提示Target選擇窗口,因?yàn)槲疫@里啥也沒(méi)裝,所以沒(méi)有任何的Target可以選擇,點(diǎn)擊OK進(jìn)入POU設(shè)置頁(yè)面

上圖左邊需要設(shè)置POU的類(lèi)型:程序或者功能塊。程序就相當(dāng)于Keil,IAR里的程序,功能塊相當(dāng)于Keil,IAR里的LIB

右邊選擇POU的語(yǔ)言,Codesys支持6種語(yǔ)言:IL, LD, FBD, SFC, ST, CFC,這六種語(yǔ)言都follow IEC 61131-3的標(biāo)準(zhǔn),這六種語(yǔ)言就不展開(kāi)了,感興趣的小伙伴自己百度,ST語(yǔ)言的語(yǔ)法類(lèi)似于C語(yǔ)言,只要在編輯器輸入;就相當(dāng)于nop指令,一個(gè)空函數(shù)就完成了。

不過(guò)這還不能編譯通過(guò),因?yàn)檫€沒(méi)有設(shè)置Target,Codesys編譯器還不知道PLC有多少資源,RAM多大,什么Core它都不知道,所以我們需要安裝一個(gè)Target,這個(gè)一般都是由PLC廠(chǎng)商提供,有些廠(chǎng)商為了用戶(hù)方便,將Codesys PC端進(jìn)行了二次打包,這樣安裝好后就有默認(rèn)的Target了,而且歡迎logo也可以替換為自己的,具體做法我只展示一次,亮點(diǎn)已經(jīng)標(biāo)注了

3S自帶了幾個(gè)Target需要安裝一下即可,雙擊InstallTarget.exe,然后選擇Open目標(biāo)文件的路徑,安裝需要的Target

1.3 Codesys and Target安裝好Target后,我們可以來(lái)C:Target目錄查看相關(guān)的內(nèi)容,里面最重要的兩個(gè)文件.trg,.CFG,其中trg是通過(guò)工具生成的,PLC vendor會(huì)根據(jù)所選擇的MCU平臺(tái)來(lái)定義該文件,比如用什么處理器,編譯器,N, M, I, Q, R各個(gè)區(qū)地址和大小。CFG文件定義了該P(yáng)LC通道定義

NameDescription

*.trg定義Target相關(guān)參數(shù)設(shè)置

PCBASEDIO*.CFG定義PLC的通道參數(shù)

Trg文件對(duì)應(yīng)如下配置:

CFG文件對(duì)應(yīng)通道數(shù)據(jù),可以添加子模塊,比如CAN,CP5613等:

CFG文件內(nèi)容示例:

1.4 編譯成功設(shè)定好Target后,就可以成功編譯拉

今兒就寫(xiě)到這兒吧,下一篇專(zhuān)門(mén)講講RTS吧未完待續(xù)

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17263

    瀏覽量

    351985
  • plc
    plc
    +關(guān)注

    關(guān)注

    5014

    文章

    13351

    瀏覽量

    464480
  • PC
    PC
    +關(guān)注

    關(guān)注

    9

    文章

    2098

    瀏覽量

    154429

原文標(biāo)題:揭秘PLC背后的故事1

文章出處:【微信號(hào):TopSemic,微信公眾號(hào):TopSemic嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    -能量管理系統(tǒng)儲(chǔ)能電站

    放,工商業(yè)儲(chǔ)能會(huì)更加具有經(jīng)濟(jì)性,加上限電政策的影響,工商業(yè)儲(chǔ)能將在2023-2025年逐漸發(fā)展成主要的增長(zhǎng)點(diǎn)。 工商業(yè)儲(chǔ)能是用戶(hù)側(cè)儲(chǔ)能最主要的應(yīng)用場(chǎng)景之,當(dāng)前主要應(yīng)用場(chǎng)景包括峰谷套利、需(容)量管理、應(yīng)急備電、動(dòng)態(tài)增容及需求側(cè)響應(yīng)。 如何通過(guò)工商業(yè)儲(chǔ)能設(shè)備實(shí)現(xiàn)
    的頭像 發(fā)表于 09-29 16:59 ?228次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>-能量管理系統(tǒng)儲(chǔ)能電站

    探秘LED顯示屏背后秘密:數(shù)字信號(hào)與數(shù)字電路的奇妙世界

    探秘LED顯示屏背后秘密:數(shù)字信號(hào)與數(shù)字電路的奇妙世界
    的頭像 發(fā)表于 08-02 02:36 ?434次閱讀

    秘密背后秘密-高速PCB的層疊確認(rèn)時(shí),工廠(chǎng)為何不寫(xiě)銅箔類(lèi)型

    高速PCB層疊確認(rèn)時(shí),PCB工程確認(rèn)時(shí)不提供銅箔類(lèi)型,大家認(rèn)為正常嗎,工廠(chǎng)說(shuō)不提供銅箔類(lèi)型,是生產(chǎn)時(shí)多了種選擇,你能接受嗎,請(qǐng)走進(jìn)今天的案例,了解案例背后秘密。
    的頭像 發(fā)表于 06-17 17:16 ?482次閱讀
    <b class='flag-5'>秘密</b><b class='flag-5'>背后</b>的<b class='flag-5'>秘密</b>-高速PCB的層疊確認(rèn)時(shí),工廠(chǎng)為何不寫(xiě)銅箔類(lèi)型

    頻偏和負(fù)載電容的計(jì)算方法

    無(wú)源晶振指所有諧振器系列,成本低,內(nèi)部沒(méi)有獨(dú)立的起振電路,需要外部電路配合,并精準(zhǔn)匹配外部電容才能輸出電信號(hào)。
    的頭像 發(fā)表于 05-08 14:32 ?1018次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>頻偏和負(fù)載電容的計(jì)算方法

    5G路由器相比4G有哪些優(yōu)勢(shì)(5g科普)

    大家好,今天我們來(lái)5G路由器相比4G有哪些優(yōu)勢(shì),以及它將如何改變我們的生活。 首先,5G路由器最顯著的優(yōu)勢(shì)就是速度快。5G網(wǎng)絡(luò)的速度可以達(dá)到4G的10倍以上,這意味著我們可以更快地下載和上傳
    的頭像 發(fā)表于 04-26 10:35 ?618次閱讀

    簡(jiǎn)單彩色轉(zhuǎn)灰度的算法

    R、G、B 分別代表3個(gè)原色分量字節(jié),BGR就表示個(gè)像素。為了看起來(lái)方便在每個(gè)像素之間插了個(gè)空格,實(shí)際上是沒(méi)有的。X表示補(bǔ)足4的倍數(shù)而自動(dòng)插入的字節(jié)。為了符合人類(lèi)的閱讀習(xí)慣分行了,其實(shí)在計(jì)算機(jī)內(nèi)存中應(yīng)該看成連續(xù)的大段。
    的頭像 發(fā)表于 04-18 10:32 ?465次閱讀
    簡(jiǎn)單<b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>彩色轉(zhuǎn)灰度的算法

    啥是“阻抗修正”去嵌入技術(shù)

    步,R&S的矢網(wǎng)在測(cè)量得到“2x-Thru Coupon(測(cè)試條)”的S參數(shù)以后,要分別解出“左側(cè)夾具”和“右側(cè)夾具”。每側(cè)的夾具都用個(gè)s2p文件來(lái)表征。這步實(shí)際是整個(gè)去嵌入的關(guān)鍵。
    的頭像 發(fā)表于 04-17 14:19 ?1172次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>啥是“阻抗修正”去嵌入技術(shù)

    “阻抗修正”去嵌入

    在非標(biāo)準(zhǔn)接口器件測(cè)試中,使用去嵌入方法消除測(cè)試夾具等對(duì)測(cè)試結(jié)果的影響已經(jīng)被很多小伙伴們熟知。在最新的R&S ZNA/ZNB系列矢量網(wǎng)絡(luò)分析儀(簡(jiǎn)稱(chēng):矢網(wǎng))界面中,加入了“Deembed Assistant(去嵌助手)”,可以幫助各位小伙伴輕松完成去嵌入的操作。
    的頭像 發(fā)表于 04-17 14:18 ?1439次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>“阻抗修正”去嵌入

    電感的特性都有哪些

    電感是閉合回路中的種屬性,是衡量產(chǎn)生電磁感應(yīng)能力的物理量。我們常說(shuō)的電感指的是電感器,是自感,用符號(hào) L 表示。
    的頭像 發(fā)表于 03-29 14:01 ?1294次閱讀

    MCU和SoC的區(qū)別

    微控制器是單個(gè)集成電路(IC)上的小型計(jì)算機(jī),包含處理器內(nèi)核、內(nèi)存、可編程輸入/輸出(I/O)外設(shè)、定時(shí)器、計(jì)數(shù)器等。它只提供最小的內(nèi)存、接口和處理能力。
    發(fā)表于 03-26 11:39 ?3513次閱讀

    下常見(jiàn)的幾種無(wú)線(xiàn)遙控器及其可能使用的晶振頻率

    無(wú)線(xiàn)遙控器可以分為四種類(lèi)型,其中每種類(lèi)型可能采用不同的頻率晶振。今天KOAN凱擎小妹下常見(jiàn)的幾種無(wú)線(xiàn)遙控器及其可能使用的晶振頻率。
    的頭像 發(fā)表于 03-22 14:29 ?5097次閱讀

    Transformer中的FFN

    NLP上估計(jì)會(huì)幫助reduce overfitting, improve generalization,但是與其花時(shí)間改這個(gè)地方不如好好clean data。。。目前來(lái)說(shuō)
    的頭像 發(fā)表于 03-13 11:41 ?1263次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>Transformer中的FFN

    短路測(cè)試是怎么回事兒

    我們稱(chēng)之為“類(lèi)短路”,般為橋臂直通導(dǎo)致的,硬件或軟件失效造成的,此時(shí)短路回路中的電感量很小(100nH),般我們會(huì)采用VCE(sat)檢測(cè)來(lái)實(shí)現(xiàn)短路保護(hù)。
    的頭像 發(fā)表于 02-18 13:59 ?1833次閱讀
    <b class='flag-5'>聊</b><b class='flag-5'>一</b><b class='flag-5'>聊</b>短路測(cè)試是怎么回事兒

    邪惡PLC攻擊技術(shù)的關(guān)鍵步驟

    今天我們來(lái)PLC武器化探秘:邪惡PLC攻擊技術(shù)的六個(gè)關(guān)鍵步驟詳解。
    的頭像 發(fā)表于 01-23 11:20 ?1094次閱讀
    邪惡<b class='flag-5'>PLC</b>攻擊技術(shù)的關(guān)鍵步驟

    嵌入式C語(yǔ)言

    作為名嵌入式軟件開(kāi)發(fā)者,熟練掌握嵌入式C語(yǔ)言對(duì)我的日常工作至關(guān)重要。
    的頭像 發(fā)表于 01-22 09:28 ?568次閱讀