十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這個圈里的是通訊過程中傳送的Asc碼,包含了PLc的站號地址、指令、起始符等內(nèi)容,具體要看你的PLc通訊協(xié)議。通訊與開關量是兩回事,你得補習下與通訊相關的內(nèi)容。

創(chuàng)新互聯(lián)專注于崇仁網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供崇仁營銷型網(wǎng)站建設,崇仁網(wǎng)站制作、崇仁網(wǎng)頁設計、崇仁網(wǎng)站官網(wǎng)定制、成都微信小程序服務,打造崇仁網(wǎng)絡公司原創(chuàng)品牌,更為您提供崇仁網(wǎng)站排名全網(wǎng)營銷落地服務。
串口通信最終都是用二進制傳輸?shù)?,你用代碼把二進制轉化成十六進制就可以了。不需要額外設置。
關于串口通訊的問題:
很明顯,你還不知道(不會、不習慣)使用事件驅動的方式接收數(shù)據(jù)。
建議你仔細看看串口組件(無論VB6還是VB.net)的OnComm事件,你的問題很容易解決。
關于以太網(wǎng)通訊:
在TCP通訊中端口確實可以重用,你百度一下“TCP端口重用”能查到很多示例。
但絕大多數(shù)情況下不推薦端口重用,而應該采取服務器端建立連接池的方法。
或者,干脆不用TCP,用UDP解決也可以。
西門子smart通訊可以用基于tcp的modbus協(xié)議
網(wǎng)上下載一個modubs協(xié)議工具就可以直接讀寫m,db,w等內(nèi)存區(qū)
即使是大型plc,像1500系列的,都是可以這樣通訊的
與語言沒有關系, 你需要考慮的是兩個系統(tǒng)直接如何通訊. 選一種通訊協(xié)議(一般用http協(xié)議), 設計好數(shù)據(jù)結構, 可以是xml或json. 假設選用http協(xié)議傳輸json數(shù)據(jù). 你需要做以下工作:
使用php開發(fā)一個http接口, 根據(jù)參數(shù)查詢數(shù)據(jù)庫, 把結果轉換為json格式后返回. 這是目前最流行的接口格式, 基本上所有語言都可以開發(fā)和請求這樣的接口, 很多開放平臺都是這樣設計接口的, 例如微信的這個接口,你可以參考一下?網(wǎng)頁鏈接
使用VB.NET請求這個接口, 獲取返回的數(shù)據(jù)(json格式, 一個特殊的字符串), 使用VB.NET對json數(shù)據(jù)進行解碼
所以,要完成這個工作,你需要知道http接口開發(fā)和請求, 以及json編碼和解碼的相關知識和技能, 祝你好運
用 vb.net socket通信
Dim th As Threading.Thread
2 Dim tcpl As System.Net.Sockets.TcpListener
3
4 Private Sub Form1_Load()Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
5 th = New System.Threading.Thread(New System.Threading.ThreadStart(AddressOf MyListen))
6 th.Start()
7 End Sub
8
9 Public Sub SendMessage()Sub SendMessage(ByVal IP As String, ByVal SendMsg As String)
10 Try
11 If IP "" Then
12 Dim tcpc As New System.Net.Sockets.TcpClient(IP, 5656)
13 Dim tcpStream As Net.Sockets.NetworkStream = tcpc.GetStream
14 Dim reqStream As New IO.StreamWriter(tcpStream)
15 reqStream.Write(SendMsg)
16 reqStream.Flush()
17 tcpStream.Close()
18 tcpc.Close()
19 End If
20 Catch ex As Exception
21 MsgBox(ex.Message.ToString)
22 End Try
23 End Sub
24 Private Sub MyListen()Sub MyListen()
25 Try
26 Dim ipAddress As System.Net.IPAddress = System.Net.Dns.Resolve(System.Net.Dns.GetHostName).AddressList(0)
27 tcpl = New System.Net.Sockets.TcpListener(ipAddress, 5656)
28 tcpl.Start()
29 While True
30 Dim s As System.Net.Sockets.Socket = tcpl.AcceptSocket()
31 Dim MyBuffer(1024) As Byte
32 Dim i As Integer
33 i = s.Receive(MyBuffer)
34 If i 0 Then
35 Dim lstrRec As String
36 Dim j As Integer
37 For j = 0 To i - 1
38 TextBox1.Text += Chr(MyBuffer(j)) ","
39 Next
40 End If
41 End While
42 Catch ex As Exception
43 MsgBox(ex.Message.ToString)
44 End Try
45 End Sub
46
47 Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
48 SendMessage("192.168.0.61", TextBox2.Text)
49 End Sub