西門子C與SR儀表通信完整版_第1頁
西門子C與SR儀表通信完整版_第2頁
西門子C與SR儀表通信完整版_第3頁
西門子C與SR儀表通信完整版_第4頁
西門子C與SR儀表通信完整版_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

HENsystemofficeroom【HEN16H-HENS2AHENS8Q8-HENH1688】SiemensCP340模塊與島電SR93溫控儀表之間的ASCII碼通訊發(fā)布時間:2004-08-31作者:翁根春點擊:57081、引言智能控制儀表是工業(yè)控制中最常用的控制器之一,其主要是針對某一特定的參數(shù)(如壓力、溫度、流量等),采用先進的控制算法(如PID、自適應PID、模糊邏輯等)來達到精確控制被控參數(shù)的目的,具有專業(yè)性強、智能化高、控制算法先進、使用方便等特點。但各個廠家的智能控制儀表存在著通訊協(xié)議不統(tǒng)一,通訊網(wǎng)絡簡單如僅提供RS485網(wǎng)絡,RS232網(wǎng)絡等缺點,因此要把智能控制儀表集成到工廠SCADAHMI(SupervisoryControlAndDataAcquisitionHumanMachineInterface)系統(tǒng)就比較難以實現(xiàn)。而可編程邏輯控制器(簡稱PLC)以其運行可靠、集成度高、可擴展性強而在工業(yè)控制中得到廣泛的應用,而且各個PLC生產(chǎn)廠家提供了多種通訊模塊,如工業(yè)以太網(wǎng)Ethernet模塊,ProfibusDP現(xiàn)場總線模塊,AST模塊,點到點串行通訊模塊等。因此可以利用PLC的通訊模塊讀取智能控制儀表中的數(shù)據(jù),然后通過PLC中的工業(yè)以太網(wǎng)模塊、現(xiàn)場總線模塊連接到企業(yè)SCADAHMI系統(tǒng)中達到完美的結合。作者在設計某自動化生產(chǎn)線時,需要將日本島電公司生產(chǎn)的SR93系列溫控儀表的參數(shù)讀取到Siemens公司的S7-300PLC中,參與實際的連鎖控制。SR93系列溫控儀表提供RS485通訊接口,但SR93系列溫控儀表的通訊協(xié)議為日本島電公司自定義的ASCII碼協(xié)議。為了能夠?qū)x表的參數(shù)讀入到SiemensPLC中,采用了Siemens公司的點到點通訊模塊CP340,通過集成在CP340通訊模塊中ASCII碼通訊協(xié)議通過RS485網(wǎng)絡讀取儀表中的數(shù)據(jù)。SR93溫控儀表與PLC之間構成的網(wǎng)絡為RS485網(wǎng)絡,雙方以9600bps的通訊速率進行通訊,以下為CP340模塊和SR93溫控儀表及通訊協(xié)議的簡單介紹。、CP340模塊CP340通訊處理器是Siemens公司提供的點到點連接的串行通訊的低成本解決方案,它可以在SimaticS7-300和ET200M中使用,該通訊模塊提供了三種不同形式的傳輸接口:a、 RS232C()b、20mA(TTY)c、Rs422/Rs485該模塊可以實現(xiàn)ASCII碼,3964(R)和打印機驅(qū)動三種通訊協(xié)議,通過集成在STEP7中的參數(shù)化工具可進行簡單的參數(shù)化,其設置主要包括通訊方式(波特率、數(shù)據(jù)位數(shù)、停止位數(shù)和奇偶校驗)、接收幀結束方式、接口方式(485Or422)等,對于同Sr93溫控儀表通訊,本設計中可以設置為:a、接收幀結束方式:接收到固定的36個字節(jié)的數(shù)據(jù)b、 通訊方式:9600,8,n,1c、 接口方式:RS485,其余的設置為默認方式。、SR93系列溫控儀表通訊參數(shù)SR93系列溫控儀表是日本島電公司生產(chǎn)的高性能單回路調(diào)節(jié)器,級控制精度,提供PID、自適應PID控制算法和RS485、RS232通訊接口,而且儀表為模塊化設計,可以根據(jù)用戶的選擇安裝相應的模塊。為了能夠與CP340模塊通訊,需要設置儀表中的參數(shù)為:序號儀表中參數(shù)符號設置數(shù)值說明Addr1-255儀表通訊地址,范圍為1-255Data8n1通訊數(shù)據(jù)格式,8位數(shù)據(jù)位,無校驗,1位停止位SchrAtt通訊控制碼起始碼文本結束碼結束碼@(40H)“:”(3AH)CR(0DH)Bcc3校驗碼計算方式:異或XorBPS9600通訊波特率:9600b/s、SR93系列溫控儀表通訊協(xié)議SR93系列溫控儀表的通訊協(xié)議是日本島電公司自定義的ASCII碼通訊協(xié)議,其主要包括讀數(shù)據(jù)命令、寫數(shù)據(jù)命令、應答數(shù)據(jù)命令。A、讀寫數(shù)據(jù)發(fā)送命令發(fā)送命令中所有的位置都必須采用ASCII碼方式,其通訊發(fā)送命令格式的解釋如下:a、 通訊的起始符,占用一字節(jié),“@”(40H);b、 通訊儀表地址,占用兩字節(jié),由8位二進制轉(zhuǎn)換而成,地址范圍1—255,這8位二進制碼被分成高4位和低4位,其中高4位被送入(2)中,低4位被送入(3),并轉(zhuǎn)換成ASCII碼,如儀表地址為10,則(2)中為30H,(3)中為41H;c、 通訊儀表地址的子地址,占用一字節(jié),固定為“1”(31H);d、 通訊命令類型,占用一字節(jié),“R”(52H)表明在上位機發(fā)送或儀表應答中的讀命令,“W”(57H)表明在上位機發(fā)送或儀表應答中的寫命令;e、 通訊命令讀取數(shù)據(jù)的起始地址,占用四字節(jié),由16位二進制代碼轉(zhuǎn)換而成,這16位被分成四組,并轉(zhuǎn)換成相應的ASCII碼,如讀取的起始地址為0100,則(6)為30H,(7)為31H,(8)為30H,(9)為30H;f、 通訊中連續(xù)讀取數(shù)據(jù)的數(shù)量,占用一字節(jié),表明上位機要連續(xù)讀取多少個參數(shù),取值范圍為'0”(30H)?“9”(39H),最多一次讀取10個數(shù)據(jù);g、 通訊數(shù)據(jù),字節(jié)數(shù)量取決于寫數(shù)據(jù)的數(shù)量,數(shù)據(jù)總以“,”(2CH),數(shù)據(jù)項與數(shù)據(jù)項之間不需要任何分隔符,數(shù)據(jù)的長度主要取決于第(10)的數(shù)值,每一個數(shù)據(jù)項由16為二進制代碼組成(1個字),每4為被分成一個數(shù)據(jù)單元,同時每個數(shù)據(jù)單元又被轉(zhuǎn)換成ASCII數(shù)據(jù),當(5)為“R”讀命令時,該項沒有;h、 數(shù)據(jù)發(fā)送結束符,占用一字節(jié),“:”(3AH),所有數(shù)據(jù)和命令在此位之前都已發(fā)送完成;i、 BCC塊校驗,占用兩字節(jié),這里采用Xor方式,BCC校驗數(shù)據(jù)被分成高4位和低4位,并被轉(zhuǎn)換成ASCII碼,當校驗碼錯誤,儀表將沒有響應,設有如下的發(fā)送數(shù)據(jù),其BCC計算方式如下:例:STX021R01000EXT6ACR(30H)?(32H)?(31H)?(52H)?(30H)?(31H)?(30H)?(30H)?(30H)=6AHBCC校驗結果(13):"6"=36H(14):"A"=41Hj、 回車符,一字節(jié),CR(0DH)圖3從上面的通訊幀格式可以看出,與上位機發(fā)送幀基本一致,唯一的區(qū)別在e、應答代碼,兩字節(jié),由8位二進制代碼轉(zhuǎn)換而來,這8位被分成高4位和低4位,并轉(zhuǎn)換成相應的ASCII碼,可以通過查詢應答代碼表來檢查錯誤。3、軟件實現(xiàn)方法要通過CP340通訊模塊同SR93系列溫控儀表之間的通訊,PLC程序的設計也是一個比較重要的環(huán)節(jié),其主要包括CP340發(fā)送讀取數(shù)據(jù)命令程序、CP340發(fā)送寫數(shù)據(jù)命令程序、CP340接收儀表數(shù)據(jù)通訊程序以及對讀取到的數(shù)據(jù)進行處理的程序。(1)、CP340發(fā)送讀取程序的設計考慮到系統(tǒng)有13塊儀表,采用輪詢的方式訪問每塊儀表,而對于發(fā)送讀取數(shù)據(jù)的DB塊僅是儀表地址和BCC校驗碼不相同,因此,所有的儀表采用一個相同的DB塊來執(zhí)行根據(jù)不同的儀表號,F卿懿應的蠶校驗碼和儀表地址|

