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