先來(lái)說(shuō)說(shuō)示例的觀感,個(gè)人認(rèn)為這僅僅是西門(mén)子為了實(shí)現(xiàn)"/>
西門(mén)子: | 功率模塊 |
功率模塊: | 6SL3210-1PE11-8AL1 |
中國(guó): | 凈重1.55KG |
單價(jià): | 1300.00元/臺(tái) |
發(fā)貨期限: | 自買(mǎi)家付款之日起 天內(nèi)發(fā)貨 |
所在地: | 直轄市 上海 |
有效期至: | 長(zhǎng)期有效 |
發(fā)布時(shí)間: | 2024-10-18 16:11 |
最后更新: | 2024-10-18 16:11 |
瀏覽次數(shù): | 57 |
采購(gòu)咨詢(xún): |
請(qǐng)賣(mài)家聯(lián)系我
|
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">上個(gè)月剛接觸西門(mén)子OMAC的PACLML示例,,我試著做了個(gè)程序來(lái)驗(yàn)證,,效果不錯(cuò),。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">先來(lái)說(shuō)說(shuō)示例的觀感,,個(gè)人認(rèn)為這僅僅是西門(mén)子為了實(shí)現(xiàn)模式狀態(tài)機(jī)的一個(gè)小示例,不算可以直接使用的東西,,當(dāng)然離庫(kù)很遠(yuǎn),。示例設(shè)計(jì)得沒(méi)有什么章法,僅僅實(shí)現(xiàn)了而已,,設(shè)計(jì)細(xì)節(jié)沒(méi)有多少值得借鑒得地方,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">大的用處是讓我了解了什么是模式狀態(tài)機(jī),當(dāng)然了,,肯定也只是PACKML的一部分內(nèi)容,。我不了解PACLML,只是從一些資料知道PACKML其實(shí)是涵蓋了整個(gè)項(xiàng)目結(jié)構(gòu)的內(nèi)容,,不光是模式狀態(tài)機(jī)了,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">以前也做過(guò)狀態(tài)機(jī),使用Case對(duì)不同狀態(tài)進(jìn)行處理和轉(zhuǎn)移,。大問(wèn)題是入口case比較難以把握,,稍不留神就會(huì)錯(cuò)誤觸發(fā)。狀態(tài)的轉(zhuǎn)移也完全依賴(lài)現(xiàn)有狀態(tài)里面的判斷,。具體如何不便不好描述,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">說(shuō)示例沒(méi)有多少借鑒的地方其實(shí)有點(diǎn)昧良心了,給我大的啟示是狀態(tài)轉(zhuǎn)移和狀態(tài)處理是分離的,。也許復(fù)雜的部分是狀態(tài)的收集和處理,,示例沒(méi)有這方面的內(nèi)容。我本人項(xiàng)目中也沒(méi)有做專(zhuān)門(mén)的工作,,只是使用了原有底層模塊的狀態(tài)簡(jiǎn)單處理,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">容易實(shí)現(xiàn)的是狀態(tài)轉(zhuǎn)移了,所以我就做了容易的部分,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">并且實(shí)現(xiàn)后發(fā)現(xiàn)其實(shí)是完全可以適用于很多離散行業(yè)場(chǎng)景的,。這里記住,PACKML是包裝行業(yè)的規(guī)范,,它定義的狀態(tài)并不適用于其他行業(yè),。其他行業(yè)有各自的狀態(tài)定義,這個(gè)自己來(lái),。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">示例對(duì)于狀態(tài)的記錄采用字符串,,包括命令、SC,,這個(gè)我覺(jué)得使用數(shù)值更好,,占用空間少,,易于編程。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">至于診斷信息則用于調(diào)試過(guò)程,,我把診斷和狀態(tài)轉(zhuǎn)移塊分離了,,需要診斷信息可以用單獨(dú)的塊接住狀態(tài)機(jī)傳出的診斷信息即可,多少條任意,。但狀態(tài)機(jī)只傳出當(dāng)前的信息,,并不保存之前的信息,并且都是編碼信息,,需要診斷塊自行解碼,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">當(dāng)調(diào)試好后,診斷塊都可以在項(xiàng)目中刪除不用,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">先記到這,,有時(shí)間再寫(xiě)具體實(shí)現(xiàn),。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">------------------------------------------------------
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">2024.01.23
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">本來(lái)已經(jīng)意興闌珊了,,可偏偏是個(gè)精,都還沒(méi)開(kāi)始呢,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">好吧,,只能繼續(xù)了。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">資料里面大量篇幅關(guān)于高層設(shè)備如何劃分之類(lèi)的,,看看就可以了,。有機(jī)會(huì)從整體來(lái)設(shè)計(jì)當(dāng)然不一樣了,但很多時(shí)候我們都只是一個(gè)螺絲釘,,并不注重整體架構(gòu),。有時(shí)是形勢(shì)逼人,有時(shí)覺(jué)得自己可以整體把控了,,無(wú)奈這個(gè)整體又太過(guò)渺小,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">只記得資料里有句話(huà)很有意思,大意是如果你不能正確劃分設(shè)備編號(hào)的話(huà),,那就從底層開(kāi)始編號(hào)吧,,而不是一開(kāi)始就從高層來(lái)。對(duì),,正解,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">放張圖:
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">這是西門(mén)子1847里面的截圖,當(dāng)然我沒(méi)有1847,,而是從壺琰棠發(fā)布的視頻解的圖,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">具體我就不分析了,只看我的結(jié)論:
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">1,、有一個(gè)全集,,包括了所有的狀態(tài),。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">2、全集不一定非得有一個(gè)模式對(duì)應(yīng),,可能有也可能沒(méi)有,。
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">3、模式1向模式2轉(zhuǎn)移需要的條件:模式2里面存在當(dāng)前模式1的當(dāng)前狀態(tài)A.
inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">4,、狀態(tài)是有等級(jí)的,,L0 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">5,、命令和SC其實(shí)沒(méi)有區(qū)別,我一律稱(chēng)作SC,。資料里面SC叫做狀態(tài)完成state complete,,我叫做狀態(tài)改變 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">state change. inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">6、...... inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">如何設(shè)計(jì): inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">仔細(xì)觀察Excute狀態(tài): inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">1,、有三個(gè)出口,、三個(gè)入口。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">2,、如果用鏈表表示,,則入口可以不用關(guān)心,只需要出口,。不過(guò)博途不支持鏈表(指針......),,改用數(shù)組,一樣的道理,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">3,、數(shù)組的單元是個(gè)結(jié)構(gòu):狀態(tài)本體、出口,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">4,、狀態(tài)是個(gè)整數(shù),表示狀態(tài)標(biāo)識(shí),,出口也是個(gè)整數(shù)(后來(lái)改用word),。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">看級(jí)別,把級(jí)別也看做狀態(tài),,則和普通狀態(tài)沒(méi)有區(qū)別,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">只是級(jí)別另外做成單獨(dú)的數(shù)組,單元類(lèi)型和普通狀態(tài)是同一個(gè)類(lèi)型,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">如果這樣,,如何表示從一個(gè)級(jí)別的狀態(tài)轉(zhuǎn)移到另一個(gè)級(jí)別的狀態(tài)呢? inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">后來(lái)設(shè)計(jì)成處理出口SC編碼,做成Word類(lèi)型,,高字節(jié)表示級(jí)別,,低字節(jié)表示SC標(biāo)識(shí)。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">范圍是不是夠呢,?一個(gè)字節(jié)表示256種狀態(tài),,應(yīng)該夠了吧。特別是級(jí)別,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">預(yù)定義四個(gè)出口夠了吧,?做成符號(hào)常量不是更方便些。這樣,,模式數(shù)量,、狀態(tài)數(shù)量、級(jí)別數(shù)量,、SC數(shù)量等等都如此定義,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">這樣,答題設(shè)計(jì)就有了,,總體上變成了填表了,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">邏輯設(shè)計(jì)很簡(jiǎn)單,不需要多少代碼,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">但是工作量大的是診斷工作,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">如何定義呢,?我也是邊實(shí)現(xiàn)邊定義,,沒(méi)有事先定義。現(xiàn)在還沒(méi)有機(jī)會(huì)整理診斷編碼,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">但是有一點(diǎn)是肯定的,,就是診斷大多是給調(diào)試使用,給人看的,,大量的文本占用空間,,就不集成在模式狀態(tài)機(jī)里面了,模式狀態(tài)機(jī)僅輸出診斷信息,,只當(dāng)前診斷,,不存之前的信息。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">如果需要就用單獨(dú)的塊接住往診斷緩沖區(qū)放,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">工作流程就是畫(huà)出狀態(tài)圖:不同模式的狀態(tài)圖,,模式少的話(huà)就用一張圖。然后填數(shù)字,,然后填表,。需要把SC編碼變成16進(jìn)制碼,借助Excel來(lái)做容易些,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">放張我設(shè)計(jì)過(guò)程中的截圖,,上面的SC編碼沒(méi)有級(jí)別編碼,,需要進(jìn)一步轉(zhuǎn)換。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">配置表: inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">1,、診斷文本列表,,可以在PLC,也可以在HMI中處理,,隨便,,其實(shí)調(diào)試后可以不用。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">2,、模式狀態(tài)機(jī)配置表 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">3,、狀態(tài)或級(jí)別配置表內(nèi)容: inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">上圖以級(jí)別表為例,狀態(tài)表類(lèi)似,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">當(dāng)處于某個(gè)狀態(tài)時(shí),,需要和配置表中SCCode一致的SC才能使?fàn)顟B(tài)發(fā)生轉(zhuǎn)移,不符合則會(huì)被拒絕,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">邏輯處理部分,,初始化檢查表內(nèi)容是否適合,我只設(shè)計(jì)了檢查SCCode和Next是否配套,,接著生成模式Pattern,,也即各個(gè)模式下存在全集狀態(tài)的一個(gè)記錄,是個(gè)位域,,DWord,。對(duì)了,我都忘了我設(shè)計(jì)的項(xiàng)目狀態(tài)超過(guò)32個(gè)了,,這個(gè)咋整,? inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">初始化后根據(jù)傳入的SCCode先在級(jí)別表里面檢查是否有合適當(dāng)前級(jí)別的SC,從別開(kāi)始到當(dāng)前級(jí)別終止檢查,。如果有則直接轉(zhuǎn)入Next狀態(tài),,沒(méi)有則繼續(xù)在當(dāng)前State里面檢查。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">都沒(méi)有則拒絕執(zhí)行轉(zhuǎn)移,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">代碼簡(jiǎn)單就不放了,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">現(xiàn)在的重點(diǎn)是如何設(shè)計(jì)好的狀態(tài)收集、如何處理才能使SCCode不會(huì)被錯(cuò)誤覆蓋造成狀態(tài)不能轉(zhuǎn)移,。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">------------------------ inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">后記: inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">如果一個(gè)項(xiàng)目里有多個(gè)狀態(tài)機(jī),,使用全局UDT和全局常量就不合適了。比如說(shuō)一個(gè)狀態(tài)機(jī)比較小,,就需要和大的狀態(tài)機(jī)一樣大的配置表,,比較占空間。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);"> inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">我的做法是把狀態(tài)機(jī)集成到模塊中,不是單獨(dú)模塊,。配置表也集成到模塊中,,全局常量變成了局部常量了,UDT也變成匿名結(jié)構(gòu),。 inkMacSystemFont, "segoe ui", Roboto; padding: 0px; margin-top: 0px; margin-bottom: 0px; color: rgb(51, 51, 51);">