2018年6月18日 星期一

[CUDA]下載及安裝、vs設定

─ 下載
     目前 NVIDIA 提供的 CUDA Toolkit(可從 https://developer.nvidia.com/cuda-downloads 下載)支援 Windows (32 bits 及 64 bits 版本)及許多不同的 Linux 版本。
上圖是Nvidia cuda toolkit 下載的頁面,請依自己的作業系統選擇即可,最下面 「Installer Type」 是指安裝的方式:「exe(network)」是指網路開著,所有安裝的東西就是一邊安裝一邊下載,所以安裝檔的容量比較小;「exe(local)」是指把所有要安裝的東西一次下載完,所以檔案比較大,筆者是選擇local的。

─ 安裝

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的通訊會斷掉,這原本是非常合理的事,但在我們檢查機台上是個極不方便的設定。我們不希望同時間顯示太多介面給客戶看,卻又要保持連線,後來參考了前輩們與子機連線的寫法,再加上自己查的資料解決了這一個事件。