新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 現(xiàn)場總線水輪機組狀態(tài)監(jiān)測系統(tǒng)

        現(xiàn)場總線水輪機組狀態(tài)監(jiān)測系統(tǒng)

        作者: 時間:2012-08-10 來源:網(wǎng)絡 收藏

        顯示報文的初始化和發(fā)送部分的實現(xiàn)程序如下:

        初始化節(jié)點地址

        #include所需頭文件

        #include

        #include

        domain_structmydomain;//定義域結構

        mydomain=*(access_domain(0));//讀節(jié)點域表

        mydomain.subnet=0;//設置節(jié)點子網(wǎng)號

        mydomain.node=5;//設置節(jié)點號

        update_damain(mydomain,0);//寫節(jié)點域表

        發(fā)送數(shù)據(jù)報文

        msg_tagtest_out;//聲明報文標簽

        msg_out.tag=test_out;//傳遞報文標簽

        msg_out.dest_addr.snode.node=0;//定義目的地址節(jié)點號

        msg_out.dest_addr.snode.subnet=0;//定義目的地址子網(wǎng)號

        msg_out.code=0x0c;//定義報文碼

        msg_out.service=ACKD;//定義報文服務類型

        msg_out.dest_addr.snode.type=1;//定義目的節(jié)點類型

        memcpy(msg_out.data,a0,nLength);//填充報文內容

        msg_send();//發(fā)送報文

        在初始化程序中,用數(shù)據(jù)結構domain_struct定義節(jié)點的子網(wǎng)號、節(jié)點號,即設置節(jié)點在LON總線上的地址。在發(fā)送程序中利用msg_out結構構造報文,其中,目的地址指向適配器。顯示報文的接收程序與發(fā)送部分類似,不再多述。

        3.2上位機通信程序

        上位機與現(xiàn)場節(jié)點通訊的數(shù)據(jù)通過適配器轉發(fā),適配器的IP必須事先指定。上位機利用msg_out變量(如前所述)創(chuàng)建顯示報文,將目標節(jié)點的地址、需要改變的參數(shù)或要下達的命令填充到該變量中,然后用UDP封裝該變量,通過以太網(wǎng)發(fā)往適配器;適配器解析上位機發(fā)來的數(shù)據(jù)包,得到顯示報文,將該顯示報文直接向相應的節(jié)點發(fā)送。同樣,適配器也將現(xiàn)場節(jié)點發(fā)來的顯示報文通過UDP封裝后發(fā)往上位機,上位機解包后根據(jù)節(jié)點等信息將數(shù)據(jù)存入相應的數(shù)據(jù)庫,等待后后續(xù)的信號處理模塊和故障診斷模塊調用


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 大邑县| 和静县| 永春县| 昔阳县| 延庆县| 红河县| 道孚县| 曲靖市| 嘉峪关市| 北安市| 凭祥市| 昆明市| 乌鲁木齐市| 城口县| 永善县| 叶城县| 双柏县| 麻栗坡县| 资中县| 奇台县| 大荔县| 涿鹿县| 云浮市| 义马市| 莱西市| 连江县| 辽中县| 石河子市| 竹山县| 阿瓦提县| 革吉县| 诸城市| 东乡族自治县| 峨眉山市| 常山县| 龙游县| 南江县| 托克逊县| 深水埗区| 龙江县| 洛宁县|