精品乱码一区内射人妻无码-亚洲中文AⅤ中文字幕在线-免费不卡国产福利在线观看-国产综合无码一区二区色蜜蜜

          您現(xiàn)在的位置:智能制造網(wǎng)>技術(shù)中心>西門子S7-300 PLC與模擬屏串行通信

          直播推薦

          更多>

          企業(yè)動態(tài)

          更多>

          推薦展會

          更多>

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

          2009年03月12日 15:13:12人氣:1136來源:煙臺勾股通信技術(shù)有限公司

            1 引言
            模擬屏能簡單、明了地反映現(xiàn)場的實時數(shù)據(jù)和狀態(tài)信息,應(yīng)用十分廣泛。為了使現(xiàn)場信息及時、準(zhǔn)確、動態(tài)地顯示在模擬屏上,要求數(shù)據(jù)采集設(shè)備和模擬屏之間進(jìn)行通信。
            現(xiàn)場信息量比較大,如果每個信號都獨立連接到模擬屏,信號線數(shù)量多、耗線多,不經(jīng)濟,走線不便,故障率高,采用串行通信可克服以上缺點。
            現(xiàn)在通信方式多種多樣、速度越來越快,但串行通信在控制范疇一直占據(jù)著極其重要的地位。它不僅沒有因時代的進(jìn)步而淘汰,反而在規(guī)格上越來越完善、應(yīng)用越來越廣,長久不衰。與并行通信相比,它傳輸速度慢(并行一次傳8位,串行傳1位),但并行通信數(shù)據(jù)電壓傳輸過程中,容易因線路因素使標(biāo)準(zhǔn)電位發(fā)生變化(常見的電壓衰減、信號間互相串音干擾)。傳輸距離越遠(yuǎn),問題越嚴(yán)重、數(shù)據(jù)錯誤越容易發(fā)生。相比之下,串行通信處理的數(shù)據(jù)電壓只有一個標(biāo)準(zhǔn)電位,數(shù)據(jù)不易漏失。
            常用的串行通信有兩種,一種為rs232,另一種為rs422/485。工業(yè)環(huán)境常會有噪聲干擾傳輸線路,在用rs232進(jìn)行數(shù)據(jù)傳輸時,經(jīng)常會受到外界電氣干擾而使信號發(fā)生錯誤。rs232串行通信的信號標(biāo)準(zhǔn)電位是參考接地端而來的,干擾信號在原始信號和地線上均會產(chǎn)生影響,原始信號加上干擾信號后,依然傳送到接收端,而地線部分的信號則不能傳送到接收端。因此,信號便發(fā)生了扭曲。rs422/485傳輸?shù)氖遣罘中盘枺诎l(fā)送端分成正負(fù)兩部分,到達(dá)接收端通過相減,還原成原來信號,兩條信號線受到的干擾的程度相同,這就防止了噪聲干擾。本文以plc和模擬屏通信為例介紹通過rs485實現(xiàn)點對點串行通信。
            2 模擬屏的通信規(guī)約及設(shè)備
           ?。?) 通信規(guī)約
            rs232c/485串行口:速率9600bps,1位起始位,8位數(shù)據(jù)位,1位停止位,無奇偶校驗位;傳輸報文內(nèi)容以字節(jié)為單位,在信道中的傳送順序是:低字節(jié)先送,高字節(jié)后送;字節(jié)內(nèi)低位先送,高位后送;數(shù)據(jù)格式為16進(jìn)制數(shù);異步通信。
            (2) 設(shè)備
            開關(guān)量處理器;開關(guān)量指示燈;模擬量處理器;模擬量顯示器;時鐘;通信處理器;*控制器。
            3 信息傳輸途徑設(shè)備和功能
           ?。?) 途徑:數(shù)據(jù)采集通過plc完成,plc向模擬屏傳輸數(shù)據(jù),控制模擬屏狀態(tài)。rs485連接圖如圖1所示:
             

            圖1 rs485連接電纜圖
           ?。?) 主要相關(guān)設(shè)備:*處理器cpu 314;點到點通信模塊cp341-rs422/485。
           ?。?) 功能:—向模擬屏發(fā)送模擬量數(shù)據(jù);—向模擬屏發(fā)送開關(guān)量信息;—控制屏狀態(tài),包括:全屏亮暗、全屏信號分合、 變位幀閃光;—設(shè)定和改變時鐘時間。
            4 通信實現(xiàn)的方法
            4.1 初始化
            就串行通信而言,交換數(shù)據(jù)的雙方利用傳輸在線的電壓改變來達(dá)到數(shù)據(jù)交換的目的。如何從不斷改變的電壓狀態(tài)中解析出其中的信息,雙方必須有一套共同的譯碼方式,遵守一定的通信規(guī)則。這就是通信端口初始化。
            通信端口初始化有以下幾個項目必須設(shè)置或確認(rèn):
           ?。?) 通信模式
            串行通信分同步和異步兩種模式。同步傳輸在通信的兩端使用同步信號作為通信的依據(jù),異步傳輸則使用起始位和停止位作為通信的判斷。模擬屏通信模式:異步傳輸;西門子plc通信模式:異步傳輸;二者通信模式相同。
            (2) 數(shù)據(jù)的傳輸速率
            異步通信雙方并沒有一個可參考的同步時鐘作為基準(zhǔn)。這樣雙方傳送的高低電位代表幾個位就不得而知了。要使雙方的數(shù)據(jù)讀取正常,就要考慮到傳輸速率。收發(fā)雙方通過傳輸在線的電壓改變來交換數(shù)據(jù),但發(fā)送端發(fā)送的電壓改變的速率必須和接收端的接受速率保持一致。模擬屏的通信速率:9600bps;西門子plc通信速率:600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps,57600bps,76800bps。初始化,將plc波特率設(shè)為:9600bps
           ?。?) 起始位及停止位
            當(dāng)發(fā)送端準(zhǔn)備發(fā)送數(shù)據(jù)時,會在所送出的字符前后分別加上高電位的起始位及低電位的停止位。接收端會因起始位的觸發(fā)而開始接收數(shù)據(jù),并因停止位的通知而確定數(shù)據(jù)的字符信號已經(jīng)結(jié)束。起始位固定為1位,而停止位則有1,1.5,2等多種選擇。模擬屏的停止位: 1位;西門子plc的停止位:1位或2位。初始化,將plc數(shù)據(jù)停止位設(shè)為:1位。
            (4) 數(shù)據(jù)的發(fā)送單位
            不同的協(xié)議會用到不同的發(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ù)防錯誤的產(chǎn)生,使用校驗位作為檢查的機制。校驗位是用來檢查所發(fā)送數(shù)據(jù)正確性的一種校對碼,它分奇偶校驗,也可無校驗。模擬屏校驗位:none;西門子plc校驗位:none,odd,even;初始化,將plc校驗位設(shè)為:none。
            (6) 工作模式
            交換數(shù)據(jù)是通過一定的通信線路來實現(xiàn)的。微機在進(jìn)行數(shù)據(jù)的發(fā)送和接收時通信線路上的數(shù)據(jù)流動方式有三種:單工、半雙工、全雙工。rs232和rs422使用全雙工模式,rs485使用半雙工模式。模擬屏工作模式:rs232全雙工/rs485半雙工;西門子plc工作模式:rk512 全雙工四線制(rs422);3964r全雙工四線制(rs422);ascii全雙工四線制(rs422);ascii半雙工兩線制(rs 485);初始化,將plc工作模式設(shè)為:ascii半雙工兩線制(rs485)。
           ?。?) 數(shù)據(jù)流控制—握手
            傳輸工作進(jìn)行時,發(fā)送速度若大于接收速度,而接收端的cpu處理速度不夠快時,接收緩沖區(qū)就會在一定時間后溢滿,造成后來發(fā)送過來的數(shù)據(jù)無法進(jìn)入緩沖區(qū)而漏失。采用數(shù)據(jù)流控制,就是為了保證傳輸雙方能正確地發(fā)送和接收數(shù)據(jù),而不會漏失。數(shù)據(jù)流控制一般稱為握手,握手分為硬件握手和軟件握手。模擬屏數(shù)據(jù)流控制:none;西門子plc數(shù)據(jù)流控制:none。要通過用戶程序詢問和控制。
           ?。?) 錯誤預(yù)防—校驗碼
            在傳輸?shù)倪^程中,數(shù)據(jù)有可能受到干擾而使原來的數(shù)據(jù)信號發(fā)生扭曲。為了監(jiān)測數(shù)據(jù)在發(fā)送過程中的錯誤,必須對數(shù)據(jù)作進(jìn)一步的確認(rèn)工作,zui簡單的方式就是使用校驗碼。模擬屏校驗碼:異或校驗和。要在plc上編校驗碼程序。
            4.2 數(shù)據(jù)發(fā)送
           ?。?) 將同步字及測量值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
            //將報文類型字“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個字的模擬量
            caw 送到db42.dbw21開始的區(qū)域
            t db42.dbw21
            l db36.dbw23
            caw
            t db42.dbw23
            …………………
            l db36.dbw83
            caw
            t db42.dbw83
            opn db42 //遙信校驗
            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]
           ?。?) 將db42.dbw12開始,長度為95個字的數(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
           ?。?) 數(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
          全年征稿/資訊合作 聯(lián)系郵箱:1271141964@qq.com

          免責(zé)聲明

          • 凡本網(wǎng)注明"來源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請必須注明智能制造網(wǎng),http://www.tzhjjxc.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
          • 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
          • 本網(wǎng)轉(zhuǎn)載并注明自其它來源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品來源,并自負(fù)版權(quán)等法律責(zé)任。
          • 如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

          <
          更多 >

          工控網(wǎng)機器人儀器儀表物聯(lián)網(wǎng)3D打印工業(yè)軟件金屬加工機械包裝機械印刷機械農(nóng)業(yè)機械食品加工設(shè)備制藥設(shè)備倉儲物流環(huán)保設(shè)備造紙機械工程機械紡織機械化工設(shè)備電子加工設(shè)備水泥設(shè)備海洋水利裝備礦冶設(shè)備新能源設(shè)備服裝機械印染機械制鞋機械玻璃機械陶瓷設(shè)備橡塑設(shè)備船舶設(shè)備電子元器件電氣設(shè)備


          我要投稿
          • 投稿請發(fā)送郵件至:(郵件標(biāo)題請備注“投稿”)1271141964.qq.com
          • 聯(lián)系電話0571-89719789
          工業(yè)4.0時代智能制造領(lǐng)域“互聯(lián)網(wǎng)+”服務(wù)平臺
          智能制造網(wǎng)APP

          功能豐富 實時交流

          智能制造網(wǎng)小程序

          訂閱獲取更多服務(wù)

          微信公眾號

          關(guān)注我們

          抖音

          智能制造網(wǎng)

          抖音號:gkzhan

          打開抖音 搜索頁掃一掃

          視頻號

          智能制造網(wǎng)

          公眾號:智能制造網(wǎng)

          打開微信掃碼關(guān)注視頻號

          快手

          智能制造網(wǎng)

          快手ID:gkzhan2006

          打開快手 掃一掃關(guān)注
          意見反饋
          關(guān)閉
          企業(yè)未開通此功能
          詳詢客服 : 0571-87858618