西門子模塊6ES7214-1BD23-0XB8詳細(xì)說明
西門子模塊6ES7214-1BD23-0XB8詳細(xì)說明
基于S7-200 PLC的系統(tǒng)辨識
1 引言
控制系統(tǒng)廣泛存在于化工、石油,、造紙,、制糖、制藥等工業(yè)部門,,從控制的角度來說,,其過程的純滯后時間與主導(dǎo)時間常數(shù)之比往往超過0.5,是大純滯后過程,。在設(shè)計控制系統(tǒng)時,,需要對過程進(jìn)行系統(tǒng)辨識,建立對象的數(shù)學(xué)模型,。本文以中藥提取罐作為控制對象,、以s7-200 plc作為控制器和辨識器硬件,對中藥提取溫度控制對象進(jìn)行系統(tǒng)辨識,,建立其數(shù)學(xué)模型,。
2 階躍響應(yīng)法
在經(jīng)典的控制系統(tǒng)分析與設(shè)計中,通常采用傳遞函數(shù)來描述系統(tǒng)的動態(tài)特性,。系統(tǒng)辨識就是要建立系統(tǒng)的傳遞函數(shù),。經(jīng)典的傳遞函數(shù)辨識方法可以分為時域法和頻域法兩種。傳遞函數(shù)辨識的時域方法又包括階躍響應(yīng)法,、脈沖響應(yīng)法和矩形脈沖響應(yīng)法等,,其中以躍響應(yīng)法最為常用。階躍響應(yīng)法利用階躍響應(yīng)曲線對系統(tǒng)傳遞函數(shù)進(jìn)行辨識,,階躍響應(yīng)曲線即輸入量作階躍變化時,,系統(tǒng)輸出的變化曲線。利用階躍響應(yīng)曲線來確定傳遞函數(shù)的方法很多,,常用的有近似法,、半對數(shù)法、切線法,、兩點法和面積法等,。兩點法中最古老也是最有名的方法是küpfmüller方法,一階慣性環(huán)節(jié)加純滯后環(huán)節(jié)傳遞函數(shù)的模型參數(shù)k,、t,、τ可以直接從階躍響應(yīng)曲線上求得。
3 s7-200 plc
s7-200 plc是西門子公司開發(fā)的小型化的plc,,它的用戶程序中可以包括位邏輯,、計數(shù)器、定時器,、復(fù)雜數(shù)學(xué)運算以及與其它智能模塊通訊等的指令,,對于8個以下閉環(huán)的小型控制系統(tǒng),,它也能提供價格競爭力的解決方案。step 7icro/win軟件中包含了一個pid整定控制面板,,它能夠以圖形的方式來監(jiān)視pid回路,,用于啟動自整定序列,取消自整定序列,,還可以將推薦整定值或者設(shè)計的整定值應(yīng)用到實際控制中去,。本文利用step 7icro/win軟件中的pid整定控制面板來輸出階躍信號,采集對象的階躍響應(yīng)信號并繪制階躍響應(yīng)曲線,。
4 中藥提取罐溫度控制數(shù)學(xué)模型的建立
4.1溫度控制對象的傳遞函數(shù)
溫度控制系統(tǒng)的實質(zhì)是控制溫度對象的熱能吸收和或釋放(本系統(tǒng)是通過蒸汽加熱溶媒從藥材中提取中藥,,可忽略化學(xué)反應(yīng)及其可能的放熱或吸熱效應(yīng)),由熱能工程學(xué)以及傳熱學(xué)可知,,溫度對熱能傳遞而言是一個大滯后量,。忽略工業(yè)生產(chǎn)中的一些次要因素,設(shè)計控制系統(tǒng)時,,可采用一階慣性環(huán)節(jié)加純滯后環(huán)節(jié)作為控制模型
PC和PLC自由口通信在數(shù)碼顯示中的應(yīng)用
自由通信模式下plc的控制程序可以使用接收中斷,、發(fā)送中斷、發(fā)送指令(xmt)和接收指令(rcv)來控制通信操作,。s7-200的cpu處于run模式時,,能夠進(jìn)行自由端口通訊。在這一模式下,,用戶可以通過plc程序來選擇協(xié)議,,可以使用接收中斷、發(fā)送中斷,、發(fā)送指令(xmt)和接收指令(rcv)來進(jìn)行通信操作,。在run模式下,對于port0(port1),,當(dāng)smb30協(xié)議選擇域(mm)置1(smbi30協(xié)議選擇域(mm)置1)時,,便選擇了自由端口模式。在stop狀態(tài)下,,自由端口模式被禁止,,cpu能夠與可編程設(shè)備(如編程器)之間通信。
plc程序分為主程序和中斷程序,。主程序完成初始化通訊口、開中斷,、判斷,、發(fā)送數(shù)據(jù)等功能,中斷程序完成接收和發(fā)送數(shù)據(jù)的功能,。接收指令(rcv)啟動或終止接收信息功能,,必須為接收操作開始和結(jié)束條件,。發(fā)送指令(xmt)在自由口模式下依靠通信口發(fā)送數(shù)據(jù)。
初始化通信程序:
ld sm0.0
movb 16#05,, smb30 // // 初始化自由口:sm30=“ppdbbbmm" =16#05=0000
0101
movb 16#b0,, smb87 // // 初始化rcv信息控制字符:sm87=16#b0 =1011 0000
movb 16#0a, smb89 // // 設(shè)定信息結(jié)束字符為“16#0d"(smb89 =“16#0d")
movw +5,, smw90 // // 設(shè)置空閑線超時時間為5ms (smw90=5)
movb 100,, smb94 // // 設(shè)置最大字符數(shù)為100(smb94=100)
atch int_0, 23 // // 連接中斷0到接收結(jié)束事件
atch int_2,, 9 // // 連接中斷2到發(fā)送結(jié)束事件
eni // // 允許用戶中斷
rcv vb100,, 0 // // 執(zhí)行接收指令,接收緩沖區(qū)指向vb100
4.3 vb通信程序設(shè)計
上位機(jī)通信軟件是在vb環(huán)境下開發(fā)的,,vb語言是基于bbbbbbs操作系統(tǒng)的面向?qū)W習(xí)對象的程序設(shè)計語言,。因vb具有強(qiáng)大的圖形顯示功能,可以很容易地開發(fā)出界面良好,、滿足用戶需求的bbbbbbs標(biāo)準(zhǔn)風(fēng)格的圖形界面,。vb帶有專門管理串行通信的mscomm串行端口控件,程序員在利用該控件時,,只需設(shè)置,、監(jiān)視其屬性和事件,即可完成對串行口的初始化和數(shù)據(jù)的傳輸工作,,實現(xiàn)plc與pc串行通信,。要完成通信必須設(shè)置mscomm的如下相關(guān)屬性值:
(1)commport:設(shè)置或傳回通信連接端口代號,。
?。?)settings:設(shè)置初始化參數(shù),以字符串的形式設(shè)置或傳回連接速度,、奇偶校驗,、數(shù)據(jù)位和停止位等參數(shù)。
?。?)portopen:設(shè)置或傳回通信連接端口的狀態(tài),。
(4)bbbbb:從輸入寄存器傳回并移除字符,。
?。?)output:將一個字符串寫入輸出寄存器。
?。?)bbbbblen:由串行端口讀入的字符串長度,。
(7)inbuffercoun t:傳回在接收寄存器中的字符數(shù)。
用vb編制的部分通信程序如下:
程序過程名:mscomm1_on comm,。它的作用:完成上位計算機(jī)(vb監(jiān)控程序)與下位機(jī)(plc)之間的串行通信,。