999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

西門子S7—200 PLC在船舶卸載料斗秤系統中的應用

2014-04-29 06:27:50鄒劍峰
科技創新與應用 2014年14期
關鍵詞:系統

鄒劍峰

摘 要:介紹了S7-200PLC通過Modbus RTU協議作為從站與PC主站通訊的方法,通過S7-200PLC對S7-300PLC的信號中轉,用VB6.0編寫的料斗秤計量軟件實現了對S7-200PLC及S7-300PLC的信號交換,開發了船舶大宗原料料斗秤檢斤計量系統并得到有效應用。

關鍵詞:S7-200PLC;料斗秤;Modbus RTU協議

引言

目前,鋼鐵企業船舶運輸的大宗原材料都是采用檢尺的方式進行計量,但由于種種原因,經常導致檢尺計量數據偏差大,買賣雙方矛盾重重。為了解決上述問題,采用將原料通過卸料皮帶運至陸域后采用靜態料斗計量,實現檢斤計量,準確計量后,通過皮帶轉運至原料堆場。計量數據及時傳給公司計量管理系統,為公司原料管理部門提供實時、準確、完整的船運原料計量數據。

1 系統功能

船運大宗原料通過201膠帶機、202膠帶機、203膠帶機、204膠帶機、205膠帶機、206-1膠帶機、206-2膠帶機、布料器將原料轉運進計量料倉A,當倉A達到預設稱量條件,系統驅動布料器移動到B計量倉上裝料,此時,A計量倉計量,A倉計量完畢,打開液壓閘門,原料通過206-3膠帶機、206-4膠帶機、207膠帶機轉運至后方堆場,A計量倉卸料完畢,關閉液壓閘門;當倉B達到預設稱量條件,系統驅動布料器移動到A計量倉裝料,此時,B計量倉計量,B倉計量完畢,打開液壓閘門放料,原料通過206-3膠帶機、206-4膠帶機、207膠帶機轉運至后方堆場,B計量倉卸料完畢,關閉液壓閘門。如此循環,實現船運大宗原料的檢斤計量,同時保證碼頭船運大宗原料的有序卸載。計量工藝流程如圖1所示。

圖1 碼頭船運原料卸載計量工藝流程

2 系統結構

根據碼頭卸載工藝需求以及料斗秤計量需求,碼頭基礎控制系統使用西門子S7-300PLC控制器,控制碼頭卸料料線的啟停、布料器在計量倉上的位置檢測等。料線啟停等操作由基礎自動化操作站完成。S7-300PLC檢測信號(如卸料小車位置檢測、料線運行狀態等)實時通過Profibus-DP網絡傳給S7-200PLC系統。S7-200PLC、稱重儀表A、稱重儀表B、串口服務器等組成RS485總線計量網絡,計量操作站中的上位機軟件不斷讀取稱重儀表A、稱重儀表B、S7-200PLC中的數據,通過邏輯判斷完成稱量,S7-200PLC驅動計量倉下液壓閘門的打開或關閉,將計量倉中的原料排出,同時將計量信息(如料倉內物料重量、料倉是否具備裝料條件等)通過S7-200PLC傳給S7-300PLC系統,通過邏輯判斷實現S7-300PLC對布料器的驅動控制。計量料倉A和計量料倉B的靜態稱量由計量操作站完成。

S7-200PLC支持Modbus RTU 協議,稱重儀表A和稱重儀表B支持RS485接口通訊,計量軟件采用VB6.0開發,主要借助VB開發平臺下的MSComm、Timer控件來實現與S7-200PLC、稱重儀表A、重儀表B 的串行通訊。使用串口服務器完成RS485/RS232的轉換,同時在上位機中完成端口映射,計量操作站中實際使用了COM1、COM2、COM3三個串口,分別與S7-200PLC、稱重儀表A、稱重儀表B通訊。

計量操作站一用一備,計量數據保存在本地服務器的同時將數據傳給公司計量管理系統,為系統連續運行及數據的可靠性提供了保障。系統網絡結構如圖2所示。

圖2 系統網絡結構

3 系統功能的實現

3.1 S7-300PLC和S7-200PLC通訊

