1. ISO-on-TCP通信協(xié)議特點(diǎn)
1) 與TCP相比,它的消息提供了數(shù)據(jù)結(jié)束標(biāo)示符并且它是面向消息的
2) ISO-on-TCP數(shù)據(jù)信息以數(shù)據(jù)報(bào)文形式出現(xiàn):發(fā)送端和接收端的數(shù)據(jù)長(zhǎng)度可以不一致
3) 發(fā)送端的長(zhǎng)度不能大于接收端的數(shù)據(jù)報(bào)文長(zhǎng)度
4) 可用于實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)長(zhǎng)度
5) 適用于中等大小或較大的數(shù)據(jù)量傳輸 (<=8192 bytes)
2. 關(guān)于TSAP號(hào)
1) 對(duì)于 ISO-on-TCP 連接,必須同時(shí)為兩個(gè)通信伙伴分配傳輸服務(wù)訪問點(diǎn) (TSAP)。
2) 分配 TSAP 時(shí),必須遵守某些規(guī)則。 TSAP 必須包含一定數(shù)量的字節(jié),這些字節(jié)可以ASCII 字符 (ASCII-TSAP) 或十六進(jìn)制值 (TSAP-ID)的形式顯示和輸入。
3) 如果 TSAP 包含無效的 ASCII 字符,則 TSAP 將只顯示為 TSAP-ID,而不顯示為 ASCII-TSAP。 剛創(chuàng)建連接后就是如此(是系統(tǒng)自動(dòng)分配的),其前兩個(gè)十六進(jìn)制字符作為 TSAP-ID,用來標(biāo)識(shí)通信類型和機(jī)架/插槽。 因?yàn)檫@些字符對(duì)于 CPU 是無效 ASCII 字符,所以在這種情況下不顯示 ASCII-TSAP。
3. S7-1200 ISO-on-TCP通信發(fā)送和接收數(shù)據(jù)長(zhǎng)度不一致會(huì)怎樣?
ISO-on-TCP的消息提供了數(shù)據(jù)結(jié)束標(biāo)示符,接收端接到結(jié)束符后讀取緩沖區(qū)。所以如果:
1) 發(fā)送長(zhǎng)度 > 指定的接收長(zhǎng)度
接收發(fā)無法收到結(jié)束符, TRCV/TRCV_C不會(huì)將任何數(shù)據(jù)復(fù)制到接收數(shù)據(jù)區(qū)。接收指令的ERROR=1,STATUS=W#16#8088。
2) 發(fā)送長(zhǎng)度 < 指定的接收長(zhǎng)度:
接收端將接收到所有發(fā)送長(zhǎng)度字節(jié)的數(shù)據(jù)。
4. S7-1200 ISO-on-TCP 通信實(shí)現(xiàn)動(dòng)態(tài)長(zhǎng)度數(shù)據(jù)傳輸
1) 接收指令塊的LEN參數(shù)賦0,以實(shí)現(xiàn)動(dòng)態(tài)長(zhǎng)度數(shù)據(jù)傳輸;
2) 接收指令塊的DATA引腳需要填寫符號(hào)尋址方式的DB塊。
1) 與TCP相比,它的消息提供了數(shù)據(jù)結(jié)束標(biāo)示符并且它是面向消息的
2) ISO-on-TCP數(shù)據(jù)信息以數(shù)據(jù)報(bào)文形式出現(xiàn):發(fā)送端和接收端的數(shù)據(jù)長(zhǎng)度可以不一致
3) 發(fā)送端的長(zhǎng)度不能大于接收端的數(shù)據(jù)報(bào)文長(zhǎng)度
4) 可用于實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)長(zhǎng)度
5) 適用于中等大小或較大的數(shù)據(jù)量傳輸 (<=8192 bytes)
2. 關(guān)于TSAP號(hào)
1) 對(duì)于 ISO-on-TCP 連接,必須同時(shí)為兩個(gè)通信伙伴分配傳輸服務(wù)訪問點(diǎn) (TSAP)。
2) 分配 TSAP 時(shí),必須遵守某些規(guī)則。 TSAP 必須包含一定數(shù)量的字節(jié),這些字節(jié)可以ASCII 字符 (ASCII-TSAP) 或十六進(jìn)制值 (TSAP-ID)的形式顯示和輸入。
3) 如果 TSAP 包含無效的 ASCII 字符,則 TSAP 將只顯示為 TSAP-ID,而不顯示為 ASCII-TSAP。 剛創(chuàng)建連接后就是如此(是系統(tǒng)自動(dòng)分配的),其前兩個(gè)十六進(jìn)制字符作為 TSAP-ID,用來標(biāo)識(shí)通信類型和機(jī)架/插槽。 因?yàn)檫@些字符對(duì)于 CPU 是無效 ASCII 字符,所以在這種情況下不顯示 ASCII-TSAP。
3. S7-1200 ISO-on-TCP通信發(fā)送和接收數(shù)據(jù)長(zhǎng)度不一致會(huì)怎樣?
ISO-on-TCP的消息提供了數(shù)據(jù)結(jié)束標(biāo)示符,接收端接到結(jié)束符后讀取緩沖區(qū)。所以如果:
1) 發(fā)送長(zhǎng)度 > 指定的接收長(zhǎng)度
接收發(fā)無法收到結(jié)束符, TRCV/TRCV_C不會(huì)將任何數(shù)據(jù)復(fù)制到接收數(shù)據(jù)區(qū)。接收指令的ERROR=1,STATUS=W#16#8088。
2) 發(fā)送長(zhǎng)度 < 指定的接收長(zhǎng)度:
接收端將接收到所有發(fā)送長(zhǎng)度字節(jié)的數(shù)據(jù)。
4. S7-1200 ISO-on-TCP 通信實(shí)現(xiàn)動(dòng)態(tài)長(zhǎng)度數(shù)據(jù)傳輸
1) 接收指令塊的LEN參數(shù)賦0,以實(shí)現(xiàn)動(dòng)態(tài)長(zhǎng)度數(shù)據(jù)傳輸;
2) 接收指令塊的DATA引腳需要填寫符號(hào)尋址方式的DB塊。