hsyyqq
級別: *
|
上位機 我打算用一般的pc機 現(xiàn)在需要跟電腦通信的有 三菱plc(加一個溫度模塊),還有一款數(shù)字千分表(很精密的) 表附帶一根RS232通信線,目前我只知道表的通信格式字,其他一無所知,各位大俠 怎么實現(xiàn)pc與plc的通信 還有pc與數(shù)字千分表的? 上位機用戶軟件我打算用vb 來編寫,大家看這樣行得通不 ? |
---|---|
|
hsyyqq
級別: *
|
2樓 組態(tài)軟件我是不想用了 我用過昆侖組態(tài)用起來是方便當時總感覺 不好有缺點 所以我才改成這樣的。我已經(jīng)做過一套了。 |
---|---|
|
hsyyqq
級別: *
|
昨天開始 寫今天 初步寫了個代碼不過指令發(fā)出好像plc沒有回應 有懂vb的嗎幫我看看 Private Sub Command1_Click() Dim OutString As String Dim InString As String MSComm1.OutBufferCount = 0 MSComm1.InBufferCount = 0 OutString = Chr(2) + "0" + "10f604" + Chr(3) + "74" 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 |
---|---|
|
hsyyqq
級別: *
|
圖片:
圖片:
好吧在完全不懂的情況下我自己摸索出來了 哈哈今天總算是把數(shù)據(jù)讀出來了 我在網(wǎng)上下了個樣例程序就是樓上的結果plc沒有返回 我又不懂調試vb這樣的程序 后來我想到一個解密用的串口工具 把讀取d123 開始的4位數(shù)據(jù)寄存器數(shù)據(jù) 指令格式是02h30h31h30h46h36h30h34h03h37h34h 結果發(fā)出去得到\STX64000000\ETX8D 中間那個64000000就是d123 d124 d125 d126的內(nèi)容了 我實現(xiàn)在plc里往d123寫入了k100其他就沒動。后來我發(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 寫進去之后發(fā)現(xiàn)返回出來的數(shù)據(jù)跟我用串口工具調試的一樣 那么說成功了 本來很簡單的東西 不過我發(fā)現(xiàn)vb里數(shù)制什么的好多東西我都忘記了 搞不清楚現(xiàn)在 不過今天是老?胁 居然試出來了難道我跟美女聊一下天就有靈感了 另外求師傅一名 幫幫我 |
---|---|
|