利用PROFIBUS協議進行網絡通信
在S7-200系列PLC的CPU中,CPU22X都可以通過增加EM277PROFIBUS-DP擴展模塊的方法支持PROFIBUSDP網絡協議。最高傳輸速率可達12Mbit/s。采用PROFIBUS的系統,對于不同廠家所生產的設備不需要對接口進行特別的處理和轉換,就可以通信。PROFIBUS連接的系統由主站和從站組成,主站能夠控制總線,當主站獲得總線控制權后,可以主動發送信息。從站通常為傳感器、執行器、驅動器和變送器。它們可以接收信號并給予響應,但沒有控制總線的權力。當主站發出請求時,從站回送給主站相應的信息。PRORFIBUS除了支持主/從模式,還支持多主/多從的模式。對于多主站的模式,在主站之間按令牌傳遞順序決定對總線的控制權。取得控制權的主站,可以向從站發送,獲取信息,實現點對點的通信。
西門子S7通過PROFIBUS現場總線構成的系統,其基本特點如下:
(1)PLC、I/O模板、智能儀表及設備可通過現場總線連接,特別是同廠家的產品提供通用的功能模塊管理規范,通用性強,控制效果好。
(2)I/O模板安裝在現場設備(傳感器、執行器等)附近,結構合理。
(3)信號就地處理,在一定范圍內可實現互操作。
(4)編程仍采用組態方式,設有統一的設備描述語言。
(5)傳輸速率可在9.6kb/s~12Mb/s間選擇。
(6)傳輸介質可以用金屬雙絞線或光纖。
1.PROFIBUS的組成
PROFIBUS由三個相互兼容的部分組成,即PROFIBUS-FMS,PROFIBUS-DP及PROFIBUS-PA。
(1)PROFIBUS-DP(DistributedPeriphery分布I/O系統)
PROFIBUS-DP是一種優化模板,是制造業自動化主要應用的協議內容,是滿足用戶快速通信的最佳方案,每秒可傳輸12兆位。掃描1000個I/O點的時間少于lms。它可以用于設備級的高速數據傳輸,遠程I/O系統尤為適用。位于這一級的PLC或工業控制計算機可以通過PROFIBUSEDP同分散的現場設備進行通信。
(2)PROFIBUS-PA(ProcessAutomation過程自動化)
是為PA主要用于過程自動化的信號采集及控制,它是專為過程自動化所設計的協議,可用于安全性要求較高的場合及總線集中供電的站點。
(3)PROFIBUS-FMS(Fieldbus Message Specification現場總線信息規范)
FMS是為現場的通用通信功能所設計,主要用于非控制信息的傳輸,傳輸速度中等,可以用于車間級監控網絡。FMS提供了大量的通信服務,用以完成以中等級傳輸速度進行的循環和非循環的通信服務。對于FMS而言,它考慮的主要是系統功能而不是系統響應時間,應用過程中通常要求的是隨機的信息交換,如改變設定參數。FMS服務向用戶提供了廣泛的應用范圍和更大的靈活性,通常用于大范圍、復雜的通信系統。
2.PROFIBUS協議結構
PROFIBUS協議以ISO/OSI參考模型為基礎。第一層為物理層,定義了物理的傳輸特性;第二層為數據鏈路層;第三層至第六層PROFIBUS未使用;第七層為應用層,定義了應用的功能。PROFIBUS-DP是高效、快速的通信協議,它使用了第一層、第二層及用戶接口,第三~七層未使用。這樣簡化了的結構確保了DP的高速的數據傳輸。3.傳輸技術
PROFIBUS對于不同的傳輸技術定義了惟一的介質存取協議。(1)RS-485
RS485是PROFIBUS使用最頻繁的傳輸技術,具體論述參見前面有關章節。
(2)IECll58-2
根據IECll58-2在過程自動化中使用固定波特率31.25kb/s的同步傳輸,它可以滿足化工和石化工業對安全的要求,采用雙線技術通過總線供電,這樣PROFIBUS就可以用于危險區域了。
(3)光纖
在電磁干擾強度很高的環境和高速、遠距離傳輸數據時,PROFIBUS可使用光纖傳輸技術。使用光纖傳輸的PROFIBUS總線段可以設計成星型或環型結構?,F在在市面上已經有RS-485傳輸鏈接與光纖傳輸鏈接之間的耦合器,這樣就實現了系統內RS-485和光纖傳輸之間的轉換。
(4)PROFIBUS介質存取協議
PROFIBUS通信規程采用了統一的介質存取協議,此協議由OSI參考模型的第二層來實現。在PROFIBUS協議設計時充分考慮了滿足介質存取控制的兩個要求,即:在主站間通信時,必須保證在分配的時間間隔內,每個主站都有足夠的時間來完成它的通信任務,在PLC與從站(PLC或其他設備)間通信時,必須快速、簡捷地完成循環,進行實時的數據傳輸。為此,PROFIBUS提供了兩種基本的介質存取控制:令牌傳遞方式和主/從方式。
令牌傳遞方式可以保證每個主站在事先規定的時間間隔內都能獲得總線的控制權。令牌是一種特殊的報文,它在主站之間傳遞著總線控制權,每個主站均能按次序獲得一次令牌,傳遞的次序是按地址升序進行的。
主/從方式允許主站在獲得總線控制權時,可以與從站通信,每發送或獲得信息。
主站要發出信息,必須持有令牌。假設有一個由3個主站和7個從站構成的PROFIBUS系統。3個主站構成了一個令牌傳遞的邏輯環,在這個環中,令牌按照系統預先確定的地址升序從一個主站傳遞給下一個主站。當一個主站得到了令牌后,它就能在一定的時間間隔內執行該主站的任務,可以按照主/從關系與所有從站通信,也可以按照主/主關系與所有主站通信。在總線系統建立的初期階段,主站的介質存取控制(MAC)的任務是決定總線上的站點分配并建立令牌邏輯環。在總線的運行期間,損壞的或斷開的主站必須從環中撤除,新接入的主站必須加入邏輯環。MAC的其他任務是檢測傳輸介質和收發器是否損壞,檢查站點地址是否出錯,以及令牌是否丟失或有多個令牌。
PROFIBUS的第二層按照國際標準IEC870-5-1的規定,通過使用特殊的起始位和結束位、無間距字節異步傳輸及奇偶校驗來保證傳輸數據的安全。PROFIBUS第二層按照非連接的模式操作,除了提供點對點通信功能外,還提供多點通信的功能,即廣播通信和有選擇的廣播、組播。所謂廣播通信,即主站向所有站點(主站和從站)發送信息,不要求回答。所謂有選擇的廣播、組播是指主站向一組站點(從站)。
5.S7-200CPU接入PROFIBUS網絡
S7-200CPU必須通過PROFIBUS-DP模塊EM277連接到網絡,不能直接接入PROFIBUS網絡進行通信。EM277經過串行I/O總線連接到S7-200CPU。PROFIBUS網絡經過其DP通信端口,連接到EM277模塊。這個端口支持9600b/s~12Mb/s之間的任何傳輸速率。EM277模塊在PROFIBUS網絡中只能作為PROFIBUS從站出現。作為DP從站,EM277模塊接受從主站來的多種不同的I/O配置,向主站發送和接收不同數量的數據。這種特性使用戶能修改所傳輸的數據量,以滿足實際應用的需要。與許多DP站不同的是,EM277模塊不僅僅傳輸FO數據。EM277能讀寫S7-200CPU中定義的變量數據塊。這樣,使用戶能與主站交換任何類型的數據。通信時,首先將數據移到S7-200CPU中的變量存儲區,就可將輸入、計數值、定時器值或其他計算值傳輸到主站。類似地,從主站來的數據存儲在S7-200CPU中的變量存儲區內,進而可移到其他數據區。
EM277模塊的DP端口可連接到網絡上的一個DP主站上,仍能作為一個MPI從站與同一網絡上如SIMATIC編程器或S7-300/S7-400CPU等其他主站進行通信。為了將EM277作為一個DP從站使用,用戶必須設定與主站組態中的地址相匹配的DP端口地址。從站地址是使用EM277模塊上的旋轉開關設定的。在變動旋轉開關之后,用戶必須重新起動CPU電源,以便使新的從站地址起作用。主站通過將其輸出區來的信息發送給從站的輸出緩沖區(稱為“接收信箱”),與每個從站交換數據。從站將其輸入緩沖區(稱為發送信箱)的數據返回給主站的輸入區,以響應從主站來的信息。
EM277可用DP主站組態,以接收從主站來的輸出數據,并將輸入數據返回給主站。輸出和輸入數據緩沖區駐留在S7-200CPU的變量存儲區(V存儲區)內。當用戶組態DP主站時,應定義V存儲區內的字節位置。從這個位置開始為輸出數據緩沖區,它應作為EM277的參數賦值信息的一個部分。用戶也要定義FO配置,它是寫入到S7-200CPU的輸出數據總量和從S7-200CPU返回的輸入數據總量。EM277從FO配置確定輸入和輸入緩沖區的大小。DP主站將參數賦值和I/O配置信息寫入到EM277模塊V存儲器地址和輸入及輸出數據長度傳輸給S7-200CPU。
輸入和輸出緩沖區的地址可配置在S7-200CPU的V存儲區中任何位置。輸入和輸出緩沖區器的默認地址為VB0。輸入和輸出緩沖地址是主站寫入S7—200CPU賦值參數的一部分。用戶必須組態主站以識別所有的從站及將需要的參數和I/O配置寫入每一個從站。
一旦EM277模塊已用一個DP主站成功地進行了組態,EM277和DP主站就進入數據交換模式。在數據交換模式中,主站將輸出數據寫入到EM277模塊,然后,EM277模塊響應最新的S7-200CPU輸入數據。EM277模塊不斷地更新從S7-200CPU來的輸入,以便向DP主站提供最新的輸入數據。然后,該模塊將輸出數據傳輸給S7-200CPU。從主站來的輸出數據放在V存儲區中(輸出緩沖區)由某地址開始的區域內,而該地址是在初始化期間,由DP主站提供的。傳輸到主站的輸入數據取自V存儲區存儲單元(輸入緩沖區),其地址是緊隨輸出緩沖區的。
在建立S7-200CPU用戶程序時,必須知道V存儲區中的數據緩沖區的開始地址和緩沖區大小。從主站來的輸出數據必須通過S7—200CPU中的用戶程序,從輸出緩沖區轉移到其他所用的數據區。類似地,傳輸到主站的輸入數據也必須通過用戶程序從各種數據區轉移到輸入緩沖區,進而發送到DP主站。
從DP主站來的輸出數據,在執行程序掃描后立即放置在V存儲區內。輸入數據(傳輸到主站)從V存儲區復制到EM277中,以便同時傳輸到主站。當主站提供新的數據時,則從主站來的輸出數據才寫入到V存儲區內。在下次與主站交換數據時,將送到主站的輸入數據發送到主站。
SMB200~SMB249提供有關EM277從站模塊的狀態信息(如果它是I/O鏈中的第一個智能模塊)。如果EM277是I/O鏈中的第二個智能模塊,那么,EM277的狀態是從SMB250一SMB299獲得的。如果DP尚未建立與主站的通信,那么,這些SM存儲單元顯示默認值。當主站己將參數和I/O組態寫入到EM277模塊后,這些SM存儲單元顯示DP主站的組態集。用戶應檢查SMB224,并確保在使用SMB225~SMB229或V存儲區中的信息之前,EM277己處于與主站交換數據的工作模式。
評論