系統中使用S7-300PLC完成基礎自動化控制(如卸料料線的啟停、計量倉上布料器的位置檢測、公輔系統的控制等),其中如料線運行狀態信號、布料器位置信號等均要傳給S7-200PLC系統;由計量上位機發給S7-200PLC計量完成信號、液壓閘門打開/關閉信號等要傳給S7-300PLC系統。

S7-200PLC系統配置EM277通訊模塊,與S7-300PLC 通過Profibus-DP網絡連接,在S7-300PLC編程軟件中安裝EM277 GSD文件,將配有EM277模塊的S7-200PLC組態在S7-300PLC硬件系統中,完成地址映射,實現S7-300PLC 和S7-200PLC的通訊。

3.2 計量上位機軟件與S7-200PLC、稱重儀表A、稱重儀表B通訊

計量系統中計量操作站、S7-200PLC、稱重儀表A、稱重儀表B組成RS485總線網絡,采用Modbus RTU協議。Modbus RTU協議采用主從工作方式,允許一臺主機和多臺從機通信,每臺從機地址由用戶設定,地址范圍為1~255。計量操作站作為主站,S7-200PLC、稱重儀表A及稱重儀表B作為從站。S7-200 CPU上的通訊口Port0通過指令庫支持Modbus RTU 從站模式。

Modbus 通訊協議規范:起始符+設備地址+功能代碼+數據+校驗和+結束符。對S7-200PLC來說,其中“功能代碼”表明了該命令要執行什么功能,如01碼讀取單個/多個線圈(離散量輸出點)狀態,03碼讀取單個/多個保持寄存器,返回V存儲區的狀態等。“校效和”在整個規范中非常重要。我們知道,RS232通訊格式里的奇偶校驗方式并不能保證每個字符都正確,所以需要把所有字符的值按照某種規律計算,計算得到的字符(校驗和)傳給接收方,接收時再把接收到的字符的值按照某種規律計算,得到的字符與發送方傳送過來的校驗和字符比較,如果相等,就算接收正確了。

3.2.1 S7-200PLC作為從站與計量操作站通訊

S7-200 CPU上的通訊口Port0通過指令庫支持Modbus RTU 從站模式。S7-200PLC Modbus RTU

從站協議是通過調用指令庫中的兩個功能塊實現的,兩個功能塊分別是MBUS_INIT和MBUS_SLAVE。MBUS_INIT功能塊被用于啟用和初始化或禁止Modbus通訊。MBUS_SLAVE功能塊被用于為Modbus主設備發出的查詢服務,并且必須在每次掃描時執行,以便允許該指令檢查和響應Modbus主設備查詢。兩個功能塊圖如圖3。

圖3

在S7-200PLC與計量操作站通訊之前,根據主站的通訊參數進行初始化設置,MBUS_INIT功能塊通訊格式設置如下:Mode為1,表示為Modbus協議;Addr從站地址為1;Baud波特率為19200;Parity為2是偶校驗;MaxIQ表示讀取輸入輸出數字量的點數;MaxAI表示讀取模擬量的點數;MaxHold和HoldStart結合使用可以讀取V存儲區數據,設置開始讀取地址以及讀取數量。完成MBUS_INIT功能塊參數的設置,然后通過調用MBUS_SLAVE功能塊響應主機查詢信息。

3.2.2 計量操作站作為主站與PLC通訊

計量軟件采用VB6.0編程,VB6.0與Windows系統有著非常完美的接口,VB6.0提供了一個非常方便的通信控件MSComm。應用程序嵌入MSComm控件,通過MSComm控件提供的事件驅動或查詢方式來進行串行通信管理。S7-200PLC、稱重儀表A、稱重儀表B分別接入串口服務器后,實現RS485/RS232的轉換,通過串口映射,計算機中使用COM1、COM2、COM3分別對應S7-200PLC、稱重儀表A、稱重儀表B,分別對3個串口進行編寫通訊程序。

(1)通訊口初始化編程

使用VB中的MSComm控件通訊時,初始化程序如下:

On Error GoTo Prog_err: '此處作用:如果您選擇了電腦中不存在的通訊口,則'Prog_err'程序段,提示“無效的通訊口”

If MSComm1.PortOpen = True Then MSComm1.PortOpen = False '串口是打開狀態,則關閉,進行串口的設置工作

MSComm1.CommPort = Combo1.ListIndex + 1 '設置通訊端口號

