• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      可編程控制器在潛艇集中控制系統(tǒng)中的應(yīng)用

      2008-01-29 00:26:36,,,
      船海工程 2008年1期
      關(guān)鍵詞:指針字節(jié)串口

      ,,,

      (海軍工程大學(xué) 船舶與動力學(xué)院,武漢 430033)

      集中控制系統(tǒng)是艦船自動化領(lǐng)域的一個重要組成部分。目前模擬艦艇上的集中控制系統(tǒng)的技術(shù)方案多種多樣,文中采用PLC工業(yè)控制網(wǎng)絡(luò),利用PLC與外設(shè)的串口通訊和邏輯量控制來實現(xiàn)控制功能,并著重介紹PLC與單片機串行通信的設(shè)計,具有經(jīng)濟性能好、硬件電路結(jié)構(gòu)簡單、工作安全可靠性高的特點。

      1 集中控制系統(tǒng)PLC控制總體設(shè)計及通訊方式的實現(xiàn)

      1.1 總體設(shè)計

      針對集中控制系統(tǒng)的要求,它包含大量的控制開關(guān)和相對應(yīng)的指示燈以及顯示潛艇狀態(tài)的四塊指針儀表,PLC可以對大量的邏輯量輸入輸出進行控制,同時可以通過串口通訊與驅(qū)動儀表的單片機之間的信息傳遞[1]。

      整個網(wǎng)絡(luò)的主要設(shè)備為:一臺OMRON CJ1M CPU13 PLC、一臺微型機作為軟件設(shè)計和監(jiān)控平臺、網(wǎng)絡(luò)交換機、RS-232電纜。

      PLC通訊口出來的總線分別通過RS-232電纜和以太網(wǎng)和控制系統(tǒng)的驅(qū)動儀表的單片機以及計算機通訊[2]。PLC與控制系統(tǒng)儀表之間通過RS-232總線進行協(xié)議通訊[3],PLC和計算機終端通過以太網(wǎng)進行通訊。

      1.2 單片機的電路設(shè)計

      驅(qū)動儀表的單片機主要由MAX232CPE模塊接收和發(fā)送由串口輸入的信號;AT89C52PI、82C55A模塊初始化通信端口和編寫程序;M-S X12017模塊接收8255輸出的數(shù)據(jù)并控制儀表轉(zhuǎn)動。

      1.3 通訊協(xié)議的設(shè)定和調(diào)試

      在OMRON CJ1M PLC網(wǎng)絡(luò)通訊中,由于只有一個通訊口,波特率只支持9 600 b,因此波特率設(shè)置為9 600 b。主程序流程圖見圖1。RS-232通信程序流程圖見圖2。

      圖1 主程序流程

      圖2 RS-232通信程序流程

      用Visual C++語言實現(xiàn)儀表驅(qū)動,程序主要分為兩部分,在第一部分中定義由8255輸出的數(shù)據(jù)類型和寄存地址,初始化單片機接收的數(shù)據(jù)并設(shè)置串口通信協(xié)議;第二部分為單片機主程序即儀表指針正、反轉(zhuǎn)的控制及指針指示數(shù)據(jù)的反饋校對控制。在應(yīng)用過程中指針指示數(shù)據(jù)的準(zhǔn)確性是極為關(guān)鍵的,這部分程序中主要引用了數(shù)據(jù)寄存器SBUF,單片機將目標(biāo)數(shù)據(jù)存放在SBUF寄存器中,儀表指針?biāo)甘镜妮敵鰯?shù)據(jù)也反饋到SBUF中與目標(biāo)值進行比較,如果數(shù)值相同,則中指程序,清空SBUF寄存器,如果數(shù)值不同,則根據(jù)比較結(jié)果的大(小)自動加(減)一,知道數(shù)據(jù)相同,完成輸出。由于篇幅原因,以下只介紹初始化和通信部分的程序:

      #define COM8255_1 XBYTE[0x8003]

      #define PA8255_1 XBYTE[0x8000]

      #define PB8255_1 XBYTE[0x8001]

      #define PC8255_1 XBYTE[0x8002]

      //定義8255輸出端口及地址PA為8000H,PB為8001H,PC為8002H,全輸出為8003H

      uchar rece_data[25];

      uchar r_in=0,rr;

      uchar data0=0xff,data1=0xff;

      //向8255先后輸入0和1啟動8255

      int num[8]={0},mynum0=0,mynum1=0,mynum2=0,mynum3=0,mynum4=0,mynum5=0,

      mynum6=0,mynum7=0;

      bit flag=1,cr=0;

      //數(shù)據(jù)初始化

      void check_num(void);

      void init_8255(void)

      {

      COM8255_1=0x80;;

      }

      //初始化8255

      void init_com(void) //設(shè)置串口通訊協(xié)議

      {

      TMOD=TMOD|0x20;

      TL1=0xfd; //設(shè)置9600bit/s

      TH1=0xfd;

      PCON=0x00; //SMOD=0

      TR1=1; //奇校驗

      EA=1; //8數(shù)據(jù)位

      ES=1; //設(shè)定1個停止位

      SCON=0x50; //選擇串行方式

      }

      2 集中控制系統(tǒng)的設(shè)計

      2.1 儀表部分的控制設(shè)計

      本設(shè)計是通過PLC向驅(qū)動儀表的單片機寫入脈沖指令來控制儀表。

      1) 數(shù)據(jù)傳遞格式

      從RS-232傳輸來看,CJ1M PLC只是傳送文字碼,所以確定以下寫入單片機的數(shù)據(jù)格式:

      “@” +“F”或“S”+數(shù)據(jù)字符串+ “!

      起始字頭+ 標(biāo) 志 + 數(shù) 據(jù) +結(jié)束標(biāo)志

      按照要求設(shè)置PLC上位機鏈接端口欄內(nèi)的通信設(shè)置的波特率和格式,通信模式以及傳遞信息的初始碼和結(jié)束碼,見圖4。

      圖3 PLC上位機鏈接端口設(shè)置

      系統(tǒng)儀表部分包含3個儀表4個指針,上位機向驅(qū)動儀表的單片機寫數(shù)據(jù),將4個指針分為兩組,故分組發(fā)送指令:

      第一組數(shù)據(jù):標(biāo)志為F(46H)

      第二組數(shù)據(jù):標(biāo)志為S(53H)

      數(shù)據(jù):脈沖指令,絕對位置脈沖,由高位向低位順序發(fā)送。(5個字節(jié),5個ASCII碼)

      例如:1234 發(fā)送字節(jié)為“+”“1”“2”“3”“4”

      -1234發(fā)送字節(jié)為“-”“1”“2”“3”“4”

      2) 軟件調(diào)試

      CX-Programmer軟件是專門用來進行OMRON系列PLC編程、調(diào)試、診斷和監(jiān)控的,它具有制作程序、對可編成控制器CPU的寫入/讀出、監(jiān)視、調(diào)試等功能。

      由于儀表指針是通過PLC向單片機傳遞脈沖量而實現(xiàn)轉(zhuǎn)動的,要保證儀表“零位”在脈沖“0”左右有限區(qū)間內(nèi),因此,在調(diào)試過程中,將要發(fā)送到單片機的脈沖量強制設(shè)置在數(shù)據(jù)寄存器D000-D005(共6個字節(jié)的ASCII碼)中,通過CX-Programmer的串行通信(發(fā)送)指令傳遞到單片機中以調(diào)試儀表指針的狀態(tài)。

      數(shù)據(jù)傳送程序如下:

      LD P-On

      TXD(236) D0 D200 6

      END

      其中TXD(236)指令為串口通信發(fā)送指令,它有三個參數(shù),第一個為原起始字,第二個為控制字,第三個為字節(jié)數(shù),程序表示把從D0開始到D5的六個字節(jié)通過串口傳送。

      2.2 PLC選型及邏輯量控制

      本模擬系統(tǒng)絕大多數(shù)控制是采用邏輯量的控制,根據(jù)開關(guān)量輸入160點,開關(guān)量輸出252點,考慮到I/O留10%的余量。因此確定采用CJ1M CPU13可帶640點的PLC。

      本模擬系統(tǒng)的主要特點是連鎖關(guān)系多而復(fù)雜,尤為關(guān)鍵的是操縱潛艇是不允許有一點錯誤出現(xiàn)的。舉例說明:兩個相同的開關(guān)打開的順序不同,在信號顯示區(qū)會顯示截然不同的結(jié)果,有的開關(guān)命令會在某些操縱進行中不能執(zhí)行。所以在設(shè)計系統(tǒng)過程中不僅要考慮到正確執(zhí)行操縱者輸入的指令,而且要考慮如何拒絕執(zhí)行操縱者輸入的誤操作指令,即讓操作者知道此次操作是錯誤的,達到糾錯的目的,從而使受訓(xùn)學(xué)員進一步了解系統(tǒng)。所以在系統(tǒng)邏輯量控制中使用大量的工作位來記錄不能保持狀態(tài)的開關(guān)以及延時指令(TIM)實現(xiàn)指示燈延時開關(guān),部分程序內(nèi)容舉例如下:

      LD 0.12 (打開開關(guān)A)

      SET w0.00 (記錄開關(guān)A打開的狀態(tài))

      LD 0.11 (關(guān)閉開關(guān)A)

      AND w0.00

      TIM 0015 #30 (延時30秒)

      LD T0015

      AND 1.01 (打開開關(guān)B)

      SET 12.15 (打開指示燈C)

      RSET w0.00 (清除打開開關(guān)A狀態(tài)的記錄)

      3 結(jié)束語

      結(jié)合對集中控制系統(tǒng)的要求,提出一種相對簡單且易于實現(xiàn)、編程容易且功能全面的集中控制系統(tǒng)設(shè)計及實施方案。系統(tǒng)采用一臺OMRON CJ1M CPU13 PLC與一臺計算機構(gòu)成集中控制系統(tǒng)的基本框架,通過以太網(wǎng)實現(xiàn)PLC與上位機通信并分別利用串行通訊和邏輯量控制實現(xiàn)了對各個被控系統(tǒng)的控制,該方案目前已經(jīng)在實驗室環(huán)境下完成了系統(tǒng)的設(shè)計以及調(diào)試。

      [1] 吳 震.中小型船舶主機遙控系統(tǒng)中PLC的應(yīng)用[J].廣東造船,2001(3):26-29.

      [2] 郭宗仁.可編程序控制器應(yīng)用系統(tǒng)設(shè)計及通信網(wǎng)絡(luò)技術(shù)[M].,北京:人民郵電出版社,2000.

      [3] 范逸之,廖錦棋.Visual Basic.NET 自動化系統(tǒng)監(jiān)控——RS-232串行通信[M].北京:清華大學(xué)出版社,2006.

      猜你喜歡
      指針字節(jié)串口
      No.8 字節(jié)跳動將推出獨立出口電商APP
      淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
      No.10 “字節(jié)跳動手機”要來了?
      偷指針的人
      娃娃畫報(2019年5期)2019-06-17 16:58:10
      為什么表的指針都按照順時針方向轉(zhuǎn)動
      簡談MC7字節(jié)碼
      USB接口的多串口數(shù)據(jù)并行接收方法探索
      基于藍牙串口適配器的GPS接收機與AutoCAD的實時無線通信
      地礦測繪(2015年3期)2015-12-22 06:27:26
      基于改進Hough變換和BP網(wǎng)絡(luò)的指針儀表識別
      電測與儀表(2015年5期)2015-04-09 11:30:42
      ARM Cortex—MO/MO+單片機的指針變量替換方法
      普兰店市| 监利县| 荣昌县| 龙岩市| 庄浪县| 蓬莱市| 桐乡市| 佛山市| 烟台市| 揭阳市| 周至县| 中山市| 海南省| 江阴市| 屯留县| 镇平县| 栾城县| 大悟县| 灵武市| 渝北区| 化州市| 汝南县| 新兴县| 南华县| 曲水县| 金阳县| 佛冈县| 夏邑县| 余干县| 汨罗市| 日照市| 洞头县| 阳朔县| 化州市| 孟村| 桓仁| 兴城市| 九龙县| 吉首市| 凤台县| 无棣县|