2010年8月17日 星期二

虛擬波道和物理波道的關係

充分了解這二種關係,建立程式時才不會搞糊塗了。物理是卡片上的名稱,虛擬是程式上的意義,二者之間有對應關係,不同的對應關係將使得程式得使用不同的類別來操作。

2010年8月12日 星期四

建立虛擬波道和讀取器

前一篇提到了CreateVoltageChannel,它是AIChannels集合所提供的一個方法;它是用來建立虛擬波道的,而虛擬波道是程式據以抓取數據的參考,這個方法的參數有幾個:
第一個參數是欲建立的波道,可以使用程式畫面上的某個控制項的內容來作為輸入,例如使用一個名為cmbChannel的ComboBox控制項

2010年8月11日 星期三

使用VB2010控制NI的AD卡(2)

每一個資料擷取卡的專案最少都要有一個以上的Task物件,以便可以建立虛擬波道,執行資料擷取或輸出的作業。NI採用了DAQ-mx .NET Library來涵蓋操作所需的類別,我們需要先在專案中引入此命名空間參考(reference),才能繼續後續的類別引用及操作,如下所示,需要引入NationalInstruments.CommonNationalInstruments.DAQmx二個組件。

使用VB2010控制NI的AD卡(1)

Visual Basic本身的程式無法直接控制到介面卡,必須透過DLL或是額外OCX控制項的協助才行,當然啦!若由使用者使用這些複雜的程序才能直接控制介面卡的話,可能只有少部份的使用者願意花偌大的精神和時間去挑戰;通常廠商會提供一些方便的途徑供其使用者可以快速地達到控制的目的,而DLL就是一般廠商最常提供的程式了。
美商國家儀器(National Instrument,NI)所提供的方式則是以一個中介軟體作為翻譯層,所有的使用者需求先傳到這中間層,再由此中介軟體把實際的硬體指令往下傳送至系統及硬體。

2010年8月10日 星期二

進入VB2010的時代嘍

最近把VS2010裝起來,也拿之前的程式撰寫習慣在上面寫了一些自動化程式;一開始,感覺和VS2005/VS2008差不多,不過,現在的VB可以和C#一樣,不需要使用空格及底線就可以換行寫程式,這倒是一個很大的進步。寫程式的時候可以使用Ctrl鍵和滑鼠的巡覽鍵作文字的放大或縮小,對於寫程式和看程式也很有幫助。
VS2010裡面對於VB的新功能有一些介紹,不然看看http://studyhost.blogspot.com/2010/04/vb2010-implicit-line-continuation.html也可以,寫得很不錯哦!

2010年8月9日 星期一

如何用RS-232作數位輸入偵測

RS-232除了用於傳送、接收、接地線及數位輸出的幾個腳位之外,其他的幾支腳位理論上是應該可以作為數位輸入之用,因為其他的幾支腳位都是由外界輸入,作為讓電腦知道某些訊息用的,比方CTSDSR腳位是電腦與數據機作訊息溝通時的硬體流量控制用,而RI腳位則是用來偵測是否有電話鈴響,DCD腳位則是用來偵測連線時的載波訊號是否存在。
SerialPort類別屬性中與數位輸入相關的屬性有DsrHoldingCtsHoldingCDHolding三個,它們分別對應到DSR腳位、CTS腳位、CD腳位,當硬體線路上的電位發生變化時,相對應的屬性值會發生變化,只要讀取這些屬性值就可以知道。

如何用RS-232作數位輸出(Digital Output)控制

RS-232共有9支腳位,4腳的DTR訊號與第7腳的RTS訊號乃是由電腦端控制作為交握之用,因此可以由電腦控制其電壓狀態。另外,RS-232上的第5腳是接地線之用,當電位差產生時,乃是與第5腳的GND比較而得,利用此原理,我們可以在DTRRTS的腳位與GND之間以發光二極體作為電壓準位的偵測。將買來的發光二極體較長的腳位接到RS-232的第4腳或第7腳,另一支腳則接到第5腳,即形成一個簡單的測試電路如下圖:

2007年1月25日 星期四

嵌入式Linux的串列通訊起步嘍

最近由於計畫的關係,接觸到Linux系統,為了可以成功地控制電腦,我必須在Linux系統上進行程式開發,並且控制串列通訊埠…經過了一個星期的努力,終於可以成功地控制串列通訊埠,並且也和外部設備進行通訊了。

面對Linux的潮流,加上小型化控制器的發展,我想Linux的未來應該是可以期待的…
我用的嵌入式硬體如下外觀