step7程序執(zhí)行原理和編程方法

發(fā)布時(shí)間:2024-03-21
plc的循環(huán)程序是如何執(zhí)行的。(這一點(diǎn)非常重要)
1.循環(huán)程序如何執(zhí)行
西門子plc程序執(zhí)行圖(建議保存)
1.1在cpu上電之后,啟動(dòng)塊ob100/101/102先啟動(dòng)一次。(調(diào)用哪一個(gè)ob塊由系統(tǒng)的啟動(dòng)模式配置決定)
1.2啟動(dòng)塊執(zhí)行完畢后,系統(tǒng)的循環(huán)監(jiān)視時(shí)間就被激活了(這個(gè)時(shí)間可以在step7的硬件配置中設(shè)置,如果循環(huán)時(shí)間超出則plc停機(jī))
1.3之后,cpu會(huì)從輸入模塊及其它過程映象設(shè)備讀取所有的輸入狀態(tài)
1.4接著下來便到了主循環(huán)程序的執(zhí)行
1.4.1主循環(huán)執(zhí)行也是按照語(yǔ)句順序執(zhí)行,如圖所示,當(dāng)ob1執(zhí)行第一個(gè)語(yǔ)句callfb,則此時(shí)程序進(jìn)入所調(diào)用fb塊順序執(zhí)行fb塊的語(yǔ)句
1.4.2若在所調(diào)用的fb塊,在某一語(yǔ)句中執(zhí)行了callfb/fc,則程序又進(jìn)入下一級(jí)的fc中依次執(zhí)行塊中語(yǔ)句,依此類推
1.4.3當(dāng)調(diào)用的下一級(jí)fc所有語(yǔ)句執(zhí)行完成后,程序回到callfc的這一語(yǔ)句,繼續(xù)執(zhí)行后面的語(yǔ)句
1.4.4當(dāng)所call的fb也執(zhí)行完成后,程序回到ob1的callfb處,繼續(xù)執(zhí)行后面的語(yǔ)句。
1.4.5直至最后,完成ob1的所有程序,則主循環(huán)結(jié)束。
1.4.6在ob1執(zhí)行的過程中,循環(huán)中斷(如ob35)、故障中斷(如ob86)等可以插入執(zhí)行,執(zhí)行完成后會(huì)回到中斷的地方繼續(xù)主循環(huán)的執(zhí)行。
1.5主循環(huán)執(zhí)行完成后,plc將過程映象的輸出寫到輸出模塊
1.6完成1.5的步驟之后一個(gè)完整的循環(huán)就結(jié)束了,此時(shí)跳至1.2步驟,重新開始新一循環(huán)的監(jiān)視時(shí)間,如此周而復(fù)始。
2.程序塊類型
知道了plc循環(huán)程序如何執(zhí)行后,我們?cè)賮砜匆豢磗tep7的程序塊有哪些類型
2.1用戶塊
用戶塊包括程序代碼和用戶數(shù)據(jù)。在結(jié)構(gòu)化程序中,一些塊循環(huán)調(diào)用處理,一些塊需要時(shí)才調(diào)用。
2.1.1組織塊
ob塊構(gòu)成了s7cpu和用戶程序的接口??梢园讶砍绦虼嬖趏b1中,讓它連續(xù)不斷地循環(huán)處理。也可以把程序放在不同的塊中,用ob1在需要的時(shí)候調(diào)用這些程序塊。除ob1外。操作系統(tǒng)根據(jù)不同的事件可以調(diào)用其他的ob塊,例如:
2.1.1.1時(shí)間-日期中斷
2.1.1.2周期時(shí)間中斷
2.1.1.3診斷中斷
2.1.1.4硬件中斷
2.1.1.5故障處理中斷
2.1.1.6硬件啟動(dòng)
2.1.2功能塊(fb)
功能塊是在邏輯操作塊內(nèi)的功能或功能組,在操作塊內(nèi)分配有存儲(chǔ)器,并存儲(chǔ)有變量。fb需要這個(gè)背景數(shù)據(jù)塊形式的輔助存儲(chǔ)器。通過背景數(shù)據(jù)塊傳遞參數(shù),而且,一些局部參數(shù)也保存在此區(qū)。其他的臨時(shí)變量存在局部堆棧中。保存在背景數(shù)據(jù)塊內(nèi)的數(shù)據(jù),當(dāng)功能塊關(guān)閉時(shí)數(shù)據(jù)仍保持。而保存在局部堆棧中的數(shù)據(jù)不能保存。
2.1.3功能(fc)
功能是類似于功能塊的邏輯操作塊,但是,其中不分配存儲(chǔ)區(qū)。fc不需要背景數(shù)據(jù)塊。臨時(shí)變量保存在局部堆棧中,直到功能結(jié)束。當(dāng)fc執(zhí)行結(jié)束時(shí),使用的變量要丟失。
2.1.4數(shù)據(jù)塊(db)
數(shù)據(jù)塊是一個(gè)永久分配的區(qū)域,其中保存其他功能的數(shù)據(jù)或信息。數(shù)據(jù)塊是可讀/寫區(qū),并做為用戶程序的一部分轉(zhuǎn)入cpu。
2.2系統(tǒng)塊
系統(tǒng)塊是在cpu操作系統(tǒng)中預(yù)先定義好的功能和功能塊。這些塊不占用用戶程序空間。用戶程序調(diào)用系統(tǒng)塊,在整個(gè)系統(tǒng)中這些塊具有相同的接口、相同的標(biāo)示和相同的號(hào)。用戶程序可以容易地轉(zhuǎn)換到不同的cpu或plc。
2.2.1系統(tǒng)功能塊(sfc)
系統(tǒng)功能是集成在s7cpu中的已經(jīng)編程并調(diào)試過的功能。這些塊支持的一些任務(wù)是設(shè)置模塊參數(shù)、數(shù)據(jù)通訊和拷貝功能等。用戶程序可以不用裝載直接調(diào)用sfc。sfc不需要分配數(shù)據(jù)塊。
2.2.2系統(tǒng)功能塊(sfb)
系統(tǒng)功能塊是s7cpu的集成功能。由于sfb是操作系統(tǒng)的一部分,用戶程序可以不用裝載直接調(diào)用sfb。sfb需要分配背景數(shù)據(jù)塊db,數(shù)據(jù)塊必須作為用戶程序的一部分下裝到cpu。
2.2.3系統(tǒng)數(shù)據(jù)塊(sdb)
系統(tǒng)數(shù)據(jù)塊是由不同step7工具產(chǎn)生的程序存儲(chǔ)區(qū),其中存有操作控制器的必要數(shù)據(jù)。sdb中存有一些信息,例如:組態(tài)數(shù)據(jù)、通訊連接和參數(shù)。
3.編程方法
前面大致了解了一下plc程序的一個(gè)循環(huán)是如何執(zhí)行的,并了解了一下程序中塊的類型,下面再來看看有哪些編程方法組織這些塊。
每一個(gè)西門子的編程人員都會(huì)有自已的編程習(xí)慣和方法。step7為設(shè)計(jì)程序提供了三種方法。基于這些方法,可以選擇最適合于你的應(yīng)用的程序設(shè)計(jì)方法。
3.1線性化編程
所有的程序都在一個(gè)連續(xù)的指令塊中。這種結(jié)構(gòu)和plc所代替的固定接線的繼電器線路類似。系統(tǒng)按照順序處理各個(gè)指令。
3.2模塊化編程
程序分成不同的塊,每個(gè)塊包含了一些設(shè)備和任務(wù)的邏輯指令。組織塊中的指令決定是否調(diào)用有關(guān)的控制程序模塊。例如,一個(gè)模塊程序包含有一個(gè)被控加工過程的各個(gè)操作模式。
3.3結(jié)構(gòu)化編程
結(jié)構(gòu)化程序包含有帶有參數(shù)的用戶自定義的指令塊。這些塊可以設(shè)計(jì)成一般調(diào)用。實(shí)際的參數(shù)(輸入和輸出的地址)在調(diào)用時(shí)進(jìn)行賦值。
上一個(gè):安卓變蘋果全套軟件(安卓變蘋果.apk ( 4.7 m ))
下一個(gè):松下變頻器的故障處理

RC0402FR-072KL,0402 2KΩ 1% 1/16W 電阻
新版微信發(fā)朋友圈怎么不折疊起來(最新版微信發(fā)朋友圈怎么不折疊)
微信公眾號(hào)-市場(chǎng)咨詢
茶葉為何要緊壓?
賣親生子女會(huì)怎么處罰
工程審計(jì)的費(fèi)用由誰(shuí)支付
1噸圓形砝碼,滾動(dòng)式法碼
什么域名續(xù)費(fèi)最便宜?域名續(xù)費(fèi)有哪些步驟?
h5制作網(wǎng)站得多少錢?h5到底是什么?
打開報(bào)錯(cuò)問題-其他問題
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos