99久久爱免费视频视频,一个人看的视频免费高清,正在播放国产囗交在线,全免费一级毛片在线播放,国产毛片baoyu视频

您好,歡迎訪問(wèn)泰安宏盛自動(dòng)化科技有限公司!
20年專注工控自動(dòng)化研發(fā)制造 系統(tǒng)設(shè)計(jì)\制作\安裝一條龍服務(wù)
全國(guó)咨詢熱線:18605386049
當(dāng)前位置: 首頁(yè) > 技術(shù)資料 > 程序案例

S7-200 SMART 編程技巧及實(shí)例分享

作者:小編 時(shí)間:2022-12-18 20:22:43 點(diǎn)擊:

S7-200 SMART在編程中

常見(jiàn)問(wèn)題解析

工欲善其事必先利其器,在日常的程序編輯和調(diào)試過(guò)程中,可能會(huì)遇到各種各樣的問(wèn)題,比如編輯好的邏輯程序執(zhí)行結(jié)果不正確,編譯正常的程序下載到不同的CPU中,有些可以下載,而有些提示非致命錯(cuò)誤等等,此時(shí)如何快速的排查和分析錯(cuò)誤發(fā)生原因就非常重要,而排查和分析的前提就需要對(duì)S7-200 SMART從軟件和硬件上有更加深入的了解,下面我們就通過(guò)幾個(gè)典型的案例來(lái)進(jìn)行問(wèn)題的分析。

案例 1

首先看圖1這段程序,編譯無(wú)任何問(wèn)題,如果下載到不同類(lèi)型的CPU中,表現(xiàn)就會(huì)不同,我們可以嘗試下載到ST60和CR60兩種類(lèi)型的CPU中。

圖1 主程序

下載到ST60中,程序運(yùn)行正常,如果下載到CR60中,程序運(yùn)行就會(huì)報(bào)非致命錯(cuò)誤:操作數(shù)非法(錯(cuò)誤碼:0090),圖2為具體的非致命錯(cuò)誤信息:

圖2 PLC信息

根據(jù)程序分析錯(cuò)誤出現(xiàn)的原因和中斷有關(guān),可以查詢S7-200 SMART系統(tǒng)手冊(cè)中斷章節(jié)可以找到對(duì)應(yīng)答案,如表1所示,24號(hào)中斷事件CR60不支持,所以在運(yùn)行時(shí)會(huì)報(bào)錯(cuò)非致命錯(cuò)誤。

表1

綜上,當(dāng)需要程序在多個(gè)不同類(lèi)型CPU之間下載或者移植時(shí),就需要提前了解各個(gè)CPU的程序容量大小、支持的數(shù)據(jù)區(qū)的大小,斷電保持區(qū)域大小,是否使用到了CPU不支持的功能或者CPU固件版本是否支持等因素,只有了解了這些,才能做到有的放矢。

案例 2

在日常編程過(guò)程中,我們可能需要各種標(biāo)準(zhǔn)庫(kù),有時(shí)需要子程序和中斷程序有多重調(diào)用關(guān)系,例如下面這個(gè)案例,程序想使用格雷碼轉(zhuǎn)換庫(kù)在定時(shí)中斷中每隔100ms進(jìn)行一次數(shù)據(jù)的格雷碼轉(zhuǎn)換,請(qǐng)看圖3:

圖3 主程序

圖4 子程序

程序的調(diào)用關(guān)系為:中斷子程序INT0調(diào)用子程序SBR1,SBR1中調(diào)用子程序SBR2,SBR2中的程序如圖4所示,下載到CPU中,通過(guò)狀態(tài)圖表監(jiān)視程序狀態(tài),發(fā)現(xiàn)沒(méi)有結(jié)果輸出,如圖5所示:

圖5 狀態(tài)圖標(biāo)監(jiān)控?zé)o輸出

進(jìn)一步監(jiān)控PLC信息,可以看到圖6的非致命錯(cuò)誤報(bào)警:超出最大用戶子例程嵌套級(jí)別(錯(cuò)誤碼:0008)

圖6 PLC信息

S7-200 SMART手冊(cè)中規(guī)定:從主程序調(diào)用子例程的嵌套深度是 8 級(jí),從中斷例程調(diào)用嵌套深度是 4 級(jí)。

現(xiàn)在來(lái)看上述程序的調(diào)用關(guān)系:

INT0→SBR1→SBR2→GRAY_BIN_DW,表面上也僅僅嵌套了3級(jí),滿足中斷嵌套深度要求,但是仔細(xì)查看GRAY_BIN_DW功能庫(kù)可以發(fā)現(xiàn),該庫(kù)也嵌套了幾層,嵌套關(guān)系如下:

