工控設備調試需要可視化的界面上位機來調試下位機的傳感器,電機,單步動作等.上位機調試軟件可以是工業觸摸屏或者是工控機windows的mfc winform之類的軟件.下位機可以是單片機工控電路板或者是PLC。這種上位機和下位機的關系與PC與服務器的關系類似.PC與服務器的軟件架構有C/S,B/S兩種,上位機(服務器)和下位機(服務器)軟件架構也有這兩種.
- C/S架構
C/S架構在服務器和PC端都要寫程序和維護。QQ之類的軟件就是這種架構。對于PC端程序開發,開發者需要學習VS/QT,熟悉C++或者C#,串口網絡編程,多線程UI美化等,學習成本相當高,招人也不好招聘。對于每個項目都是拖拽一些按鈕編輯框到界面,在事件處理函數發送串口網絡數據給下位機.
- B/S架構
B/S架構只要在單片機端寫程序.電機中文名稱,傳感器名稱,動作名稱,參數名稱都寫在單片機軟件,單片機上電初始化時需要將中文名稱和電機傳感器動作編號綁定。PC端瀏覽器軟件連接到單片機后就把名稱和編號獲取過來,然后界面動態繪制按鈕,編輯框等.
單片機代碼:
enum
{
SM_BELT=0, //軸1 皮帶轉動
SM_SUCK, //軸2 吸盤運動步進點
};
enum
{
SN_BELT_ORG=0,
SN_SUCK_ORG,
SN_SUCK_LIMT,
};
enum
{
ACTION_MOVE_BELT=1,
ACTION_RESET_SUCK,
};
//皮帶走動
start(MoveBelt):
l->FindSensor(SM_BELT,1600,SN_BELT_ORG,STEP_OK,STEP_ERROR);
step_error:
l->SetErrorInfo("SM101皮帶電機堵轉丟步-X101");
step_ok:
l->StopSM(SM_BELT);
end_ok
//吸盤復位
start(ResetSuck):
l->FindSensor(SM_SUCK,-9000,SN_SUCK_ORG,STEP_OK,STEP_ERROR);
step_error:
l->SetErrorInfo("SM102吸盤電機堵轉丟步-X102");
step_ok:
l->StopSM(SM_SUCK);
end_ok
void InitApp()
{
//將動作編號1和函數MoveBelt綁定,上位機會繪制一個按鈕,名稱皮帶移動
//當電機按鈕發送數據包給下位機,數據包的參數有1,下位位機收到參數1找到MoveBeltt
//執行
l->AddAction(ACTION_MOVE_BELT,MoveBelt,"皮帶移動");
l->AddAction(ACTION_RESET_SUCK,ResetSuck,"吸盤復位");
//電機
l->AddSMNode(SM_BELT,"SM101皮帶");
l->AddSMNode(SM_SUCK,"SM102吸盤");
l->SetPrjName("臨時測試");
l->SetVersion("V1.1");
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
傳感器
+關注
關注
2532文章
48534瀏覽量
742173 -
電機
+關注
關注
140文章
8408瀏覽量
142528 -
工控
+關注
關注
6文章
186瀏覽量
27886 -
下位機
+關注
關注
0文章
90瀏覽量
18630
發布評論請先 登錄
相關推薦
單片機串口模塊調試方法
筆者在調試某Cortex-M3內核單片機時遇到一個問題,此單片機不具備在線仿真功能,因此調試代碼時只能使用UART輸出Log的方式調試。
發表于 07-28 15:48
?1089次閱讀
單片機開發調試應注意的問題
單片機開發調試應注意的問題
1、使用總線不外引的單片機
·是最正統的單片機使用模式
·符合小型、簡單、可靠、廉價的單片機設計初衷
發表于 03-26 12:30
?1676次閱讀
單片機開發調試工具有哪些?
單片機的調試是一個有條不紊的過程,用于查找和減少單片機程序中的錯誤數量,使其按預期工作。有時候,單片機程序調試很困難,因為某一個系統模塊中的
評論