socket編程到底是什么?
工作中經常用到工業機器人中的socket通信,所以就socket在工業機器人中的使用情況做一下解讀。
什么是socket?
socket就是套接字,是和不同設備進行雙向通行的虛擬地址。不同的設備進行通信時,需要設備唯一對應的套接字。套接字表面連接應用程序,底層連接通訊協議,是設備之間進行網絡通訊的接口,是上層應用程序和底層網絡協議之間數據交互的接口。可以這么理解,socket通信是自定義的網絡通訊方式,自定義通信數據類型和數據長度,以及讀寫的時機。套接字表達方式是設備的IP地址:端口號。使用socket通信,兩個設備一個做客戶端Client Socket,一個做服務器 Server Socket。
工業機器人行業socket的應用
目前,主流工業機器人都集成socket通信,需要底層通信選項包的支持。機器人通過socket編程可以和支持TCP/IP協議的PLC、相機等設備進行數據交互。成本低,通信自由度高。
工業機器人如何進行socket編程?
工業機器人要進行socket通信,首先要定義傳輸數據的類型和長度,一般使用字符串的形式。還要創建套接字(例如socket1),有幾個設備就要創建幾個套接字。然后先進行一次套接字的關閉釋放,能夠保證通信的正確性。多個設備通信時,同時只能執行一個設備的數據交互。根據通信設備的IP地址和端口號建立套接字連接,判斷通信狀態。使用專用的socket讀指令和socket寫指令進行數據的交互。數據讀寫完成后,最后關閉當前套接字,釋放socket連接,防止通信沖突。數據讀寫時,有時還有進行數據的解析,把字符串數據轉換成字符或者數值應用到程序中。
socket通信的優缺點
優點:通信自由,只要支持TCP/IP協議,就可以使用socket進行通信。成本低,工業機器人廠商一般都開放socket通信。
缺點:編程量大,需要熟練掌握socket相關指令的使用方法。通信采用問答式,通信協議比較復雜,通信效率低。
以上總結了實際工作中使用socket通信的個人經驗分享,可能無法完全回答您的問題。至于書籍,自己也沒看過相關的書籍,都是查看機器人通信手冊來完成工業機器人socket通信編程的。希望其它大神可以推薦給你。