最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

LDMUI-001 61320946C控制卡用于通訊

2023-02-25 09:47 作者:小賴總-17750010683  | 我要投稿

LDMUI-001 61320946C控制卡用于通訊


運(yùn)動順序執(zhí)行——編程技巧

1.1

問題描述

我們使用上位機(jī)編程軟件對控制卡進(jìn)行點位、插補(bǔ)等多段軌跡運(yùn)動時,軌跡間需判斷上段軌跡運(yùn)動停止?fàn)顟B(tài)(YK_check_done(CardNo,axis_no)),上段軌跡運(yùn)動停止則立即啟動下段軌跡運(yùn)動。

如果編程時只是單獨使用While循環(huán),執(zhí)行后會發(fā)現(xiàn)上位機(jī)界面被卡死,按鍵不能響應(yīng)。

如以下用例程序,將出現(xiàn)上述問題:

研控控制卡MCC800從位置dist_0運(yùn)動到位置dist_1,程序如下:

//設(shè)定運(yùn)動速度參數(shù)

rtn =Y(jié)K_set_profile(mCardNo,Axis,atof(mMinVel),atof(mMaxVel),atof(mAccTime),atof(mDecTime),atof(mEndVel));

//設(shè)定S段時間

rtn =Y(jié)K_set_s_profile(mCardNo,Axis,0,atof(mSmoothTime));

//啟動第一段運(yùn)動軌跡

rtn= YK_pmove(mCardNo, Axis, dist_0, 0);

//判斷當(dāng)前軸狀態(tài)

status= YK_check_done(mCardNo, Axis );

//循環(huán)判斷當(dāng)前軸運(yùn)動狀態(tài)

while (status ==0)

// "當(dāng)前狀態(tài):運(yùn)動",繼續(xù)循環(huán)判斷;

status = YK_check_done(mCardNo,Axis );

//啟動第二段運(yùn)動軌跡

rtn= YK_pmove(mCardNo, Axis, dist_1, 0);

//指令執(zhí)行完成

1.2

原因分析

上述程序,LDMUI-001 61320946C控制卡用于通訊在啟動 運(yùn)動位置到dist_0過程中需不斷循環(huán)判斷運(yùn)動是否停止,在條件不滿足即運(yùn)動沒有停止時程序一直處于循環(huán)中,程序?qū)加谜麄€軟件的進(jìn)程時間資源,即進(jìn)入了死循環(huán),其它進(jìn)程消息不能及時響應(yīng),導(dǎo)致上位機(jī)界面卡死。

因此我們需要軟件在循環(huán)判斷運(yùn)動狀態(tài)的同時還需響應(yīng)其它進(jìn)程消息。

1.3

解決方案

軟件多 線程可解決上述問題,但多線程較麻煩。可以使用軟件自動函數(shù)實現(xiàn)。

1.3.1 VB編程

VB編程軟件中有系統(tǒng)自動線程函數(shù)“DoEvents”。

//循環(huán)判斷當(dāng)前軸運(yùn)動狀態(tài)

while (status ==0)

// "當(dāng)前狀態(tài):運(yùn)動",繼續(xù)循環(huán)判斷;

status = YK_check_done(mCardNo,Axis );

// 使用VB編程中自帶線程函數(shù)“DoEvents”

DoEvents


LDMUI-001 61320946C控制卡用于通訊的評論 (共 條)

分享到微博請遵守國家法律
鄂尔多斯市| 婺源县| 阳高县| 攀枝花市| 连城县| 馆陶县| 普兰县| 滨海县| 崇文区| 墨脱县| 图木舒克市| 柳河县| 淮阳县| 尚义县| 全州县| 泽州县| 海口市| 紫金县| 巴林左旗| 宜春市| 渭南市| 深圳市| 景宁| 浠水县| 务川| 巨野县| 平武县| 麻江县| 长泰县| 益阳市| 盐山县| 宁海县| 翁源县| 台中市| 和平区| 潞西市| 祁阳县| 贡山| 南郑县| 南丰县| 梅河口市|