萬泉河
WX:ZHO6371995,歡迎+
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 130 個(gè)
工控威望: 246 點(diǎn)
下載積分: 831 分
在線時(shí)間: 11(小時(shí))
注冊(cè)時(shí)間: 2021-06-11
最后登錄: 2024-11-07
查看萬泉河的 主題 / 回貼
樓主  發(fā)表于: 2023-09-26 22:52
0926 【萬泉河】關(guān)于UDT,只怪自己腦洞不夠大

上一篇文章《0917 【萬泉河】關(guān)于PLC中UDT和FB的迷思》,是針對(duì)更早一篇文章
《0820 【萬泉河】就是要為不用UDT而不用UDT》所引發(fā)的網(wǎng)友爭(zhēng)論所寫。

文中主要的結(jié)論:

    UDT本質(zhì)上是數(shù)據(jù)類型,而FB本質(zhì)上也是數(shù)據(jù)類型。
    從接口的角度,UDT和FB同樣都可以作為接口。
    而從類的角度,UDT和FB也都同樣可以作為類。

文章發(fā)出后,這回的反響就比較好了,沒了那么多反對(duì)爭(zhēng)論的聲音,連帶那個(gè)討論的帖子,過程也不那么激烈了。

因?yàn)槲乙辉俦硎,我發(fā)表這些觀點(diǎn)不是拋磚引玉供大家辯駁的,而是立下個(gè)標(biāo)志,供大家可以在很長(zhǎng)時(shí)間里學(xué)習(xí)理解的。我根本沒有要和同行討論的意思。 所以不需要來和我討論乃至爭(zhēng)論。 除非有人能和我一樣寫出來系列文章,并且發(fā)表出有理有據(jù)的更深刻的觀點(diǎn)。

然而有群友讀懂了之后就在群里問我, 既然UDT和FB都是數(shù)據(jù)類型, 那么FB是否可以作為UDT的數(shù)據(jù)元素呢?

我以多年西門子PLC的經(jīng)驗(yàn),做出的第一反應(yīng)是,不能,絕不可能!

然后說出口之后立馬感覺自己有些唐突了。 這要是說錯(cuò)了話, 這要是被整天跟在腳后跟后面盯著咬腳后跟的家伙抓著了把柄, 不得興奮跳腳好幾年!當(dāng)然, 以他們的智力水平,這一段的技能已經(jīng)遠(yuǎn)遠(yuǎn)超越了他們的認(rèn)知上限,即便放個(gè)破綻給他們,他們也沒那么容易叼到。

所以,說完之后,我趕緊在PORTAL V17里面驗(yàn)證了一下,先松一口氣,當(dāng)然是不可以。 在UDT中建立數(shù)據(jù)元素的時(shí)候,可選的數(shù)據(jù)類型有各種基本數(shù)據(jù)類型,也有已經(jīng)存在的UDT,但已經(jīng)存在的FB卻并沒有出現(xiàn)在可選列表中。

注意看這個(gè)時(shí)候的表達(dá),是要嚴(yán)謹(jǐn)包括軟件版本的。 更新版本的V18我還沒有用過,所以暫時(shí)無從驗(yàn)證。 而未來保不齊在哪一個(gè)版本中會(huì)支持,在當(dāng)下這還是懸而未決的懸案,需要未來驗(yàn)證。

然后,我就順手在正在使用的倍福TC2的軟件中試了一下, 驚掉下巴的事情出現(xiàn)了: CODESYS中竟然可以!

CODESYS中的UDT的數(shù)據(jù)類型,竟然可以選擇系統(tǒng)FB和自定義的FB作為其數(shù)據(jù)元素。

而且,當(dāng)天也就有了報(bào)應(yīng)。

我承接的一個(gè)公司的非標(biāo)設(shè)備的PLC程序的標(biāo)準(zhǔn)化改造,他們的PLC主要使用倍福,所以我還在逐字逐句解讀他們?cè)瓉淼腡C2程序。 然后當(dāng)天下午,在閱讀到某一數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu)時(shí),赫然發(fā)現(xiàn)了其中定義的R_TRIG ,  就是相當(dāng)于SFB啊

