超碰成人av-青青草97-天天做天天躁天天躁-久久精品国产亚洲一区二区-亚洲天堂狠狠干-在线观看欧美精品-国产精品美女一区二区视频-国产成人欧美日韩在线电影-一级片免费看视频-免费国产视频在线观看-伊人网久久久-无码人妻丰满熟妇啪啪网不卡-精品欧美乱码久久久久久-国产真实夫妇视频-中文久草

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

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

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

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

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