<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于CAN總線的集散控制系統(tǒng)智能節(jié)點的設(shè)計

          基于CAN總線的集散控制系統(tǒng)智能節(jié)點的設(shè)計

          作者: 時間:2009-08-14 來源:網(wǎng)絡(luò) 收藏
           b.報文發(fā)送部分

          本文引用地址:http://www.ex-cimer.com/article/163649.htm

            unsignedcharcan_send(MSG_STRUCTsmsg)

           ?。?/p>

            unsignedcharv;

            inti;

            v=*(unsignedchar*)(BASE_+2);

            if(v0x08)/*判斷是否可以發(fā)送數(shù)據(jù)*/

            {v=smsg.id>>3;/*標(biāo)識符送識別碼寄存器*/

           ?。╱nsignedchar*)(BASE_+10)=v;

            v=*(unsignedchar*)(BASE_+10);

            v=smsg.id7;/*識別碼0-2位、RTR、DLC*/

            v=5;

            v+=smsg.dlen;

           ?。╱nsignedchar*)(BASE_CAN+11)=v;

            for(i=0;i

           ?。╱nsignedchar*)(BASE_CAN+12+i)=smsg.data[i];}

           ?。╱nsignedchar*)(BASE_CAN+1)=0x01;

            return(1);

           ?。?/p>

            else

           ?。鹯eturn(0);}

           ?。?/p>

            c.報文接收部分
            

            unsignedcharcan_receive()

            {

            MSG_STRUCTrmsg;

            inti;

            unsignedcharbuf1,buf2;

            while((*(unsignedchar*)(BASE_CAN+2))0x01)/*判斷是否有可接收信息*/

           ?。鸼uf1=*(unsignedchar*)(BASE_CAN+20);/*將一幀信息取出*/

            buf2=*(unsignedchar*)(BASE_CAN+21);

            rmsg.dlen=buf20x0f;/*數(shù)據(jù)長度*/

            for(i=0;irmsg.dlen;i++)/*取出數(shù)據(jù)*/

           ?。鹯msg.data[i]=*(unsignedchar*)(BASE_CAN+22+i);}

           ?。╱nsignedchar*)(BASE_CAN+1)=0x04;/*釋放接收緩沖器*/

            rmsg.rtr=(buf2>>4)0x01;/*遠程幀*/

            rmsg.id=buf1;/*取出報文標(biāo)識符*/

            rmsg.id=3;

            rmsg.id|=(buf2>>5)0x06;

            switch(rmsg.id)/*按標(biāo)識符轉(zhuǎn)入不同的數(shù)據(jù)處理程序*/

            case……

           ?。?/p>

            ……}

            break;

            case……

           ?。?/p>

           ?。?/p>

          5.結(jié)束語

            本文的創(chuàng)新點在于:將現(xiàn)場引入到中,克服了傳統(tǒng)的串行通訊的實時性不強,通訊可靠性差的問題。所給出的CAN已應(yīng)用于某發(fā)電廠的中,經(jīng)過一年多的運行情況發(fā)現(xiàn)該方案具有較好的可靠性、實時性和靈活性。CAN不僅可以應(yīng)用于集散控制系統(tǒng),還可以用于其它分布式控制系統(tǒng)。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();