bjJlolvalniE!1.0S-S6.0T.O0BODBVAKC[1]DBVAP0[2]DBYAF^[7]DB_VAKO(5]DBVAJ?ntSJDB.VAPCI1?J陽VAPD[a]DBVAR0[9]BYTEBYTEBYTEBYTTBYTE儀表采用一個相同的DB塊來執(zhí)行根據(jù)不同的儀表號,F卿懿應的蠶校驗碼和儀表地址|

bjJlolvalniE!1.0S-S6.0T.O0BODBVAKC[1]DBVAP0[2]DBYAF^[7]DB_VAKO(5]DBVAJ?ntSJDB.VAPCI1?J陽VAPD[a]DBVAR0[9]BYTEBYTEBYTEBYTTBYTEemBVTIBYTIemBQJ.6#0BIlEfDBfieinBHGfOail&fSDUjF16-1303il&f30Bfl6-f3Q。發(fā)送數(shù)據(jù)的DB塊結構如下:|通蘇毎碼 ■我菽詐IL&flASCI工嗎BYTEBflGfQBYTEBflGfQ1D.Q11,0DB_VAPC[丄JL]bAVAlilj[153BYTEBV1TBfl6#O@nc?o12.0BYTEBfLEfD13.n1D.Q11,0DB_VAPC[丄JL]bAVAlilj[153BYTEBV1TBfl6#O@nc?o12.0BYTEBfLEfD13.nDBVAPD[14JBYTEElflBfO盯丄MTD圖4儀表地址的修改采用周期中斷0B35來執(zhí)行,每中斷一次,儀表號加1,直到13為止,然后回到地址1重復執(zhí)行。至于發(fā)送命令的設計則采用如下的程序來執(zhí)行:號1"快表號與網(wǎng)較,是否i■陰得儀表"0踝不是,月湃崗較下一農(nóng)表號號1"快表號與網(wǎng)較,是否i■陰得儀表"0踝不是,月湃崗較下一農(nóng)表號說特一呂杖融很表號和6國送入發(fā)蛍UE中L 1==IolOIu1 B|il6(l30T -「P_SENDI>atB.時.DB_VkR0E2]1 Biitim ~T ”呂END Bh匕社 R,r?DB_7^0[3]i B(Teji3fiT ”匕丑ND 恥厘 R“-DB_VARQL1刃L BfL6f4JT FrF_SENDJataR'\DS_Vim0[i3]TOC\o"1-5"\h\zL 7i MW 也JTj QLiOOr戊他根喪如上址理心調(diào)用祠醫(yī)敕普測換//報BT甘碾中,0.險//OT40地址"發(fā)運數(shù)據(jù)疑地址"發(fā)運數(shù)據(jù)起妃地址〃發(fā)送數(shù)據(jù)檢廈nLllO; Ir戊他根喪如上址理心調(diào)用祠醫(yī)敕普測換//報BT甘碾中,0.險//OT40地址"發(fā)運數(shù)據(jù)疑地址"發(fā)運數(shù)據(jù)起妃地址〃發(fā)送數(shù)據(jù)檢廈CALI"P-SEW1*,riP_SEHDInstar.ceD屮\o"CurrentDocument"RZt): □.4R :*?r匚CMiiputEr:LinkIrL3trnr.iJ_En\o"CurrentDocument"LMJER:=256 ~DB_MO:=SDEB_ira:-(]!=UDUNE;=X】?(JERHOR; .1STJnTT5[nHWL0U圖5(2)、CP340發(fā)送寫數(shù)據(jù)程序的設計由于系統(tǒng)對儀表進行寫數(shù)據(jù)操作不是一個連續(xù)的過程,僅是在需要的時候才發(fā)送命令到儀表中,因此,發(fā)送寫數(shù)據(jù)程序不能采用連續(xù)調(diào)用過程,而是采用一個脈沖調(diào)用,同時在發(fā)送寫數(shù)據(jù)命令時,一定要屏蔽讀數(shù)據(jù)命令的發(fā)送。由此,寫數(shù)據(jù)PLC程序設計如下所示:

