技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動(dòng)網(wǎng) > 技術(shù)頻道 > 應(yīng)用方案 > 西門子S7-300 PLC與模擬屏串行通信

西門子S7-300 PLC與模擬屏串行通信

時(shí)間:2008-12-15 10:19:05來源:zhangting

導(dǎo)語:?模擬屏能簡單、明了地反映現(xiàn)場的實(shí)時(shí)數(shù)據(jù)和狀態(tài)信息,應(yīng)用十分廣泛。
1 引言 模擬屏能簡單、明了地反映現(xiàn)場的實(shí)時(shí)數(shù)據(jù)和狀態(tài)信息,應(yīng)用十分廣泛。為了使現(xiàn)場信息及時(shí)、準(zhǔn)確、動(dòng)態(tài)地顯示在模擬屏上,要求數(shù)據(jù)采集設(shè)備和模擬屏之間進(jìn)行通信。 現(xiàn)場信息量比較大,如果每個(gè)信號(hào)都獨(dú)立連接到模擬屏,信號(hào)線數(shù)量多、耗線多,不經(jīng)濟(jì),走線不便,故障率高,采用串行通信可克服以上缺點(diǎn)。 現(xiàn)在通信方式多種多樣、速度越來越快,但串行通信在控制范疇一直占據(jù)著極其重要的地位。它不僅沒有因時(shí)代的進(jìn)步而淘汰,反而在規(guī)格上越來越完善、應(yīng)用越來越廣,長久不衰。與并行通信相比,它傳輸速度慢(并行一次傳8位,串行傳1位),但并行通信數(shù)據(jù)電壓傳輸過程中,容易因線路因素使標(biāo)準(zhǔn)電位發(fā)生變化(常見的電壓衰減、信號(hào)間互相串音干擾)。傳輸距離越遠(yuǎn),問題越嚴(yán)重、數(shù)據(jù)錯(cuò)誤越容易發(fā)生。相比之下,串行通信處理的數(shù)據(jù)電壓只有一個(gè)標(biāo)準(zhǔn)電位,數(shù)據(jù)不易漏失。 常用的串行通信有兩種,一種為rs232,另一種為rs422/485。工業(yè)環(huán)境常會(huì)有噪聲干擾傳輸線路,在用rs232進(jìn)行數(shù)據(jù)傳輸時(shí),經(jīng)常會(huì)受到外界電氣干擾而使信號(hào)發(fā)生錯(cuò)誤。rs232串行通信的信號(hào)標(biāo)準(zhǔn)電位是參考接地端而來的,干擾信號(hào)在原始信號(hào)和地線上均會(huì)產(chǎn)生影響,原始信號(hào)加上干擾信號(hào)后,依然傳送到接收端,而地線部分的信號(hào)則不能傳送到接收端。因此,信號(hào)便發(fā)生了扭曲。rs422/485傳輸?shù)氖遣罘中盘?hào),在發(fā)送端分成正負(fù)兩部分,到達(dá)接收端通過相減,還原成原來信號(hào),兩條信號(hào)線受到的干擾的程度相同,這就防止了噪聲干擾。本文以plc和模擬屏通信為例介紹通過rs485實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)串行通信。 2 模擬屏的通信規(guī)約及設(shè)備 (1) 通信規(guī)約 rs232c/485串行口:速率9600bps,1位起始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)位;傳輸報(bào)文內(nèi)容以字節(jié)為單位,在信道中的傳送順序是:低字節(jié)先送,高字節(jié)后送;字節(jié)內(nèi)低位先送,高位后送;數(shù)據(jù)格式為16進(jìn)制數(shù);異步通信。 (2) 設(shè)備 開關(guān)量處理器;開關(guān)量指示燈;模擬量處理器;模擬量顯示器;時(shí)鐘;通信處理器;中央控制器。 3 信息傳輸途徑設(shè)備和功能 (1) 途徑:數(shù)據(jù)采集通過plc完成,plc向模擬屏傳輸數(shù)據(jù),控制模擬屏狀態(tài)。rs485連接圖如圖1所示: [align=center] 圖1 rs485連接電纜圖[/align] (2) 主要相關(guān)設(shè)備:中央處理器cpu 314;點(diǎn)到點(diǎn)通信模塊cp341-rs422/485。 (3) 功能:—向模擬屏發(fā)送模擬量數(shù)據(jù);—向模擬屏發(fā)送開關(guān)量信息;—控制屏狀態(tài),包括:全屏亮暗、全屏信號(hào)分合、 變位幀閃光;—設(shè)定和改變時(shí)鐘時(shí)間。 4 通信實(shí)現(xiàn)的方法 4.1 初始化 就串行通信而言,交換數(shù)據(jù)的雙方利用傳輸在線的電壓改變來達(dá)到數(shù)據(jù)交換的目的。如何從不斷改變的電壓狀態(tài)中解析出其中的信息,雙方必須有一套共同的譯碼方式,遵守一定的通信規(guī)則。這就是通信端口初始化。 通信端口初始化有以下幾個(gè)項(xiàng)目必須設(shè)置或確認(rèn): (1) 通信模式 串行通信分同步和異步兩種模式。同步傳輸在通信的兩端使用同步信號(hào)作為通信的依據(jù),異步傳輸則使用起始位和停止位作為通信的判斷。模擬屏通信模式:異步傳輸;西門子plc通信模式:異步傳輸;二者通信模式相同。 (2) 數(shù)據(jù)的傳輸速率 異步通信雙方并沒有一個(gè)可參考的同步時(shí)鐘作為基準(zhǔn)。這樣雙方傳送的高低電位代表幾個(gè)位就不得而知了。要使雙方的數(shù)據(jù)讀取正常,就要考慮到傳輸速率。收發(fā)雙方通過傳輸在線的電壓改變來交換數(shù)據(jù),但發(fā)送端發(fā)送的電壓改變的速率必須和接收端的接受速率保持一致。模擬屏的通信速率:9600bps;西門子plc通信速率:600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps,57600bps,76800bps。初始化,將plc波特率設(shè)為:9600bps (3) 起始位及停止位 當(dāng)發(fā)送端準(zhǔn)備發(fā)送數(shù)據(jù)時(shí),會(huì)在所送出的字符前后分別加上高電位的起始位及低電位的停止位。接收端會(huì)因起始位的觸發(fā)而開始接收數(shù)據(jù),并因停止位的通知而確定數(shù)據(jù)的字符信號(hào)已經(jīng)結(jié)束。起始位固定為1位,而停止位則有1,1.5,2等多種選擇。模擬屏的停止位: 1位;西門子plc的停止位:1位或2位。初始化,將plc數(shù)據(jù)停止位設(shè)為:1位。 (4) 數(shù)據(jù)的發(fā)送單位 不同的協(xié)議會(huì)用到不同的發(fā)送單位(歐美一般用8位、日本一般用7位組成一字節(jié)),使用幾位合成一字節(jié),雙方必須一致。模擬屏的數(shù)據(jù)發(fā)送單位: 8位為一字節(jié);西門子plc的數(shù)據(jù)發(fā)送單位:7位或8位為一字節(jié)。初始化,將plc數(shù)據(jù)發(fā)送單位設(shè)為:8位。 (5) 校驗(yàn)位的檢查 為了預(yù)防錯(cuò)誤的產(chǎn)生,使用校驗(yàn)位作為檢查的機(jī)制。校驗(yàn)位是用來檢查所發(fā)送數(shù)據(jù)正確性的一種校對(duì)碼,它分奇偶校驗(yàn),也可無校驗(yàn)。模擬屏校驗(yàn)位:none;西門子plc校驗(yàn)位:none,odd,even;初始化,將plc校驗(yàn)位設(shè)為:none。 (6) 工作模式 交換數(shù)據(jù)是通過一定的通信線路來實(shí)現(xiàn)的。微機(jī)在進(jìn)行數(shù)據(jù)的發(fā)送和接收時(shí)通信線路上的數(shù)據(jù)流動(dòng)方式有三種:單工、半雙工、全雙工。rs232和rs422使用全雙工模式,rs485使用半雙工模式。模擬屏工作模式:rs232全雙工/rs485半雙工;西門子plc工作模式:rk512 全雙工四線制(rs422);3964r全雙工四線制(rs422);ascii全雙工四線制(rs422);ascii半雙工兩線制(rs 485);初始化,將plc工作模式設(shè)為:ascii半雙工兩線制(rs485)。 (7) 數(shù)據(jù)流控制—握手 傳輸工作進(jìn)行時(shí),發(fā)送速度若大于接收速度,而接收端的cpu處理速度不夠快時(shí),接收緩沖區(qū)就會(huì)在一定時(shí)間后溢滿,造成后來發(fā)送過來的數(shù)據(jù)無法進(jìn)入緩沖區(qū)而漏失。采用數(shù)據(jù)流控制,就是為了保證傳輸雙方能正確地發(fā)送和接收數(shù)據(jù),而不會(huì)漏失。數(shù)據(jù)流控制一般稱為握手,握手分為硬件握手和軟件握手。模擬屏數(shù)據(jù)流控制:none;西門子plc數(shù)據(jù)流控制:none。要通過用戶程序詢問和控制。 (8) 錯(cuò)誤預(yù)防—校驗(yàn)碼 在傳輸?shù)倪^程中,數(shù)據(jù)有可能受到干擾而使原來的數(shù)據(jù)信號(hào)發(fā)生扭曲。為了監(jiān)測數(shù)據(jù)在發(fā)送過程中的錯(cuò)誤,必須對(duì)數(shù)據(jù)作進(jìn)一步的確認(rèn)工作,最簡單的方式就是使用校驗(yàn)碼。模擬屏校驗(yàn)碼:異或校驗(yàn)和。要在plc上編校驗(yàn)碼程序。 4.2 數(shù)據(jù)發(fā)送 (1) 將同步字及測量值db36.dbw21開始的數(shù)據(jù)送到db42.dbw12開始的數(shù)據(jù)區(qū)去,為向串口發(fā)送做準(zhǔn)備。程序如下: 遙測第一幀(fc36) l w#16#eb90 傳送兩次同步字eb90,分別給db42.dbw12和db42.dbw14 t db42.dbw12 l w#16#eb90 t db42.dbw14 l b#16#61 //將報(bào)文類型字“61”送給db42.dbb16 t db42.dbb16 l w#16#100 //第一幀將起始地址“0100”送給db42.dbw17 t db42.dbw17 //第二幀將起始地址“0120”送給db42.dbw17 l w#16#40 //將正文字節(jié)數(shù)“40”(64字節(jié))送給db42.dbw19 t db42.dbw19 l db36.dbw21 //第一幀將db36.dbw21開始的32個(gè)字的模擬量 caw 送到db42.dbw21開始的區(qū)域 t db42.dbw21 l db36.dbw23 caw t db42.dbw23 ………………… l db36.dbw83 caw t db42.dbw83 opn db42 //遙信校驗(yàn) l p#17.0 //第二幀與第一幀相同 t md100 l dbw[md100] t mw10 l 33 t mw16 l mw16 next: t mw12 l md100 l p#2.0 +d t md100 l dbw[md100] l mw10 xow t mw10 l mw12 loop next l md100 l p#2.0 +d t md100 l mw10 t mw14 l mw14 slw 8 t dbw[md100] l mw10 aw w#16#ff00 t mw10 l mw10 l dbw[md100] xow t dbw[md100] l dbw16 t mw18 l mw18 aw w#16#ff00 t mw18 l mw18 l dbw[md100] xow t dbw[md100] (2) 將db42.dbw12開始,長度為95個(gè)字的數(shù)據(jù)送到串行端口,程序如下: //supply laddr, db_no,dbb_no,len l 256 // laddr t db40.dbw2 l 42 // db_no t db40.dbw4 t db42.dbw4 l 12 // dbb_no t db40.dbw6 t db42.dbw6 l 95 // len t db40.dbw8 t db42.dbw8 //send with instance-db call fb8 , db21 sf :=’s’ req :=db40.dbx0.0 r :=db40.dbx0.1 laddr :=db40.dbw2 db_no :=db40.dbw4 dbb_no :=db40.dbw6 len :=db40.dbw8 r_cpu_no:= r_typ := r_no := r_offset := r_cf_byt := r_cf_bit := done :=db40.dbx0.4 error :=db40.dbx0.5 status :=db40.dbw12 // generate edge p_snd_rk_req an db40.dbx0.0 // p_snd_rk_req s db40.dbx0.0 // set p_snd_rk_req o db40.dbx0.4 // p_snd_rk_done o db40.dbx0.5 // p_snd_rk_error r db40.dbx0.0 // p_snd_rk_req // check “complete without error” an db40.dbx0.4 // check p_snd_rk_done if p_snd_rk_done equals 0, jc cher // jump to cher and check p_snd_rk_error //”complete without error” // p_snd_rk_done=1 l db42.dbw0 //“complete without error” +1 // increment counter t db42.dbw0 nop //further user function nop nop be // check “complete with error” // p_snd_rk_error=1 cher: an db40.dbx0.5 //check p_snd_rk_error bec //if no error occurred, jump to end //“complete with error” l db42.dbw2 //“complete with error” +1 //increment counter t db42.dbw2 l db40.dbw12 t db40.dbw14 //save status nop //error-handling nop nop be (3) 數(shù)據(jù)刷新,程序如下: an m2.4 l s5t#100ms sd t0 a t0 jnb _007 l w#16#1 l md4 rrd t md4 set save clr _007: a br = l20.0 a l20.0 a( l md4 l l#0 ==d ) jnb _008 l 1 t md4 _008: nop 0 a l20.0 bld 102 = m2.4 a( o m5.0 o m6.4 ) jnb _003 call fc36 _003: nop 0 a( o m4.0 o m5.4 ) jnb _004 call fc38 _004: nop 0

標(biāo)簽:

點(diǎn)贊

分享到:

上一篇:研華WebAccess組態(tài)軟件在風(fēng)力...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.treenowplaneincome.com)獨(dú)家所有。如需轉(zhuǎn)載請(qǐng)與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請(qǐng)保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會(huì)員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動(dòng)網(wǎng)-工業(yè)自動(dòng)化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺(tái)

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營業(yè)執(zhí)照證書 | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)