国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
【萬(wàn)泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
2018-05-09 17:24:42
樓主

說(shuō)實(shí)話, 我還從來(lái)沒(méi)有見(jiàn)過(guò)另外一個(gè)行業(yè)的工程師,如本行業(yè)一樣,動(dòng)輒對(duì)同行的作品徹底否定。


見(jiàn)過(guò)了太多的PLC編程工程師,公開(kāi)聲明自己的原則:不愿意讀別人的程序, 不愛(ài)修改別人的程序,情愿另起爐灶自己從頭編寫程序。


理由就是:別人的程序, 爛。


至于原因么, 很簡(jiǎn)單, 別人的編程水平不行,就我的最好。


包括我自己。


我自己記憶最清晰的是兩次現(xiàn)場(chǎng)救援,系統(tǒng)原本的程序爛掉了, 跑不起來(lái),原來(lái)的程序員干不下去了, 撂挑子不管了, 我來(lái)接了爛攤子。 因?yàn)閿傋颖緛?lái)就爛, 所以不得已,毀掉了原來(lái)的所有程序, 只保留了符號(hào)表, 所有程序從頭做的。


除此之外, 只要系統(tǒng)原本是能運(yùn)行的,無(wú)非有缺陷, 總出事情, 那也盡量在其原本基礎(chǔ)上讀懂, 修改。找到問(wèn)題, 解決問(wèn)題。 別人的程序再爛, 我想也總有一些可以參考學(xué)習(xí)的閃光點(diǎn)。


不過(guò)也確實(shí)有些程序爛到實(shí)在不像話。 讀那種程序, 實(shí)在是要忍著惡心的。有那么幾年, 我一邊讀這種程序, 心里一邊暗暗排名,哪個(gè)是我見(jiàn)過(guò)的第一爛的程序, 哪個(gè)是第二爛。 也曾經(jīng)長(zhǎng)時(shí)間的在硬盤上保留著,僅僅是為了作為比爛的樣本。打算誰(shuí)要發(fā)起比爛大賽, 拿出來(lái)參加的。


但我也實(shí)在明白得很,這種專業(yè)技術(shù)人員之間互相傾軋的心態(tài)是要不得的, 是自古以來(lái)的文人相輕的陋習(xí)的傳承。 我還沒(méi)有不要臉到只要?jiǎng)e人的程序都爛, 只有我的程序最好, 最完美最合理最優(yōu)雅最簡(jiǎn)潔。


所以, 這里面一定有一個(gè)客觀衡量的標(biāo)準(zhǔn)。


這些年, 我一直在尋找, 在思考。


首先,要找到最合理, 最理想的程序范本。


最終我認(rèn)為, 是PCS7 。 使用PCS7高級(jí)工具生成的程序, 最終落到S7-400的PLC中,其本質(zhì)上還是PLC程序。  盡管其代碼規(guī)模大,不夠精簡(jiǎn),運(yùn)行效率低,但是從編程的規(guī)范來(lái)說(shuō), 它一定是最合理的。


其次, 是從中提煉出其可度量的好的標(biāo)準(zhǔn)。


好的程序, 一定是模塊化的,面向?qū)ο蟮模?層次分明的。 PCS7顯然是依循這一點(diǎn)做的。但還不足以作為考量程序好壞的標(biāo)準(zhǔn)。


我最終總結(jié),認(rèn)為,好的程序的標(biāo)準(zhǔn)是:不使用M中間量,不使用Timer。


我不希望有人給我耍滑頭, 耍腦筋急轉(zhuǎn)彎。說(shuō), 不讓用M量,可以啊, 那我用全局?jǐn)?shù)據(jù)塊, 建立數(shù)據(jù), 一樣可以。 也用DB塊自己脈沖計(jì)數(shù), 也可以繞過(guò)不使用TIMER。


那性質(zhì)是一樣的, 特征都是:全局變量。


如果學(xué)過(guò)高級(jí)編程語(yǔ)言, 就會(huì)知道, 高級(jí)語(yǔ)言里面最基本的原則就是少用全局公用變量。 尤其禁止在函數(shù)塊與函數(shù)塊內(nèi)部使用PUBLIC變量來(lái)交互數(shù)據(jù)。


