6ES7 952-1KL00-0西門子內(nèi)存卡6ES7 952-1KL00-0AA0
參考價(jià): | 面議 |
- 6XV1 830-5EH10 產(chǎn)品型號
- 西門子/SIEMENS 品牌
- 經(jīng)銷商 廠商性質(zhì)
- 上海市 所在地
訪問次數(shù):279更新時(shí)間:2018-03-06 17:04:28
組態(tài)說明:
TSAPs (傳輸服務(wù)訪問點(diǎn)) 是建立ISO transport 連接和 ISO-on-TCP 連接所必須的訪問點(diǎn)。如果兩個(gè)通信對象(例如S7-300為設(shè)備AS7-400為設(shè)備B)通過ISO-on-TCP連接交換數(shù)據(jù),設(shè)備A和設(shè)備B的TSAPs組態(tài)必須匹配。本地和遠(yuǎn)程TSAP的值必須成對匹配。
如下圖所示:
圖01:組態(tài)總覽
本地TSAP“ISO-A”組態(tài)為設(shè)備A,本地TSAP“ISO-B”組態(tài)為設(shè)備B。因此,設(shè)備B的本地TSAP“ISO-B”被組態(tài)為設(shè)備A的遠(yuǎn)程TSAP(見圖01),設(shè)備A的本地TSAP“ISO-A”被組態(tài)為設(shè)備B的遠(yuǎn)程TSAP。
圖02:S7-300的 ISO-on-TCP 連接的屬性對話框
TSAP組態(tài)的特征:
- 使用兩個(gè)字節(jié)長的TSAP
兩個(gè)字節(jié)長的TSAP的一種典型特征。TSAP 0x0102就是一個(gè)例子。從這往上,TSAP現(xiàn)在以十六進(jìn)制格式被查看。兩個(gè)字節(jié)長的TSAP在S7系統(tǒng)里被保留為其它通信類型使用。下表提供了各個(gè)通信類型的總覽:
TSAP 范圍 | 通信類型 |
0x0100 - 0x01** | 與STEP 7的編程設(shè)備連接或診斷連接 |
0x0200 - 0x0F** | 系統(tǒng)連接 S7系統(tǒng)里的各種通信機(jī)制 |
0x1000 - 0xDF** | 這些TSAPs保留作組態(tài)為S7連接用 |
對于通過ISO transport 連接和 ISO-on-TCP連接的S5兼容通信,不能使用兩個(gè)字節(jié)長度的TSAPs 。
如果兩個(gè)字節(jié)長度的TSAP用于通過ISO transport 連接和 ISO-on-TCP連接的S5兼容通信,那么為工業(yè)以太網(wǎng)CP的軟硬件建立的連接不能被正確組態(tài)。因?yàn)門SAP不能同時(shí)適合S5兼容通信和上面提到的通信類型(見表)。
圖03:組態(tài)兩字節(jié)的TSAPs 0x0102
當(dāng)組態(tài)本地的兩字節(jié)的TSAPs 時(shí),STEP 7會(huì)自動(dòng)提示如下信息。
圖04:STEP 7提示的信息
- 使用TSAPs 0xE0... 和 0xE1...:
所有以0xE0 或 0xE1 開頭的TSAP均被S7系統(tǒng)保留。這些TSAP可以長于兩個(gè)字節(jié)。
*個(gè)TSAP字節(jié) | 通信類型 |
0xE0 | 通過工業(yè)以太網(wǎng)實(shí)現(xiàn)開放通信的TSAP。用戶必須在CPU程序的特定連接中定義TSAP。 |
0xE1 | PROFINET CBA 通信類型的TSAP。TSAP被系統(tǒng)自身管理,不能由用戶定義。 |
集成工業(yè)以太網(wǎng)接口的CPU支持通過工業(yè)以太網(wǎng)使用ISO-on-TCP 協(xié)議的開放通信。本地TSAP的*個(gè)字節(jié)經(jīng)常為0xE0。
例子:
圖05:組態(tài)總覽
數(shù)據(jù)在有工業(yè)以太網(wǎng)CP的S7-300 (設(shè)備A)和帶集成工業(yè)以太網(wǎng)接口的S7-400 (設(shè)備B)間交換。設(shè)備B中,本地TSAP“E0.49.53.4F.2D.42”組態(tài)為通過工業(yè)以太網(wǎng)的開放通信。設(shè)備A中,設(shè)備B的本地TSAP組態(tài)為遠(yuǎn)程TSAP。
圖06:S7-300 的ISO-on-TCP 連接的屬性對話框
Note:
提示:
對于S7-300 和 S7-400,組態(tài)為通過ISO transport 連接和 ISO-on-TCP連接的S5兼容通信的本地TSAP的首字節(jié)不能為0xE0 或 0x01(見圖)。
西門子SIMATIC S7系列串行通信模塊,包括CP340、CP341、CP440-1、CP441-1/2、CPU313C/314C-2PtP以及ET200S的1SI 3964/ASCII等,都支持ASCII驅(qū)動(dòng)協(xié)議的通信,可以廣泛地用于與第三方支持ASCII協(xié)議的儀表、設(shè)備、系統(tǒng)等進(jìn)行點(diǎn)對點(diǎn)連接通信,具有應(yīng)用簡單、靈活,使用方便等優(yōu)點(diǎn)。
本文通過一個(gè)具體的示例,給出了在多個(gè)西門子串口通信模塊(CP340/CP341)之間通過ASCII驅(qū)動(dòng)協(xié)議進(jìn)行輪詢通信的應(yīng)用。其具體的實(shí)現(xiàn)方法和輪詢原理具有普遍的指導(dǎo)意義,可以作為串行通信模塊與支持ASCII協(xié)議的儀表、設(shè)備、系統(tǒng)等進(jìn)行串行通信的參考。
1 網(wǎng)絡(luò)搭建和硬件組態(tài)
1.1 網(wǎng)絡(luò)搭建
1.1.1 系統(tǒng)組成
如下圖1所示,系統(tǒng)包括3個(gè)SIMATIC S7-300站,其中一個(gè)作為串行通信的主站,通過ASCII驅(qū)動(dòng)協(xié)議輪詢采集另外兩個(gè)從站的數(shù)據(jù)。系統(tǒng)主站和1#從站各配置了一個(gè)串行通信模塊CP341(6ES7341-1CH01-0AE0)(RS422/485接口),2#從站配置了一個(gè)串行通信模塊CP340(6ES7340-1AH02-0AE0)(RS232C接口),為了將它們連接到一個(gè)網(wǎng)絡(luò)中,在本例中選擇了的PC/PPI電纜(6ES7901-3CB30-0XA0)將2#從站的RS232C接口轉(zhuǎn)換為RS485接口連接到網(wǎng)絡(luò)中。
圖1 系統(tǒng)組成結(jié)構(gòu)圖
系統(tǒng)涉及的主要硬件設(shè)備及版本信息如表1
設(shè)備名稱 | 訂貨號 | 版本 |
主站 |
|
|
CPU模塊 | 6ES7315-2AG10-0AB0 | V2.6 |
CP341 | 6ES7341-1CH01-0XE0 | V1.02 |
1#從站 |
|
|
CPU模塊 | 6ES7315-2AG10-0AB0 | V2.6 |
CP341 | 6ES7341-1CH01-0XE0 | V1.02 |
2#從站 |
|
|
CPU模塊 | 6ES7315-2AG10-0AB0 | V2.6 |
CP340 | 6ES7340-1AH02-0XE0 | V1.04 |
PC/PPI電纜 | 6ES7901-3CB30-0XA0 |
|
表1 系統(tǒng)主要硬件設(shè)備及版本信息
1.1.2 軟件環(huán)境
Ø 操作系統(tǒng):Windows XP Professional SP2;
Ø 編程軟件:STEP7 V5.4 SP4;
Ø PTP協(xié)議軟件包:SIMATIC S7-CP PtP Param V5.1+SP11
下載鏈接:/cs/document/27013524?caller=view&lc=zh-CN。
1.1.3 電纜和硬件連接
根據(jù)具體情況可以自己制作通信電纜,也可以選擇提供的定制電纜。在通信距離可以滿足要求的情況下,建議選擇提供的串行通信電纜,電纜訂貨號如表2。
表2 連接電纜訂貨號
詳細(xì)的硬件連接如圖2所示。
圖2 實(shí)際硬件連接圖
1.2 參數(shù)分配
1.2.1 組態(tài)主站
Ø CP341模塊起始地址256,ASCII協(xié)議模式;
Ø 消息幀結(jié)束標(biāo)準(zhǔn):字符延遲時(shí)間4ms;
Ø 波特率:9600bps,8位數(shù)據(jù)位,1位停止位,無校驗(yàn);
Ø 接口類型:RS485半雙工;
Ø 其他采用默認(rèn)值。
圖3 主站CP341模塊協(xié)議參數(shù)分配圖
圖4 主站CP341模塊接口參數(shù)分配圖
1.2.2 組態(tài)從站
對于從站CP341/CP340模塊的參數(shù)分配與主站保持*,特別注意波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)位設(shè)置要與主站相同。
說明:詳細(xì)的接口參數(shù)設(shè)置請參考CP341/CP340手冊及相關(guān)文檔。
下載鏈接:http://www.ad.siemens.com.cn/download/
圖5 2#從站CP340模塊協(xié)議參數(shù)分配圖
2 輪詢原理
2.1原理說明
與MODBUS協(xié)議輪詢不同,由于每個(gè)從站自身不具有*的設(shè)備標(biāo)識(shí)信息(從站地址),無法直接區(qū)分和識(shí)別網(wǎng)絡(luò)上的數(shù)據(jù)幀是哪個(gè)站的、需要哪個(gè)站做出響應(yīng),所以要通過ASCII協(xié)議驅(qū)動(dòng)實(shí)現(xiàn)多站點(diǎn)輪詢,需要人為地對每個(gè)站做出標(biāo)識(shí),并在主站發(fā)送輪詢指令時(shí)給出相應(yīng)的指令標(biāo)識(shí),以便從站能夠識(shí)別是否是發(fā)送給自己的數(shù)據(jù)以及是否做出響應(yīng)。
在ASCII協(xié)議驅(qū)動(dòng)實(shí)現(xiàn)多站點(diǎn)輪詢的過程中,應(yīng)主要考慮以下幾個(gè)方面:
Ø 基本模式:主站主動(dòng)請求,從站根據(jù)請求作出響應(yīng);
Ø 數(shù)據(jù)幀:在發(fā)送或響應(yīng)數(shù)據(jù)幀中要包含有站點(diǎn)標(biāo)識(shí)的信息;
Ø 實(shí)現(xiàn)方法:定時(shí)輪詢,完成后直接啟動(dòng)下一個(gè)作業(yè),完成后延時(shí)啟動(dòng)下一個(gè)作業(yè)等實(shí)現(xiàn)方法;
Ø 校驗(yàn)、錯(cuò)誤處理機(jī)制:CRC、等待、丟棄、重試等。
本應(yīng)用實(shí)例在以上幾個(gè)方面都采用了相對簡單的處理方式,在實(shí)際的應(yīng)用中,針對不同的通信對象,可以具體分析并作出相應(yīng)的處理。
2.2 輪詢機(jī)制
2.2.1數(shù)據(jù)幀格式
為了區(qū)別1#從站和2#從站,在消息幀中增加一個(gè)字的地址標(biāo)識(shí)字符,主站通過發(fā)送不同地址標(biāo)識(shí)字符的幀來輪詢不同從站,同時(shí)從站根據(jù)地址字符來判斷是否是給自己的消息,并據(jù)此做出相應(yīng)的處理。從站發(fā)送給主站的響應(yīng)幀也包含有自己的地址標(biāo)識(shí)字符,用于主站判斷是哪個(gè)從站返回的數(shù)據(jù)。字符幀格式如下:
圖6 定義的主從站數(shù)據(jù)幀格式
2.2.2 時(shí)序圖
如下圖所示,主站按順序輪詢1#從站和2#從站。
圖7 輪詢時(shí)序圖
2.2.3 流程圖
Ø 初始化流程
初始化主要針對主站而言。在初始化階段主要完成CP模塊的參數(shù)化、初始化輪詢計(jì)數(shù)器,復(fù)位接收緩沖區(qū)以及根據(jù)輪詢計(jì)數(shù)器生成發(fā)送數(shù)據(jù)幀等方面的工作。
Ø 主站輪詢流程
如下圖所示,在系統(tǒng)初始化完成后,手動(dòng)啟動(dòng)*次輪詢作業(yè),本實(shí)例先輪詢1#從站。給1#從站發(fā)送查詢請求后,等待1#從站的響應(yīng),如果在的延時(shí)時(shí)間內(nèi)接收到1#從站返回的數(shù)據(jù),則給2#從站發(fā)送查詢請求,并等待2#從站的響應(yīng),同樣如果在的延時(shí)時(shí)間內(nèi)接收到2#從站返回的數(shù)據(jù),則一次完整的輪詢結(jié)束,自動(dòng)啟動(dòng)新一輪的輪詢。
如果在的延時(shí)時(shí)間內(nèi)不能接收到從站的返回?cái)?shù)據(jù)或接收錯(cuò)誤,則跳過本站,開始輪詢下一個(gè)站點(diǎn)。
圖8 主站輪詢流程圖
Ø 從站響應(yīng)流程
從站根據(jù)主站的請求做出響應(yīng),主要是在接收到網(wǎng)絡(luò)上的數(shù)據(jù)后,判斷是否是給自己的數(shù)據(jù)。如果是,則將數(shù)據(jù)接收到的數(shù)據(jù)區(qū),同時(shí)啟動(dòng)發(fā)送功能,發(fā)送相應(yīng)的返回?cái)?shù)據(jù)給主站;如果不是,則直接刪除收到的數(shù)據(jù),并不做任何響應(yīng)。
圖9 從站響應(yīng)流程圖
3 程序?qū)崿F(xiàn)
接下來我們就可以根據(jù)上述輪詢思想,通過編寫STEP7程序具體實(shí)現(xiàn)主站輪詢從站的功能。由于主站、從站任務(wù)的不同,所以在程序上的實(shí)現(xiàn)上也有所不同,下面針對主站和從站的程序?qū)崿F(xiàn)做個(gè)簡要描述。具體的例程可以參考本文附帶的樣例程序。
3.1 主站程序
3.1.1 初始化
為了實(shí)現(xiàn)對多個(gè)從站的輪詢,程序構(gòu)造了一個(gè)輪詢計(jì)數(shù)器,通過修改輪詢計(jì)數(shù)器的值,來修改主站發(fā)送數(shù)據(jù)幀中的站地址標(biāo)識(shí)字符。
本例中定義MW2作為輪詢計(jì)數(shù)器,程序開始,先對輪詢計(jì)數(shù)器進(jìn)行操作,默認(rèn)先輪詢1#從站,將值1賦值給MW2。
圖10 初始化輪詢計(jì)數(shù)器程序段
在程序執(zhí)行過程中,會(huì)修改輪詢計(jì)數(shù)器的值,通過判斷輪詢計(jì)數(shù)器的值對發(fā)送數(shù)據(jù)塊的地址標(biāo)識(shí)符字作相應(yīng)的修改,以完成對響應(yīng)從站的輪詢。本例中具體的實(shí)現(xiàn)如下圖,其中DB13作為發(fā)送數(shù)據(jù)塊,DB13.DBW0為地址標(biāo)識(shí)符字。
圖11 生成地址標(biāo)識(shí)符程序段
3.1.2 啟動(dòng)發(fā)送
初始化完成后,可以啟動(dòng)發(fā)送功能。本例*次發(fā)送采用手動(dòng)方式,通過觸發(fā)手動(dòng)啟動(dòng)標(biāo)志位M30.1,并調(diào)用FB8 P_SND_RK發(fā)送數(shù)據(jù)到從站。完成*次發(fā)送后,可以通過程序自動(dòng)修改自動(dòng)輪詢標(biāo)志位M30.0來實(shí)現(xiàn)自動(dòng)發(fā)送數(shù)據(jù)到從站的功能,具體的FB8 P_SND_RK功能塊使用參考CP341手冊。
啟動(dòng)發(fā)送功能塊FB8后,通過FB8返回狀態(tài)信息,判斷是否發(fā)送完成,如果發(fā)送錯(cuò)誤,則重新啟動(dòng)發(fā)送功能。
Ø 發(fā)送完成:啟動(dòng)接收作業(yè),準(zhǔn)備接收從站返回?cái)?shù)據(jù)。同時(shí)啟動(dòng)一個(gè)超時(shí)定時(shí)器T11,如果超時(shí)定時(shí)時(shí)間到,還沒有接收到數(shù)據(jù),則放棄等待,開始輪詢下一個(gè)站。
圖12 發(fā)送功能塊程序段
3.1.3 接收從站返回?cái)?shù)據(jù)
發(fā)送完成后,啟動(dòng)接收作業(yè),準(zhǔn)備接收從站返回?cái)?shù)據(jù),并將接收到的數(shù)據(jù)先放到接收緩沖區(qū)中,本例DB14數(shù)據(jù)塊為接收緩沖區(qū)。
圖13 接收功能塊程序段
3.1.4 接收完成
接收完成后,做如下幾方面處理。如果接收錯(cuò)誤或超時(shí),則跳過此站的輪詢。
Ø 根據(jù)接收到數(shù)據(jù)的地址標(biāo)識(shí)符判斷是來自哪個(gè)從站的數(shù)據(jù),并將數(shù)據(jù)從接收緩沖區(qū)轉(zhuǎn)移到的從站數(shù)據(jù)存儲(chǔ)區(qū)中,同時(shí)清空接收緩沖區(qū);
Ø 復(fù)位接收標(biāo)志,同時(shí)修改輪詢計(jì)數(shù)器的值,準(zhǔn)備輪詢下一個(gè)從站;
Ø 復(fù)位超時(shí)定時(shí)器;
Ø 啟動(dòng)一個(gè)延時(shí)定時(shí)器,延時(shí)時(shí)間到后開始輪詢下一個(gè)從站。
圖14 接收完成處理程序段
圖15 準(zhǔn)備輪詢下一個(gè)站程序段
3.2 從站程序
相對于主站,從站的處理程序相對簡單。下面以2#從站為例做個(gè)說明,1#從站除了調(diào)用FB不同外,都與2#從站相同。
3.2.1 接收數(shù)據(jù)
從站一直啟動(dòng)接收功能FB2 P_RCV,接收來自網(wǎng)絡(luò)上的數(shù)據(jù),如果接收到數(shù)據(jù)則根據(jù)地址標(biāo)識(shí)符判斷是否是本站的數(shù)據(jù):
Ø 是本站數(shù)據(jù),則將接收緩沖區(qū)(DB17)中的數(shù)據(jù)移到的地址區(qū)(DB18)中,并清空接收緩沖區(qū)。同時(shí),觸發(fā)發(fā)送標(biāo)志,發(fā)送返回?cái)?shù)據(jù)給主站;
Ø 不是本站數(shù)據(jù),直接清空接收緩沖區(qū)(DB17)。
圖16 從站接收程序段
圖17 從站接收完處理程序段
3.2.1 發(fā)送返回?cái)?shù)據(jù)
接收完成后,調(diào)用發(fā)送功能,將DB19的數(shù)據(jù)發(fā)送給主站。
圖18 從站發(fā)送響應(yīng)程序段
3.3 實(shí)驗(yàn)結(jié)果
搭建好網(wǎng)絡(luò),并將程序分別下載到各自的CPU中,啟動(dòng)CPU的運(yùn)行。通過置位手動(dòng)啟動(dòng)輪詢標(biāo)志位M30.0即可啟動(dòng)輪詢程序的運(yùn)行。通過變量表可以監(jiān)視到系統(tǒng)的運(yùn)行情況,可以看到,主站會(huì)循環(huán)地將數(shù)據(jù)發(fā)送到兩個(gè)從站,同時(shí)也循環(huán)地接收來自從站的返回?cái)?shù)據(jù),如下圖所示。
圖19 系統(tǒng)運(yùn)行監(jiān)控圖
ASCII_Polling.zip (302 KB) ( 302 KB )
4 應(yīng)用小結(jié)
通過本應(yīng)用實(shí)例,可以看到基于ASCII驅(qū)動(dòng)協(xié)議的多站點(diǎn)輪詢原理比較簡單。同時(shí)因?yàn)槠漭^大的靈活性,所以可以與各種滿足ASCII協(xié)議的設(shè)備進(jìn)行通信。串行通信模塊CP340、CP341、CP440-1、CP441-1/2、CPU313C/314C-2PtP以及ET200S的1SI 3964/ASCII等都集成有ASCII驅(qū)動(dòng)協(xié)議功能,可以根據(jù)需求靈活地選擇這些產(chǎn)品。
本文所述應(yīng)用和提供例程只作為相關(guān)應(yīng)用的參考,在實(shí)際的應(yīng)用中,應(yīng)該充分考慮通信伙伴的特點(diǎn)和實(shí)際需求,結(jié)合不同的輪詢方式、錯(cuò)誤處理機(jī)制、校驗(yàn)方法、數(shù)據(jù)處理方法等手段達(dá)到通信目的。
鄭重聲明:本文的虛擬工程與真實(shí)工程實(shí)例有重大差別,示例中并未遵循規(guī)范的工程設(shè)計(jì)流程進(jìn)行編程,請讀者切勿將其與工程實(shí)例相混淆;由于此例子是免費(fèi)的,任何用戶可以免費(fèi)復(fù)制或傳播此程序例子。程序的作者對此程序不承擔(dān)任何功能性或兼容性的責(zé)任,使用者風(fēng)險(xiǎn)自負(fù);不提供此程序例子的錯(cuò)誤更改或者支持;為了更好的使用這些模板,建議用戶仔細(xì)閱讀相關(guān)模板的使用手冊。