請教高手一些問題哈,文字描述如下:
(1)打開串口9600,N,8,1
(2)發送四個位元組0xff,0xaa,XX,YY
其中前兩個位元組是固定的,
后面兩個位元組是客戶要輸出的引數。XX的bit0~bit7對應于控制板繼電器的標號0~7,YY的bit0~1對應于繼電器的標號8~9.
如何翻譯成pb語言,我知道是用串口編程,就是不知到該怎么來傳值,vb中我已經除錯通過,就是pb中沒有實作,請高手指點。
vb的代碼如下:
'打開串口
Private Sub Command1_Click()
MSComm1.CommPort = 5
MSComm1.RThreshold = 1
MSComm1.InputLen = 1
If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True
End If
End Sub
'執行資料輸出
'發送四個位元組0xff,0xaa,XX,YY
'其中前兩個位元組是固定的,
'后面兩個位元組是客戶要輸出的引數。XX的bit0~bit7對應于控制板繼電器的標號0~7,YY的bit0~1對應于繼電器的標號8~9.
Private Sub Command2_Click(Index As Integer)
Dim sendtemp(0) As Byte
Const sendcmd = &HFF
sendtemp(0) = sendcmd
MSComm1.Output = sendtemp()
sendtemp(0) = &HAA
MSComm1.Output = sendtemp()
sendtemp(0) = 0 '修改此處引數 可以輸出不同的繼電器狀態
MSComm1.Output = sendtemp()
sendtemp(0) = 0 '修改此處引數 可以輸出不同的繼電器狀態
MSComm1.Output = sendtemp()
End Sub
Private Sub Command3_Click(Index As Integer)
Dim sendtemp(0) As Byte
Const sendcmd = &HFF
sendtemp(0) = sendcmd
MSComm1.Output = sendtemp()
sendtemp(0) = &HAA
MSComm1.Output = sendtemp()
sendtemp(0) = &HFF '修改此處引數 可以輸出不同的繼電器狀態
MSComm1.Output = sendtemp()
sendtemp(0) = 11 '修改此處引數 可以輸出不同的繼電器狀態
MSComm1.Output = sendtemp()
End Sub
uj5u.com熱心網友回復:
沒做串口的程式,只能轉來網上比較流行的這段了,如果不行,可以共同研究一下怎樣才能在PowerBuilder中實作串口編程
可以使用mscomm32.ocx控制元件.
腳本如下:
String ls_data
//使用COM1埠。
ole_1.object.CommPort = 1
//設定速率為9600,無奇偶校驗,8 位資料,一個停止位。
ole_1.object.Settings = "9600,N,8,1"
//讀入整個緩沖區的資料。
ole_1.object.InputLen = 0
打開埠
ole_1.object.PortOpen = True
//發送attention命令
ole_1.object.Output = "ATV1Q0" + char(13)
//等待資料。
Do
Yield()
//從Com埠取資料
ls_data += ole_1.object.Input
LOOP Until(Pos(ls_data, "OK" + char(13) + char (10)) > 0)
//向Com埠發送資料使用Output方法
ole_1.Object.Output = ls_data
//關閉埠。
ole_1.object.PortOpen = FALSE
uj5u.com熱心網友回復:
搞串口,網上有個pbcomm.pbl的下載。你去找找。或者用C#吧,搞串口比較方便。pb搞底層一點就夠嗆。
uj5u.com熱心網友回復:
頂。uj5u.com熱心網友回復:
動一動腦筋,多試下就會了,那東西也沒什么好難的.首先,注冊Mscomm32.ocx.
然后,在PB視窗中OLE控制元件.
有時會Mscomm32.ocx會找不到許可證,需要手動修改注冊表.
HKEY_CLASSES_ROOT\Licenses
然后新建一個項,命名為:“4250E830-6AC2-11cf-8ADB-00AA00C00905”
值為:“kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun”
接下來發個例子給你.自己摸索一下.
uj5u.com熱心網友回復:
http://download.csdn.net/source/1797026uj5u.com熱心網友回復:
看資料把 一簡單問題 發的時候用blob或char[]發送好一些uj5u.com熱心網友回復:
發生資訊的時候記得加char(0)uj5u.com熱心網友回復:
學習了謝謝樓上2009年11月15日 13時05分17秒轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/93633.html
標籤:腳本語言