放到PLC環(huán)境, 其實(shí)說(shuō)的就是M和T。


我自己以前做程序, 程序塊基本上靠M和T做出來(lái)的。為了清晰,便于傳承, 給每個(gè)FC塊嚴(yán)格分配了可以使用的M區(qū)和T區(qū)域。


現(xiàn)在看來(lái), 都是屬于落后的編程思想。也害了不少跟在我后面學(xué)習(xí)的徒弟。 慚愧。


那么如何避免使用M量和T呢?答案是大量使用FB, 每一個(gè)設(shè)備,單元類型,均提煉做成類庫(kù),需要的存儲(chǔ)區(qū)使用FB塊內(nèi)部的靜態(tài)變量,而定時(shí)器則使用SFB的定時(shí)器, 背景數(shù)據(jù)來(lái)自FB的多重靜態(tài)數(shù)據(jù)。


那么是否可以完全做到呢?PCS7顯然是可以做到。 而我自己做過(guò)的程序, 也有做到過(guò)沒(méi)有使用1個(gè)M和1個(gè)T的。 CPU中指定的系統(tǒng)變量不算。


偶爾也有偷懶, 不夠追求滿分。 特別是調(diào)試到后期, 一些小的細(xì)節(jié)的功能, 順便就用M量簡(jiǎn)單實(shí)現(xiàn)了。那怎么辦呢??jī)?nèi)心給自己的程序打個(gè)分扣上5分就可以了!


當(dāng)你掌握了客觀評(píng)價(jià)標(biāo)準(zhǔn),都能給自己扣分了,那么就可以理直氣壯地評(píng)價(jià)別人的程序了。 比如你如果見(jiàn)到我10年前的某個(gè)程序, 規(guī)定了多少M(fèi)區(qū)不許使用,就可以尖銳地指出:爛!






已有4個(gè)人評(píng)論
展開(kāi)
moyb:建議樓主去學(xué)習(xí)一下軟件工程。早就有衡量軟件的標(biāo)準(zhǔn)了,可讀性、耦合性等等,而且還不完全取決于程序本身,前期的文檔更為重要。      16小時(shí)前回復(fù)   
手機(jī)用戶20181114F6Z6P0:我是新手,虛心向大家學(xué)習(xí)!      2018-11-14 04:07:07回復(fù)   
junky開(kāi):學(xué)習(xí)了      2018-05-27 02:37:10回復(fù)   
成功在于每一天2:個(gè)人認(rèn)為:程序好壞的唯一標(biāo)準(zhǔn)是對(duì)生產(chǎn)的運(yùn)行影響情況。至于繁瑣或者簡(jiǎn)要,這都是次要的。      2018-05-24 03:35:43回復(fù)   
【故事】回復(fù):【萬(wàn)泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
yming至圣
2018-05-09 17:39:02
1樓

 FB的背景數(shù)據(jù)塊算全局變量么?

已有3個(gè)人評(píng)論
展開(kāi)
萬(wàn)泉河回復(fù)冬日:WINCC      2018-05-15 06:55:59回復(fù)   
冬日回復(fù)萬(wàn)泉河:請(qǐng)問(wèn)調(diào)用這些FB的時(shí)候in/out用什么接入?      2018-05-14 08:56:55回復(fù)   
萬(wàn)泉河:算。 其中的INPUT和OUTPUT,是作為接口存在的,可以全局使用。      2018-05-10 08:55:32回復(fù)   
【故事】回復(fù):【萬(wàn)泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
WWCWWC至圣
2018-05-09 17:53:30
2樓

我不想看別人的程序就一個(gè)字“煩”,自以為一個(gè)簡(jiǎn)單的控制給別人做起來(lái),東扯一段程序,西扯一段程序,沒(méi)有連貫性。但當(dāng)自己編輯起來(lái)也一樣了,在調(diào)試時(shí)出現(xiàn)的問(wèn)題也不是先隨便插入程序段或者刪除的。

