工控設(shè)備調(diào)試需要可視化的界面上位機(jī)來調(diào)試下位機(jī)的傳感器,電機(jī),單步動作等.上位機(jī)調(diào)試軟件可以是工業(yè)觸摸屏或者是工控機(jī)windows的mfc winform之類的軟件.下位機(jī)可以是單片機(jī)工控電路板或者是PLC。這種上位機(jī)和下位機(jī)的關(guān)系與PC與服務(wù)器的關(guān)系類似.PC與服務(wù)器的軟件架構(gòu)有C/S,B/S兩種,上位機(jī)(服務(wù)器)和下位機(jī)(服務(wù)器)軟件架構(gòu)也有這兩種.
- C/S架構(gòu)
C/S架構(gòu)在服務(wù)器和PC端都要寫程序和維護(hù)。QQ之類的軟件就是這種架構(gòu)。對于PC端程序開發(fā),開發(fā)者需要學(xué)習(xí)VS/QT,熟悉C++或者C#,串口網(wǎng)絡(luò)編程,多線程UI美化等,學(xué)習(xí)成本相當(dāng)高,招人也不好招聘。對于每個項目都是拖拽一些按鈕編輯框到界面,在事件處理函數(shù)發(fā)送串口網(wǎng)絡(luò)數(shù)據(jù)給下位機(jī).
- B/S架構(gòu)
B/S架構(gòu)只要在單片機(jī)端寫程序.電機(jī)中文名稱,傳感器名稱,動作名稱,參數(shù)名稱都寫在單片機(jī)軟件,單片機(jī)上電初始化時需要將中文名稱和電機(jī)傳感器動作編號綁定。PC端瀏覽器軟件連接到單片機(jī)后就把名稱和編號獲取過來,然后界面動態(tài)繪制按鈕,編輯框等.
單片機(jī)代碼:
enum
{
SM_BELT=0, //軸1 皮帶轉(zhuǎn)動
SM_SUCK, //軸2 吸盤運(yùn)動步進(jìn)點(diǎn)
};
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皮帶電機(jī)堵轉(zhuǎn)丟步-X101");
step_ok:
l->StopSM(SM_BELT);
end_ok
//吸盤復(fù)位
start(ResetSuck):
l->FindSensor(SM_SUCK,-9000,SN_SUCK_ORG,STEP_OK,STEP_ERROR);
step_error:
l->SetErrorInfo("SM102吸盤電機(jī)堵轉(zhuǎn)丟步-X102");
step_ok:
l->StopSM(SM_SUCK);
end_ok
void InitApp()
{
//將動作編號1和函數(shù)MoveBelt綁定,上位機(jī)會繪制一個按鈕,名稱皮帶移動
//當(dāng)電機(jī)按鈕發(fā)送數(shù)據(jù)包給下位機(jī),數(shù)據(jù)包的參數(shù)有1,下位位機(jī)收到參數(shù)1找到MoveBeltt
//執(zhí)行
l->AddAction(ACTION_MOVE_BELT,MoveBelt,"皮帶移動");
l->AddAction(ACTION_RESET_SUCK,ResetSuck,"吸盤復(fù)位");
//電機(jī)
l->AddSMNode(SM_BELT,"SM101皮帶");
l->AddSMNode(SM_SUCK,"SM102吸盤");
l->SetPrjName("臨時測試");
l->SetVersion("V1.1");
}
上面的代碼即完成了下位機(jī)的控制邏輯,又在初始化時完成項目的電氣部件及動作信息的顯示.上位機(jī)連接后顯示界面如下 :
-
傳感器
+關(guān)注
關(guān)注
2562文章
52455瀏覽量
763168 -
電機(jī)
+關(guān)注
關(guān)注
143文章
9238瀏覽量
148231 -
工控
+關(guān)注
關(guān)注
6文章
256瀏覽量
29228 -
下位機(jī)
+關(guān)注
關(guān)注
0文章
94瀏覽量
19060
發(fā)布評論請先 登錄
單片機(jī)串口模塊調(diào)試方法

單片機(jī)開發(fā)調(diào)試應(yīng)注意的問題
單片機(jī)多功能調(diào)試助手
單片機(jī)開發(fā)調(diào)試工具包
STM32單片機(jī)中OBG調(diào)試接口的介紹

OBG調(diào)試接口在單片機(jī)中的應(yīng)用解析

評論