09-12-2013 04:04 AM - 已編輯 09-12-2013 04:04 AM
大家好
我用Visual C#2010透過NationalInsturments.VisaNS.dll提供的函式
以SCPI指令去控制儀器 wifi analyzer LitePoint IQxel
讀回儀器資料時發生timeout程式當掉
即使插入10多秒的delay, 仍然timeout當掉
請看附件1:
利用NI Measurement& Automation Explorer版本5.4裡面的test pannel去debug
發現suppress End On Reads取消勾選, 儀器資料回覆快速不會timeout
請看附件2:
回到Visual C#2010仔細觀察NationalInsturments.VisaNS.dll
有SuppresEndEn這個東西, 但不知道怎麼使用
請問各位先進, 如何用C#送出suppress End On Reads / SuppresEndEn設定?
感激不盡
Hi Kevinye 謝謝你的回覆
Suppress End On Reads和Enable Termination character都勾起來, 且選擇\n
儀器回覆很快, 但也多了一個0x03FFF0005訊息, 不知道算不算正確
請見附件1.jpg
我試了
Example\DotNET4.0\SimpleReadWrite 和 SimpleAsynchronousReadWrite
都會跳出timeout視窗
Hi Kevinye
我的NI MAX5.5有先抓到seesion
C#的SimpleReadWrire有先Open Session選到儀器
送出*IDN?或*IDN?\n
Read仍會timeout, 且沒有任何讀值回傳
或許我的儀器比較別吧....
在 09-18-2013 12:54 AM
http://digital.ni.com/public.nsf/allkb/A80DBFCCAC36EBDE862562C80058856E
可能要送 \r \n 吧
也許需要看看儀器手冊是否有註明
送\n\r也不行
在 09-23-2013 03:23 PM
建議詢問儀器製造商
自問自答:
Suppress End On Reads設為false的方法:
mbSession.SetAttributeBoolean(NationalInstruments.VisaNS.AttributeType.SuppresEndEn, false);