總之,一句話,對(duì)程序架構(gòu)的熟悉程度。

記得剛剛開(kāi)始看西門子數(shù)控程序時(shí),也非常的“煩”,原因是不熟悉數(shù)控系統(tǒng)的關(guān)聯(lián),慢慢的邊學(xué)邊做,現(xiàn)在已經(jīng)習(xí)慣了。

真如N多人說(shuō),某一個(gè)plc好用和不好用,實(shí)際上就是對(duì)軟件的熟悉不熟悉而已。

看來(lái)我與好的程序差距甚遠(yuǎn),M變量倒是用,但不是很多,基本中間過(guò)程用數(shù)據(jù)塊DB,time用的比較少。

【故事】回復(fù):【萬(wàn)泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
WWCWWC至圣
2018-05-09 17:59:22
3樓

我理解好的程序是經(jīng)的起考驗(yàn)的,值得推敲的,架構(gòu)清晰的,能夠多方面考慮如果、、、、、、的程序。

已有2個(gè)人評(píng)論
展開(kāi)
WWCWWC:簡(jiǎn)單的邏輯控制,我也傾向于類似順控指令,相對(duì)思路單一,控制針對(duì)性強(qiáng)。      2018-05-10 09:12:31回復(fù)   
pingchangxin:我認(rèn)為做程序至少要學(xué)點(diǎn)順控編程,做到流程清楚,連鎖有重復(fù)累贅,才算是及格!      2018-05-09 08:33:25回復(fù)   
【故事】回復(fù):【萬(wàn)泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
YY.D俠士
2018-05-09 18:40:24
4樓

絕大多數(shù)項(xiàng)目都是按照編程工程師的個(gè)人習(xí)慣來(lái)組態(tài)的,沒(méi)有統(tǒng)一的模板、規(guī)范。
這種情況下,去看別人的程序不是一般的難懂,并不是同行相輕,當(dāng)然不排除一部分同行確實(shí)自我感覺(jué)良好的

在一些大型企業(yè),程序都是有模板、塊都是標(biāo)準(zhǔn)化的,程序結(jié)構(gòu)都是固定的,現(xiàn)場(chǎng)工程師要做的只是調(diào)試參數(shù)……程序和現(xiàn)場(chǎng)工程師沒(méi)啥關(guān)系~

而多數(shù)小型工控公司,走個(gè)自控工程師,剩下的人維護(hù)他做的項(xiàng)目都傻眼~

POP,OOP距離還遠(yuǎn)了

【故事】回復(fù):【萬(wàn)泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
2018-05-09 19:54:02
5樓
不用M區(qū),不用定時(shí)器,全部用背景DB塊就是好程序了?我覺(jué)得你作為版主別一天到晚發(fā)充滿爭(zhēng)議的話題,我的標(biāo)準(zhǔn)比你好多了,第一點(diǎn),好程序必須都有注釋。
已有4個(gè)人評(píng)論
展開(kāi)
20160515V424FV:你沒(méi)理解人家的意思吧,我理解的是:不要搞一頓全局變量,倒來(lái)倒去,四處亂串。      3天前回復(fù)   
揚(yáng)凡:你好,請(qǐng)教一下,變量的注釋怎么跟變量名一同顯示在程序上?      2018-11-24 07:04:22回復(fù)   
唐詩(shī)宋瓷:我給潤(rùn)色一下,好程序必須有必需的注釋。      2018-06-01 10:29:17回復(fù)   
萬(wàn)泉河:等你啥時(shí)候能坐上版主位置了再出來(lái)吹牛逼。      2018-05-09 10:15:25回復(fù)   
【故事】回復(fù):【萬(wàn)泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
2018-05-09 20:27:56
6樓

@萬(wàn)泉河 感覺(jué)沒(méi)有中間量(M或DB)沒(méi)有辦法實(shí)現(xiàn)復(fù)雜點(diǎn)的編程啊,如果說(shuō)盡量少用,這個(gè)我明白,但是您說(shuō)的“好的程序的標(biāo)準(zhǔn)是:不使用M中間量,不使用Timer”。

