這篇文章為大家介紹如何利用200SMART編程軟件的間接尋址功能來讀取不同配方號的數(shù)據(jù),根據(jù)不同的配方來生產(chǎn)不同的產(chǎn)品。下面以一個生產(chǎn)不同口味面包的配方為例,向大家介紹程序的編寫及測試結(jié)果。
01所需軟件及硬件
西門子200SMART編程軟件V2.7版,200SMARTST30 CPU一臺,通信網(wǎng)線一條。
02程序編寫
1、配方數(shù)據(jù)錄入
實際生產(chǎn)中配方的數(shù)據(jù)已經(jīng)定好,我們可以在編程軟件的數(shù)據(jù)頁中將這些數(shù)據(jù)輸入到相應(yīng)的變量地址中,如下圖1所示,輸入的是四種口味面包的數(shù)據(jù),分別是糖份、水分、面粉和鹽份,當(dāng)然這些只是舉例,不是實際的面包生產(chǎn)配方。
▲圖1▲
2、配方處理子程序
將默認(rèn)的SBR0子程序重命名為配方處理,建立一個帶參數(shù)的子程序。在變量表中建立相應(yīng)的接口參數(shù),程序編輯區(qū)編寫配方處理程序,如下圖2、3所示:
▲圖2▲
▲圖3▲
3、子程序解讀
打開200SMART編程軟件,如上圖3所示,第一網(wǎng)段程序為建立指針,將VB0的物理地址傳送到指針中去;第二網(wǎng)段程序為根據(jù)配方編號的不同,將指針指向不同的配方數(shù)據(jù)的首地址;第三網(wǎng)段為將選中配方的數(shù)據(jù)批量傳送到配方顯示地址區(qū)域。
需要注意的是:配方顯示地址的首地址也要建立指針,而且該形參的類型必須定義為IN類型,否則選中的配方數(shù)據(jù)無法正確傳送到該地址區(qū)域。
4、主程序編寫
主程序編寫相對簡單,主要是在程序運(yùn)行初期初始化一些變量、限定配方號數(shù)值、根據(jù)配方的選擇激活調(diào)用配方處理子程序的位變量M0.0以及子程序執(zhí)行完以后復(fù)位相關(guān)變量。如下圖4所示:
▲圖4▲
03測試效果
將程序下載到PLC中,選擇在線監(jiān)控,在狀態(tài)圖表中輸入需監(jiān)控的變量地址,將不同的配方編號寫入VD0中,大家和圖1的配方數(shù)據(jù)比較,可以發(fā)現(xiàn)數(shù)據(jù)是完全一致的。監(jiān)控視圖如下圖5所示:
▲圖5▲
總結(jié):巧妙地利用200SMART的間接尋址功能,可大大簡化程序的編寫工作量,即使配方數(shù)再多、配方數(shù)據(jù)再長,只要不超過PLC的存儲容量和掃描周期的長度,均可用這個案例程序來處理。另外配方子程序的最后那段采用批量傳送指令也很巧妙,不必使用FOR循環(huán)指令傳送,也簡化了程序編寫。
審核編輯 :李倩
-
plc
+關(guān)注
關(guān)注
5006文章
13107瀏覽量
461460 -
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
6808瀏覽量
88743 -
編程軟件
+關(guān)注
關(guān)注
3文章
143瀏覽量
23436
原文標(biāo)題:S7-200SMART間接尋址讀取配方
文章出處:【微信號:玩轉(zhuǎn)PLC工業(yè)機(jī)器人,微信公眾號:玩轉(zhuǎn)PLC工業(yè)機(jī)器人】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論