顯示具有 vb6 標籤的文章。 顯示所有文章
顯示具有 vb6 標籤的文章。 顯示所有文章

2018年6月9日 星期六

機台程式讀PLC M點位加速的秘訣

一般來說,讀M點位都是使用GetDevice這個方法,不過,當用for迴圈使用GetDevice或是短時間內使用GetDevice ( e.g. 在timer中使用,而且timer的inteval極短,200毫秒之類的 ) 時,介面程式會當掉,或是執行緒被咬死。
此時有個解法:使用讀D值的方法ReadDevice。
使用ReadDevice這個方法讀取完後,再一個bit一個bit逐一讀取。
不過要注意,一個long或int只能接一個D值,但一個long或integer有4個byte,而一個D卻只有2個byte,所以D值只會填在前面兩個byte(低位的部分),如下圖

vb6關掉winsock的介面導致連線斷線的解決方法

—問題描述
我們公司的Scan主機程式(主控)是使用VB6撰寫,最近有個案子是要與客戶自製的AI PC交握、傳資料。在測交握時發現,當含有Scan與AI PC通訊的Winsock介面被關掉時,Scan與AI PC的通訊會斷掉,這原本是非常合理的事,但在我們檢查機台上是個極不方便的設定。我們不希望同時間顯示太多介面給客戶看,卻又要保持連線,後來參考了前輩們與子機連線的寫法,再加上自己查的資料解決了這一個事件。