還有人機(jī)界面要實(shí)現(xiàn)遠(yuǎn)程手動(dòng),不用中間量,能用什么實(shí)現(xiàn)?

希望大師賜教,謝謝!

【故事】回復(fù):【萬(wàn)泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
VOLLMER俠圣
2018-05-09 20:30:03
7樓

不太懂西門子,更不懂pcs7,但是對(duì)萬(wàn)版這個(gè)觀點(diǎn)深以為然,因?yàn)樵塾袑?duì)比參照,哈哈哈。

竊以為,讀程序讀的是控制模型,控制方法,讀出這些才能談得上改善改進(jìn)移植修改等等。最近幾年接觸軟plc,習(xí)慣了用長(zhǎng)長(zhǎng)長(zhǎng)長(zhǎng)的名字做符號(hào)(老萬(wàn)另一篇帖子寫定義符號(hào)的也很有意思),而且不關(guān)心地址,只需要有變量類型就行了。讀程序思路非常連貫。

------寫不出區(qū)別,但作為對(duì)比的是最近一次用1200plc,盡管是SCL符號(hào)編程,但還是感覺(jué)受限制地方太多太多。


-----還是舉個(gè)栗子吧,沒(méi)有DB 沒(méi)有背景 有M區(qū)但很少有人用,你只管定義了一個(gè)叫start的變量,不必知道這個(gè)變量存在內(nèi)存的哪個(gè)地址。甚至想知道這個(gè)地址或大型變量的地址和長(zhǎng)度得用查詢指令。是不是很美?

----至于樓上說(shuō)的觸摸屏問(wèn)題。解決方案首選支持符號(hào)的觸摸屏(西門子的不行),導(dǎo)入項(xiàng)目后會(huì)見(jiàn)到start這個(gè)變量。最不濟(jì)的辦法是指定個(gè)全局變量給start,如M1.0 ,當(dāng)然這是下下策了,很煩。

已有2個(gè)人評(píng)論
展開(kāi)
VOLLMER回復(fù)liucs_2009:scl st 一回事      2018-05-14 08:48:25回復(fù)   
liucs_2009:S7-1200可以用SCL編程?      2018-05-14 10:17:03回復(fù)   
【故事】回復(fù):【萬(wàn)泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
2018-05-09 20:30:57
8樓
以下是引用東東東門子在2018-05-09 19:54:02的發(fā)言 >5樓:不用M區(qū),不用定時(shí)器,全部用背景DB塊就是好程序了?我覺(jué)得你作為版主別一天到晚發(fā)充滿爭(zhēng)議的話題,我的標(biāo)準(zhǔn)比你好多了,第一點(diǎn),好程序必須都有注釋。

還是不要這樣說(shuō)吧,個(gè)人認(rèn)為,這種貼還是挺好的,至少讓從事編程的人自省一下。

【故事】回復(fù):【萬(wàn)泉河】好的PLC程序和壞的PLC程序的比較標(biāo)準(zhǔn)
2018-05-09 20:46:57
9樓

     做自控維護(hù)出身,就是看別人程序,看過(guò)太多人的程序,每次讀別人程序,都是以拜讀的心態(tài)讀,等理解了再做一些修改。雖然編程人水平參差不齊,但是每次或多或少都有點(diǎn)收獲,可能是我水平不高的原因吧!

      說(shuō)實(shí)話“好的程序的標(biāo)準(zhǔn)是:不使用M中間量,不使用Timer。”讓我感覺(jué)挺震撼的!希望讀到高手的程序,多提高一下自己。不找借口,靠自已研究的提高感覺(jué)很有限。@萬(wàn)泉河 如果大師有例程分享就好了。


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
電氣自動(dòng)化點(diǎn)滴:PLC編程使用多重背景DB塊減少內(nèi)存的占用
西門子S7-1200系列PLC的定時(shí)器介紹(三)
PLC編程如何合理的變量命名,讓程序更清晰
西門子PLC編程中的程序符號(hào)如何使用?
你知道PLC編程中各種程序符號(hào)怎么用嗎?
淺談西門子S7-1200的優(yōu)缺點(diǎn)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服