加入收藏 在線留言 聯系我們
關注微信
手機掃一掃 立刻聯系商家
全國服務熱線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