在plc編程軟件規(guī)范里,變量命名本身就是一門學問。
西門子s7-200plc的符號表就是做變量命名工作的,毫不夸張的說,每一個使用s7-200的人都應該熟練掌握它,如果你對它不屑一顧,覺得自己從來不用它也同樣可以做得很好,那么,你還不能算一個真正的程序員。
使用符號表,有程序可讀性更好,資源分配一目了然,修改靈活,輸入糾錯等優(yōu)點。
不喜歡使用符號表的,我猜測原因之一可能是怕麻煩,速度慢。其實這是認識上的誤區(qū),熟練使用符號表后輸入速度反而要快。不相信吧?
1.符號表具有自動完成功能,當有幾個變量頻繁交替使用時,不需要記憶地址區(qū)別,只需要鍵入符號名的前幾個字母,就會自動提示,所以輸入反而要快。
2.做過指法強化訓練的人應該有體會,當一個單詞或漢字編碼中有連續(xù)字符需要用同一只手甚至同一個指頭輸入時嚴重的影響輸入速度,如果一篇文章中的漢字大多數(shù)編碼都依次分布在左右兩只手上,輸入速度會高很多,而且不容易出錯。
比如地址變量vw3234,六個字符全部使用左手輸入,速度慢,且易出錯。直接地址出錯后較難檢查出來,符號名出錯的話立即會有在線提示,而且編譯不會通過。符號名降低出錯率實際上是提高了速度。
兩個符號名使用的小技巧:
一.快速修改變量地址(在另一帖中已貼過)
1.符號名使用中(否則,先ctrl+y切換)
2.在符號表中直接修改符號對應的變量地址
3.ok
用符號表修改址有有個好處是數(shù)據(jù)塊中的地址也會同時修改,這個比查找替換好用(數(shù)據(jù)塊中不能選中某部分后在局部范圍內(nèi)全部替換)
二、快速修改符號名(比如符號名s1已在多處使用,現(xiàn)在想將它改成s2)
1.符號名未使用(如正在使用,先ctrl+y切換)
2.在符號表中直接修改符號名字
3.ctrl+y,符號名有效
4.ok
注意上面兩個小技巧中,符號名是否使用中的條件正好是相反的。
正是因為上面兩條快速修改的技巧,后期內(nèi)存規(guī)劃非常方便。在編程前可以不考慮內(nèi)存位置安排,只定義符號名,內(nèi)存地址可以隨便輸入(當然不要重疊),這樣著重于功能實現(xiàn)與調(diào)試,完成后按內(nèi)存規(guī)劃要求,將符號名剪切粘貼調(diào)整排序,最后用excel填充功能連續(xù)生成地址,一個程序使用到哪些內(nèi)存,看看符號表一目了然。
增加一個比較另類的“技巧”,有時用這個方法比搜索準確高效
有時需要快速判斷某變量或定時器是否重復使用,比如vw100
1.假設vw100的符號名是s1(如果沒用定義一個),令符號名使用中
2.直接修改符號名為一個未用的符號(如后面隨便加一個后綴)為s1_ttttt
3.編碼代碼(不是全部編譯),下面輸出窗口提示錯誤數(shù)(如果為1則只存在1處引用)
4.滾動輸出窗口,雙擊錯誤提示行,可快速定位到引用處
5.切換到符號表里撤銷修改
這個方法在需要查連續(xù)查看多個變量引用數(shù)時比較方便,界面不需要切換(用查找法會不斷變化當前光標).