詳細(xì)介紹
西門子6FC5373-0AA30-0AA0
上海盟疆有限公司在經(jīng)營(yíng)活動(dòng)中精益求精,具備如下業(yè)務(wù)優(yōu)勢(shì):
上海盟疆*銷售西門子PLC,200,,300,,400,1200,,西門子PLC附件,,西門子電機(jī),西門子人機(jī)界面西門子變
頻器,,西門子數(shù)控伺服,,西門子總線電纜現(xiàn)貨供應(yīng),咨詢系列產(chǎn)品,,折扣低,,貨期準(zhǔn)時(shí)并且備有大量庫(kù)存
. 長(zhǎng)期有效
西門子數(shù)控伺服系統(tǒng):802C S、802D SL,、810D DE,、820D SL、840C CE,、840D DE,、840D SL、840Di SL,、S120
數(shù) 控 系 統(tǒng),、數(shù) 控 伺 服 驅(qū) 動(dòng) 模 塊,、控制 模 塊,、電 源模 塊、備 品 備 件 等,。
本公司產(chǎn)品質(zhì)量按西門子原廠質(zhì)量標(biāo)準(zhǔn),,產(chǎn)品質(zhì)保一年,按西門子原廠包裝標(biāo)準(zhǔn),,西門子原裝 原裝產(chǎn)品,,按廠家執(zhí)行標(biāo)
準(zhǔn),需方收到貨后七日內(nèi)可提出異議?。,?!
我們賣的不是價(jià)格。賣的是誠(chéng)信賣的是品質(zhì)
問題:
S7-400中保持?jǐn)?shù)據(jù)傳輸?shù)?性使用的是什么機(jī)理?
解答:
*的數(shù)據(jù)指的是就內(nèi)容來(lái)說是*的,,而 且它所描述了在某個(gè)時(shí)間點(diǎn)的一個(gè)稱之為*性數(shù)據(jù)的過程狀態(tài),。要保持?jǐn)?shù)據(jù)的*性,它在傳輸或處理過程中不得被更新或改動(dòng),。< /span>
樣例 1:< /span>
為了對(duì)CPU在循環(huán)程序處理過程中有*的過程信號(hào)的映像,,在程序處理前就把過程信號(hào)讀入輸入的過程映像中,并 且在程序處理后又寫到輸出的過程映像,。然后,,在程序處理過程中,用戶程序在對(duì)操作數(shù)區(qū)輸入(I)和輸出(Q) 尋址時(shí)并不直接訪問信號(hào)模塊,,而是訪問CPU 的內(nèi)部存儲(chǔ)區(qū)里的過程映像 ,。< /span>
樣例 2:
如果一個(gè)通訊塊(比如 SFB 14 “GET”, SFB 15 “PUT”)被較高優(yōu)先級(jí)的過程警報(bào)OB所中斷,就有可能出現(xiàn)不*性,。 現(xiàn)在,,如果在該過程警報(bào)OB中的用戶程序更改了已經(jīng)部分被通訊塊處理過的數(shù)據(jù),那樣的話被傳輸?shù)臄?shù)據(jù)中,,部分是過程警報(bào)處理以前時(shí)間的數(shù)據(jù),,部 分則是過程警報(bào)處理以後時(shí)間的數(shù)據(jù),這意味著,,此數(shù)據(jù)是不*的,。
SFC 81 "UBLKMOV"
使用 SFC 81 “UBLKMOV”,把一個(gè)內(nèi)存區(qū)(源區(qū))的內(nèi)容*地復(fù)制到另一個(gè)內(nèi)存區(qū)(目標(biāo)區(qū))里 ,。復(fù) 制過程不得被操作系統(tǒng)的任何其它動(dòng)作所打斷,。
使用SFC 81 “UBLKMOV”,可復(fù)制下列內(nèi)存區(qū):
- 位存儲(chǔ)器
- DB 內(nèi)容
- 輸入的過程映像
- 輸出的過程映像
可復(fù)制的大數(shù)據(jù)量為 512 字節(jié),。請(qǐng)注意與CPU性能有關(guān)的限制,。有關(guān)的限制可從操作列表中看到。
既然復(fù)制過程不能打斷,,在使用 SFC 81“UBLKMOV” 時(shí),,可增大CPU對(duì)報(bào)警的響應(yīng)時(shí)間。
源區(qū)和目標(biāo)區(qū)不得互相交迭,。如 果的目標(biāo)區(qū)大于源區(qū),,那么只把與源區(qū)里同樣多的數(shù)據(jù)復(fù)制到目標(biāo)區(qū)。如果的目標(biāo)區(qū)小于源區(qū),,那 么只把目標(biāo)區(qū)能接收的那么多的數(shù)據(jù)復(fù)制入目標(biāo)區(qū),。
通訊塊和功能之間的*性
對(duì) S7-400 ,通 訊作業(yè)不在循環(huán)程序的執(zhí)行處來(lái)處理,,而是在程序循環(huán)過程中的一個(gè)固定的時(shí)間段里處理,。從系統(tǒng)來(lái)講,,數(shù)據(jù)格式字節(jié),字 和雙字永遠(yuǎn)可以得到*性的處理,,就是說傳輸一個(gè)字節(jié),,一個(gè)字(兩個(gè)字節(jié))或雙字(4個(gè)字節(jié))是不會(huì)被打斷的。
如果通訊塊(比如 SFB 12 “BSEND”)只能成對(duì)使用(象SFB 12 “BSEND” 和 SFB 13 “BRCV”) 而且它訪問公共數(shù)據(jù)在用戶程序中被調(diào)用,,那么也訪問本身數(shù)據(jù)區(qū),,比如通過 “DONE”參數(shù)對(duì)該數(shù)據(jù)區(qū)的訪問,是可以協(xié)調(diào)的,。通 過這些通訊塊局部傳輸?shù)臄?shù)據(jù)的*性,,因而可以在用戶的程序里得到保證。
使用 S7 的通訊功能時(shí)動(dòng)作是不一樣的,。用這些功能時(shí)目標(biāo)設(shè)備 (比如 SFB 14 “GET”, SFB 15“PUT”) 里的用戶程序不要求通訊塊,。在編程時(shí)就必須把*性數(shù)據(jù)的大小已經(jīng)考慮在內(nèi)。
訪問 CPU的工作內(nèi)存
操作系統(tǒng)的通訊功能是以固定長(zhǎng)度數(shù)據(jù)包來(lái)訪問CPU的工作內(nèi)存,。此數(shù)據(jù)包的大小與CPU性能有關(guān),,S7-400 CPU是32個(gè)字節(jié)。< /span>
這樣就確保了在使用通訊功能時(shí)報(bào)警響應(yīng)時(shí)間不會(huì)被延長(zhǎng),。由于這種訪問與用戶程序異步,,你無(wú)法*地傳輸任意個(gè)數(shù)字節(jié)的數(shù)據(jù)。< /span>
下面將解釋為保證數(shù)據(jù)*性所要遵循的規(guī)則,。
用于 SFB 14 "GET" 或讀變量的*性規(guī)則
如果是 SFB 14 “GET”,,只要遵循下列規(guī)則就可*性地傳輸數(shù)據(jù)。
- 主動(dòng)CPU(數(shù)據(jù)接收方):通過調(diào)用SFB 14讀出OB中接收區(qū)的數(shù)據(jù),,或者,,如果無(wú)法這樣做的話,r 在SFB 14的處理結(jié)束后讀出接收區(qū)的數(shù)據(jù),。
- 被動(dòng)CPU (數(shù)據(jù)發(fā)送方):按照被動(dòng)CPU (數(shù)據(jù)發(fā)送方)規(guī)定的數(shù)據(jù)塊的大小寫入與發(fā)送區(qū)大小等量的數(shù)據(jù),。
- 被動(dòng) CPU (數(shù)據(jù)發(fā)送方):在封鎖中斷的情況下把要發(fā)送的數(shù)據(jù)寫入發(fā)送區(qū)。< /span>
下圖給出了一個(gè)無(wú)法保證數(shù)據(jù)傳輸*性的例子,。因?yàn)樗鼪]有遵守*性規(guī)則的第二條:被動(dòng) CPU (數(shù)據(jù)發(fā)送方)的數(shù)據(jù)塊大小為 8 個(gè)字節(jié),,而傳輸?shù)膮s是 32 個(gè)字節(jié)。
圖 1:數(shù)據(jù)傳輸?shù)睦?/p>
用于 SFB 15“PUT”或?qū)懽兞康?性規(guī)則
對(duì)于 SFB 15 “PUT”,,如果遵循下列規(guī)則,,數(shù)據(jù)傳輸將具有*性:
- 主動(dòng)CPU (數(shù)據(jù)發(fā)送方): 把來(lái)自調(diào)用SFB 15 的OB 中的數(shù)據(jù)寫入發(fā)送區(qū),。如果不可能,,在 *次調(diào)用 SFB 15 結(jié)束后寫入發(fā)送區(qū)。
- 主動(dòng)CPU (數(shù)據(jù)發(fā)送方):把按照被動(dòng) CPU (數(shù)據(jù)發(fā)送方)的塊大小的數(shù)據(jù)寫入發(fā)送區(qū),。< /span>
- 被動(dòng)CPU (數(shù)據(jù)接收方): 在封鎖中斷的情況下,,從接收區(qū)里讀出收到的數(shù)據(jù),。< /span>
下圖為一個(gè)數(shù)據(jù)傳輸?shù)睦印S?于*性規(guī)則的第二條沒有得到遵守<被動(dòng)CPU(數(shù)據(jù)接收方)的數(shù)據(jù)塊大小只有32 個(gè)字節(jié),,而發(fā)送的卻是64個(gè)字節(jié)>,,無(wú) 法保證數(shù)據(jù)的*性。
圖 2:無(wú) 法保證*性的數(shù)據(jù)傳輸
通過SFC 81 “ UBLKMOV”可在S7-400 的用戶程序里實(shí)現(xiàn)跨幾個(gè)變量的大數(shù)據(jù)塊*性傳輸(不可中斷的塊移動(dòng)),。
這樣,,例如通過SFB 14 “ GET”, SFB 15 “PUT”以及讀/寫變量,可實(shí)現(xiàn)對(duì)此數(shù)據(jù)的*性訪問,。
從一臺(tái) DP 標(biāo)準(zhǔn)從站讀出*性數(shù)據(jù),,/ 然后把它*性地寫入一臺(tái) DP 標(biāo)準(zhǔn)從站。
通過SFC 14 “DPRD_DAT”從一臺(tái) DP 標(biāo)準(zhǔn)從站*性地讀出數(shù)據(jù)
通過SFC 14 “DPRD_DAT”(從一臺(tái) DP 標(biāo)準(zhǔn)從站讀出*性數(shù)據(jù)),, 從一臺(tái)DP標(biāo)準(zhǔn)從站*性地讀出數(shù)據(jù),。如果數(shù)據(jù)傳輸中無(wú)錯(cuò)誤,則讀出的數(shù)據(jù)被輸入由RECORD的目標(biāo)區(qū),。< /span>
目標(biāo)區(qū)必須與你已經(jīng)用STEP 7為選定的模塊組態(tài)好的長(zhǎng)度*,。每次調(diào)用SFC 14只能訪問一個(gè)模塊/DP ID 的數(shù)據(jù)(從組態(tài)好的起始地址)。
通過 SFC 15“DPWR_DAT” 把數(shù)據(jù)*性地寫入一臺(tái) DP 標(biāo)準(zhǔn)從站
通過 SFC 15“DPWR_DAT”( 把數(shù)據(jù)*性地寫入一臺(tái)DP標(biāo)準(zhǔn)從站)把 RECORD 里的數(shù)據(jù)*性地傳輸入賦址好的DP 標(biāo)準(zhǔn)從站,。
源區(qū)的長(zhǎng)度必須與通過 STEP 7 為選定模塊組態(tài)好的長(zhǎng)度*,。
注意:
PROFIBUS DP標(biāo)準(zhǔn)定義了傳輸*性用戶數(shù)據(jù)的上限(見下一節(jié))。通常的DP標(biāo)準(zhǔn)從站遵守這些限制,。對(duì)于較老的CPU (<1999),,對(duì) 傳輸*性用戶數(shù)據(jù)存在與 CPU 有關(guān)的限制。
請(qǐng)參考這些CPU的技術(shù)數(shù)據(jù),。在關(guān)鍵字 “DP 主站 -每臺(tái)DP 從站的用戶數(shù)據(jù)” 下去尋找CPU 可以*性地從一臺(tái)DP標(biāo)準(zhǔn)從站讀出數(shù)據(jù)和*性地寫入一臺(tái)DP標(biāo)準(zhǔn)從站的數(shù)據(jù)的大長(zhǎng)度,一些近期CPU的此項(xiàng)指標(biāo)已經(jīng)超過標(biāo)準(zhǔn)DP從站可能或接受的數(shù)據(jù)長(zhǎng)度值,。< /span>
*性傳輸用戶數(shù)據(jù)到一臺(tái) DP 從站的上限大值
PROFIBUS DP標(biāo)準(zhǔn)規(guī)定了傳輸*性用戶數(shù)據(jù)到DP從站的上限。這就是為什么在一臺(tái)DP標(biāo)準(zhǔn)從站里,,可用一個(gè)數(shù)據(jù)塊來(lái)*性地傳輸大達(dá)64 個(gè)字 = 128 字節(jié)的用戶數(shù)據(jù),。
當(dāng)組態(tài)時(shí),你定義了*性區(qū)的大小,。該大小用特殊的代碼格式(德語(yǔ)縮寫: SKF)表示為64 個(gè)字 = 128 字節(jié)(輸入用128個(gè)字節(jié),,128個(gè)字節(jié)用于輸出)設(shè)置的*性數(shù)據(jù)大長(zhǎng)度。再長(zhǎng)就不可行了,。
這個(gè)上限只適用于純用戶數(shù)據(jù),。診斷數(shù)據(jù)和參數(shù)被分組到完整的數(shù)據(jù)紀(jì)錄里,因而總是得到*性地傳輸,。< /span>
在通常的代碼格式里(德語(yǔ)縮寫: AKF),,可為*性數(shù)據(jù)設(shè)置大長(zhǎng)度16 個(gè)字 = 32 個(gè)字節(jié) (32 個(gè)字節(jié)用于輸入,32 個(gè)字節(jié)用于輸出),。再長(zhǎng)就不可行了,。
在本文里請(qǐng)同樣注意,, 通常在一個(gè)非系統(tǒng)主站 (通過GSD連接)上的CPU 41x 作為 DP 從站時(shí),必 須是用一般代碼格式才可加以組態(tài),?;谶@個(gè)理由,作為PROFIBUS DP上從站的 CPU 41x 的傳輸內(nèi)存的大長(zhǎng)度為16 個(gè)字 = 32個(gè)字節(jié),。
不使用SFC 14 或 SFC 15 時(shí)的*性數(shù)據(jù)訪問
*性數(shù)據(jù)訪問 大于 4 個(gè)字節(jié)時(shí),,對(duì)于下列的CPU 是可行的(不用SFC 14或SFC 15)。要 被*性傳輸?shù)囊粋€(gè) DP 從站的數(shù)據(jù)區(qū)數(shù)據(jù)是被傳輸?shù)揭粋€(gè)過程映像分區(qū)的,。這樣在此區(qū)域里的信息永遠(yuǎn)是*的,。然后可用 裝載/傳輸命令 (比如L EW 1) 來(lái)訪問過程映像。
這為訪問*性數(shù)據(jù)提供了特別方便和有力的選項(xiàng)(低運(yùn)行開銷),。這一方案又為高效地結(jié)合和參數(shù)化驅(qū)動(dòng)或其它 DP 從站成為可能,。< /span>
它適用于下列CPU。固件版本 3.0 以上:
S7-400 CPU | MLFB |
CPU 412-1 | 6ES7 412-1XF03-0AB0 |
CPU 412-2 | 6ES7 412-2XG00-0AB0 |
CPU 414-2 | 6ES7 414-2XG03-0AB0 |
CPU 414-3 | 6ES7 414-3XJ00-0AB0 |
CPU 416-2 | 6ES7 416-2XK02-0AB0 |
CPU 416-3 | 6ES7 416-3XL00-0AB0 |
CPU 417-4 | 6ES7 417-4XL00-0AB0 |
CPU 414-4H | 6ES7 414-4HJ00-0AB0 |
CPU 417-4H | 6ES7 417-4HL01-0AB0 |
表 1:支持*性數(shù)據(jù)訪問的CPU(不用 SFC14/SFC15)
當(dāng)你進(jìn)行直接訪問時(shí) (比方說 L PEW 或 T PAW),,沒有 I/O 訪問錯(cuò),。
從 采用SFC14/15 方案轉(zhuǎn)向采用過程映像方案時(shí)的注意要點(diǎn):< /b>
- 當(dāng)從SFC14/15 方案轉(zhuǎn)向過程映像方案時(shí),不建議同時(shí)使用系統(tǒng)功能以及過程映像,?;旧现v,在用系統(tǒng)功能 SFC15 寫時(shí),,過程映像是被追蹤的,,但 讀出的時(shí)候就不被追蹤了。 這意味著,,過程映像值與系統(tǒng)功能 SFC14 的值之間的*性是無(wú)法保證的,。< /span>
- 在SFC 14/15 方案里,SFC 50 “RD_LGADR”輸 出的地址區(qū)不同于過程映像方案的地址區(qū)
- 如果使用 CP 443-5 ext,,同時(shí)使用系統(tǒng)功能以及過程映像會(huì)導(dǎo)致出現(xiàn)下列出錯(cuò)消息:“ 沒有對(duì)過程映像的讀/寫”,,或是“不可能再用SFC 14/15 進(jìn)行讀/寫”。
樣例:
下面的例子 (過程映像分區(qū) 3 “TPA 3”)顯示了 HW Config 中一種可能的組態(tài),。- TPA 3 在輸出處:這50 個(gè)字節(jié)在過程映像分區(qū)3 里是*的(下拉列表 “*性范圍 -> 總長(zhǎng)度”),,因而可以通過一般的 “Load input xy”命令來(lái)讀它。
在輸入下的下拉列表里選擇 “過程映像分區(qū) -> ---” 意味著過程映像里沒有存儲(chǔ)內(nèi)容,。只 能用系統(tǒng)功能SFC14/15來(lái)處理它,。
西門子6FC5373-0AA30-0AA0
圖 3:在HW Config 里組態(tài)DP從站的屬性。
1. 說明
本條目描述了在 S7-200 程序塊中那些參數(shù)需要設(shè)置來(lái)接收其他站點(diǎn)的 GPRS 數(shù)據(jù),。
兩個(gè)或多個(gè)包含 S7-200 CPU 和 調(diào)制解調(diào) SINAUT MD 720-3 模塊的遠(yuǎn)程站通過 GPRS 連接到一個(gè)中心站,。中心站采用 SINAUT MICRO SC 來(lái)管理與所有已組態(tài)的遠(yuǎn)程站的通訊(圖 1 )。
圖 1 :結(jié)構(gòu)圖
2. WDC_SEND 和 WDC_RECEIVE 功能塊
SINAUT MICRO SC 庫(kù)內(nèi)的功能塊 WDC_SEND 和 WDC_RECEIVE 負(fù)責(zé)發(fā)送和接收數(shù)據(jù)。數(shù)據(jù)的接收由調(diào)制解調(diào)模塊上 LED 燈“C”的閃爍來(lái)指示,。如果塊的參數(shù)設(shè)置錯(cuò)誤,,接收的數(shù)據(jù)就會(huì)被舍棄不會(huì)寫入 CPU,。下列參數(shù)決定數(shù)據(jù)的交換:
WDC_SEND:
- DATA_STAR:*個(gè)數(shù)據(jù)字節(jié)的起始地址,,比如 VB100 就是“100”
- DATA_LENGTH:發(fā)送數(shù)據(jù)的長(zhǎng)度,比如 10 個(gè)字節(jié)就是“10”
WDC_RECEIVE:
- DATA_START:接收數(shù)據(jù)的起始地址(接收的數(shù)據(jù)自動(dòng)更新)
- DATA_LENGTH:接收數(shù)據(jù)的長(zhǎng)度(接收的數(shù)據(jù)自動(dòng)更新)
- RECVBUFFER_START 和 RECVBUFFER_LENGTH 說明了接收地址區(qū),,該區(qū)域會(huì)被CPU中接收到的數(shù)據(jù)覆蓋,。
發(fā)送地址區(qū) DATA_START 和 DATA-LENGTH 必須適合接收地址區(qū)以保證接收 CPU 所發(fā)送的數(shù)據(jù)都是可以訪問的。
3. 接收的數(shù)據(jù)被舍棄并不寫入 CPU
下面舉例說明當(dāng) WDC_RECEIVE 參數(shù)設(shè)置錯(cuò)誤時(shí)發(fā)生的問題:
圖 2:沒有數(shù)據(jù)寫入 CPU
- 遠(yuǎn)程站 1 發(fā)送起始地址為 VB100 長(zhǎng)度為 10 字節(jié)的數(shù)據(jù)
- 遠(yuǎn)程站 2 允許起始地址為 VB200 長(zhǎng)度為 10 字節(jié)的接收區(qū)
- 發(fā)送的數(shù)據(jù)在 WDC_RECEIVE 所允許的范圍之外,,數(shù)據(jù)沒有寫入 CPU,,發(fā)送請(qǐng)求被告知出錯(cuò)。
圖 3:沒有數(shù)據(jù)寫入 CPU
- 遠(yuǎn)程站 1 發(fā)送起始地址為 VB100 長(zhǎng)度為 20 個(gè)字節(jié)的數(shù)據(jù)
- 遠(yuǎn)程站 2 允許起始地址為 VB100 長(zhǎng)度為 10 個(gè)字節(jié)的接收區(qū)
- 部分發(fā)送數(shù)據(jù)在 WDC_RECEIVEP 允許的范圍之外,,數(shù)據(jù)沒有寫入 CPU,,發(fā)送請(qǐng)求被告知出錯(cuò)。
4. 接收數(shù)據(jù)準(zhǔn)確寫入 CPU
WDC_RECEIVE 的接收區(qū)必須至少和發(fā)送數(shù)據(jù)區(qū)一樣大,。
4.1 允許的區(qū)域準(zhǔn)確匹配
圖 4:允許的地址區(qū)準(zhǔn)確匹配
- 遠(yuǎn)程站 1 發(fā)送起始地址為 VB100 長(zhǎng)度為 10 個(gè)字節(jié)的數(shù)據(jù)
- 遠(yuǎn)程站 2 允許起始地址為 VB100 長(zhǎng)度為 10 個(gè)字節(jié)的接收區(qū)
- 發(fā)送的數(shù)據(jù)在 WDC_RECEIVE 允許的地址區(qū)之內(nèi),,從 VB100 開始的 10 個(gè)字節(jié)寫入 CPU,發(fā)送請(qǐng)求被告知“完成”,。
4.2 允許區(qū)域大于接收的數(shù)據(jù)
圖 5:允許的地址區(qū)大于接收的數(shù)據(jù)
- 遠(yuǎn)程站 1 發(fā)送起始地址為 VB100 長(zhǎng)度為 10 個(gè)字節(jié)的數(shù)據(jù)
- 遠(yuǎn)程站 2 允許起始地址為 VB50 長(zhǎng)度為 100 個(gè)字節(jié)的數(shù)據(jù)區(qū)
- 發(fā)送的數(shù)據(jù)在 WDC_RECEIVE 允許的地址區(qū)之內(nèi),,從 VB100 開始的 10 個(gè)字節(jié)寫入 CPU,發(fā)送請(qǐng)求被告知“完成”,。