西門子電源模塊6SL3330-7TE41-0AA3
新 PC 技術(shù)(例如,,Intel Core i 第六代處理器,帶有 Turbo Boost 2.0,,超線程和虛擬化技術(shù))
存儲(chǔ)器和圖形控制器集成在處理器中,,用于實(shí)現(xiàn)較高的存儲(chǔ)器和圖形性能
性能*(例如,Intel C236 芯片組,,采用雙通道技術(shù)的 DDR4 存儲(chǔ)器)
高數(shù)據(jù)傳輸速率(例如,,帶 480 GB 串行 ATA 固態(tài)硬盤、高達(dá) 2 TB 的串行 ATA 硬盤,、雙千兆位以太網(wǎng),、PCI-Express 3.0 技術(shù))
系統(tǒng)可用性提高,停產(chǎn)時(shí)間縮短
24 小時(shí)運(yùn)行(故障間隔時(shí)間長(zhǎng),,采用變速風(fēng)扇)
自診斷(前面的狀態(tài) LED 用于指示風(fēng)扇狀態(tài)和溫度,,SIMATIC IPC DiagMonitor)
因采用 RAID1(鏡像磁盤系統(tǒng))或 RAID5(帶奇偶校驗(yàn)的磁盤分條)而具有較高數(shù)據(jù)安全性,,還帶有額外的熱后備硬盤
RAID 配置的“熱插拔"可拆卸硬盤托架(可在運(yùn)行期間更換硬盤)
發(fā)生故障時(shí)迅速識(shí)別和更換硬盤(通過用于 RAID 配置的硬盤報(bào)警 LED 指示燈)
固態(tài)硬盤選件與 RAID1 相結(jié)合(數(shù)據(jù)位于 RAID1 網(wǎng)絡(luò)中的硬盤上,預(yù)裝和激活的操作系統(tǒng)位于固態(tài)硬盤上)
具有“熱插拔"功能的冗余電源(運(yùn)行時(shí)用于更換電源模塊)
在試運(yùn)行,、運(yùn)行和服務(wù)期間具有高度的靈活性和用戶友好性
預(yù)安裝,、激活操作系統(tǒng)
IAMT(英特爾主動(dòng)管理技術(shù))功能,用于遠(yuǎn)程訪問 IPC(遠(yuǎn)程維護(hù))
由于配有恢復(fù)用 DVD,,可以將硬盤快速恢復(fù)到交付時(shí)的狀態(tài)
由于使用受控風(fēng)扇,,噪音較低
標(biāo)準(zhǔn)實(shí)現(xiàn)為工業(yè)工作站或服務(wù)器
內(nèi)置 RAID1/RAID5(PCI 插槽未被 RAID 控制器占用)
利用伸縮式導(dǎo)軌或配置成塔式工業(yè) PC,可以靈活地應(yīng)用在各種不同的安裝位置,。
提供 Intel 混合型多顯示器支持,,與可選的 PCIe x16 顯卡配合使用,可連接多 5 臺(tái)顯示器
由于采用了集成接口和 7 個(gè)擴(kuò)展槽(P CI 和 PCI Express)實(shí)現(xiàn)了高度的靈活性和可擴(kuò)展性
具有*工業(yè)兼容性和緊湊性,,適合在工業(yè)環(huán)境中 24 小時(shí)不間斷使用
與眾不同的產(chǎn)品設(shè)計(jì),,用戶友好的外殼形式
在環(huán)境溫度高可達(dá) 40 °C 的情況下,也能保持處理器大性能(高配置下),,不會(huì)下降(減速)
電磁兼容性和防腐蝕性很高的金屬外殼,,適合在工業(yè)環(huán)境中以及家庭、商業(yè)環(huán)境中使用
適合安裝在深度僅為 500mm 的小型控制箱內(nèi)
由于使用了過壓通風(fēng)設(shè)計(jì)將風(fēng)扇安裝在前部以及防塵濾網(wǎng),,實(shí)現(xiàn)了防塵保護(hù)
具有防振動(dòng)和防沖擊的硬盤托架和板卡固定器
由于較高的投資安全性,,成本降低
使用壽命至少為 2 年,備件的保證使用壽命為 3 年,。
使用 SIMATIC 組件進(jìn)行了系統(tǒng)測(cè)試
通過市場(chǎng)認(rèn)證 (cULus)
支持傳統(tǒng)接口 (PS/2,、COM、LPT)
安裝方式跨多代設(shè)備兼容
西門子電源模塊6SL3330-7TE41-0AA3
時(shí)序圖
如下圖所示,,主站按順序輪詢1#從站和2#從站,。

