西門子PLC案例詳解|利用西門子200SMART填表指令實現(xiàn)噴碼分揀
王曾
發(fā)布于2023-03-14 11:23
105
2
標簽:西門子PLC案例
導讀:
這篇文章為大家介紹如何利用200SMART的填表指令來實現(xiàn)物品的噴碼分揀。所謂噴碼就是噴碼機接收到上位機給出的物品信息,將相應的條碼噴到裝載物品的紙皮箱側(cè)面,同時PLC也接收到上位機給出的物品信息,在物品流經(jīng)分揀位置時,發(fā)出是否讓氣缸動作的命令。
本例以兩個路向為例,當物品在輸送帶上傳輸觸發(fā)了工業(yè)相機動作光電時,工業(yè)相機會攝取貼在紙皮箱的標簽并將信息傳至上位機;紙皮箱繼續(xù)移動流經(jīng)第二個光電傳感器時,上位機會把物品信息發(fā)送到PLC和噴碼機;當紙皮箱觸發(fā)噴碼光電時,經(jīng)過適當延時,噴碼機動作,將條碼噴到紙皮箱側(cè)面;紙皮箱繼續(xù)運行,到達分揀區(qū)域時,PLC根據(jù)進入表格內(nèi)的物品信息發(fā)出指令使氣缸動作或不動作,將紙皮箱推至正確的路向。工藝流程圖如下圖1所示:
圖1
一、 所需軟件及硬件
西門子200SMART編程軟件V2.7版,MODSCAN測試軟件,200SMART ST30 CPU一臺,通信網(wǎng)線一條(此處準備的軟硬件是為了仿真測試表格內(nèi)數(shù)據(jù)的入棧出棧功能)。
二、 程序編寫及解讀
西門子200SMART編程軟件V2.7版,因為工業(yè)相機及噴碼機接收到各自光電給出的信號后,其動作都是由自身的控制系統(tǒng)控制的,不需要PLC編寫程序,故此程序并不復雜,只需控制皮帶機及氣缸動作,接收上位機發(fā)送的數(shù)據(jù)排成隊列,然后實現(xiàn)先入先出即可。
1. 初始化
程序第一個掃描周期先定義表格的表頭為VW200,然后把0賦值給VW202至VW222。VW202為實際填表數(shù)據(jù)的條目數(shù),其余數(shù)據(jù)存儲區(qū),即定義最多填十條數(shù)據(jù)。可以根據(jù)實際現(xiàn)場情況來定。該項目從相機到氣缸段最多可存儲8個紙皮箱,多定義兩條以防止溢出。初始化程序如下圖2所示:
圖2
2. MODBUS TCP服務器指令
上位機為MODBUS TCP通訊的客戶端,PLC作為服務器隨時接收來自上位機發(fā)過來的物品信息并存放至VW0。指令如下圖3所示
圖3
3. 系統(tǒng)啟停
通過操作啟停按鈕來控制系統(tǒng)的運行停止,如下圖4所示:
圖4
4. 物品信息傳送
當裝載物品的紙皮箱觸發(fā)數(shù)據(jù)傳送光電I0.0時,I0.0的上升沿接通填表指令,將該物品的數(shù)據(jù)信息傳送至表格內(nèi)的第一條空白條目處。為簡單起見,這里只給出路向數(shù)據(jù)1或2,程序及示意圖如下圖5所示:
圖5
5. 氣缸動作
當裝載物品的紙皮箱觸發(fā)氣缸動作光電I0.6且表內(nèi)第一條數(shù)據(jù)為2時,氣缸動作,推桿伸出將紙皮箱推到2號路向的皮帶上。如數(shù)據(jù)為1,氣缸不動作,貨物直接流向駁接的后一條皮帶,即1號路向皮帶,程序如下圖6所示:
圖6
6. 先入先出指令
當氣缸推桿縮回到位后,執(zhí)行先入先出指令,將條目中的第一條數(shù)據(jù)傳送至VW300,表內(nèi)的其它數(shù)據(jù)上移一位。程序及示意圖如下圖7所示:
圖7
三、 仿真測試效果
可以用MODSCAN軟件來模擬上位機,將數(shù)字1和2傳給PLC。
1. MODSCAN連接設置
打開MODSCAN軟件,點擊菜單欄的連接設置,選擇連接。在彈出的對話框中選擇連接模式,輸入服務器的IP地址及服務端口號,點擊確認。如下圖8所示:
圖8
2. MODSCAN通信地址設置
點擊菜單欄—配置,選擇數(shù)據(jù)定義,在彈出的圖框內(nèi)的點類型選擇03保持型寄存器,長度填10,如下圖9所示:
圖9
3. MODSCAN與PLC連接
把程序下載到PLC中,如無錯誤,即可與MODSCAN軟件建立通信。此時,雙擊40001后面數(shù)據(jù),在彈出的對話框內(nèi)填入1,PLC的VW0也變?yōu)?/span>1,證明接收到了數(shù)據(jù),即該物品為1號路向。如下圖10所示:
圖10
4. 數(shù)據(jù)入棧
在程序的的狀態(tài)圖表中將1寫入M1.0,VW0中的數(shù)據(jù)會傳送至VW204,即表中的第一個條目,同時VW202實際填表數(shù)目會變?yōu)?/span>1。注意為方便調(diào)試,狀態(tài)表中的M1.0、M1.1及M5.0分別表示
填表觸發(fā)信號、先入先出觸發(fā)信號和系統(tǒng)運行標志信號,可在在線狀態(tài)監(jiān)控表中根據(jù)需要更改上述三個位的狀態(tài)。測試的結(jié)果如下圖11:
圖11
5. 第二條數(shù)據(jù)入棧
在MODSCAN軟件上將40001的數(shù)值改為2,再重復上述第4步的操作,即可將數(shù)據(jù)2填入到第二個條目VW206中。如下圖12所示:
圖12
6. 5條數(shù)據(jù)入棧與第一條數(shù)據(jù)出棧
假設5條數(shù)據(jù)入棧后,第一個紙皮箱已運行至分揀區(qū)域,因路向數(shù)據(jù)為1,因此氣缸不動作,直接流向后續(xù)接駁皮帶。在觸發(fā)氣缸光電的下降沿導通FIFO指令,將VW204第一條數(shù)目的數(shù)據(jù)移出棧,同時所有數(shù)據(jù)向上移一個條目。如下圖13所示:
圖13
7. 新數(shù)據(jù)再次入棧
通過圖13可以看出第一條數(shù)據(jù)出棧后,實際填表數(shù)VW202由5變?yōu)榱?/span>4,其它4個數(shù)據(jù)也都上移了一個條目。但原先的存儲在VW212的數(shù)據(jù)1并未清空,而是保持不變,那么為什么VW202變?yōu)?/span>4了呢?其實VW212這個條目已經(jīng)是清空了的,此時如有新數(shù)據(jù)入棧,將會填到這個條目中。如下圖14所示:
圖13
至此仿真完畢,希望能對大家學習和使用填表和先入先出這兩個指令有所幫助。