MSComm1.Settings = CStr(Combo3.Text) & “E,8,1” '*設定通訊格式

MSComm1.InputLen = 0 '*將接收緩沖區內容全部讀回來

MSComm1.OutBufferCount = 0 '*設置并返回發送緩沖區的字節數,設為0時清空發送緩沖區

MSComm1.InBufferCount = 0 '*設置并返回接收緩沖區的字節數,設為0時清空接收緩沖區

MSComm1.InputMode = comInputModeBinary '*二進制接收

MSComm1.RThreshold = 1 '*產生ON_COMMM事件的字符數

MSComm1.PortOpen = True '*打開串口

Label2.Caption = “串口已打開”

Order = 0

Timer1.Enabled = True

Timer2.Enabled = False

RWcomm = False

Exit Sub

Prog_err:

Label3.Caption = “無此端口”

(2)計量操作站讀數及寫數程序(以讀輸入I點和輸出Q點為例)

使用01功能碼和02功能碼實現對輸入I點和輸出Q點的讀數程序如下:

ReDim SenData(0 To 7) As Byte '*發送變量

Adree = Right(“0000” + Hex(Val(“&o” + CStr(Val(Text4.Text) * 10 + Combo2.Text))), 4)

'地址要求是兩個字節,所以前面補零

'西門子輸出是八進制,所以先將八進制轉換為十進制

SenData(0) = &H1 '從站站號

If Option6.Value = True Then '畫面中選擇 Q 點輸出

SenData(1) = &H1 '01碼 讀數字量輸出位 命令

Else '畫面中選擇 I 點輸入 即如果是對輸入操作

SenData(1) = &H2 '02碼 讀數字量輸入位 命令

End If

SenData(2) = Val(“&H” + Mid(Adree, 1, 2)) '寄存器通訊地址高字節

SenData(3) = Val(“&H” + Mid(Adree, 3, 2)) '寄存器通訊地址低字節

SenData(4) = &H0 '讀取個數高字節

SenData(5) = &H1 '讀取個數低字節

getData = Chr_crc(SenData) '校驗計算[從SenDataR(0) 到 SenDataR(5) 參加校驗和計算)]

SenData(6) = Val(“&H” + Mid(getData, 1, 2)) '校驗高字節

SenData(7) = Val(“&H” + Right(getData, 2)) '校驗低字節

……

(3)計量操作站中數據處理程序

MSComm控件處理通訊方式有兩種:事件驅動方式和查詢方式。本系統采用事件驅動方式。在串口緩沖區接受到字符時觸發OnComm事件捕獲并處理通信事件。程序通過Rthreshold屬性值來實現觸發OnComm事件來處理S7-200PLC發送來的從站響應信息。部分程序如下。

Private Sub MSComm1_OnComm()

Dim I As Integer '定義整數 I

Dim getData() As Byte '讀取接收緩沖區變量 定義字節型數組變量

Dim getData_len As Long '判斷讀取長度 定義長整型數據

Dim CrcJ() As Byte '用于校驗計算 定義字節型數組變量

Dim j As Integer '定義整數 j

If MSComm1.CommEvent = comEvReceive Then 'CommEvent的屬性返回的值為comEvReceive時是發生了接收事件.

getData = MSComm1.Input '讀取接收緩沖區內容 將緩沖區內容賦值給getData數組變量。

getData_len = UBound(getData) '返回一個 Long 型數據,其值為指定的數維組可用的最大下標

For j = 0 To getData_len '將讀取的字節變換為字符

Read = Read & Right(“00” + Hex(getData(j)), 2) '將獲取到的數組變量依次轉換成十六進制數,每個字節補齊后取2位 組合成一個十六進制數字符串。

Next j

……

(4)稱重儀表A和稱重儀表B和計量軟件的通訊

稱重儀表A和稱重儀表B都支持Modbus RTU 協議,分別對應COM2和COM3串口,編程方式類似對S7-200PLC的編程,需熟悉稱重儀表的數據格式,在此不再贅述。

4 結束語

本系統碼頭料斗秤計量軟件通過Modbus RTU 協議實現與S7-200PLC信號交換,通過S7-200PLC中轉也實現了與S7-300PLC的信號交換。通過信號的邏輯判斷以及稱重儀表重量數據的直接讀取,碼頭船舶大宗原料料斗秤檢斤計量得到成功實現,有效解決了買賣雙方之間的矛盾。

