《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 其他 > 設(shè)計(jì)應(yīng)用 > 騰控ENET協(xié)議及編程示例
騰控ENET協(xié)議及編程示例
原創(chuàng)
王鐵鋼
摘要: 我們本著我們最初的想法,構(gòu)造了目前的可編程控制器和擴(kuò)展系統(tǒng),。在系統(tǒng)中,,網(wǎng)絡(luò)通信尤為重要,我們要在這里仔細(xì)論述騰控PLC的網(wǎng)絡(luò)通信
Abstract:
Key words :
[摘要]:我們本著我們最初的想法,,構(gòu)造了目前的可編程控制器和擴(kuò)展系統(tǒng),。在系統(tǒng)中,網(wǎng)絡(luò)通信尤為重要,,我們要在這里仔細(xì)論述騰控PLC的網(wǎng)絡(luò)通信

 

[關(guān)鍵詞]:可編程控制器 網(wǎng)絡(luò)通信

 

      我們本著我們最初的想法,,構(gòu)造了目前的可編程控制器和擴(kuò)展系統(tǒng)。在系統(tǒng)中,,網(wǎng)絡(luò)通信尤為重要,,我們要在這里仔細(xì)論述騰控PLC的網(wǎng)絡(luò)通信。

對(duì)于一個(gè)復(fù)雜的系統(tǒng)而言,,通信模型非常重要,。

 

因?yàn)槲覀冋麄€(gè)網(wǎng)絡(luò)系統(tǒng)是構(gòu)建在TCP/IP網(wǎng)絡(luò)之上的,我們的通信模型實(shí)際就是網(wǎng)絡(luò)通信模型,。在系統(tǒng)中,,有數(shù)據(jù)的產(chǎn)生者,有數(shù)據(jù)的使用者,,有數(shù)據(jù)的存儲(chǔ)者,。我們采用的是C/S模型。

 

數(shù)據(jù)的產(chǎn)生者是作為服務(wù)器使用的,,數(shù)據(jù)的使用者和存儲(chǔ)者都作為客戶端,。考慮到與外部接口,,要有開(kāi)放的協(xié)議,。所以我們?cè)诳刂破鱾?cè)要支持2種協(xié)議。

 

一種為標(biāo)準(zhǔn)的MODBUS TCP協(xié)議,,主要是控制器與上位機(jī)通信,,控制器作為服務(wù)器使用。TCP協(xié)議開(kāi)銷比較大,。這樣可以提供給客戶一個(gè)標(biāo)準(zhǔn)的接口,,幾乎所有的軟件都支持MODBUS協(xié)議和MODBUS TCP協(xié)議。

 

一種是PLC內(nèi)部通信的協(xié)議,,我們采用的是UPD協(xié)議,,UPD協(xié)議是無(wú)連接的協(xié)議,開(kāi)銷比較小,,而且可以支持無(wú)限制的客戶端數(shù)量,。這樣可以達(dá)到較高的通信速度,。這個(gè)協(xié)議我們稱之為ENET協(xié)議。

 

MODBUS TCP協(xié)議在這里就不用多講了,,很多資料,。

 

我們把內(nèi)部的通信協(xié)議稱之為ENET協(xié)議,服務(wù)器協(xié)議端口為7000.每個(gè)T9系列都支持ENET的服務(wù)器,。而具有運(yùn)算能力的T9系列控制器支持ENET的客戶端,,最多同時(shí)可以發(fā)起8個(gè)通信。

 

首先我們定義PLC間內(nèi)部通信,,PLC間通信通過(guò)中間變量進(jìn)行,,力爭(zhēng)在一個(gè)通信報(bào)文中完成所有的變量交換,我們定義了

 

功能碼1,,讀中間變量,,

 

功能碼2 , 寫(xiě)中間變量,,

 

功能碼3,讀寫(xiě)中間變量,。

 

對(duì)于遠(yuǎn)程I/O,,我們定義了6種功能碼

 

功能碼4 , 讀開(kāi)關(guān)量輸入,,

 

功能碼5,, 讀開(kāi)關(guān)量輸出,

 

功能碼6,, 讀寫(xiě)開(kāi)關(guān)量輸入輸出

 

功能碼7,, 讀模擬量輸入

 

功能碼8, 寫(xiě)模擬量輸出

 

功能碼9,, 讀寫(xiě)模擬量

 

具體的報(bào)文,,參見(jiàn)文檔

 

編程方式

 

為了方便用戶編程,我們抽象了網(wǎng)絡(luò)通信,,做到讓用戶編程最為簡(jiǎn)單,,定義了ENET通信的功能塊,功能塊如下圖

 

 

 

 
EN通迅使能端,上升沿有效,激活時(shí)將啟動(dòng)本次通迅,斷開(kāi)時(shí)結(jié)束本次通迅,布爾類型

 

IPAddr 要通迅的控制器IP地址,字符串類型

 

RW 通迅使用的功能碼,字節(jié)類型,共九種功能碼,。

 

MRAddr 本機(jī)讀數(shù)據(jù)存放地址,單字類型

 

YRAddr 遠(yuǎn)程讀數(shù)據(jù)存放地址,單字類型

 

RLength寫(xiě)操作的數(shù)據(jù)長(zhǎng)度,單字類型

 

MWAddr本機(jī)寫(xiě)數(shù)據(jù)存放地址,單字類型

 

YWAddr 遠(yuǎn)程寫(xiě)數(shù)據(jù)存放地址,單字類型

 

WLength寫(xiě)操作的數(shù)據(jù)長(zhǎng)度,單字類型

 

TimeOut通迅超時(shí)時(shí)間,單字類型(單位:10ms)

 

ENO 輸出使能,布爾類型

 

Done 通迅狀態(tài),布爾類型,True為正常,、False     為錯(cuò)誤ErrMsg通迅狀態(tài)碼,0為正常,詳見(jiàn)表(2)

 

編程舉例

 

 

 

 

 

只要把這個(gè)功能塊使能,指定服務(wù)器的IP地址,,起始地址,,讀寫(xiě)取長(zhǎng)度,本地存儲(chǔ)地址,,無(wú)需用戶編程干預(yù),,自動(dòng)運(yùn)行,。

 

 

 

 

 

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。