加入收藏 在線留言 聯系我們
      關注微信
      手機掃一掃 立刻聯系商家
      全國服務熱線18717946324

      西門子代理3RW4037-2BB05

      更新時間
      2024-11-23 08:00:00
      價格
      請來電詢價
      品牌
      西門子
      型號
      PLC
      西門子
      售后質保
      聯系電話
      18717946324
      聯系手機
      18717946324
      聯系人
      占雪芬
      立即詢價

      詳細介紹

      西門子代理3RW4037-2BB05

      上海潯之漫智控技術公司在經營活動中精益求精,具備如下業務優勢:

      SIEMENS可編程控制器

      長期低價銷售西門子PLC,200,300,400,1200,西門子PLC附件,西門子電機,西門子人機界面,西門子變頻器,西門子數控伺服,西門子總線電纜現貨供應,歡迎來電咨詢系列產品,折扣低,貨期準時,并且備有大量庫存.長期有效   

      歡迎您前來詢價.100分的服務.100分的質量.100分的售后.100分的發貨速度    

      您的選擇您的支持是我的動力! ————致我親愛的客戶!

      USBOTG,DEBUG及其它串口打印示例圖

        DEBUG調試串口方式

        使用AHC工具(使用方法見本文下一節)配置AppHelper輸出為DEBUG。連接板子的DEBUG串口,PC端使用任意串口工具,設置波特率115200,向DEBUG口輸出任意三個字符,即可獲得AppHelper打印的進程線程信息。

        串口方式

        將底板上引出,且客戶應用程序未使用的串口連接上PC。使用AHC工具(使用方法見本文下一節)配置好串口號及波特率。PC端使用任意串口工具,用設定的波特率向該串口輸出任意三個字符,即可獲得AppHelper打印的進程線程信息。

        AHC工具使用介紹

        AHC工具即AppHelper Config工具,用于設置AppHelper打印信息的輸出位置。有兩種辦法進行設置。

        控制面板方式

        在板子控制面板中運行AHC工具。

        選擇好輸出信息的串口及波特率(其中COM1為USBOTG),點擊OK鍵保存配置,板子重啟后配置生效。

        telnet方式

        通過telnet登錄上板子,執行命令AHC port [baud]

        參數port:串口號,值為0-6,0表示DEBUG串口,1表示USBOTG轉虛擬串口,2-6分別表示板子的COM2-COM6。

        參數baud:波特率,可選參數,如果不填表示保持原波特率,支持1200,2400,4800,9600,19200,38400,57600,115200。當port為0時,baud固定為115200,當port為1時,baud值不生效。

        命令執行后,DEBUG口可以看到打印提示信息。

        打印格式說明

        打印結果為數行,其中每行的格式均為:類型 ID號 占用情況 名稱

        以下圖一次打印的部分截圖為例:

        類型

        PID表示為process進程。TID表示為上面進程下的thread線程。

        ID號

        即進程ID值或線程ID值。

        占用情況

        顯示格式為 K n% U m% total%

        n值為該進程或線程在Kernel系統層的占用

        m值為該進程或線程在User用戶層的占用

        total值為總占用,它應當等于n+m的和

        進程下各個線程total占用和應當等于進程的total占用

        名稱

        進程名即EXE的名稱,線程默認沒有名稱,下一節會介紹如何給線程命名,從而能在AppHelper中顯示出來。

        進程及線程監視說明

        AppHelper會打印系統下所有的進程的CPU占用信息。

        只有在NandFlash目錄下的exe生成的進程會額外打印出它下面所有線程的CPU占用信息。

        默認情況下,生成的線程只有ID號,沒有名稱,如果線程較多會不便于查看。我們可以通過簡單代碼給線程命名。

        以光盤里的串口例程SPT_HEX為例:

        添加一個結構體的定義

        typedef struct _THREAD_INDEX

        {

        DWORDdwSize;

        DWORDdwThreadID;

        TCHARszThreadName[32];

        _THREAD_INDEX*pNext;

        }THREAD_INDEX;

        在創建線程后給線程命名

        這里把串口接收線程命名為"CommRecvTread"

        hRecvThread = CreateThread(0, 0, CommRecvTread, this, 0, &m_dwTID);

        HANDLE hHLP;

        DWORD dwLen;

        hHLP = CreateFile(L"HLP1:", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);

        THREAD_INDEXthreadIndex;

        wsprintf(threadIndex.szThreadName, L"CommRecvTread");

        threadIndex.dwThreadID = m_dwTID;

        threadIndex.dwSize = sizeof(THREAD_INDEX);

        WriteFile(hHLP, &threadIndex, sizeof(THREAD_INDEX), &dwLen, NULL);

        CloseHandle(hHLP);

        在結束線程后取消命名

        線程結束后應當手動將命名取消掉,避免不必要的顯示錯誤,設置線程名為空,即可取消原命名。

        wsprintf(threadIndex.szThreadName, L"");

        命名線程后再使用AppHelper查看,啟動接收線程后,就可以看到CommRecvTread這個線程,另外個沒有命名的線程為SerialPort程序的主線程。

      相關產品

      聯系方式

      • 電  話:18717946324
      • 聯系人:占雪芬
      • 手  機:18717946324
      • 微  信:18717946324