S7-200PLC 作為現場控制設備,通過Modbus協議,不僅可以作為與PC 機通訊的從站,也可以作為主站,在現代工業控制中使用相當廣泛。利用Modbus協議開發通訊程序,不僅能保證系統的可靠性,而且有效降低了開發成本。

參考文獻

[1]西門子公司SIMATIC S7-200可編程控制器手冊[M].北京國防工業出版社,2000.

[2]范逸之,陳立元.Visual Basic與RS-232串行通信控制[D].清華大學出版社,2002

[3]劉瑞新,李樹東,萬朝陽.Visual Basic 程序設計教程[M].電子工業出版社,2000.

[4]祝木田,師勇.Modbus 協議通訊的應用[J].微計算機信息,2003

Private Sub MSComm1_OnComm()

Dim I As Integer '定義整數 I

Dim getData() As Byte '讀取接收緩沖區變量 定義字節型數組變量

Dim getData_len As Long '判斷讀取長度 定義長整型數據

Dim CrcJ() As Byte '用于校驗計算 定義字節型數組變量

Dim j As Integer '定義整數 j

If MSComm1.CommEvent = comEvReceive Then 'CommEvent的屬性返回的值為comEvReceive時是發生了接收事件.

getData = MSComm1.Input '讀取接收緩沖區內容 將緩沖區內容賦值給getData數組變量。

getData_len = UBound(getData) '返回一個 Long 型數據,其值為指定的數維組可用的最大下標

For j = 0 To getData_len '將讀取的字節變換為字符

Read = Read & Right(“00” + Hex(getData(j)), 2) '將獲取到的數組變量依次轉換成十六進制數,每個字節補齊后取2位 組合成一個十六進制數字符串。

Next j

……

(4)稱重儀表A和稱重儀表B和計量軟件的通訊

稱重儀表A和稱重儀表B都支持Modbus RTU 協議,分別對應COM2和COM3串口,編程方式類似對S7-200PLC的編程,需熟悉稱重儀表的數據格式,在此不再贅述。

4 結束語

本系統碼頭料斗秤計量軟件通過Modbus RTU 協議實現與S7-200PLC信號交換,通過S7-200PLC中轉也實現了與S7-300PLC的信號交換。通過信號的邏輯判斷以及稱重儀表重量數據的直接讀取,碼頭船舶大宗原料料斗秤檢斤計量得到成功實現,有效解決了買賣雙方之間的矛盾。

S7-200PLC 作為現場控制設備,通過Modbus協議,不僅可以作為與PC 機通訊的從站,也可以作為主站,在現代工業控制中使用相當廣泛。利用Modbus協議開發通訊程序,不僅能保證系統的可靠性,而且有效降低了開發成本。

參考文獻

[1]西門子公司SIMATIC S7-200可編程控制器手冊[M].北京國防工業出版社,2000.

[2]范逸之,陳立元.Visual Basic與RS-232串行通信控制[D].清華大學出版社,2002

[3]劉瑞新,李樹東,萬朝陽.Visual Basic 程序設計教程[M].電子工業出版社,2000.

[4]祝木田,師勇.Modbus 協議通訊的應用[J].微計算機信息,2003

Private Sub MSComm1_OnComm()

Dim I As Integer '定義整數 I

Dim getData() As Byte '讀取接收緩沖區變量 定義字節型數組變量

Dim getData_len As Long '判斷讀取長度 定義長整型數據

Dim CrcJ() As Byte '用于校驗計算 定義字節型數組變量

Dim j As Integer '定義整數 j

If MSComm1.CommEvent = comEvReceive Then 'CommEvent的屬性返回的值為comEvReceive時是發生了接收事件.

getData = MSComm1.Input '讀取接收緩沖區內容 將緩沖區內容賦值給getData數組變量。

getData_len = UBound(getData) '返回一個 Long 型數據,其值為指定的數維組可用的最大下標

For j = 0 To getData_len '將讀取的字節變換為字符

Read = Read & Right(“00” + Hex(getData(j)), 2) '將獲取到的數組變量依次轉換成十六進制數,每個字節補齊后取2位 組合成一個十六進制數字符串。

Next j

……