GRAY_BIN_DW→GRAY_BIN→XOR,這樣下來(lái),嵌套關(guān)系就變成如下:

INT0→SBR1→SBR2→GRAY_BIN_DW

→GRAY_BIN→XOR,總共5層嵌套關(guān)系,超過(guò)了CPU支持的最大嵌套深度,導(dǎo)致CPU 無(wú)法運(yùn)行,知道了原因,我們可以減少調(diào)用嵌套為4層以內(nèi),則程序就可以正常執(zhí)行了。

通過(guò)以上描述就可以明白,有些看似不可理解的問(wèn)題其實(shí)有其發(fā)生的原因,只有深入了解對(duì)應(yīng)產(chǎn)品的技術(shù)細(xì)節(jié),才能抽繭剝絲,找到問(wèn)題的根源所在。

S7-200 SMART

如何快速提高編程效率

在日常的編程過(guò)程中,我們可能需要不少的邏輯運(yùn)算和算術(shù)運(yùn)算,如果這種運(yùn)算很多,有可能會(huì)導(dǎo)致程序量很大,CPU的掃描周期加長(zhǎng),在這種情況下,找到其中的規(guī)律,可以大大簡(jiǎn)化程序。

假設(shè)一個(gè)場(chǎng)景,現(xiàn)場(chǎng)有16臺(tái)設(shè)備,需要控制16臺(tái)泵的啟停,IO地址如下表所示:

表2

一般的編程思路是單獨(dú)寫(xiě)出每個(gè)泵的啟動(dòng)停止控制邏輯,如圖7所示,需要編寫(xiě)16組控制邏輯:

圖7 單個(gè)泵的啟??刂?/span>

其實(shí)針對(duì)這種編程,我們可以變換一種思路,將上面的梯形圖變換成圖8所示的邏輯,也可以完成對(duì)應(yīng)的控制功能:

圖8 字邏輯運(yùn)算

這樣變換完成后,編程就顯得特別簡(jiǎn)潔,因此編程思路很重要。

在另外一些應(yīng)用場(chǎng)景中,有時(shí)需要記錄現(xiàn)場(chǎng)設(shè)備的運(yùn)行時(shí)間,一般情況下我們可以使用定時(shí)器來(lái)實(shí)現(xiàn)計(jì)時(shí)的功能,但S7-200 SMART定時(shí)器有數(shù)量限制(最大256個(gè)),并且最大時(shí)基為100ms的定時(shí)器其所能達(dá)到的最大計(jì)時(shí)長(zhǎng)度為3276.7S,若想實(shí)現(xiàn)小時(shí)或者天的計(jì)時(shí)就需要定時(shí)器加計(jì)數(shù)器來(lái)實(shí)現(xiàn),而計(jì)數(shù)器也有數(shù)量限制(最大256個(gè)),當(dāng)需要類(lèi)似的功能很多時(shí),計(jì)數(shù)器和定時(shí)器數(shù)量就不夠用了,此時(shí)可以使用系統(tǒng)特殊存儲(chǔ)器 SM0.4(周期為60S的時(shí)鐘脈沖)和SM0.5(周期為1S的時(shí)鐘脈沖)來(lái)實(shí)現(xiàn)計(jì)時(shí)功能。

如圖9所示,其中值VD0的單位為秒,在實(shí)際應(yīng)用中,可以對(duì)這個(gè)數(shù)值進(jìn)行再次轉(zhuǎn)換,得到分鐘、小時(shí)或者天的時(shí)間值(本例中VD4的單位為小時(shí)),同時(shí)這些地址也可以按需設(shè)置在S7-200 SMART斷電保持區(qū)域中,實(shí)現(xiàn)不同時(shí)間長(zhǎng)度的定時(shí)以及斷電保持功能,非常方便。

圖9 使用SM0.5實(shí)現(xiàn)計(jì)時(shí)功能

實(shí)際編程時(shí)對(duì)于一些功能重復(fù)的地方,我們可以考慮做成子程序多次調(diào)用,一些需要重復(fù)計(jì)算的功能,可以使用FOR NEXT循環(huán)來(lái)完成,也可以考慮使用間接尋址的方式來(lái)提高程序的靈活性,而對(duì)一些流程方面的控制可以使用順序控制繼電器來(lái)完成,這樣可以大大提高編程的效率。


QQ在線咨詢
聯(lián)系電話
17658151177
售后服務(wù)
17658151177