各位大大~有一個問題想請教各位下列為我
為什麼我在測試使抓取不到PLC回應字串
String 4為以計算好了字串(%01#RDD011050110757CR)
也以用VB測試過字串是正確,也確定有字串回傳.
請各位大大指導一下~^^
各位大大~有一個問題想請教各位下列為我
為什麼我在測試使抓取不到PLC回應字串
String 4為以計算好了字串(%01#RDD011050110757CR)
也以用VB測試過字串是正確,也確定有字串回傳.
請各位大大指導一下~^^
一開始以為這篇是在發問PLC...不好意思。
你可以加一個Return在write的地方嗎?
試試看
[QUOTE=abo]
各位大大~有一個問題想請教各位下列為我
為什麼我在測試使抓取不到PLC回應字串
String 4為以計算好了字串(%01#RDD011050110757CR)
也以用VB測試過字串是正確,也確定有字串回傳.
請各位大大指導一下~^^
這是我在vb上所寫的資料抓取程式~~為何在lab上無法抓取到呢
Private Sub Command1_Click()
Timer1.Enabled = True
Timer1.Interval = Val(Text4.Text)
SND = "%01#RDD0110501107" '讀DT01105 ~ DT01107的值
T$ = SND
SEND = SND + chksum(T$) + Chr(13)
MSComm1.Output = SEND
For j = 1 To 1000000 '送信後延遲時間
Next j
RDS = MSComm1.Input
Text1.Text = RDS 'PLC回答
RDSa = Mid(RDS, 9, 2) & Mid(RDS, 7, 2)
Text2.Text = RDSa
Text3.Text = Val("&H" & RDSa)
End Sub
Private Sub Form_Load()
MSComm1.Settings = "9600,o,8,1"
MSComm1.CommPort = 5 '視不同pc而定
MSComm1.PortOpen = True
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Private Function chksum$(T$)
L = Len(T$): a = 0
For j = 1 To L
TJ$ = Mid$(T$, j, 1)
a = Asc(TJ$) Xor a
Next j
Sum$ = Hex$(a)
If Len(Sum$) = 1 Then Sum$ = "0" + Sum$
chksum$ = Right$(Sum$, 2)
End Function
[/QUOTE]
不好意思,想請問您一下
在您String = %01#RDD011050110757CR
最後那個CR是什麼意思呢?為什麼在VB的SND變數中沒有出現...
不好意思,我不太熟VB的語法|||
您有使用過highlight檢查過狀況是ok的嗎?
[QUOTE=abo][QUOTE=abo]
各位大大~有一個問題想請教各位下列為我
為什麼我在測試使抓取不到PLC回應字串
String 4為以計算好了字串(%01#RDD011050110757CR)
也以用VB測試過字串是正確,也確定有字串回傳.
請各位大大指導一下~^^
這是我在vb上所寫的資料抓取程式~~為何在lab上無法抓取到呢
Private Sub Command1_Click()
Timer1.Enabled = True
Timer1.Interval = Val(Text4.Text)
SND = "%01#RDD0110501107" '讀DT01105 ~ DT01107的值
T$ = SND
SEND = SND + chksum(T$) + Chr(13)
MSComm1.Output = SEND
For j = 1 To 1000000 '送信後延遲時間
Next j
RDS = MSComm1.Input
Text1.Text = RDS 'PLC回答
RDSa = Mid(RDS, 9, 2) & Mid(RDS, 7, 2)
Text2.Text = RDSa
Text3.Text = Val("&H" & RDSa)
End Sub
Private Sub Form_Load()
MSComm1.Settings = "9600,o,8,1"
MSComm1.CommPort = 5 '視不同pc而定
MSComm1.PortOpen = True
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
End Sub
Private Function chksum$(T$)
L = Len(T$): a = 0
For j = 1 To L
TJ$ = Mid$(T$, j, 1)
a = Asc(TJ$) Xor a
Next j
Sum$ = Hex$(a)
If Len(Sum$) = 1 Then Sum$ = "0" + Sum$
chksum$ = Right$(Sum$, 2)
End Function
CR為終止符
這是那的格式
[/QUOTE][/QUOTE]
「CR」要用這個
所以程式要寫成:
不是打ASCII的「CR」兩個字喔...
試用看看... :)
多謝Benjamin的提醒,這就是我想說表達的XD
CR = Enter,也讓我學到一課