圖片:
圖片:
好吧在完全不懂的情況下我自己摸索出來了 哈哈今天總算是把數(shù)據(jù)讀出來了 我在網(wǎng)上下了個(gè)樣例程序就是樓上的結(jié)果plc沒有返回 我又不懂調(diào)試vb這樣的程序 后來我想到一個(gè)解密用的串口工具 把讀取d123 開始的4位數(shù)據(jù)寄存器數(shù)據(jù) 指令格式是02h30h31h30h46h36h30h34h03h37h34h 結(jié)果發(fā)出去得到\STX64000000\ETX8D 中間那個(gè)64000000就是d123 d124 d125 d126的內(nèi)容了 我實(shí)現(xiàn)在plc里往d123寫入了k100其他就沒動(dòng)。后來我發(fā)現(xiàn)vb程序里是不是寫入失敗了就換了一種方式 不照抄 網(wǎng)上的樣例程序了,修改一下
Private Sub Command1_Click()
Dim OutString(10) As Byte
Dim InString() As Byte
MSComm1.OutBufferCount = 0
MSComm1.InBufferCount = 0
OutString(0) = &H2
OutString(1) = &H30
OutString(2) = &H31
OutString(3) = &H30
OutString(4) = &H46
OutString(5) = &H36
OutString(6) = &H30
OutString(7) = &H34
OutString(8) = &H3
OutString(9) = &H37
OutString(10) = &H34
MSComm1.Output = OutString
Text1.Text = OutString
Do
DoEvents
Loop Until MSComm1.InBufferCount = 12
InString = MSComm1.Input
Text2.Text = InString
End Sub
Private Sub Form_Load()
MSComm1.CommPort = 3
MSComm1.Settings = "9600,e,7,1"
MSComm1.PortOpen = True
End Sub
寫進(jìn)去之后發(fā)現(xiàn)返回出來的數(shù)據(jù)跟我用串口工具調(diào)試的一樣 那么說成功了
本來很簡單的東西 不過我發(fā)現(xiàn)vb里數(shù)制什么的好多東西我都忘記了 搞不清楚現(xiàn)在 不過今天是老牛啃草 居然試出來了難道我跟美女聊一下天就有靈感了
另外求師傅一名 幫幫我