AM 0.3//O.5S的脈沖信號』由FLC時鐘產(chǎn)生ArrCoiiiput.erLinkInstrurr.TiT_En"屏蔽讀取數(shù)據(jù)命令的發(fā)詵JCMaOllCALLrrTTriteData""調(diào)用寫數(shù)據(jù)發(fā)送命令塊hiOll:NOP0ArrCoiiiput-erLinkInstrurr.T'T_En"對屏蔽讀取數(shù)據(jù)命令1e后恢宦讀取數(shù)據(jù)命令FKT 0"同時1將屏蔽讀取命令位苣ULU#16#2001SDT 0AT 0RrrCoiiiput-erInstELirr?TT_En圖6對于寫數(shù)據(jù)發(fā)送命令程序塊,主要完成填寫設置數(shù)據(jù)地址、BCC碼計算、儀表地址的修改和設置數(shù)據(jù)的填寫,最后調(diào)用發(fā)送FB3將數(shù)據(jù)發(fā)送到對應的儀表。(3)、CP340接收程序的設計接收程序的設計比較簡單,其程序如下所示:〃接收SffiFE塊jF理//t?允許數(shù)詰接收//CJ340地址〃接收SffiFE塊jF理//t?允許數(shù)詰接收//CJ340地址//數(shù)據(jù)放萱的班號EH_R:=TRUER~:=FAL5ELAI?DR:=256DB_NODEB_UO:=ONDR:=H1.2ERR血:=M1.3LEU:=MJ'U04STATUS: 06圖7而接收數(shù)據(jù)的DB塊,只需要定義成BYTE類型的數(shù)組,并且長度不小于39字節(jié)就可以了,對于每次從溫控儀表中讀取的數(shù)據(jù)放入到不同的DB塊中。、ASCII碼通訊結果處理由于SR93系列溫控儀表發(fā)送回來的數(shù)據(jù)都是將實際的16位數(shù)據(jù)轉(zhuǎn)換成4位ASCII碼傳輸過來的,如實際數(shù)據(jù)為42(十六進制:002AH),則在DB塊中得到的數(shù)據(jù)為30H,30H,32H,41H,而且高數(shù)據(jù)位在DB塊的低地址上,因此為了便于上位機的顯示就需要對此數(shù)據(jù)進行轉(zhuǎn)換,其中最高一位的處理方法如下所示,其他位的轉(zhuǎn)換方法與此類似,僅是左移位數(shù)不同:

