鱔變的男人
真正的大師都懷著一顆學(xué)徒的心
級別: 論壇先鋒
精華主題: 0
發(fā)帖數(shù)量: 97 個
工控威望: 1037 點(diǎn)
下載積分: 1094 分
在線時間: 56(小時)
注冊時間: 2017-04-05
最后登錄: 2021-11-23
查看鱔變的男人的 主題 / 回貼
樓主  發(fā)表于: 2018-08-09 10:09
學(xué)習(xí)C#有一段時間了,結(jié)合網(wǎng)上資料,也完成了一兩個小游戲。之前看別人用這個做工控,現(xiàn)在我想學(xué)習(xí)一下這方面,但是不知道該從何入手,比如說,拿到一個機(jī)器,將IO,軸之類的分好,動作流程了解清楚,這個程序該從哪里開始入手。求大佬分享一下經(jīng)驗,或者分享一兩個實例,感激不盡
真正的大師都懷著一顆學(xué)徒的心
deanpc
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 70 個
工控威望: 147 點(diǎn)
下載積分: 726 分
在線時間: 41(小時)
注冊時間: 2018-05-04
最后登錄: 2023-12-20
查看deanpc的 主題 / 回貼
1樓  發(fā)表于: 2018-08-09 11:16
一般會使用狀態(tài)機(jī)switch case 來處理, 例如下面Run運(yùn)行后...

void Run(void)
{
....
switch( step )

    case 0: 
        if( IsRunning() ) break;           //檢測所有運(yùn)動結(jié)束,否則繼續(xù)檢測 
        MoveXYZ( data[I].x, data[I].y, data[I].z …… ); 
        Step ++; 
        Break; 
    Case 1: 
        If( IsRunning() ) break;          // 同上 
        I++;                                        // 準(zhǔn)備下一段數(shù)據(jù),之所以放在此處,是需要考慮在運(yùn)行過程中,有外部的暫停和繼續(xù)操作。 
        Step = 0;                               // 準(zhǔn)備運(yùn)行新的數(shù)據(jù) 
        Break; 

...
}
樓主留言:
感謝大佬,能否分享一個小程序?qū)W習(xí)一下
deanpc
級別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 70 個
工控威望: 147 點(diǎn)
下載積分: 726 分
在線時間: 41(小時)
注冊時間: 2018-05-04
最后登錄: 2023-12-20
查看deanpc的 主題 / 回貼
2樓  發(fā)表于: 2018-08-09 18:30
封存.zip (3 K) 下载次数:166

這個是使用研華的BASIC語法的架構(gòu)給你參考。  跟C#差異只是API不一樣。
樓主留言:
感謝大佬
本帖最近評分記錄:
  • 下載積分:+2(1992sd) 感謝分享!