內(nèi)蒙古赤峰西門子代理商|授權(quán)代理
SIEMENS潯之漫智控技術(shù)(上海)有限公司
本公司西門子自動化產(chǎn)品,質(zhì)量保證,價格優(yōu)勢
西門子PLC,西門子觸摸屏,西門子數(shù)控系統(tǒng),西門子軟啟動,
西門子以太網(wǎng)西門子電機,西門子變頻器,西門子直流調(diào)速器,
西門子電線電纜我公司大量現(xiàn)貨供應,價格優(yōu)勢,*
應用模擬量模塊EM231時,需要根據(jù)輸入信號的規(guī)格設(shè)置右下角的DIP開關(guān)。DIP開關(guān)只對輸入信號有效,并且對所有的輸入通道都是相同的。EM231帶模擬量輸入通道的模塊,還分別有電位器用于對輸入信號進行校正。EM231上的增益電位器用于調(diào)整輸入信號和轉(zhuǎn)換數(shù)值的放大關(guān)系。EM231模塊的DIP開關(guān)功能
模擬量模塊的接線
模擬量輸入模塊可以通過DIP撥碼開關(guān)設(shè)置為不同的測量方法。開關(guān)的設(shè)置應用于整個模塊,一個模塊只能設(shè)置為一種測量范圍。(注:開關(guān)設(shè)置只有在重新上電后才能生效) ,EM231的接線如圖2所示。
模擬量比例換算
因為A/D(模/數(shù))、D/A(數(shù)/模)轉(zhuǎn)換之間的對應關(guān)系,S7-200 CPU內(nèi)部用數(shù)值表示外部的模擬量信號,兩者之間有一定的數(shù)學關(guān)系。這個關(guān)系就是模擬量/數(shù)值量的換算關(guān)系。
例如,使用一個0 - 20mA的模擬量信號輸入,在S7-200 CPU內(nèi)部,0 - 20mA對應于數(shù)值范圍0 - 32000;對于4 - 20mA的信號,對應的內(nèi)部數(shù)值為6400 - 32000。
如果有兩個傳感器,量程都是0 - 16MPa,但是一個是0 - 20mA輸出,另一個是4 - 20mA輸出。它們在相同的壓力下,變送的模擬量電流大小不同,在S7-200內(nèi)部的數(shù)值表示也不同。顯然兩者之間存在比例換算關(guān)系。模擬量輸出的情況也大致相同。
上面談到的是0 - 20mA與4 - 20mA之間換算關(guān)系,但模擬量轉(zhuǎn)換的目的顯然不是在S7-200 CPU中得到一個0 - 32000之類的數(shù)值;對于編程和操作人員來說,得到具體的物理量數(shù)值(如壓力值、流量值),或者對應物理量占量程的百分比數(shù)值要更方便,這是換算的終目標。
模擬量的輸入/輸出都可以用下列的通用換算公式換算:
Ov = [(Osh - Osl)*(Iv - Isl)/(Ish - Isl)] + Osl
其中:
Ov: 換算結(jié)果
Iv: 換算對象
Osh: 換算結(jié)果的高限
Osl: 換算結(jié)果的低限
Ish: 換算對象的高限
Isl: 換算對象的低限
模擬量數(shù)據(jù)格式與尋址
模擬量輸入/輸出數(shù)據(jù)是有符號整數(shù),占用一個字長(兩個字節(jié)),所以地址必須從偶數(shù)字節(jié)開始。模擬量的轉(zhuǎn)換精度為12位,但在PLC中表示為-32000-+32000之間的整數(shù)值(實際上數(shù)值可以是整個16位有符號整數(shù)的范圍,但標準輸入信號如10V/20mA被標定為對應32000,模擬量超過標準值一點也因此可以表示)。在S7-200中,單極性模擬量輸入/輸出信號的數(shù)值范圍是 0 - 32000;雙極性模擬量信號的數(shù)值范圍是 -32000-+32000。
Labview是實驗室虛擬儀器工程工作臺(Labview Virtual Instruments Engineering Workbench)的簡稱,是美國國家儀器公司開發(fā)的虛擬儀器開發(fā)平臺軟件,它的功能強大靈活,可以廣泛應用于自動測量系統(tǒng)、工業(yè)過程自動化、實驗室仿真等各個領(lǐng)域。
Labview使用圖形化編程語言編程,簡單直觀,極大節(jié)省程序開發(fā)時間,同時Labview可提供豐富的庫函數(shù)和功能模塊,可完成各種各樣的編程任務(wù)。
Labview最重要的功能在于它可提供數(shù)據(jù)采集與分析庫,能連接總線接口硬件、VXI儀器及GPIB和串口儀器。
圖1 基于Labview開發(fā)平臺的虛擬儀器
國內(nèi)使用的很多儀器都提供了串口通訊功能,利用Labview的串口通訊函數(shù)可輕易與這些儀器連接,通過串口進行數(shù)據(jù)傳送。
本文以O(shè)MRON的CPM1A型PLC為例,詳細說明了在Labview中如何利用已有的串口通訊函數(shù)集來與PLC進行串口通訊。
二、Labview與串口通訊
在Labview中實現(xiàn)串口通訊可以有兩種方法:利用VISA或者使用標準的串口通訊函數(shù)。
1、利用VISA進行串口通訊
VISA是應用于儀器編程的標準I/O應用程序接口(API),VISA本身并不具有儀器編程能力,VISA是調(diào)用低層驅(qū)動器的高層的API。
VISA可以和VXI、GPIB及串口儀器按照所使用的儀器調(diào)用相應的設(shè)備驅(qū)動器,具體的使用方法可參考Labview的用戶手冊。
2、利用標準串口通訊函數(shù)進行串口通訊
在Labview中,進行串口通訊的基本步驟:
第一:初始化端口,利用串口初始化函數(shù)設(shè)定進行串口通訊的端口號、波特率、停止位、校驗、數(shù)據(jù)位,注意在Labview中串行端口號是從0開始編號的。
第二:讀寫端口,利用串口讀寫函數(shù)。從串口中讀入或輸出數(shù)據(jù)。
第三:關(guān)閉端口。
三、Labview與PLC的串口通訊實現(xiàn)
CPM1A型PLC是OMRON的一種微型PLC,它有12個輸入點,8個輸出點。該型PLC提供了比較豐富的上位鏈接命令,利用這些命令可通過串口利用PC機對PLC的工作狀態(tài)進行干預。本文僅以其中兩條命令為例說明Labview與歐姆龍PLC的串口通訊實現(xiàn)方法。
1、上位機對PLC的輸人繼電器進行讀操作
命令格式
PLC響應格式(其中正常情況下結(jié)束碼為00):
Labview中的程序?qū)崿F(xiàn):
第一 初始化串口
第二 讀PLC輸入繼電器值:
2、上位機寫輸出繼電器進行寫操作
命令格式:
Labview中的程序?qū)崿F(xiàn):
第一 初始化串口
同上
第二 對PLC輸出繼電器進行寫操作:
在讀寫PLC輸入輸出繼電器時,有以下問題需要注要:
第一:PLC每個輸入輸出繼電器的狀態(tài)是一個二進制值,所以在Labview與PLC通訊的時候,需要要據(jù)情況把這些二進制值組合成字節(jié)或從一個字節(jié)數(shù)值中分解出單個二進制值。
第二:歐姆龍PLC的上位鏈接命令格式中有一個FCS幀檢驗部份,即把從一幀的開始到FCS前面的數(shù)據(jù)進行邏輯異或得到的8位二進制數(shù)據(jù)變換成一個2個字符的ASCII碼。實現(xiàn)這個功能只需調(diào)用Labview中的Exclusive Or
函數(shù)即可