(4)稱重儀表A和稱重儀表B和計量軟件的通訊

稱重儀表A和稱重儀表B都支持Modbus RTU 協議,分別對應COM2和COM3串口,編程方式類似對S7-200PLC的編程,需熟悉稱重儀表的數據格式,在此不再贅述。

4 結束語

本系統碼頭料斗秤計量軟件通過Modbus RTU 協議實現與S7-200PLC信號交換,通過S7-200PLC中轉也實現了與S7-300PLC的信號交換。通過信號的邏輯判斷以及稱重儀表重量數據的直接讀取,碼頭船舶大宗原料料斗秤檢斤計量得到成功實現,有效解決了買賣雙方之間的矛盾。

S7-200PLC 作為現場控制設備,通過Modbus協議,不僅可以作為與PC 機通訊的從站,也可以作為主站,在現代工業控制中使用相當廣泛。利用Modbus協議開發通訊程序,不僅能保證系統的可靠性,而且有效降低了開發成本。

參考文獻

[1]西門子公司SIMATIC S7-200可編程控制器手冊[M].北京國防工業出版社,2000.

[2]范逸之,陳立元.Visual Basic與RS-232串行通信控制[D].清華大學出版社,2002

[3]劉瑞新,李樹東,萬朝陽.Visual Basic 程序設計教程[M].電子工業出版社,2000.

[4]祝木田,師勇.Modbus 協議通訊的應用[J].微計算機信息,2003

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 理论片一区| 精品国产电影久久九九| 999精品色在线观看| 国产xxxxx免费视频| 无码中文字幕加勒比高清| 亚洲欧美日本国产专区一区| 最新亚洲人成网站在线观看| 中文字幕亚洲乱码熟女1区2区| 亚洲精品午夜无码电影网| 国产97色在线| 亚洲中文字幕无码爆乳| 中文字幕天无码久久精品视频免费 | 日韩视频精品在线| 看你懂的巨臀中文字幕一区二区| 狠狠色丁婷婷综合久久| 日韩 欧美 小说 综合网 另类| 狠狠色噜噜狠狠狠狠奇米777| 最新痴汉在线无码AV| jizz亚洲高清在线观看| 欧美日韩中文字幕二区三区| 国产情精品嫩草影院88av| 九九热这里只有国产精品| 亚洲av无码成人专区| 欧美中文字幕一区| 亚洲精品无码日韩国产不卡| 狠狠亚洲婷婷综合色香| 一区二区无码在线视频| 无码乱人伦一区二区亚洲一| 东京热av无码电影一区二区| 国产高清在线观看| 国产夜色视频| 国产日本欧美在线观看| 国产老女人精品免费视频| 91极品美女高潮叫床在线观看| 国产美女叼嘿视频免费看| 日韩在线永久免费播放| 亚洲无码熟妇人妻AV在线| 亚洲欧美一区在线| 97免费在线观看视频| 日韩国产黄色网站| 日韩国产综合精选| 91福利免费| 美女潮喷出白浆在线观看视频| 国产精品自拍合集| 亚洲国产黄色| 亚洲AV一二三区无码AV蜜桃| 亚洲成AV人手机在线观看网站| 伊人天堂网| 国产91丝袜在线播放动漫 | 无码高潮喷水在线观看| 久久免费视频播放| 国产精品刺激对白在线| 国产精品主播| 久久伊人操| 国产精品片在线观看手机版| 亚洲国产清纯| 亚洲—日韩aV在线| 国产鲁鲁视频在线观看| 亚洲成a人在线播放www| 久热中文字幕在线| 中文字幕久久波多野结衣| 国产办公室秘书无码精品| 国产伦精品一区二区三区视频优播| 中文字幕亚洲另类天堂| 国产精品视频猛进猛出| 国产一区免费在线观看| 欧美a在线看| 热久久这里是精品6免费观看| 国产精品手机在线观看你懂的 | 日韩精品一区二区三区免费在线观看| 国产精品专区第一页在线观看| 日韩视频免费| www.av男人.com| 亚洲成a人片77777在线播放| 亚洲视屏在线观看| 欧美精品在线视频观看| 免费亚洲成人| 综合色天天| 亚洲a级毛片| 国产精品视频a| 露脸一二三区国语对白| 99视频国产精品|