圖7 輪詢時(shí)序圖
2.2.3 流程圖
? 初始化流程
初始化主要針對(duì)主站而言。在初始化階段主要完成CP模塊的參數(shù)化,、初始化輪詢計(jì)數(shù)器,,復(fù)位接收緩沖區(qū)以及根據(jù)輪詢計(jì)數(shù)器生成發(fā)送數(shù)據(jù)幀等方面的工作。
? 主站輪詢流程
如下圖所示,,在系統(tǒng)初始化完成后,,手動(dòng)啟動(dòng)次輪詢作業(yè),本實(shí)例先輪詢1#從站,。給1#從站發(fā)送查詢請(qǐng)求后,,等待1#從站的響應(yīng),如果在的延時(shí)時(shí)間內(nèi)接收到1#從站返回的數(shù)據(jù),,則給2#從站發(fā)送查詢請(qǐng)求,,并等待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ù)主站的請(qǐng)求做出響應(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)上也有所不同,,下面針對(duì)主站和從站的程序?qū)崿F(xiàn)做個(gè)簡(jiǎn)要描述。具體的例程可以參考本文附帶的樣例程序,。
3.1 主站程序
3.1.1 初始化
為了實(shí)現(xiàn)對(duì)多個(gè)從站的輪詢,,程序構(gòu)造了一個(gè)輪詢計(jì)數(shù)器,通過修改輪詢計(jì)數(shù)器的值,,來修改主站發(fā)送數(shù)據(jù)幀中的站地址標(biāo)識(shí)字符,。
本例中定義MW2作為輪詢計(jì)數(shù)器,程序開始,,先對(duì)輪詢計(jì)數(shù)器進(jìn)行操作,默認(rèn)先輪詢1#從站,,將值1賦值給MW2,。

圖10 初始化輪詢計(jì)數(shù)器程序段
在程序執(zhí)行過程中,會(huì)修改輪詢計(jì)數(shù)器的值,,通過判斷輪詢計(jì)數(shù)器的值對(duì)發(fā)送數(shù)據(jù)塊的地址標(biāo)識(shí)符字作相應(yīng)的修改,,以完成對(duì)響應(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手冊(cè),。
啟動(dòng)發(fā)送功能塊FB8后,,通過FB8返回狀態(tài)信息,判斷是否發(fā)送完成,,如果發(fā)送錯(cuò)誤,,則重新啟動(dòng)發(fā)送功能。
? 發(fā)送完成:?jiǎn)?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 從站程序
相對(duì)于主站,,從站的處理程序相對(duì)簡(jiǎn)單。下面以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)控圖
4 應(yīng)用小結(jié)
通過本應(yīng)用實(shí)例,,可以看到基于ASCII驅(qū)動(dòng)協(xié)議的多站點(diǎn)輪詢?cè)肀容^簡(jiǎ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)行編程,,請(qǐng)讀者切勿將其與工程實(shí)例相混淆,;由于此例子是免費(fèi)的,任何用戶可以免費(fèi)復(fù)制或傳播此程序例子,。程序的作者對(duì)此程序不承擔(dān)任何功能性或兼容性的責(zé)任,,使用者風(fēng)險(xiǎn)自負(fù);西門子不提供此程序例子的錯(cuò)誤更改或者熱線支持,;為了更好的使用這些模板,,建議用戶仔細(xì)閱讀相關(guān)模板的使用手冊(cè)