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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > Lonworks網(wǎng)絡(luò)虛擬監(jiān)測系統(tǒng)研究

          Lonworks網(wǎng)絡(luò)虛擬監(jiān)測系統(tǒng)研究

          作者: 時(shí)間:2011-07-20 來源:網(wǎng)絡(luò) 收藏

          when(io_in_ready(s_bus)) //并口有數(shù)據(jù)來

          {

          p_in.length=DATA_SIZE

          io_in(s_bus,&p_in); //從并口讀取數(shù)據(jù)

          //構(gòu)造顯式報(bào)文

          msg_out.code=CONTRL_MSG //CONTRL_MSG是預(yù)定義的消息代碼

          memcpy(msg_out.data,p_in.data,3);

          msg_out.dest_addr.bcast.type=BROADCAST;

          msg_out.dest_addr.bcast.domain=0;

          msg_out.dest_addr.bcast.subnet=0;

          msg_out.tag=tag_out0;

          msg_send();

          }

          一般情況下,節(jié)點(diǎn)通過when(msg_arrives(CONTRL_MSG))接收該消息,然后判斷消息數(shù)據(jù)的第一個(gè)字節(jié)的節(jié)點(diǎn)信息,如果不是本節(jié)點(diǎn),則不作處理,如果是本節(jié)點(diǎn),再判斷第二個(gè)字節(jié)的通道號(hào),然后作相應(yīng)的處理并將選中通道的數(shù)據(jù)傳送出去。

          3.2 測量數(shù)據(jù)的傳輸

          在測控中,各個(gè)需要測量的參數(shù)每次需要采集的數(shù)據(jù)個(gè)數(shù)可能各不相同,少的可能只有一個(gè)數(shù)據(jù),多的可能有上千個(gè)數(shù)據(jù),因此節(jié)點(diǎn)收到儀器傳來的控制信號(hào)后,選中通道的數(shù)據(jù)要采用顯式消息報(bào)文傳輸。在LON網(wǎng)中,設(shè)計(jì)的接口卡也是一個(gè)節(jié)點(diǎn),當(dāng)其余節(jié)點(diǎn)收到發(fā)給本節(jié)點(diǎn)的控制信號(hào)后,會(huì)同時(shí)將相應(yīng)通道的數(shù)據(jù)都發(fā)送到接口卡上。筆者采用的是消息標(biāo)簽尋址。消息標(biāo)簽是顯式消息的一個(gè)連接點(diǎn)。管理工具給輸入標(biāo)簽和每個(gè)輸出標(biāo)簽都會(huì)賦一個(gè)唯一的地址。這樣,利用捆綁器可將各個(gè)節(jié)點(diǎn)發(fā)送給接口卡的顯式報(bào)文的消息標(biāo)簽與接口卡節(jié)點(diǎn)的消息輸入對(duì)象msg_in連接起來,這樣就可以實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)的數(shù)據(jù)傳送。下面以節(jié)點(diǎn)2收到要求發(fā)送給1號(hào)通道的數(shù)據(jù),且該通道每次發(fā)送40個(gè)字節(jié)的數(shù)據(jù)為例,給出其發(fā)送程序:

          msg_tag LON_232;

          when(msg_arrives(CONTRL_MSG))

          {

          if(msg_in.data[0]==2)

          {

          switch(msg_in.data[1])

          { case 1: //通道1

          msg_out.tag=LON_232;

          msg_out.code=0x0c; //消息代碼,接口卡依此處理接收的數(shù)據(jù)

          msg_out.service=ACKD;

          memcpy(msg_out.data,ch1_buf,40);

          msg_send();



          評(píng)論


          相關(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); })();