TYPE ST_calcpointw :
STRUCT

    limitswitch:BOOL;
    point1:BOOL;
    point2:BOOL;

    rise_tf:R_TRIG;
    rise_fs:R_TRIG;
    rise_cs:R_TRIG;
    rise_fw:R_TRIG;

END_STRUCT
END_TYPE

怎么說呢, 對(duì)我來說,只能怪自己腦洞不夠大了!

我們這兒還各個(gè)角度各種理論論證各種數(shù)據(jù)類型的區(qū)別呢,殊不知早有人在用著了。 當(dāng)然,我相信他們老大即便無意中發(fā)現(xiàn)了這個(gè)功能可以使用就順手用的時(shí)候, 也完全沒有想到在屋子外面有眾人會(huì)因?yàn)槠浔澈蟮睦碚摮吵臭[鬧,扭作一團(tuán)。

也當(dāng)然啦, 他們的老大雖然早就掌握了在UDT數(shù)據(jù)元素中使用FB的技能,寫程序的方法仍然基于傳統(tǒng)方法的,雖然一直在謀求實(shí)現(xiàn)設(shè)備規(guī)格的標(biāo)準(zhǔn)化,但最終結(jié)果卻離標(biāo)準(zhǔn)化模塊化越來越遠(yuǎn),去年他們出廠的非標(biāo)設(shè)備類型統(tǒng)計(jì)下來達(dá)到了50個(gè)機(jī)型之后,PLC程序版本管理就完全失控了,設(shè)計(jì)人員開始疲于奔命,被一個(gè)接一個(gè)的項(xiàng)目推著走。 公司嚴(yán)重缺人手, 然而新招的人手短時(shí)間內(nèi)還不能承擔(dān)起工作任務(wù),完全惡性循環(huán)中。所以想到了要我來輔導(dǎo)實(shí)現(xiàn)設(shè)備程序設(shè)計(jì)的標(biāo)準(zhǔn)化。 對(duì)倍福的PLC,調(diào)試細(xì)節(jié)我不夠熟悉,但由于我N年前已經(jīng)完成了倍福PLC的標(biāo)準(zhǔn)化,所以對(duì)其標(biāo)準(zhǔn)化架構(gòu)還是比較了解的。 這是我敢承攬的主要原因。

同時(shí)也做一個(gè)預(yù)告,《三菱PLC標(biāo)準(zhǔn)化編程煙臺(tái)方法》的書稿已經(jīng)通過了出版社審核,預(yù)期會(huì)在年底之前出版發(fā)行。 而我計(jì)劃的下一本書,就會(huì)是針對(duì)倍福和CODESYS的。會(huì)在輔導(dǎo)的倍福標(biāo)準(zhǔn)化項(xiàng)目有點(diǎn)眉目的時(shí)候就同步開始攥寫。

書名會(huì)叫做《倍福/CODESYS  PLC 標(biāo)準(zhǔn)化編程煙臺(tái)方法》, 既然倍福PLC是基于CODESYS平臺(tái)的, 那么在寫倍福時(shí)也就順便將CODESYS的內(nèi)容一起包含了。 如果還有其它的使用CODESYS平臺(tái)的PLC廠家希望搭便車, 在書中同時(shí)體現(xiàn), 請(qǐng)私下與我聯(lián)系。


ajunn
級(jí)別: 家園常客
精華主題: 0
發(fā)帖數(shù)量: 522 個(gè)
工控威望: 682 點(diǎn)
下載積分: 1659 分
在線時(shí)間: 1028(小時(shí))
注冊(cè)時(shí)間: 2008-11-05
最后登錄: 2024-11-08
查看ajunn的 主題 / 回貼
1樓  發(fā)表于: 2023-09-26 23:48
建議出一本關(guān)于詳細(xì)項(xiàng)目案例的,比如追剪、飛剪、收放卷、高速換卷、線速度同步等