NI產品與技術 討論區

取消
顯示結果 
搜尋替代 
您的意思是: 

多組 RS485與多重while loop 是否會造成延遲?

各位先進好

 

小弟最近撰寫一個頗大的程式

 

程式包含TCP/IP通訊   RS485通訊及記錄的程式

 

採用多while loop 的方式撰寫,也有為while loop 做迴圈延遲避免CPU被操爆

 

但最近發現有些通訊迴圈的時間與我當初預估的相差甚遠

 

原先我預定的時間差很多(理想上應該1秒內可以完成的事情,拖到3秒)

 

可是同一個程式在通訊設備較少的地方測試,迴圈速度又變回正常

 

想請問一下各位先進是否有碰到類似的問題

 

 

另外在測試的時候

 

我發現如果其中一個通道有無法通訊的設備出現時,其他通訊迴圈的速度也會被影響

 

理論上不同迴圈的執行速度不是獨立開來的嗎?

 

例如:

 

A通訊迴圈   COM1   有4個設備   理論上執行一次的時間為1秒

 

B通訊迴圈   COM2    有8個設備   理論上執行一次的時間為2秒

 

當B迴圈有設備被關閉導致無回應時A迴圈的執行時間變成2秒

 

就算B迴圈因為TIME OUT設定為1秒,跟A迴圈應該沒有關係吧

 

 

0 積分
1 條訊息(共 10 條)
8,182 檢視

您好,

 

想請教一下您在最後說的測試,是只有兩個loop,還是還有其他程式呢?

A程式跟B程式,這些設備是用什麼樣的通訊方式呢?

您有使用probe或者highlight 觀察hang住在哪個地方呢?

再麻煩您可以說明清楚些或者是有測試程式可以po上來,謝謝

NITW AE
Brad Lin
0 積分
2 條訊息(共 10 條)
8,156 檢視

還有其他程式

 

a與b都是數位電錶的通訊迴圈  使用rs485介面的modbus

 

程式太大 我沒有辦法去看程式停在什麼地方

 

而且 程式因某些原因不能po上來  我只能把狀況描述出來

 

 

0 積分
3 條訊息(共 10 條)
8,149 檢視

Hi

 

沒有關西,想跟您討論的是說

 

希望能先把程式簡單化,來釐清問題確認問題點

 

在沒有簡化之前 , 很難肯定因為什麼原因造成,

 

因此才會建議您靠簡化程式,來查明問題點,謝謝

NITW AE
Brad Lin
0 積分
4 條訊息(共 10 條)
8,138 檢視

恩謝謝您百忙之中還抽空來討論這個問題

 

其實是因為這有點不合理我才提出來的

 

我程式每個迴圈的功能都蠻獨立的

 

不會相互影響

 

但是兩個通訊迴圈這個問題 卻發生了,所以想問有沒有人遇到跟我一樣的問題

0 積分
5 條訊息(共 10 條)
8,134 檢視
0 積分
6 條訊息(共 10 條)
8,124 檢視

謝謝您提供的網站,蠻有幫助的

 

 

但我的迴圈都有加入Wait Until Next ms Multiple來減慢程式速度

 

CPU使用量也還好

 

所以不是這問題

0 積分
7 條訊息(共 10 條)
8,119 檢視

RS485網路中要加終端電阻去做調校,不然訊號會反射。

http://zone.ni.com/reference/en-XX/help/370984T-01/lvaddon11/987x_rs485termination/

http://www.ni.com/support/serial/resinfo.htm

 

參考看看吧。

0 積分
8 條訊息(共 10 條)
8,102 檢視

終端電阻的部分有加,目前好像發現原因了

 

 

請問各位先進在使用副程式時,是否有發生過 兩個不同的迴圈都執行同一個副程式時,會被占用的問題

 

 

是否有方法寫一個副程式,讓兩個以上獨立迴圈利用的時候,不被占用的方法?  類似...巨集之類的

0 積分
9 條訊息(共 10 條)
8,099 檢視

可以將subvi設為reentrant

http://www.youtube.com/watch?v=MJMDNtJd7lQ

0 積分
10 條訊息(共 10 條)
8,020 檢視