時間:2018-10-30 14:26:20來源:網絡
最近心血來潮重溫了一下s7-200smart這款plc,看了下最新的選型手冊,發現了又有了你一些更新。
如上圖,一個高數計數由原來的4路變成了現在的6路,對這個提升本人并沒有太多在意,因為我沒用過那個。哈哈,有點尷尬。但是我對另一個變化還是蠻有興趣的——開放式以太網通信。對s7-200smart有所了解的都知道,這款plc集成了以太網接口,兩個西門子plc之間通訊可以通過s7協議,通過編程自帶命令put和get命令來實現兩個plc之間的數據交換。這是一種通訊方式
看到網上說這個以太網接口還可以實現modbustcp協議,但是需要問西門子公司購買。這是一種方式。
那么,現在就還有一種實現方式了。就是通過這種開放式以太網通訊。如何實現呢?我們繼續往下看。實現分為主站和從站,我們先說主站怎么寫。
初始化參數,并建立連接。
調用發送命令,發送數據。
也可以使用斷開連接的命令,斷開通訊。
了解s7-200smart編程的都知道,使用庫程序是需要分配地址的,如下圖
這樣,簡單的主站就做好了。然后開始說從站怎么寫。
和主站類似,先創建連接。
然后是接受主站發出的數據,放在指定的地址。
這樣,兩個200smart之間的開放式以太網通信就實現了。當然,這樣寫肯定是不嚴謹的,有興趣的可以參考說明書中的例子。還有,西門子的1200系列和300系列也都支持開放式的以太網通信,所以它們之間都可以通過這種方式是實現數據交換。至于具體如何實現,這里就不講了,因為這里只講s7-200smart,下次有機會再聊聊200smart與1200或者300如何通過開放式以太網通信實現數據交換。
順便說下tcp和udp,細心人早就發現了再編程的命令中有區別。
TCP---傳輸控制協議,提供的是面向連接、可靠的字節流服務。當客戶和服務器彼此交換數據前,必須先在雙方之間建立一個TCP連接,之后才能傳輸數據。TCP提供超時重發,丟棄重復數據,檢驗數據,流量控制等功能,保證數據能從一端傳到另一端。
UDP---用戶數據報協議,是一個簡單的面向數據報的運輸層協議。UDP不提供可靠性,它只是把應用程序傳給IP層的數據報發送出去,但是并不能保證它們能到達目的地。由于UDP在傳輸數據報前不用在客戶和服務器之間建立一個連接,且沒有超時重發等機制,故而傳輸速度很快
現在Internet上流行的協議是TCP/IP協議,該協議中對低于1024的端口都有確切的定義,他們對應著Internet上一些常見的服務。這些常見的服務可以分為使用TCP端口(面向連接)和使用UDP端口(面向無連接)兩種。
說到TCP和UDP,首先要明白“連接”和“無連接”的含義,他們的關系可以用一個形象地比喻來說明,就是打電話和寫信。兩個人如果要通話,首先要建立連接——即打電話時的撥號,等待響應后——即接聽電話后,才能相互傳遞信息,最后還要斷開連接——即掛電話。寫信就比較簡單了,填寫好收信人的地址后將信投入郵筒,收信人就可以收到了。從這個分析可以看出,建立連接可以在需要痛心地雙方建立一個傳遞信息的通道,在發送方發送請求連接信息接收方響應后,由于是在接受方響應后才開始傳遞信息,而且是在一個通道中傳送,因此接受方能比較完整地收到發送方發出的信息,即信息傳遞的可靠性比較高。但也正因為需要建立連接,使資源開銷加大(在建立連接前必須等待接受方響應,傳輸信息過程中必須確認信息是否傳到及斷開連接時發出相應的信號等),獨占一個通道,在斷開連接錢不能建立另一個連接,即兩人在通話過程中第三方不能打入電話。而無連接是一開始就發送信息(嚴格說來,這是沒有開始、結束的),只是一次性的傳遞,是先不需要接受方的響應,因而在一定程度上也無法保證信息傳遞的可靠性了,就像寫信一樣,我們只是將信寄出去,卻不能保證收信人一定可以收到。
TCP是面向連接的,有比較高的可靠性,UDP相比TCP快,但是并不可靠。
用TCP還是UDP,那要看你的程序注重哪一個方面?可靠還是快速?
標簽:
上一篇:運動控制在智能機器人中的應...
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-04-11
2025-04-08
2025-03-31
2025-03-26
2025-03-20
2025-03-13