常源
摘要:電子稱計量是目前無菌灌裝機普遍采用的計量方式,如何將灌裝量準確實時地讀入PLC可以采用多種方法。本文主要利用S7-200的自由口與稱重儀表或者帶通訊口變送器之間的協(xié)議,通過編程實現(xiàn)兩者之間的數(shù)據(jù)傳輸。利用自由口通訊在節(jié)約成本的同時,可以獲取穩(wěn)定準確的重量數(shù)據(jù),大大的提升了灌裝精度。
關鍵詞:PLC 自由口通訊 灌裝機 稱重系統(tǒng)
中圖分類號:TP273 文獻標識碼:A 文章編號:1007-9416(2014)06-0010-02
1 前言
西門子S7-200系列PLC是主要面向小型設備的控制系統(tǒng),它成本低,接口豐富,模塊擴展性強,是目前包裝行業(yè)普遍采用的控制系統(tǒng)。飲料包裝行業(yè),對重量的要求是非常精確的,密度單一,流動性較好的物料,通常采用流量計來計量,精度可以達到標準。但根據(jù)市場需要,含有大顆粒、囊包或者密度粘度不均勻的飲料更能滿足營養(yǎng)和口味的需求,此類物料由于其質量或者電導率不均勻,采用流量計計量,誤差較大。利用電子稱計量可以有效的避免以上缺點,簡單直觀的反映出灌裝重量,大大提高了灌裝精度。
過去,通常采用稱重儀表的IO信號控制灌裝量,但是這種計量方法無法將實際灌裝重量引入PLC,不能方便分析實時重量,回饋控制灌裝機構。另一種方法,經過儀表的二次變換,輸出4-20Ma電流,采集進PLC,采用這種方式,經過變換的重量值精度沒有儀表高,也會帶來儀表和PLC重量值不一致的誤差。隨著PLC和儀表通訊技術的日漸成熟,利用兩者之間的數(shù)據(jù)傳輸,可方便地實現(xiàn)讀寫、標定、記錄等功能,使灌裝量控制更加靈活,有效。
2 S7-200的串行通訊技術
S7-200PLC一般具有一到兩個RS485通訊接口,并且通信口各自獨立,每個通信口都有自己的網絡地址、通信速率等參數(shù)設置。灌裝機稱重系統(tǒng)中采用的是S7-200中的CPU226,此CPU有PORT0、PORT1兩個通信接口,可根據(jù)需要自由定義為PPI協(xié)議和自由口通訊模式。
2.1 通訊協(xié)議及自由口介紹
定義為自由口模式后,通過編寫程序就可以完全控制通信端口的操作,通信協(xié)議也完全受用戶程序控制,速波特率可以設置為1200、2400、4800、9600、19200、38400、57600或112500。S7-200CPU上的通信口在電氣上是標準的RS-485半雙工串行通信口。此串行字符通信的格式一般包括:
一個起始位;
7或8位字符(數(shù)據(jù)字節(jié));
一個奇/偶校驗位;
一個停止位;
凡是符合這些格式的串行通信設備,理論上都可以和S7-200 CPU通信。
2.2 控制字介紹
S7-200是通過不同的特殊寄存器來控制自由口的通訊方式和檢測讀寫信息指令的狀態(tài)。SMB30、SMB130分別用于對PORT0、PORT1的初始化,通過定義這兩個特出寄存器,可以控制自由口的協(xié)議、波特率、每個字符的數(shù)據(jù)位和校驗方式,定義后的通訊方式要和稱重儀表的通訊方式一致。SMB86到SMB94、SMB186到SMB194狀態(tài)字主要檢測通訊過程,比如通訊超時、校驗錯誤或者定義起始與結束字符。
3 灌裝機稱重系統(tǒng)
3.1 稱重原理
灌裝機靠灌裝閥來控制灌裝量的多少,當灌裝量到達設定值時,PLC控制灌裝閥關閉。為精確達到控制灌裝重量的大小,灌裝閥可以根據(jù)流量大小,分幾段減小進入灌裝管內的流量,防止流量過大,在關閉物料閥的瞬間,造成沖擊,此時進入的多余物料是不可控制的,會引起物料重量不規(guī)律的波動。
3.2 儀表通訊協(xié)議介紹
灌裝機采用的是杰曼GM8806配料控制器,控制器具有一個RS485串行口,通訊方式采用應答方式,即通過PLC發(fā)出命令幀給儀表,儀表接收到給命令幀后向PLC發(fā)出命令相應幀的方法實現(xiàn)通訊。字節(jié)格式為:起始位—1bit,字符長—7bit,停止位—1bit,代碼:ASCⅡ,校驗方式:偶校驗。
GM8806提供比較全面的讀寫命令,比如:讀取儀表狀態(tài)、讀取配方參數(shù)、寫工作參數(shù)、標定等。CPU226主要是讀取儀表的當前值,所以就以讀取儀表當前狀態(tài)為例,發(fā)送的數(shù)據(jù)格式為:
STX—起始符(02H)
地址—稱號(可輪流讀取多個稱的當前值)
R—(52H)
S—(53H)
CRC—校驗和
CR—(0DH)回車標志
LF—(OAH)結束標志
如果讀取1號稱的當前狀態(tài)時,發(fā)送命令的數(shù)據(jù)格式位:023031525336340D0A。
儀表應答后返回數(shù)據(jù)格式為:
DDDDDD—儀表顯示值,6位。狀態(tài)—穩(wěn)定(4DH),不穩(wěn)定(53H),溢出(4FH)
通過編程把6位當前儀表顯示值讀取到PLC中,運算轉換成帶有重量單位的當前重量值。
4 硬件連接及程序設計
4.1 硬件連接
PLC與GM8806通過帶屏蔽的雙絞線連接,自由口通過西門子專用的RS485接頭進行連接,采用質量較好的傳輸線,能更好的提高信號的抗干擾能力,增加傳輸距離,當傳輸速率小于187.5kbps波特率時,可以保證50米以內的有效傳輸距離,用戶也可以采用RS-485中繼器延長通信距離。
4.2 中斷介紹
CPU通信的核心指令是發(fā)送(XMT)和接收(RCV)指令,在自由口通信中常用的中斷有“接收指令結束中斷”、“發(fā)送指令結束中斷”。通訊協(xié)議位于自由端口模式時完全受梯形圖程序的控制,在編程的時候可以很方便地使用這兩個命令。發(fā)送和接收指令可以允許傳送最多長達255個字符的數(shù)字緩沖區(qū),并且在發(fā)送和接收完畢后會產生一個中斷,在S7-200中,為端口1分配的中斷事件為26和24。數(shù)據(jù)的接收開始和終止分別采用起始字符、結束字符檢測,當SMB188接收到和儀表指定的起始字符后,數(shù)據(jù)緩沖區(qū)將接收以起始字符為第一個字符的數(shù)據(jù),在此期間,"接收"指令會檢查接收的每個字符,查看是否與結束字符相符,收到結束字符時,結束字符被寫入信息緩沖區(qū)中,接收終止。在GM8806通信協(xié)議中,起始字符被指定為02H,結束字符被指定為0AH。
4.3 程序設計
程序主要由主程序、發(fā)送中斷程序和接收中斷程序組成,主程序主要完成對端口1的初始化、調用中斷程序和數(shù)據(jù)處理任務。
LD SM0.1 // 首次掃描時,
MOVB 16#69 SMB130 // 初始化自由端口:選擇9600波特,選擇8個數(shù)據(jù)位,奇校驗方式。
MOVB 16#E0 SMB187 // 初始化RCV信息控制字節(jié):RCV被啟用,檢測到信息字符結束
MOVB 16#0A SMB189 // 將信息字符結束設為hex OA(換行符)。
MOVW +5 SMW190 // 將空閑行超時設為5毫秒。
MOVB 100 SMB194 // 將最大字符數(shù)設為100。
ATCH INT_0 24 // 將中斷附加在接收完成事件上。
ATCH INT_2 26 // 將中斷2附加在傳送完成事件上。
ENI // 啟用用戶中斷
RCV VB100 ,1// 為端口1在VB100位置啟用帶緩沖區(qū)的接收區(qū)域
XMT VB500, 1// 為端口1在VB500位置啟用帶緩沖區(qū)的發(fā)送區(qū)域
LD SM0.0
ATH VB112, VB0, 4
MOVW VW0, VW10
BCDI VW10
ITD VW10, VD20
DTR VD20, VD30
MOVR VD30, VD40
/R 10.0, VD40// 數(shù)據(jù)轉換,將6位ASCⅡ碼轉換為以Kg位單位的十進制。
在接收完數(shù)據(jù)后,設定了40ms的時間間隔后在重新向儀表發(fā)送讀取命令,防止儀表同時接受到讀取和發(fā)送命令,引起錯誤。經GM8806返回的數(shù)據(jù),實時重量以ASCⅡ碼的格式存儲在VB109-VB118的地址中,經過數(shù)據(jù)變換后,就可得到和儀表顯示一致的重量值。
5 結語
電子稱計量精度高,灌裝量誤差不依賴溫度、流量等其他工藝參數(shù),是目前灌裝機主要采用的計量方式。通過PLC-200自由口和稱重儀表的通訊,將重量數(shù)據(jù)讀入PLC,消除了采用變送器所帶來的誤差,同時將灌裝量讀入PLC,方便編程,可以實現(xiàn)更復雜的控制功能。自由口的通訊也可方便的與打印機、變頻器、智能儀表等工業(yè)儀器通訊。S7-200CPU在國內得到廣泛應用,依靠通訊連傳輸數(shù)據(jù)打破了以往單一的I\O,4-20Ma的傳統(tǒng)模式,讓儀器儀表之間連接方式更加標準化。
參考文獻
[1]Siemens AG.S7-200.LOGO.SITOP參考[K].2008.
[2]Siemens AG.S7-200可編程控制器系統(tǒng)手冊[K].2007.
[3]趙金榮,葉真主編.可編程序控制器原理及應用[M].上海:上海應用技術學院,2003.
[4]劉華波,等主編.西門子S7-200 PLC編程及應用案例精選[M].北京:機械工業(yè)出版社,2009.
[5]姜建芳.西門子S7-200PLC工程應用技術教程[M].2010.
4.3 程序設計
程序主要由主程序、發(fā)送中斷程序和接收中斷程序組成,主程序主要完成對端口1的初始化、調用中斷程序和數(shù)據(jù)處理任務。
LD SM0.1 // 首次掃描時,
MOVB 16#69 SMB130 // 初始化自由端口:選擇9600波特,選擇8個數(shù)據(jù)位,奇校驗方式。
MOVB 16#E0 SMB187 // 初始化RCV信息控制字節(jié):RCV被啟用,檢測到信息字符結束
MOVB 16#0A SMB189 // 將信息字符結束設為hex OA(換行符)。
MOVW +5 SMW190 // 將空閑行超時設為5毫秒。
MOVB 100 SMB194 // 將最大字符數(shù)設為100。
ATCH INT_0 24 // 將中斷附加在接收完成事件上。
ATCH INT_2 26 // 將中斷2附加在傳送完成事件上。
ENI // 啟用用戶中斷
RCV VB100 ,1// 為端口1在VB100位置啟用帶緩沖區(qū)的接收區(qū)域
XMT VB500, 1// 為端口1在VB500位置啟用帶緩沖區(qū)的發(fā)送區(qū)域
LD SM0.0
ATH VB112, VB0, 4
MOVW VW0, VW10
BCDI VW10
ITD VW10, VD20
DTR VD20, VD30
MOVR VD30, VD40
/R 10.0, VD40// 數(shù)據(jù)轉換,將6位ASCⅡ碼轉換為以Kg位單位的十進制。
在接收完數(shù)據(jù)后,設定了40ms的時間間隔后在重新向儀表發(fā)送讀取命令,防止儀表同時接受到讀取和發(fā)送命令,引起錯誤。經GM8806返回的數(shù)據(jù),實時重量以ASCⅡ碼的格式存儲在VB109-VB118的地址中,經過數(shù)據(jù)變換后,就可得到和儀表顯示一致的重量值。
5 結語
電子稱計量精度高,灌裝量誤差不依賴溫度、流量等其他工藝參數(shù),是目前灌裝機主要采用的計量方式。通過PLC-200自由口和稱重儀表的通訊,將重量數(shù)據(jù)讀入PLC,消除了采用變送器所帶來的誤差,同時將灌裝量讀入PLC,方便編程,可以實現(xiàn)更復雜的控制功能。自由口的通訊也可方便的與打印機、變頻器、智能儀表等工業(yè)儀器通訊。S7-200CPU在國內得到廣泛應用,依靠通訊連傳輸數(shù)據(jù)打破了以往單一的I\O,4-20Ma的傳統(tǒng)模式,讓儀器儀表之間連接方式更加標準化。
參考文獻
[1]Siemens AG.S7-200.LOGO.SITOP參考[K].2008.
[2]Siemens AG.S7-200可編程控制器系統(tǒng)手冊[K].2007.
[3]趙金榮,葉真主編.可編程序控制器原理及應用[M].上海:上海應用技術學院,2003.
[4]劉華波,等主編.西門子S7-200 PLC編程及應用案例精選[M].北京:機械工業(yè)出版社,2009.
[5]姜建芳.西門子S7-200PLC工程應用技術教程[M].2010.
4.3 程序設計
程序主要由主程序、發(fā)送中斷程序和接收中斷程序組成,主程序主要完成對端口1的初始化、調用中斷程序和數(shù)據(jù)處理任務。
LD SM0.1 // 首次掃描時,
MOVB 16#69 SMB130 // 初始化自由端口:選擇9600波特,選擇8個數(shù)據(jù)位,奇校驗方式。
MOVB 16#E0 SMB187 // 初始化RCV信息控制字節(jié):RCV被啟用,檢測到信息字符結束
MOVB 16#0A SMB189 // 將信息字符結束設為hex OA(換行符)。
MOVW +5 SMW190 // 將空閑行超時設為5毫秒。
MOVB 100 SMB194 // 將最大字符數(shù)設為100。
ATCH INT_0 24 // 將中斷附加在接收完成事件上。
ATCH INT_2 26 // 將中斷2附加在傳送完成事件上。
ENI // 啟用用戶中斷
RCV VB100 ,1// 為端口1在VB100位置啟用帶緩沖區(qū)的接收區(qū)域
XMT VB500, 1// 為端口1在VB500位置啟用帶緩沖區(qū)的發(fā)送區(qū)域
LD SM0.0
ATH VB112, VB0, 4
MOVW VW0, VW10
BCDI VW10
ITD VW10, VD20
DTR VD20, VD30
MOVR VD30, VD40
/R 10.0, VD40// 數(shù)據(jù)轉換,將6位ASCⅡ碼轉換為以Kg位單位的十進制。
在接收完數(shù)據(jù)后,設定了40ms的時間間隔后在重新向儀表發(fā)送讀取命令,防止儀表同時接受到讀取和發(fā)送命令,引起錯誤。經GM8806返回的數(shù)據(jù),實時重量以ASCⅡ碼的格式存儲在VB109-VB118的地址中,經過數(shù)據(jù)變換后,就可得到和儀表顯示一致的重量值。
5 結語
電子稱計量精度高,灌裝量誤差不依賴溫度、流量等其他工藝參數(shù),是目前灌裝機主要采用的計量方式。通過PLC-200自由口和稱重儀表的通訊,將重量數(shù)據(jù)讀入PLC,消除了采用變送器所帶來的誤差,同時將灌裝量讀入PLC,方便編程,可以實現(xiàn)更復雜的控制功能。自由口的通訊也可方便的與打印機、變頻器、智能儀表等工業(yè)儀器通訊。S7-200CPU在國內得到廣泛應用,依靠通訊連傳輸數(shù)據(jù)打破了以往單一的I\O,4-20Ma的傳統(tǒng)模式,讓儀器儀表之間連接方式更加標準化。
參考文獻
[1]Siemens AG.S7-200.LOGO.SITOP參考[K].2008.
[2]Siemens AG.S7-200可編程控制器系統(tǒng)手冊[K].2007.
[3]趙金榮,葉真主編.可編程序控制器原理及應用[M].上海:上海應用技術學院,2003.
[4]劉華波,等主編.西門子S7-200 PLC編程及應用案例精選[M].北京:機械工業(yè)出版社,2009.
[5]姜建芳.西門子S7-200PLC工程應用技術教程[M].2010.
數(shù)字技術與應用2014年6期