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