PYTHON控制rs232必須引用第三方的庫,我們使用Pyserial,當然還有其他的第三方庫,我有機會再慢慢研究
首先要下載Python for Windows extensions 選擇適合你Python的版本吧 Python2.5就選2.5的,安裝檔點下去自動安裝
http://sourceforge.net/project/showfiles.php?group_id=78018&package_id=79063&release_id=449591
再來是Python Serial Port Extension 選擇Pyserial串列埠rs232 另一個Pyparallel是並列埠 就是以前列表機的...這箇解壓縮後,點setup.py,會幫你裝好
http://sourceforge.net/project/showfiles.php?group_id=46487
然後安裝.....這樣就能控制rs232,Pyserial只要是利用windows本身的東西在控制,所以你沒裝第一個東西就會抓不到某些模組,我也是看了好多文章,總算讓我找到一個討論區有說該怎麼做
硬體最簡單的就是把rs232 2-3腳短路,看過我網站上的rs232通訊資料應該更清楚
import serial ...當然要引用模組
ser = serial.Serial(3) #設定通訊口
print ser.portstr #check which port was realy used 確認通訊口是否ok
ser.write("hello") #write a stringser.close() 送出一個hello
self.textCtrl1.Value = ser.read(5) #收5各字元
ser.close() #關通訊口
ser = serial.Serial(3) #設定通訊口,這各部份要注意,通訊口是從0開始計算的,所以通訊1的位置要變成0
本人電腦怪怪的,雖然我的nb有com1,但實際上是com4,我用vb6可以直接控制com1,但是其他軟體,則必須轉到com4...傷腦筋
目前遇到的問題:在vb的情況下,會有兩種傳輸格式,一種是TXT一種是BIN,TXT基本上上面的方式就ok,但是在modbus的狀況下,必須使用Bin的方式,目前還在研究
沒有留言:
張貼留言