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