LDB12.DBB6/7將讀到的ASC口碼數(shù)據(jù)放入冊W54中TDB655L0T54LIjB6.I)ET.T54打?qū)?shù)據(jù)減去兀HLT咤止頸ClDB6.DET.T54LLDB6.DETiT954"將蚯去和脂的結果與蘇目比JCNhilOOLDBS.DETiT54心若結果大于9,說明為人-F的數(shù)值,再減去TL7心猖到10-15的數(shù)值TDBS?皿可54DilOC;L■V將數(shù)據(jù)左移坨位后LDD6.IBT.T545LT.TTDB6.DET.T54LDB6.DET.TS6"與保存第果的D珊進行或迂算,得到高位的數(shù)據(jù)LDB6.DET'T54OTTTDBS.DETiT56圖84、結束語通過使用點到點串行通訊模塊CP340與SR93系列溫控儀表通過RS485網(wǎng)絡以ASCII碼方式進行通訊,讀取儀表中溫度測量值、設定值等,同時可以通過PLC進行遠程設置溫控儀表中的數(shù)據(jù),極大方便了現(xiàn)場的控制和操作。由此看來,利用CP340通訊模塊和ASCII碼通訊協(xié)議來解決SiemensPLC與第三方智能控制儀表之間的通訊是一個值得推廣的方式,在實際的控制系統(tǒng)中,一定會取得更加成功的應用。參考文獻:【1】SimaticCP340PointtoPointComm

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論