陳文杰
摘 要:介紹西門子S7-1500 PLC 與斑馬打印機之間如何建立開放式用戶通信的技巧,如何使用ZPL-II-語言編程對斑馬打印機的標簽模板進行定義,并打印出來。
關鍵詞:S7-1500 斑馬打印機 開放式用戶通信 TCP
1 開放式用戶通信及通信任務概述
TCP支持面向TCP/IP的Socket。TCP支持給予TCP/IP的發送和接收,使得設備在工業以太網上的通信非常容易。這就允許 CPU 與任何通信設備進行開放式數據交換,通信伙伴可以是兩個 SIMATIC PLC,也可以是 SIMATIC PLC 和相應的第三方設備,前提是這些設備支持該集成接口可用的連接類型。由于此通信僅由用戶程序中的指令進行控制,因此可以在程序中建立和終止事件驅動型連接。 在運行期間,也可以通過用戶程序修改連接。
1.1 硬件和軟件需求及所完成通信任務
硬件:
(1)S7-1500 CPU
(2)斑馬打印機G430T(帶以太網口)
(3)PC(帶以太網卡)
(4)以太網電纜(交叉或直連)
(5)交換機EKI-2528(方便監控)
軟件:
(1)STEP7 V13 SP1
(2)Zebra Setup Utilities(可在斑馬打印機的隨機光盤獲取)
通信任務
(1)S7-1500發送DB1中的254個字節到斑馬打印機G430T
(2)斑馬打印機G430T接收到S71500的DB1數據區中的254個字節,并將其按規定的格式打印出來。
(3)實現根據產品文字號碼追溯產品的生產過程信息的目的。
2 S7-1500側的編程組態
使用STEP7 V13 SP1 軟件新建一個項目并完成硬件配置和網絡組態。本例中在S7-1500側采用集成的簡單指令“TSEND_C”來實現連接關系的建立中止以及數據的發送。
2.1 在STEP7 V13 SP1中組態S7-1500CPU,并且打開 “設備視圖”→“PROFINET 接口_1” →“屬性”→“常規”→“以太網地址”→“IP協議” → “在項目中設置IP”,為集成PN口分配IP地址192.168.0.100,子網掩碼255.255.255.0。
2.2在主循環程序中調用功能塊“TSEND_C”編寫集成發送程序,為其分配背景數據塊。其接口參數可以通過組態進行配置,在2.4中介紹。該塊在REQ上升沿時觸發數據發送。本例中調用打印機標簽模板的ZPL-II-語言程序就存儲在DB1數據區以DBB0開頭的這254個字節中。
2.3“TSEND_C”指令可以用“TCP”協議或者“ISO_on_TCP”,使本地機與遠程機進行通信,本地機向遠程機發送數據。該指令能被CPU自動監控和維護。具體參數含義可以選中該塊并按F1鍵,參考在線幫助。
2.4 選中“TSEND_C”塊,在屬性組態菜單中,按如下順序為“TSEND-C”塊組態連接參數。在本例中,S7-1500與第三方通信設備進行開放式數據交換,所以首先通信伙伴選擇為未指定。然后新建連接數據,系統自動分配連接數據存儲在PLC_1_Send_DB中。選擇連接類型TCP,選擇組態模式為使用程序塊。指定通信伙伴的IP地址192.168.0.2,指定連接ID為1,選擇一方主動要建立連接,本例中選擇S7-1500主動建立連接。接下來定義本地的端口號和通信伙伴端口號。本例中PLC選擇端口號2000,第三方通信設備選擇端口號2100。此處定義的端口號和IP地址必須與斑馬打印機G430T側一致。配置完成后,可以點擊打開:程序塊→系統塊→系統資源→PLC_1_Send_DB查看,可以看到其中包含TCP連接所需的參數,并且該PLC_1_Send_DB作為變量已經自動填到“TSEND_C”相應的輸入管腳CONNECT上。
2.5 在本例中,CPU以接收 “PrintSwich”按鈕信號來發送數據,在REQ上升沿時激活。連接關系在CONT為1時建立并保持,為0時斷開。發送的地址區為DB1.DBX0.0開始的254個字節。 完成編程組態并下載后,可以在S7-1500中,通過點擊“TSEND_C”程序塊右上角的診斷圖標 ,進入連接在線信息頁面可以查看連接狀態。
3 斑馬打印機側的配置與編程
在對斑馬打印機進行設置與編程前,需先將電腦與斑馬打印機通過USB打印線連起來,并接上電源,再安裝驅動。
3.1 安裝 zebra setup utility 軟件,并打開軟件。
3.2 用USB 或者并口或者網絡接口連接好打印機與PC 機,點擊“InstallNewPrinter”。本例中是通過USB打印線與打印機進行通信設置。
3.3安裝驅動后,將會可以看到你需要配置的打印機,并選中該打印機。
3.4 然后點擊 “configure printer connectivity”,對打印機的參數進行配置。
3.5 選擇打印機的連接類型。選中“Wireless”點擊下一步。
3.6設置打印機的IP地址,選擇“Static”,為打印機分配IP地址192.168.0.2,子網掩碼255.255.255.0。點擊“Nest”繼續打印機設置向導,其它設置一般采用默認設置即可,直至所有打印機的設置向導結束。
3.7完成打印機的設置向導后,在打印機綠燈常亮狀態下,按住打印機上面的鍵,綠燈第一次閃一下后松開,打印機將打印出其修改后的參數數據,看是否與設置向導中設置的參數一致。
3.8 打印機的默認端口號是9100,也可以根據需要自行修改,如本例中打印機的端口號為2100。端口號的修改:將電腦與打印機通過網線連接,在網頁中輸入當前打印機的IP地址如192.168.0.2回車即可打開打印機的參數網頁,默認修改密碼為1234。
3.9 接下來我們就要根據事先設計好的標簽模板,按斑馬打印機-ZPL-II-語言編程,并將編好的程序發送給打印機。打開zebra setup utility 軟件,選中剛才設置的打印機,點擊“Open Communication With Printer”按鈕,彈出“Direct Communication” 設置畫面,把編譯好的ZPL-II-語言程序黏貼到“untitled1”發送框,點擊“Send To Printer”按鈕,將程序程序下載到打印機中。該程序對標簽模板的布局進行定義。詳細定義程序如下:
^XA
^DFE:TCS0950.ZPL^FS
^MMT
^PW673
^LL0325
^LS0
^LT10
^FT512,351^BQN,2,5^FN1^FS
^FT143,239^A0N,42,40^FH\^FN2^FS
^FT143,295^A0N,42,40^FH\^FN3^FS
^FT145,48^A0N,42,36^FH\^FN4^FS
^FT156,109^A0N,42,36^FH\^FN5^FS
^FT193,171^A0N,42,40^FH\^FN6^FS
^FT510,109^A0N,42,40^FH\^FN7^FS
^FT520,170^A0N,42,40^FH\^FN8^FS
^FT474,49^A0N,42,40^FH\^FN9^FS
^FT574,48^A0N,42,40^FH\^FN10^FS
^FO3,123^GB668,0,4^FS
^FO2,185^GB668,0,2^FS
^FO2,61^GB669,0,5^FS
^FO461,3^GB0,181,3^FS
^FO332,3^GB0,181,4^FS
^FO131,3^GB0,322,4^FS
^FT604,170^A0N,42,40^FH\^FDm^FS
^FT372,171^A0N,42,40^FH\^FDQty^FS
^FT371,109^A0N,42,40^FH\^FDPIC^FS
^FT360,48^A0N,42,40^FH\^FDTime^FS
^FT38,268^A0N,42,40^FH\^FDNo.^FS
^FT15,170^A0N,42,40^FH\^FDModel^FS
^FT5,109^A0N,42,40^FH\^FDSection^FS
^FT21,49^A0N,42,40^FH\^FDName^FS
^FO669,3^GB0,321,3^FS
^FO2,4^GB0,321,3^FS
^FO1,321^GB668,0,4^FS
^FO3,3^GB668,0,3^FS
^PQ1,0,1,Y
^XZ
3.10調用模板,對打印機打印標簽紙進行打印及微調。這樣打印機的設置工作也就完成了。詳細調用模板程序如下:
^XA
^XFE:TCS0950.ZPL^FS
^FN1^FDMM,AL15ZGY000000101L13516093000003^FS
^FN2^FDL15ZGY0000001^FS
^FN3^FD01L13516093000003^FS
^FN4^FDPOSITIVE^FS
^FN5^FDL15SPL.^FS
^FN6^FDL135^FS
^FN7^FD002644^FS
^FN8^FD1312^FS
^FN9^FD1110^FS
^FN10^FD11:54^FS
^XZ
圖1打印出來的產品信息
最后,只需將調用打印機標簽模板ZPL-II-語言程序與S7-1500程序整合起來,即可將調用標簽模板的程序及PLC中的生產信息如:操作機臺、操作人員、經過的工序、生產時間日期和工藝參數等以字符串的形式串連起來,存儲在以DB1.DBX0.0開始的254個字節中,點擊打印按鈕PLC通過TCP通信發送給打印機,并將其打印出來。達到根據產品文字號碼追溯產品的生產過程信息的目的(見圖1)。
參考文獻
[1]《西門子PLC工業通信完全精通教程》向曉漢主編 北京化學工業出版社2013.2.
[2]《GX420t / GX430t 用戶指南》Zebra Teachno
logies 980612-061 修訂版 C.
[3]《ZPL II 語言編程基礎》.Zebra Teachnolo'
gies.