西门子PLC的以太网通讯及OPC通讯介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西門子PLC的以太網通訊及OPC通訊介紹

1.以太網通訊

CAL有很多地方用到以太網通訊,L2,焊機與PLC間通訊等,表檢的成像原理為:在金屬板帶表面沒有缺陷時,反射的光在明視場下很強,而在暗視場的散射光很弱;如有缺陷,則明視場的光強減弱,而暗視場的光強增加。根據這個原理,通過檢測攝像頭裡光強的變化,可檢測出材料表面上的一些物理缺陷。CAL 僅僅用到了它的檢測破孔這一個功能。

下面再來看西門子的以太網通訊,使用以太網通訊處理器可能的連接方式:

我們可以看到不同的通訊方式在PLC裏面需要調用不同的功能塊。

像S7-Connection方式連接的,需要調用SFB12/FB12等來讀取發送數據息,而TCP等連接的,需要FC5等來讀取發送數據。

下面簡單介紹下每種連接特點:

Send/receive: iso 連接:ISO傳輸服務通過組態連接提供SEND/REVEICE interface服務在以太網上傳輸數據,此時服務使用的是ISO協議。此通訊速度較快,可是不能實現網絡路由,只能用於局域網通訊。

Send/receive: iso-On-TCP 連接:突破了局域網的限制,可以路由到公網上去;數據重發功能和基於第2層的CRC校驗保證了數據傳輸的完整性和可靠性。

Send/receive: TCP 連接:TCP/IP提供面向連接的數據通訊,數據並不會被打包因而並沒有數據包確認位,在這TCP服務提供了統一的sccket接口到每一個終

端,因而數據塊可以整體發送,這裡區別於iso-On-TCP 連接。

Send/receive: UDP連接:UDP提供簡單數據傳輸,無需確認,與TCP同屬第4層協議。與TCP相比,UDP屬於無連接的協議,數據報文無需確認。

S7通信:S7協議是西門子S7家族的標準通信協議,使用S7應用接口的通信不依賴特定的總線系統(Ethernet,PROFIBUS,MPI)。接口位於ISO-OSI參考模型的第7層,下面圖模型各層的通信方式。

那麼根據表檢的通訊協議規定:

Transmission mode:TCP protocol (not S7), PLC will always be the client , Gauge will always be the server.

Byte order: use PLC Byte Order ( not x86 byte order ).

我們建立通訊就需選擇send/receive中的TCP連接。

因此,在PLC中做如下配置:

1.打開硬件配置->點擊網絡組態:

2. 選擇需要組態網絡的CPU ,右擊選擇插入新連接,選擇TCP Connection ,

當前CAL 是出口的PLC 用於和表檢通訊:

3. 參數設置,只需在Address 一欄設置,其他選項默認:

表檢的端口號根據協議設置,它有三個端口號,因此我們需要配置三條連

接和PLC 通訊:

1. Coil information (Gauge Port 6201)

2. Real-time information (Gauge Port 6202)

3. Real-time defect (Gauge Port 6203)

建立完連接如下:

三路連接區別在與Port 號,其他都是一樣的。此時網絡配置完成,我們需

此處默認值

IP 任意,只要不和其他局域網內電腦衝突。Port 有協議規定

要記下每路連接的ID和地址,在建立的連接屬性中可看到:

這個是第一路連接的配置:

ID:3

地址:16進制3FF6

其他2路ID分別為4和5,

地址都是3FF6

對網絡配置完成後,就需要對程序進行編寫,因為西門下PLC本身支持以太

網通訊,因此可以直接使用它本身的功能塊。

第一路連接,端口號6201,通訊協議如下:

這是PLC發送給表檢的數據,規定了8字節的報頭,20字節的鋼卷號,4字

節鋼卷寬度,4字節鋼卷厚度,4字節鋼卷長度。

其中,報頭格式如下:

此處我們需要處理counter及length,其他兩個可以不用管。Counter是發送依次累加1,length是固定值40(因為共發送40個字節)。

在西門子PLC中,可以直接調用發送數據功能塊:

此處就是上面提

到的第一路的ID

和地址

數據起始位

數據長度

具體定義我們可以按“F1”會彈出幫助信息如下,詳細說明每個引腳如何使用:

幫助信息中功能

塊的引腳定義及

使用說明

上面我們知道第一路連接需要發送40個字節,我們是把它放在DB380這個數據塊中,因此DB380中需要定義如下:

DB380裏面內容完全根據表檢協議來定義,此處不一一例舉。

接下來只需要把數據傳送到DB380就可以了。

數據長度:

DB380.DBW6

每發送依次加1:

DB380.DBW4 鋼卷的信息的傳送現在是在9#BR標誌未處發出下一卷的鋼卷信息:

鋼卷寬度:

DB380.DBD28

鋼卷厚度:

DB380.DBD32

字符串的複製功能塊:把從DB1255的DBB240

開始的20個字節複製到DB380的DBB8開始

的20個字節。由於CAL之前的程序鋼卷號是

定義的字符串string,現在定義的是字符char,

本來應該是DB1255.DBX238.0 BYTE 22,但是

string類型前面2個字節不是真正的數據,因

此需從DB1255.DBX240.0開始

接下來第二路連接,端口號6202,協議定義數據格式如下:

報頭同上,此處需發送焊縫過焊縫檢測後的長度,CAL離表檢最近的焊縫偵

測器是4#,因此在4#處把長度清零,然後一直累加發送:

累加長度是根據9號張力輥編碼器計算得來,程序如下:

相关文档
最新文档