萬(wàn)泉河
WX:ZHO6371995,歡迎+
級別: 略有小成
![]() |
0514 【萬(wàn)泉河】PLC中的M的本質(zhì)是糖果 糖果什么意思,就是吃起來(lái)比較爽,然而吃多了會(huì )上癮,會(huì )蛀牙,會(huì )導致肥胖,會(huì )引發(fā)糖尿病。 我寫(xiě)文章宣傳PLC中使用M的壞處,勸誡同行在學(xué)習PLC編程中要學(xué)會(huì )避開(kāi)使用M以及其它的程序全局變量。 這原本在我看來(lái)是非;A的原理,然而非常匪夷所思的6-7年過(guò)去了, 這一理念并沒(méi)有得到普及。反而在一些場(chǎng)合,仍然有不少反對的聲音。 比如有人就理直氣壯地反駁曰:既然PLC系統中設計了M變量,你憑啥不讓用?只要設計了就可以用。你如果有理,去讓西門(mén)子等廠(chǎng)家在PLC系統中取消M以及全局標簽變量,才證明你說(shuō)的有道理。 這個(gè)邏輯看起來(lái)很充分的樣子,其實(shí)完全不值得一駁。大家都知道吃糖果的危害呢,然而超市里面最顯眼的地方賣(mài)得更多的仍然是糖果,隨處隨手可得。 要按這種理論,國家是不是應該強行取締各種糖果生產(chǎn)商,禁止生產(chǎn)糖果,讓小孩子們吃不到糖,就自然不會(huì )蛀牙了。 成年人老年人接觸不到那么多糖類(lèi),也就不會(huì )肥胖,不會(huì )有糖尿病了。 很顯然不是這樣嘛! 這個(gè)世界上太多存在然而禁忌的規則了。比如商場(chǎng)里的防火通道,平常是要緊閉不許人員出入的。假如來(lái)個(gè)醉漢, 以存在就要用為由,非要強行通過(guò), 那最終必然被保安給架離。 再比如各停車(chē)場(chǎng)里的殘疾人優(yōu)先的車(chē)位,即便是空閑在那里, 正常車(chē)輛也不可以泊車(chē)。而如果有人以閑置導致資源浪費為由,要把自己的車(chē)停在上面,那其實(shí)就不是在關(guān)心資源 浪費,而只是其個(gè)人素質(zhì)低下了。 而我們所倡導的程序中不使用全局變量,掌握此技能后,可以避免因為使用M所帶來(lái)的諸多弊端,程序模塊不能復用,調試工作量大等等。我以前多篇文章中都介紹過(guò)。所以我更愿意打比方的例子是爬樓梯。 30層的高樓,有電梯但必然也仍然設計有樓梯,掌握了不使用M的技能,就相當于拿到了電梯的鑰匙。 如果有電梯可乘坐,卻非要吭哧吭哧爬樓梯的, 眾人只能嘲笑其魯笨了。 也有人指責我管得太寬,每個(gè)人都有其自身的特長(cháng),適合自己的就是最好的,想用便用,不想用便不用,奉勸我手不要深的太長(cháng),限制別人的自由。 我要說(shuō)的是,這種認知的人讀題能力有限。 我在講建議PLC程序不要用M的道理的時(shí)候,是有隱含的前提的。前提是要寫(xiě)高質(zhì)量的PLC的程序。只有能看得懂我講的道理的人, 能愿意去學(xué)習掌握技能,才能夠寫(xiě)出高質(zhì)量的PLC程序,提高工作效率。 而看不懂的人,與我是沒(méi)有任何關(guān)系的。 我才不會(huì )關(guān)心其工作效率高低,才不會(huì )替其擔憂(yōu)其爬30層樓會(huì )不會(huì )累死呢! 就好比醫生勸誡大家少吃糖, 有人非得抬杠每個(gè)人體質(zhì)不同,適合自己的飲食就是最好的。 我的身體體制和你們不一樣,我的體制就是適合吃糖, 多吃糖對我的身體就是有好處,我不會(huì )蛀牙,不會(huì )糖尿病。 醫生才不會(huì )卡住你的喉嚨不許你吃呢!身體健康是每個(gè)人自己的事, 你聽(tīng)不進(jìn)道理,別人干著(zhù)急有什么用!別人才不會(huì )為你的健康操心著(zhù)急呢! 更有人質(zhì)問(wèn):“用M傷天害理?M做出來(lái)不是給人用的?”,我除了用吃糖和爬30層樓的例子給他們講解之外, 也暗自覺(jué)得好笑。 這樣的人心態(tài)也太不自信了。 把我當法官了還是把我當老師了? 我既沒(méi)有權力制定規則,也沒(méi)有權力判定對錯。 我有的只是講道理,講給聽(tīng)得懂道理的人聽(tīng),萬(wàn)千讀者中,哪怕只有一個(gè)人能看懂其中的道理,能有所感悟,有收獲,應用到工作中,能有獲得利益, 那對我來(lái)說(shuō)也算是善事一件。 我斷沒(méi)有要求所有人一個(gè)步調,按我的道理做事的目的。 除此之外,我還發(fā)現有一些人對恪守言行一致的格言認知上有一些偏差。當然他們自己可能還沒(méi)有發(fā)現。我們的文化傳統中有一項優(yōu)良傳統是教育人要言行一致,即所言如所行。 然而言行一致并不意味著(zhù)倒過(guò)來(lái)。 有的人自己暫時(shí)做不到程序中不用M,就要竭力辯解,不肯承認用M的危害,以及學(xué)會(huì )不用M的技能對工作效率帶來(lái)的提升。 就好比我們現在倡導文明社會(huì ),不要隨地大小便。 然而如果你身處戈壁灘深處,方圓500KM都沒(méi)有公共廁所而你又內急的時(shí)候,就只能隨地解決了。 然而也斷然不會(huì )有任何人有什么非議。 你自己當然也不需要覺(jué)得羞愧。 然而如果因為自己曾經(jīng)在特定的情況下沒(méi)有做到規則,反而試圖要否定規則,修改規則以使自己真正符合言行一致的原則的話(huà), 這種操作反而就不太值得贊賞了。 有人舉反例說(shuō)系統有提供了脈沖信號,可以直接使用而減少不少編程工作量。 在SMART 200中是SM0.5, 在S7-1500中如果指定了MB0則M0.5代表了1HZ的脈沖,這用起來(lái)確實(shí)方便。 然而我們講用和不用M的時(shí)候,是指使用M作為中間狀態(tài)的緩存工具。 某個(gè)位置產(chǎn)生的狀態(tài)值保存到全局變量中,然后換一個(gè)地方又拿出來(lái)使用。 像SM0.5和M0.5這種,我們更應該稱(chēng)之為常量,而不是變量。 從而也更不是全局變量了。 就好比SMART 200的程序中每一行開(kāi)頭都要有SM0.0,以及其它品牌會(huì )有SM800作為常ON的信號,這些都不必過(guò)慮,都不在討論的范圍內。 對于S7-1500中需要在硬件設置中設置MB區,如果不小心未設置,導致功能塊功能不能實(shí)現,這是個(gè)硬傷。有人會(huì )覺(jué)得不傷大雅,自己早就習慣了每個(gè)CPU都會(huì )去設置,這完全可以。但如果你的工作只是頂層設計,具體項目是別人在做,多一個(gè)漏洞就多一個(gè)失敗可能性,從我自己來(lái)說(shuō)已經(jīng)很多年不用這個(gè)M了,做項目的工程師是否設置了硬件我從來(lái)都不需要關(guān)心。 在自己的FB的小宇宙里把功能實(shí)現完整,盡量減少對外界的依賴(lài),這才是真正的宇宙觀(guān)。 我上一篇關(guān)于宇宙觀(guān)的文章,其實(shí)就想表達這一點(diǎn)。 當然,這對整個(gè)的不使用全局變量M的技術(shù)能力來(lái)說(shuō),關(guān)系很小。 這一點(diǎn)確實(shí)每個(gè)人可以有自己的喜好。 你可以保留這一點(diǎn)喜好,在整體系統學(xué)會(huì )不用M。 我也堅信,如果你做到了不用M,就會(huì )逐漸上癮,就會(huì )體驗到每一個(gè)模塊獨立完整性的妙處,會(huì )逐漸改變自己的認知和習慣。 也有人對我的理論得不到廣泛認可而替我擔憂(yōu),問(wèn)我怎么想。 我說(shuō),這完全不需要擔憂(yōu),反而對更多的煙臺方法的學(xué)員意味著(zhù)機會(huì )。 就好比哈利波特里面魔法學(xué)校的老師和學(xué)員們所掌握的魔法,面對眾多絲毫不懂魔法的麻瓜, 他們需要擔憂(yōu)嗎? 如果僅僅掌握不用M和T,掌握五連鞭,都可以當作魔法,都可以稱(chēng)雄工控武林,這個(gè)武林世界的門(mén)檻是不是太低了點(diǎn)?所以你們知道為啥有些人對我不爽了吧! 糖果吃得爽,吃多了長(cháng)蛀牙;M用得爽,用多了一輩子出差。 我的新微信號:ZHO6371995 所有同行可以加我。 我們有自動(dòng)化俱樂(lè )部和群俠會(huì )純技術(shù)的微信群,每個(gè)人可以根據自己的需求,要求加入不同的群組。 |
---|---|
本帖最近評分記錄: |
萬(wàn)泉河
WX:ZHO6371995,歡迎+
級別: 略有小成
![]() |
![]() 歷史會(huì )記住每一個(gè)人的貢獻。。 |
---|---|
|
zhujingyu69
級別: 家園?
![]() |
道理都懂,但是要克服自己以前的習慣,的確是一種考驗,需要要緊牙關(guān)堅持下來(lái),初期還要面對暫時(shí)性的效率下降。一旦跨過(guò)了這一步,編程效率就會(huì )大幅度地提高,特別是重復性的程序越多,效果就越明顯。 |
---|---|
|
請叫我老鐵
人生就像蒲公英,看似自由,卻身不由己。
級別: 工控俠客
![]() ![]() |
M點(diǎn)掃描時(shí)間比DB數據塊要長(cháng),如果低端CPU 使用沒(méi)有多大關(guān)系,如果是西門(mén)子高端CPU 掃描周期快,建議不用M點(diǎn),使用DB數據塊 |
---|---|
|
zhou1211
級別: 略有小成
![]() |
我都快不記得M點(diǎn)是何物了,習慣用文本,沒(méi)有M的概念,偶爾還是會(huì )在通訊時(shí)用到,不過(guò)西門(mén)子的通訊會(huì )強行去IQ區,和倍福不一樣,倍?炊x在哪 |
---|---|
|
wsxebjz
級別: 略有小成
![]() |
plc是什么?為什么要發(fā)明plc?plc就是低門(mén)檻的可編程繼電器,一種可以現場(chǎng)編程的單片機-繼電器,是給電工用的。人家好不容易低門(mén)檻化,你們又開(kāi)始復雜化。說(shuō)的好像誰(shuí)沒(méi)有接觸過(guò)51單片機一樣。學(xué)的不精是一回事,眼界又是另一回事。首先要知道plc的最基本優(yōu)點(diǎn),再說(shuō)其它。plc能做到單片機都能做,工控機也能做,所以,如果完全從編程考慮,應該禁用梯形圖,把低文憑的電工全部淘汰?等你了解plc是給哪些人使用的再去談編程。事實(shí)上,知道有幾個(gè)指令就夠了,能達到目的就夠了。plc驅動(dòng)數碼管,可以用四線(xiàn)seg譯碼指令,也可以mov k2y0直接輸出8端字碼,用鎖存器了自己編碼一根線(xiàn)也能搞定,有意義?與其花時(shí)間學(xué)編程,不如多接觸不用牌子的軟硬件。三菱把plc做成了低門(mén)檻的繼電器,西門(mén)子把plc做成了單片機模塊,還有一個(gè)把plc做成了編程軟件。目的第一,m是不是糖果,有必要知道嗎?哪怕再影響速度,占用容量,大不了換個(gè)型號更高檔一點(diǎn)的。 |
---|---|
本帖最近評分記錄: |
雪山飛狐
級別: 網(wǎng)絡(luò )英雄
![]() |
越簡(jiǎn)單越好。簡(jiǎn)單就少用腦。燒腦的事兒就會(huì )少,工控朋友們就好搞。 |
---|---|
|
angelagent
級別: 略有小成
![]() |
樓主的目的還是主要賣(mài)他的東西,這個(gè)跟做廣告一樣的 。 其實(shí)對行業(yè)的貢獻是沒(méi)有的, 以后都AI 自己編程了。。。。。 |
---|---|
|
wxjwlj
級別: 略有小成
![]() |
他就是一堆翔,哪里走來(lái)人人防 |
---|---|
本帖最近評分記錄: |
會(huì )飛的豬
級別: 論壇先鋒
![]() |
一點(diǎn)干貨都沒(méi)有,全是忽悠人的 |
---|---|
本帖最近評分記錄: |