CSPM 開放式軟件(CSPM OSS)

? 具備超媒體用戶界面的納米操縱工具(點擊進入)

??? CSPM開放式軟件系統(CSPM Open Source Software)的目的是讓二次開發用戶可以從復雜的儀器功能編程中解脫出來,將精力集中在具體的功能擴展上,大幅度降低開發成本、縮短開發周期。

??? CSPM掃描探針顯微鏡系統(SPM)的架構如下圖:

oss_struct.gif

??? SPM 開放式軟件系統(CSPM OSS)被劃分為兩個部分:SPM Console和SPM Kernel。

??? SPM Console軟件負責向用戶提供一個界面,讓用戶輸入各種指令,并將各種儀器的狀態和信息顯示給用戶。例如,SPM Console軟件上有一個激光電源按鈕,用戶可以用鼠標按下該按鈕,指示儀器打開激光電源;SPM Console軟件也可以將顯微鏡所采集到的圖像顯示在計算機屏幕上。

??? SPM Kernel軟件在用戶界面軟件(SPM Console)和掃描探針顯微鏡(SPM)系統硬件之間架起一道橋梁,SPM Console軟件將用戶的指令發送給SPM Kernel軟件,SPM Kernel軟件對收到的軟件進行解釋,并對SPM硬件進行相應操作,實現用戶指令。同時,SPM Kernel對SPM硬件系統的狀態進行采集和調度,以保證硬件正常運作,并向SPM Console報告各種信息,讓用戶可以實時了解儀器狀態并觀察實驗結果。

??? 系統軟件劃分為兩個層次,可以將復雜的、高要求的、難以理解的硬件流程封裝在SPM Kernel軟件中,用戶不需要全面了解系統硬件的技術信息,就可以快速高效地編寫滿足自己需要的軟件。

??? 一般情況下,SPM Console軟件的源代碼是向用戶開放的,用戶可以對源代碼進行修改和補充,實現新的功能。

??? SPM Console采用Microsoft Visual C#語言編寫。選擇C#的原因是:C#是一門設計簡單、面向對象、類型安全、靈活兼容(.Net框架的支持)的新型面向組件編程語言。其語法風格源自C/C++家族,并融合了Visual Basic的高效和C/C++的靈活性、強大底層控制能力,是Microsoft.Net平臺的主流語言。

??? SPM Console OSS 1.0軟件是一個開放源代碼的軟件,為用戶提供了一個全面完整的范例。用戶可以對該軟件進行修改和擴充,以滿足自己的特殊要求。

??? 下面舉一個例子,以說明用戶在CSPM OSS上進行二次開發的簡易性。

舉例:開發納米加工程序

??? 本例的目的是對SPM Console進行修改,以滿足在樣品上進行納米加工,刻畫出一個“Z”型的字母來。

??? 其工作原理是,將探針和樣品進行逼近,然后,關閉探針樣品反饋機制,將探針壓向樣品,然后讓探針在樣品上按字母Z的路徑移動,達到在樣品上加工的目的。

??? 探針在樣品上的刻畫路徑如下圖所示:

z_lith.gif

??? 整個過程為:先將探針移動到點1,沿著線段1-2向點2移動,到達點2后,沿著線段2-3向點3移動,到達點3后,沿線段3-4移動到點4。在移動過程中,探針實際上是在沿線的若干節點上(如圖中黑點所示)停頓一段時間。
??? 欲實現上述功能,使用CSPM OSS平臺,您只需寫20行代碼就可以實現了:

float x0 = -(float)numericScope.Value/2;? // 筆劃一起點的X坐標
float y0 = -(float)numericScope.Value/2; // 筆劃一起點的Y坐標
float x1 = +(float)numericScope.Value/2; // 筆劃三終點的X坐標
float y1 = +(float)numericScope.Value/2; // 筆劃二終點的Y坐標
// 計算每走一步需要延遲多少毫秒
int delayMS = (int)numericPeriod.Value/(STEP*3);??
float volt??? = (float)numericVolt.Value; //
驅動探針往樣品上壓的電壓
// 將探針移動到'Z'的起點
Machine.SetX0Y0(x0, y0);
//
關閉反饋
Machine.SetDO(DO_FEEDBACK, 0);
//
輸出電壓,將探針往樣品上壓(DA通道10的作用是在掃描器陶瓷管Z方向上疊加一個電壓)
Machine.SetDAVolt(10, volt);
//
移動探針,刻畫第一個筆劃,從點1移動到點2
for (int i=0; i<STEP; i++)
{
? Machine.SetX0Y0(x0+(x1-x0)*i/STEP, y0); //
走一步
? Thread.Sleep(delayMS); // 延遲
}
//
移動探針,刻畫第二個筆劃,從點2移動到點3
for (int i=0; i<STEP; i++)
{
? Machine.SetX0Y0(x1-(x1-x0)*i/STEP, y0+(y1-y0)*i/STEP);
? Thread.Sleep(delayMS);
}
//
移動探針,刻畫第三個筆劃,從點3移動到點4
for (int i=0; i<STEP; i++) {
? Machine.SetX0Y0(x0+(x1-x0)*i/STEP, y1);
? Thread.Sleep(delayMS);
}
//
將DA通道的輸出電壓恢復為0
Machine.SetDAVolt(10, 0);
// 恢復反饋
Machine.SetDO(DO_FEEDBACK, 1);

 

典型應用???? shenyang.gif

具備超媒體用戶界面的納米操縱工具

??? 中國科學院沈陽自動化研究所的研究人員利用CSPM OSS和本原的掃描探針顯微鏡(SPM)系統,結合Phantom操縱桿,構建了一個納米操縱平臺。利用該平臺,用戶可以通過操縱桿,控制探針對樣品進行納米操縱,在操縱過程中,用戶還可以通過操縱桿感知樣品對探針產生的作用力大小和方向,在操縱過程中增加了觸覺感知能力。在CSPM OSS之上,開發人員不需要了解SPM的硬件控制細節,甚至不需要了解軟件是如何對SPM進行控制的,便可以快速地在本原SPM的基礎上增加硬件和軟件,構建出具備超媒體用戶界面的納米操縱平臺。

overmedia.gif

权杖女王官网