一、簡言
UN 200 SMART PLC較爲之前的UN 200有很(hěn)多的優點,其中較爲突出的便是以太網口的添加,告别的PPI電纜的苦惱,隻需要一根網線便可實現(xiàn)程序上(shàng)下(xià)載,還可以通過wifi連接PLC,你(nǐ)以爲它的網口僅限于此嗎?并不是的,今天來(lái)看(kàn)一下(xià)他(tā)的TCP自(zì)由口通訊。
UN 200 SMART的PUT/GET相信大(dà)家都用(yòng)過,非常的方便,但(dàn)是僅支持S7協議(yì),無法與其他(tā)的設備進行以太網通訊,所以UN 200 SMART開(kāi)放(fàng)了(le)以太網通訊,來(lái)讓UN 200 SMART和(hé)第三方設備通訊變得更方便,更效率。
TCP自(zì)由口通訊屬于雙邊通信,就是通信的雙方都要編寫程序,一個作(zuò)爲主動方。來(lái)主動發送數據,一個作(zuò)爲被動方。來(lái)被動接收數據,這(zhè)裏UN 200 SMART給我們提供了(le)PLC需要用(yòng)的庫,讓PLC的程序編寫方便快(kuài)捷了(le)很(hěn)多
二、樣例程序
今天我們用(yòng)2個UN 200 SMART來(lái)了(le)解一下(xià)TCP自(zì)由口,需要用(yòng)到(dào)上(shàng)面的TCP_CONNECT,TCP_SEND和(hé)TCP_RECV三個指令。
首先編寫主動程序,先建立連接,編寫發送和(hé)接收塊:
編寫被動程序,接下(xià)來(lái)在另外(wài)一個PLC創建連接,編寫發送和(hé)接收塊:
以上(shàng)就是主動發送和(hé)被動接收PLC裏需要編寫的程序,記得要分配庫存儲區(qū),地址不要重疊。在主動方或者被動方裏都可以添加主動或或者被動連接來(lái)組成複雜(zá)的網絡。
三、通訊實例
1.PLC和(hé)PLC之間通信
将上(shàng)面寫的主動程序下(xià)載到(dào)192.168.1.124的PLC裏,被動程序下(xià)載到(dào)192.168.1.22的程序裏,來(lái)看(kàn)一下(xià)通信的效果,可以看(kàn)下(xià)面的圖1和(hé)圖2。爲了(le)方便觀看(kàn)效果,2個PLC發送的數據都是從(cóng)VW500開(kāi)始的12個字節,接收都是從(cóng)VW600開(kāi)始的12個字節,下(xià)面圖1和(hé)圖2可以看(kàn)出,雙方發送和(hé)接收的數據一一對(duì)應。
圖1
圖2
2.PLC和(hé)電腦(nǎo)之間通過調試助手查看(kàn)數據
接下(xià)來(lái)我們用(yòng)調試助手的角度來(lái)看(kàn)下(xià)自(zì)由口TCP。
下(xià)面的圖3可以看(kàn)到(dào)電腦(nǎo)的IP是192.168.1.126,PLC的IP是192.168.1.22,PLC做主動連接,我們調試助手選擇TCPServer,本地和(hé)遠程的端口号及IP填寫正确後,我們監控報(bào)文(wén)可以看(kàn)到(dào),PLC發送的從(cóng)VW500開(kāi)始的12個字節,調試助手收到(dào)了(le),并且調試助手向PLC發送16進制00 11 00 12 00 13 00 14 00 15 00 16的報(bào)文(wén),PLC從(cóng)VW600開(kāi)始的12個字節也(yě)收到(dào)了(le)16進制的數據,數據對(duì)應。
圖3
圖4可以看(kàn)到(dào)電腦(nǎo)的IP是192.168.1.126,PLC的IP是192.168.1.22,PLC做被動連接,我們調試助手選擇TCPClient,本地和(hé)遠程的端口号及IP填寫正确後,我們成功連接PLC後,通過調試助手向PLC發送16進制的00 09 00 08 00 07 00 06 00 05 00 04的數據,可以看(kàn)到(dào)PLC從(cóng)VW600開(kāi)始的12個字節接收到(dào)調試助手發送的數據,并且PLC發送的VW500開(kāi)始的12個字節,調試助手也(yě)接收到(dào)了(le)。
圖4
以上(shàng)就是本期TCP自(zì)由口的心得,如果有什(shén)麽問題請(qǐng)及時(shí)提出,我們會(huì)第一時(shí)間響應,如通信過程中遇到(dào)問題也(yě)可以聯系我們,剩下(xià)的通信編寫也(yě)會(huì)陸續上(shàng)傳。
3.錯誤代碼
附通信(OUC)庫錯誤代碼: