




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
畢業(yè)設(shè)計(jì)(論文)題目:水壓試管機(jī)監(jiān)測(cè)系統(tǒng)--下位機(jī)通訊模塊設(shè)計(jì)所屬院(系)電子信息工程學(xué)院2012年6月10日目錄摘要 ⅢAbstract Ⅳ第一章水壓試管機(jī)介紹 -1-1.1水壓試管機(jī)特點(diǎn) -1-1.2水壓試管機(jī)控制系統(tǒng)概述 -1-1.2.1水壓試管機(jī)控制系統(tǒng)的組成 -1-1.2.2水壓試管機(jī)控制系統(tǒng)的工作原理 -2-第二章S7-200概述 -4-2.1S7-200優(yōu)點(diǎn) -4-2.2S7-200適用范圍 -4-2.3S7-200CPU介紹 -4-2.4S7-200各型號(hào)優(yōu)點(diǎn) -6-2.5S7-200的特性 -8-2.5.1S7-200允許你在程序中立即讀寫I/O -8-2.5.2S7-200允許在程序掃描周期中使用中斷 -8-2.5.3S7-200允許設(shè)定通訊任務(wù)的處理時(shí)間 -9-2.5.4S7-200允許你設(shè)置停止模式下的數(shù)字量輸出狀態(tài) -9-2.5.5S7-200允許你定義掉電保持存儲(chǔ)區(qū) -10-2.5.6S7-200允許你對(duì)數(shù)字量輸入加濾波器 -11-2.5.7S7-200允許你對(duì)模擬量輸入加濾波器 -11-2.5.8S7-200允許你捕捉窄脈沖 -12-2.5.9S7-200提供密碼保護(hù)功能 -13-2.5.10S7-200提供模擬電位器 -15-第三章串行通信基礎(chǔ) -16-3.1串行通信概述及分類 -16-3.1.1概念 -16-3.1.2串行通信的分類 -16-3.2串行通信的工作方式 -16-3.3串口通信的物理接口標(biāo)準(zhǔn) -17-第四章自由口模式下PLC與計(jì)算機(jī)的通信 -19-4.1自由口模式下PLC與計(jì)算機(jī)的通信概述 -19-4.2自由口模式下PLC與計(jì)算機(jī)的通信的協(xié)議 -19-4.3指令格式定義 -19-第五章下位機(jī)通信模塊設(shè)計(jì) -24-5.1STEP7-Micro/WIN32介紹 -24-5.1.1軟件安裝及硬件連接 -24-5.1.2軟件功能介紹 -25-5.1.3編程軟件的使用 -29-5.1.4程序監(jiān)控與調(diào)試 -33-5.2下位機(jī)通信模塊設(shè)計(jì) -35-5.2.1PLC程序執(zhí)行過程 -35-5.2.2程序清單 -36-總結(jié) -47-參考文獻(xiàn) -48-致謝 -49-
水壓試管機(jī)監(jiān)測(cè)系統(tǒng)--下位機(jī)通訊模塊設(shè)計(jì)摘要本設(shè)計(jì)用可編程控制器(PLC)與工業(yè)計(jì)算機(jī)實(shí)現(xiàn)對(duì)鋼管的水壓密封試驗(yàn)。本文對(duì)通訊模塊的系統(tǒng)設(shè)計(jì)將兩者結(jié)合,由PLC完成對(duì)現(xiàn)場設(shè)備的直接控制,同時(shí)通過串行總線與工業(yè)計(jì)算機(jī)通信來實(shí)現(xiàn)設(shè)計(jì)要求。本設(shè)計(jì)首先對(duì)試管機(jī)的原理概述,并給出了對(duì)其設(shè)計(jì)的一套方案;其次對(duì)設(shè)計(jì)所需要的PLC及S7-200的特點(diǎn)進(jìn)行介紹,由此可見PLC的優(yōu)越性,然后又對(duì)自由口及通信協(xié)議進(jìn)行了詮釋,對(duì)設(shè)計(jì)程序提出了要求;最后就是此次設(shè)計(jì)的程序要點(diǎn)。本次設(shè)計(jì)通過五個(gè)章節(jié)對(duì)水壓試管機(jī)進(jìn)行從原理到軟件實(shí)現(xiàn)的流程,最終完成整個(gè)設(shè)計(jì)。關(guān)鍵詞:通訊;PLC;協(xié)議
HydrostatictestmachinecontrolsystemThecommunicationmoduledesignAbstractThisdesignwithprogrammablelogiccontroller(PLC)andindustrialcomputerforthehydraulicsealingtestTube.BasedoncommunicationmodulesystemdesignwillfinishbycombinationofPLC,thedirectcontrol,andthroughserialbusandindustrialcomputercommunicationtorealizethedesignrequirements.Thedesignprincipleofthefirsttest-tubemachine,andpresentsthedesignofasetofsolutions,Nexttothefirsttest-tubemachine,andpresentsthedesignofasetofsolutions,NexttotheneedsofdesignofS7-200PLCandcharacteristics,thusthesuperiorityofPLC,thentofreedomandthecommunicationprotocol,putforwardtodesignprogramrequirements.Finally,thedesignprocedureisthekey,Thedesignofhydraulicpressuretubethroughthefivechaptersfromprinciplestomachinetoprocessofsoftware,completethewholedesign.Keywords:Communication;PLC;Theagreement第一章水壓試管機(jī)介紹水壓機(jī)是一種利用油水平衡控制對(duì)鋼管進(jìn)行靜水壓試驗(yàn)的機(jī)器。它主要有以下幾部分組成:鋼管傳送裝置、水路系統(tǒng)、油路系統(tǒng)和控制系統(tǒng)。1.1水壓試管機(jī)特點(diǎn)工作行程大,在全行程中都能對(duì)工件施加最大工作力,能更有效地鍛透大斷面鍛件,沒有巨大的沖擊和噪聲,勞動(dòng)條件較好,環(huán)境污染較小。1.2水壓試管機(jī)控制系統(tǒng)概述鋼管傳送裝置負(fù)責(zé)鋼管的進(jìn)出傳送,水路系統(tǒng)負(fù)責(zé)鋼管進(jìn)行靜水壓試驗(yàn)時(shí)向鋼管里充水打壓,油路系統(tǒng)負(fù)責(zé)鋼管靜水壓試驗(yàn)時(shí)控制封頭實(shí)現(xiàn)管端油水壓力平衡,控制系統(tǒng)負(fù)責(zé)整個(gè)設(shè)備的自動(dòng)運(yùn)行控制和試驗(yàn)數(shù)據(jù)的自動(dòng)保存和歷史數(shù)據(jù)的管理。下面對(duì)控制系統(tǒng)進(jìn)行簡要介紹。1.2.1水壓試管機(jī)控制系統(tǒng)的組成水壓機(jī)的控制系統(tǒng)是一套簡單的DCS控制系統(tǒng),它由硬件系統(tǒng)、軟件系統(tǒng)和人三部分組成。(1)硬件系統(tǒng)組成硬件系統(tǒng)主要由上位機(jī)、下位機(jī)、人機(jī)接口、現(xiàn)場傳感器和可執(zhí)行元件組成。上位機(jī)包括工程師站和操作員站,他們共用一臺(tái)電腦,上位機(jī)還作為數(shù)據(jù)服務(wù)器使用,存儲(chǔ)試驗(yàn)數(shù)據(jù)。下位機(jī)由一臺(tái)S7-200PLC擔(dān)任,它負(fù)責(zé)對(duì)現(xiàn)場傳感器檢測(cè)到的信號(hào)傳送給上位機(jī)進(jìn)行信號(hào)處理,同時(shí)它又把上位機(jī)的控制指令翻譯成執(zhí)行指令控制現(xiàn)場可執(zhí)行元件的動(dòng)作,從而實(shí)現(xiàn)系統(tǒng)整體自動(dòng)協(xié)調(diào)動(dòng)作,完成鋼管的靜水壓試驗(yàn)。人機(jī)接口包括鍵盤、鼠標(biāo)和操作臺(tái)。利用鍵盤、鼠標(biāo),通過電腦操作畫面完成參數(shù)傳遞和實(shí)時(shí)監(jiān)控顯示以及數(shù)據(jù)報(bào)表的打印等操作。操作臺(tái)完成外圍輔助設(shè)備的動(dòng)作,包括鋼管傳送、油泵和水泵的起停、管端封頭的移動(dòng)等。現(xiàn)場傳感器有水壓傳感器和油壓傳感器,它們負(fù)責(zé)實(shí)時(shí)檢測(cè)水路系統(tǒng)和油路系統(tǒng)的壓力,將它們轉(zhuǎn)換為電信號(hào)傳送到PLC,等待進(jìn)一步處理。可執(zhí)行元件包括電液比例閥、電磁換向閥、電機(jī)和信號(hào)指示燈,它們負(fù)責(zé)實(shí)現(xiàn)機(jī)械的各個(gè)具體動(dòng)作和相關(guān)信號(hào)指示。(2)軟件系統(tǒng)組成軟件系統(tǒng)包括:監(jiān)控組態(tài)軟件、歷史數(shù)據(jù)管理軟件、PLC運(yùn)行開發(fā)軟件(Step7MicroWin3.2)。監(jiān)控組態(tài)軟件包括開發(fā)環(huán)境系統(tǒng)和運(yùn)行環(huán)境系統(tǒng)。它們安裝在工程師站和操作員站上,工程師有權(quán)限運(yùn)行開發(fā)環(huán)境系統(tǒng)和運(yùn)行環(huán)境系統(tǒng),操作員只能運(yùn)行運(yùn)行環(huán)境系統(tǒng)。在運(yùn)行環(huán)境系統(tǒng)里,實(shí)行分級(jí)密碼保護(hù),不同權(quán)限的操作員只能運(yùn)行對(duì)應(yīng)權(quán)限的操作,工程師具有最高權(quán)限,他可以進(jìn)行所有操作。工程師利用開發(fā)環(huán)境系統(tǒng)開發(fā)出監(jiān)控程序,運(yùn)行環(huán)境系統(tǒng)負(fù)責(zé)現(xiàn)場實(shí)時(shí)數(shù)據(jù)的采集和保存。歷史數(shù)據(jù)管理軟件包括數(shù)據(jù)庫系統(tǒng)(Access數(shù)據(jù)庫)、數(shù)據(jù)報(bào)表查詢軟件(利用VB開發(fā)的可執(zhí)行文件)、VB開發(fā)系統(tǒng),它們負(fù)責(zé)歷史數(shù)據(jù)的報(bào)表查詢。工程師利用PLC開發(fā)軟件開發(fā)出控制軟件,通過PLC系統(tǒng)完成所需的動(dòng)作。PLC運(yùn)行軟件下載到PLC存儲(chǔ)器,通過自動(dòng)運(yùn)行控制現(xiàn)場可執(zhí)行元件的動(dòng)作。(3)人員組成人員組成有工程師和操作員。工程師負(fù)責(zé)控制系統(tǒng)的軟件維護(hù)和硬件技術(shù)支持。操作員負(fù)責(zé)具體操作,完成水壓機(jī)的所有功能。1.2.2水壓試管機(jī)控制系統(tǒng)的工作原理水壓機(jī)的基本工作原理是帕斯卡定律,利用水為工作介質(zhì),以靜壓力傳遞進(jìn)行工作控制系統(tǒng)的工作原理主要分為以下幾部分:1.工程師設(shè)置好控制參數(shù);2.根據(jù)工藝要求,操作員修改傳送工藝參數(shù);3.操作員利用操作臺(tái)通過PLC控制鋼管傳送裝置完成鋼管的傳送;4.當(dāng)鋼管到達(dá)試驗(yàn)位置后,操作員通過人機(jī)接口完成管端密封和管內(nèi)預(yù)充水,開始鋼管靜水壓試驗(yàn);5.水壓傳感器實(shí)時(shí)檢測(cè)鋼管里的水壓值,傳送到PLC進(jìn)行信號(hào)分析處理,根據(jù)油水平衡原理,計(jì)算出油壓控制信號(hào),輸出到電液比例閥的功率驅(qū)動(dòng)單元,控制電液比例閥的動(dòng)作,進(jìn)而控制管端封頭的油壓值,實(shí)現(xiàn)油水平衡,完成鋼管的靜水壓試驗(yàn)。油壓傳感器和水壓傳感器檢測(cè)到的信號(hào)同時(shí)被實(shí)時(shí)送到工控機(jī)里,操作員通過監(jiān)控畫面實(shí)時(shí)監(jiān)控試驗(yàn)過程。
第二章S7-200概述S7-200是一種小型的可編程控制器,適用于各行各業(yè),各種場合中的檢測(cè)、監(jiān)測(cè)及控制的自動(dòng)化。S7-200系列的強(qiáng)大功能使其無論在獨(dú)立運(yùn)行中,或相連成網(wǎng)絡(luò)皆能實(shí)現(xiàn)復(fù)雜控制功能。因此S7-200系列具有極高的性能/價(jià)格比。2.1S7-200優(yōu)點(diǎn)S7-200系列出色表現(xiàn)在以下幾個(gè)方面:*極高的可靠性*極豐富的指令集*易于掌握*便捷的操作*豐富的內(nèi)置集成功能*實(shí)時(shí)特性*強(qiáng)勁的通訊能力*豐富的擴(kuò)展模塊2.2S7-200適用范圍S7-200系列在集散自動(dòng)化系統(tǒng)中充分發(fā)揮其強(qiáng)大功能。使用范圍可覆蓋從替代繼電器的簡單控制到更復(fù)雜的自動(dòng)化控制。應(yīng)用領(lǐng)域極為廣泛,覆蓋所有與自動(dòng)檢測(cè),自動(dòng)化控制有關(guān)的工業(yè)及民用領(lǐng)域,包括各種機(jī)床、機(jī)械、電力設(shè)施、民用設(shè)施、環(huán)境保護(hù)設(shè)備等等。如:沖壓機(jī)床,磨床,印刷機(jī)械,橡膠化工機(jī)械,中央空調(diào),電梯控制,運(yùn)動(dòng)系統(tǒng)。S7-200系列PLC可提供4個(gè)不同的基本型號(hào)的8種CPU供使用。2.3S7-200CPU介紹集成的24V負(fù)載電源:可直接連接到傳感器和變送器(執(zhí)行器),CPU221,222具有180mA輸出,CPU224,CPU224XP,CPU226分別輸出280,400mA,可用作負(fù)載電源。不同的設(shè)備類型:CPU221-226各有2種類型CPU,具有不同的電源電壓和控制電壓。(1)本機(jī)數(shù)字量輸入/輸出點(diǎn):CPU221具有6個(gè)輸入點(diǎn)和4個(gè)輸出點(diǎn),CPU222具有8個(gè)輸入點(diǎn)和6個(gè)輸出點(diǎn),CPU224具有14個(gè)輸入點(diǎn)和10個(gè)輸出點(diǎn),CPU224XP具有14個(gè)輸入點(diǎn)和10個(gè)輸出點(diǎn),CPU226具有24個(gè)輸入點(diǎn)和16個(gè)輸出點(diǎn)。(2)本機(jī)模擬量輸入/輸出點(diǎn)CPU224XP具有2個(gè)輸入點(diǎn),1個(gè)輸出點(diǎn)。(3)中斷輸入允許以極快的速度對(duì)過程信號(hào)的上升沿作出響應(yīng)。(4)高速計(jì)數(shù)器CPU221/2224個(gè)高速計(jì)數(shù)器(30KHz),可編程并具有復(fù)位輸入,2個(gè)獨(dú)立的輸入端可同時(shí)作加、減計(jì)數(shù),可連接兩個(gè)相位差為90°的A/B相增量編碼器。CPU224/224XP/2266個(gè)高速計(jì)數(shù)器(30KHz),具有CPU221/222相同的功能。CPU222/224/224XP/226可方便地用數(shù)字量和模擬量擴(kuò)展模塊進(jìn)行擴(kuò)展。可使用仿真器(選件)對(duì)本機(jī)輸入信號(hào)進(jìn)行仿真,用于調(diào)試用戶程序。模擬電位器CPU221/2221個(gè)CPU224/224XP/2262個(gè)脈沖輸出2路高頻率脈沖輸出(最大20KHz),用于控制步進(jìn)電機(jī)或伺服電機(jī)實(shí)現(xiàn)定位任務(wù)。實(shí)時(shí)時(shí)鐘例如為信息加注時(shí)間標(biāo)記,記錄機(jī)器運(yùn)行時(shí)間或?qū)^程進(jìn)行時(shí)間控制。EEPROM存儲(chǔ)器模塊(選件)可作為修改與拷貝程序的快速工具(無需編程器),并可進(jìn)行輔助軟件歸檔工作。電池模塊用于長時(shí)間數(shù)據(jù)后備。用戶數(shù)據(jù)(如標(biāo)志位狀態(tài),數(shù)據(jù)塊,定時(shí)器,計(jì)數(shù)器)可通過內(nèi)部的超級(jí)電容存貯大約5天。選用電池模塊能延長存貯時(shí)間到200天(10年壽命)。電池模塊插在存儲(chǔ)器模塊的卡槽中。編程CPU221/222/224/224XP/226STEP7-Micro/WIN32V3.1編程軟件可以對(duì)所有的CPU221/222/224/224XP/226功能進(jìn)行編程。同時(shí)也可以使用STEP7-Micro/WIN16V2.1軟件包,但是它只支持對(duì)S7-21x同樣具有的功能進(jìn)行編程。STEP7-Micro/DOS不能對(duì)CPU221/222/224/224XP/226編程。如果使用PG/PC的串口編程,則需要使用PC/PPI電纜。如果使用STEP7-Micro/WIN32V3.1編程軟件,則也可以通過SIMATICCP5511或CP5611編程。在這種情況下,通訊速率可高達(dá)187.5kbit/s。可以利用PC/PPI電纜和自由口通訊功能把S7-200CPU連接到許多和RS-232標(biāo)準(zhǔn)兼容的設(shè)備。有兩種不同型號(hào)的PC/PPI電纜:帶有RS-232口的隔離型PC/PPI電纜,用5個(gè)DIP開關(guān)設(shè)置波特率和其它配置項(xiàng)(見下圖)。帶有RS-232口的非隔離型PC/PPI電纜,用4個(gè)DIP開關(guān)設(shè)置波特率。有關(guān)非隔離型PC/PPI電纜的技術(shù)規(guī)范,請(qǐng)參閱S7-200可編程控制器系統(tǒng)手冊(cè)。當(dāng)數(shù)據(jù)從RS-232傳送到RS-485口時(shí),PC/PPI電纜是發(fā)送模式。當(dāng)數(shù)據(jù)從RS-485傳送到RS-232口時(shí),PC/PPI電纜是接收模式。當(dāng)檢測(cè)到RS-232的發(fā)送線有字符時(shí),電纜立即從接收模式轉(zhuǎn)換到發(fā)送模式。當(dāng)RS-232發(fā)送線處于閑置的時(shí)間超過電纜切換時(shí)間時(shí),電纜又切換到接收模式。這個(gè)時(shí)間與電纜上的DIP開關(guān)設(shè)定的波特率選擇有關(guān)。2.4S7-200各型號(hào)優(yōu)點(diǎn)(1)CPU221本機(jī)集成6輸入/4輸出共10個(gè)數(shù)字量I/O點(diǎn)。無I/O擴(kuò)展能力。6K字節(jié)程序和數(shù)據(jù)存儲(chǔ)空間。4個(gè)獨(dú)立的30kHz高速計(jì)數(shù)器,2路獨(dú)立的20kHz高速脈沖輸出。1個(gè)RS485通訊/編程口,具有PPI通訊協(xié)議、MPI通訊協(xié)議和自由方式通訊能力。非常適合于小點(diǎn)數(shù)控制的微型控制器。(2)CPU222本機(jī)集成8輸入/6輸出共14個(gè)數(shù)字量I/O點(diǎn)。可連接2個(gè)擴(kuò)展模塊。6K字節(jié)程序和數(shù)據(jù)存儲(chǔ)空間。4個(gè)獨(dú)立的30kHz高速計(jì)數(shù)器,2路獨(dú)立的20kHz高速脈沖輸出。1個(gè)RS485通訊/編程口,具有PPI通訊協(xié)議、MPI通訊協(xié)議和自由方式通訊能力。非常適合于小點(diǎn)數(shù)控制的微型控制器。(3)CPU224本機(jī)集成14輸入/10輸出共24個(gè)數(shù)字量I/O點(diǎn)。可連接7個(gè)擴(kuò)展模塊,最大擴(kuò)展至168路數(shù)字量I/O點(diǎn)或35路模擬量I/O點(diǎn)。13K字節(jié)程序和數(shù)據(jù)存儲(chǔ)空間。6個(gè)獨(dú)立的30kHz高速計(jì)數(shù)器,2路獨(dú)立的20kHz高速脈沖輸出,具有PID控制器。1個(gè)RS485通訊/編程口,具有PPI通訊協(xié)議、MPI通訊協(xié)議和自由方式通訊能力。I/O端子排可很容易地整體拆卸。是具有較強(qiáng)控制能力的控制器。(4)CPU224XP本機(jī)集成14輸入/10輸出共24個(gè)數(shù)字量I/O點(diǎn),2輸入/1輸出共3個(gè)模擬量I/O點(diǎn),可連接7個(gè)擴(kuò)展模塊,最大擴(kuò)展值至168路數(shù)字量I/O點(diǎn)或38路模擬量I/O點(diǎn)。20K字節(jié)程序和數(shù)據(jù)存儲(chǔ)空間,6個(gè)獨(dú)立的高速計(jì)數(shù)器(100KHz),2個(gè)100KHz的高速脈沖輸出,2個(gè)RS485通訊/編程口,具有PPI通訊協(xié)議、MPI通訊協(xié)議和自由方式通訊能力。本機(jī)還新增多種功能,如內(nèi)置模擬量I/O,位控特性,自整定PID功能,線性斜坡脈沖指令,診斷LED,數(shù)據(jù)記錄及配方功能等。是具有模擬量I/O和強(qiáng)大控制能力的新型CPU。(5)CPU226本機(jī)集成24輸入/16輸出共40個(gè)數(shù)字量I/O點(diǎn)。可連接7個(gè)擴(kuò)展模塊,最大擴(kuò)展至248路數(shù)字量I/O點(diǎn)或35路模擬量I/O點(diǎn)。13K字節(jié)程序和數(shù)據(jù)存儲(chǔ)空間。6個(gè)獨(dú)立的30kHz高速計(jì)數(shù)器,2路獨(dú)立的20kHz高速脈沖輸出,具有PID控制器。2個(gè)RS485通訊/編程口,具有PPI通訊協(xié)議、MPI通訊協(xié)議和自由方式通訊能力。I/O端子排可很容易地整體拆卸。用于較高要求的控制系統(tǒng),具有更多的輸入/輸出點(diǎn),更強(qiáng)的模塊擴(kuò)展能力,更快的運(yùn)行速度和功能更強(qiáng)的內(nèi)部集成特殊功能。可完全適應(yīng)于一些復(fù)雜的中小型控制系統(tǒng)。S7-200系列PLC是PID控制器的產(chǎn)品,另外,國內(nèi)外還有一些廠家生產(chǎn)與其完全兼容的產(chǎn)品,例如德國VIPA公司,中國上海正航電子科技有限公司等。221222224224XP226226XM圖2.1各型號(hào)的S7-2002.5S7-200的特性2.5.1S7-200允許你在程序中立即讀寫I/O在s7-200的指令集中提供了立即讀寫物理I/O點(diǎn)的指令。盡管通常情況下我們使用映象寄存器作為源地址和目的地址來訪問I/O,但這些立即I/O指令卻允許我們自接訪問真正的輸入、輸出點(diǎn)。當(dāng)使用立即指令訪問一個(gè)輸入點(diǎn)時(shí),相應(yīng)的過程映象輸入寄存器小會(huì)發(fā)生改變。但當(dāng)你用立即指令訪問一個(gè)輸出點(diǎn)時(shí),相應(yīng)的過程映象輸出寄存器會(huì)同時(shí)更新。通常認(rèn)為在執(zhí)行應(yīng)用程序時(shí),用過程映象寄存器會(huì)比使用自接訪問輸入、輸出具有優(yōu)越性。之所以這樣有以下三個(gè)原因:1.所有輸入點(diǎn)的采樣是在掃描周期的一開始同步進(jìn)行的。在整個(gè)掃描周期的程序執(zhí)行過程中輸入值被凍結(jié)。而輸出點(diǎn)按照映象寄存器中的值刷新是在程序執(zhí)行完成之后。這樣會(huì)使系統(tǒng)更加穩(wěn)定。2.訪問映象寄存器的速度比自接訪問I/O點(diǎn)要快,有利于程序快速運(yùn)行。3.I/O點(diǎn)是位實(shí)體,只能按位或者字節(jié)來訪問,而你可以按位、字節(jié)、字或者雙字的形式來訪問映象寄存器。也就是說,使用映象寄存器更為靈活。2.5.2S7-200允許在程序掃描周期中使用中斷如果你使用了中斷,與中斷事件相關(guān)的中斷服務(wù)程序作為程序的一部分被保存。中斷服務(wù)程序小會(huì)在正常的程序掃描周期中執(zhí)行,它只有在中斷事件發(fā)生時(shí)才被執(zhí)行(有可能在掃描周期的任意一點(diǎn))。在中斷優(yōu)先級(jí)相同的情況下,S7-200遵循先來先服務(wù)的原則來執(zhí)行中斷服務(wù)程。2.5.3S7-200允許設(shè)定通訊任務(wù)的處理時(shí)間你可以設(shè)定一個(gè)掃描周期的百分比用來處理與RUN模式編譯或執(zhí)行狀態(tài)相關(guān)的通訊請(qǐng)求。當(dāng)你增加用于處理通訊請(qǐng)求時(shí)間的百分比的同時(shí),也增加了程序的掃描周期,使你的控制過程變慢。用于處理通訊請(qǐng)求的時(shí)間百分比的缺省值為10}。這個(gè)默認(rèn)設(shè)置為在對(duì)控制過程影響最小的前提下處理編譯和狀態(tài)操作,提供了一個(gè)合理的時(shí)間。你可以在5%到50%之間調(diào)節(jié)這個(gè)值。要想設(shè)置背景通訊的掃描周期時(shí)間片,按以下步驟:1.在命令菜單中選擇View>Comoonent>SYstemBlock,單擊背景時(shí)間標(biāo)簽。2.改變通訊背景時(shí)間的值并單擊OK。3.將改變后的系統(tǒng)塊下載到S7-200中。圖2.2通訊背景時(shí)間2.5.4S7-200允許你設(shè)置停止模式下的數(shù)字量輸出狀態(tài)S7-200的輸出表允許你選擇STOP模式下的輸出狀態(tài),是將已知值傳送到數(shù)字量輸出點(diǎn),還是使輸出保持S丁OP模式之前的狀態(tài)。輸出表是系統(tǒng)塊的一部分,它被下載并存儲(chǔ)在CPU中,而且僅供數(shù)字量輸出使用。在命令菜單中選擇View>Component>SystemBlock,單擊輸出表標(biāo)簽。如果要凍結(jié)上一個(gè)狀態(tài)的輸出,選擇FreezeOouts復(fù)選框。如果要將輸出表中的值復(fù)制到輸出點(diǎn)上,則要填寫輸出表。在你希望從運(yùn)行到停止模式轉(zhuǎn)換后置1的相應(yīng)位置上點(diǎn)擊。(輸出表的缺省設(shè)置全部為O。)點(diǎn)擊OK保存你的選擇。將改變后的系統(tǒng)塊下載到S7-200中圖2.3組態(tài)輸出表2.5.5S7-200允許你定義掉電保持存儲(chǔ)區(qū)如果你希望在掉電后仍然保持存儲(chǔ)區(qū)中的數(shù)據(jù),你可以定義最多六個(gè)掉電保持區(qū)的地址范圍。在掉電保持區(qū)中你可以使用以下存儲(chǔ)區(qū)的地址范圍:V,M,C和丁。只有保持刑定時(shí)器(丁ONR)可以設(shè)為掉電保持的。M存儲(chǔ)區(qū)的前14個(gè)字節(jié),缺省設(shè)置為小保持對(duì)于定時(shí)器和計(jì)數(shù)器來說,只有當(dāng)前值可以保持,而定時(shí)器位和計(jì)數(shù)器位是小能保持的。按照以下步驟設(shè)置掉電保持區(qū):1在命令菜單中選擇View>Component>SYstemBlock,單擊掉電保持區(qū)標(biāo)禁。2設(shè)置掉電保持區(qū)的范圍并單擊OKa3將改變后的系統(tǒng)塊下載到S7-200中。圖2.4掉電保持存儲(chǔ)區(qū)2.5.6S7-200允許你對(duì)數(shù)字量輸入加濾波器S7-200允許你為某些或者全部本機(jī)數(shù)字量輸入點(diǎn)選擇輸入濾波器,并為濾波器定義延遲時(shí)間(從0.2ms到12.8ms可選)。這個(gè)延遲時(shí)間有助于濾除輸入噪聲,以免引入輸入狀態(tài)小可預(yù)測(cè)的變化。輸入濾波器是系統(tǒng)塊的一部分,它被下載并存儲(chǔ)在CPU中。濾波器延遲時(shí)間的缺省值為6.4ms。如圖4-24所示,一組輸入點(diǎn)共用一個(gè)延遲時(shí)間。按照以下步驟設(shè)置輸入濾波器延遲時(shí)間:1.在命令菜單中選擇View>Component>SYstemBlock,單擊輸入濾波器標(biāo)簽。2.為每一組輸入指定延遲時(shí)間。3.將改變后的系統(tǒng)塊下載到S7-200中。圖2.5組態(tài)輸入濾波器2.5.7S7-200允許你對(duì)模擬量輸入加濾波器S7-200允許你對(duì)每一路模擬量輸入選擇軟件濾波器。濾波值是多個(gè)模擬量輸入采樣值的平均值。濾波器參數(shù)(采樣次數(shù)和死區(qū))對(duì)于允許濾波的所有模擬量輸入是相同的。濾波器具有快速響應(yīng)的特點(diǎn),可以反映信號(hào)的快速變化。當(dāng)輸入與平均值的差超過設(shè)定的變化時(shí),濾波器對(duì)最近的模擬量輸入值產(chǎn)生一個(gè)階躍函數(shù)。這個(gè)差稱為死區(qū),并用模擬量輸入的數(shù)字信號(hào)設(shè)定。缺省配置是允許所有輸入濾波。1.在命令菜單中選擇View>Comoonent>SystemBlock,單擊模擬量輸入濾波標(biāo)簽。2.選擇需要濾波的模擬量輸入、采樣個(gè)數(shù)和死區(qū)。3.單擊OKa4.將改變后的系統(tǒng)塊下載到S7-200中。圖2.6模擬輸入量濾波2.5.8S7-200允許你捕捉窄脈沖S7-200為每個(gè)本機(jī)數(shù)字量輸入提供脈沖捕捉功能。脈沖捕捉功能允許PLC捕捉到持續(xù)時(shí)問很短的高電平脈沖或者低電平脈沖。而在掃描周期的開始,這些脈沖小是總能被CPU讀到。當(dāng)一個(gè)輸入設(shè)置了脈沖捕捉功能時(shí),輸入端的狀態(tài)變化被鎖存并一自保持到下一個(gè)掃描循環(huán)刷新。這就確保了一個(gè)持續(xù)時(shí)問很短的脈沖被捕捉到并保持到S7-200讀取輸入點(diǎn)。可以分別使能每一個(gè)本機(jī)數(shù)字量輸入點(diǎn)的脈沖捕捉功能。按照以下步驟設(shè)置脈沖捕捉:1.在命令菜單中選擇View>Component>SYstemBlock,單擊脈沖捕捉標(biāo)禁a2.點(diǎn)擊相應(yīng)的復(fù)選框并點(diǎn)擊OKa3.將改變后的系統(tǒng)塊下載到S7-200中。圖2.7脈沖捕捉帶有和不帶有脈沖捕捉功能的S7-200的基本操作如下圖所示。圖2.8帶有和不帶有脈沖捕捉功能的S7-200操作由于脈沖是在通過了輸入濾波器之后,才能夠被捕捉到,因而要調(diào)整輸入濾波時(shí)問,確保脈沖小被濾掉。數(shù)字輸入電路的方框圖如圖所示。圖2.9數(shù)字輸入電路圖2.10不同輸入條件下的脈沖捕捉響應(yīng)2.5.9S7-200提供密碼保護(hù)功能所有的S7-200CPU都提供了密碼保護(hù),來限制對(duì)某些特定功能的使用。對(duì)CPU功能及存儲(chǔ)器的訪問權(quán)限是通過密碼來實(shí)現(xiàn)的。小設(shè)定密碼保護(hù),對(duì)S7-200的訪問沒有限制。設(shè)置了密碼保護(hù),根據(jù)女裝密碼時(shí)的設(shè)置,CPU禁比所有的受限操作。密碼小區(qū)分大小寫。如表4-3所示,S7-200CPU提供了限制CPU訪問功能的三個(gè)等級(jí)。每個(gè)等級(jí)允許特定的無需密碼的訪問功能。S7-200的缺省設(shè)置為等級(jí)1(沒有限制)。在網(wǎng)絡(luò)中輸入密碼小會(huì)對(duì)CPU的密碼保護(hù)有所危害。CPU只允許一個(gè)用戶使用訪問權(quán)限,禁比其它用戶使用這些功能。同一時(shí)刻,只允許一個(gè)用戶小受限制地訪問CPU。圖2.11S7-200的存取限制為S7-200配置密碼。如圖所示的系統(tǒng)塊對(duì)話框允許你為S7-200配置密碼。1在命令菜單中選擇View>Component>SYstemBlock,單擊密碼標(biāo)禁。2.為S7-200選擇介適的訪問級(jí)別。3.輸入并確認(rèn)密碼。4.單擊OKa5.將改變后的系統(tǒng)塊下載到S7-200中。圖2.12創(chuàng)建密碼密碼忘記后如何恢復(fù)如果你忘記了密碼,你必須清除存儲(chǔ)器,重新下載應(yīng)用程序。清除存儲(chǔ)器會(huì)使S7-200處于停比模式,并且將S7-200中,除了網(wǎng)絡(luò)地址、波特率和時(shí)鐘以外的其它參數(shù)恢復(fù)到出廠設(shè)置。按照以下步驟清除S7-200中的應(yīng)用程序:1.在命令菜單中選擇PLC>Clear來顯示清除對(duì)話框。2.選擇所有的塊并點(diǎn)擊OK確認(rèn)。3.如果配置了密碼,S下EP7-Micro/WIN會(huì)顯示密碼授權(quán)對(duì)話框。要清除密碼,在密碼授權(quán)對(duì)話框中輸入“CLEARPLC",就可以繼續(xù)執(zhí)行全部清除的操作。("CLEARPLC"小區(qū)分大小寫。)全部清除操作小會(huì)去掉存儲(chǔ)卡中的程序。由于密碼和程序一同保存在存儲(chǔ)卡中,因而必須重新寫存儲(chǔ)卡,才能從程序中去掉密碼。2.5.10S7-200提供模擬電位器模擬電位器位于模塊前蓋下而。你可以調(diào)節(jié)這些電位器來增加或者減小存于特殊存儲(chǔ)器中的值(SMB)。這些只讀值在程序中可用作很多功能,如更新定時(shí)器或計(jì)數(shù)器的當(dāng)前值,輸入或修改頂置值、限定值等。可以用一個(gè)小螺絲刀來進(jìn)行調(diào)節(jié):將電位器順時(shí)針(向右)旋轉(zhuǎn)來使數(shù)值增大;逆時(shí)針(向左)旋轉(zhuǎn)來使數(shù)值減小。SMB28中的數(shù)值代表模擬電位器0的位置。SMB29中的數(shù)值代表模擬電位器1的位置。模擬電位器的標(biāo)定范圍為0到255,重復(fù)度為士2a,S7-200提供高速I/O,高速計(jì)數(shù)器。S7-200具有集成的高速計(jì)數(shù)功能,它能夠?qū)ν獠扛咚偈录?jì)數(shù)而小影響S7-200的性能。不同CPU支持的計(jì)數(shù)速率,參見附錄A。每個(gè)計(jì)數(shù)器都有專用的輸入點(diǎn)作為時(shí)鐘、方向控制、復(fù)位端、啟動(dòng)端等功能輸入。在小同的模式下有小同的計(jì)數(shù)速率。。高速脈沖輸出S7-200支持高速脈沖輸出功能。PTO輸出方波(占空比50%),并可指定所輸出的脈沖數(shù)量和周期。脈沖數(shù)可指定為1到4,294,967,295。周期的單位。J一以是微秒(us),也。J一以是毫秒(ms),設(shè)為50到65,535微秒或者2到65,535毫秒。脈沖序列輸出(戶下O)功能可以編程為產(chǎn)生一列脈沖或產(chǎn)生由多個(gè)脈沖序列組成的脈沖包絡(luò)。在脈沖包絡(luò)操作方式中,戶下O功能被編程為控制一個(gè)步進(jìn)電機(jī)運(yùn)行一個(gè)簡單的斜坡上升、運(yùn)行和斜坡下降操作序列或更復(fù)雜的操作序列。包絡(luò)最多由255段組成,每一段對(duì)應(yīng)一個(gè)斜坡上升或斜坡下降操作。PWM功能提供具有可變占空比的固定周期的輸出脈沖。周期和脈寬既可以用微秒又可以用毫秒為單位。周期范圍為50到65,535微秒或者2到65,535毫秒。脈寬可以從0到65,535微秒或者0到65,535毫秒。當(dāng)脈寬等于周期時(shí),占空比為100%,輸出恒定為1;當(dāng)脈寬等于0時(shí),占空比為0,輸出恒定為0.
第三章串行通信基礎(chǔ)3.1串行通信概述及分類3.1.1概念串行通信(SerialCommunication),是指外設(shè)和計(jì)算機(jī)間,通過數(shù)據(jù)信號(hào)線、地線、控制線等,按位進(jìn)行傳輸數(shù)據(jù)的一種通訊方式。這種通信方式使用的數(shù)據(jù)線少,在遠(yuǎn)距離通信中可以節(jié)約通信成本,但其傳輸速度比并行傳輸?shù)汀kS著計(jì)算機(jī)系統(tǒng)的應(yīng)用和微機(jī)網(wǎng)絡(luò)的發(fā)展,通信功能越來越顯的重要.這里所說的通信是指計(jì)算機(jī)與外界的信息交換.因此,通信既包括計(jì)算機(jī)與外部設(shè)備之間,也包括計(jì)算機(jī)和計(jì)算機(jī)之間的信息交換.由于串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少,并且可以借助現(xiàn)成的電話網(wǎng)進(jìn)行信息傳送,因此,特別適合于遠(yuǎn)距離傳輸.對(duì)于那些與計(jì)算機(jī)相距不遠(yuǎn)的人-機(jī)交換設(shè)備和串行存儲(chǔ)的外部設(shè)備如終端、打印機(jī)、邏輯分析儀、磁盤等,采用串行方式交換數(shù)據(jù)也很普遍.在實(shí)時(shí)控制和管理方面,采用多臺(tái)微機(jī)處理機(jī)組成分級(jí)分布控制系統(tǒng)中,各CPU之間的通信一般都是串行方式.所以串行接口是微機(jī)應(yīng)用系統(tǒng)常用的接口。許多外設(shè)和計(jì)算機(jī)按串行方式進(jìn)行通信,這里所說的串行方式,是指外設(shè)與接口電路之間的信息傳送方式,實(shí)際上,CPU與接口之間仍按并行方式工作.3.1.2串行通信的分類串行通信可以分為同步通信和異步通信兩類。同步通信是按照軟件識(shí)別同步字符來實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收,異步通信是一種利用字符的再同步技術(shù)的通信方式。、3.2串行通信的工作方式由于CPU與接口之間按并行方式傳輸,接口與外設(shè)之間按串行方式傳輸,因此,在串行接口中,必須要有"接收移位寄存器"(串→并)和"發(fā)送移位寄存器"(并→串).在數(shù)據(jù)輸入過程中,數(shù)據(jù)1位1位地從外設(shè)進(jìn)入接口的"接收移位寄存器",當(dāng)"接收移位寄存器"中已接收完1個(gè)字符的各位后,數(shù)據(jù)就從"接收移位寄存器"進(jìn)入"數(shù)據(jù)輸入寄存器".CPU從"數(shù)據(jù)輸入寄存器"中讀取接收到的字符.(并行讀取,即D7~D0同時(shí)被讀至累加器中)."接收移位寄存器"的移位速度由"接收時(shí)鐘"確定.在數(shù)據(jù)輸出過程中,CPU把要輸出的字符(并行地)送入"數(shù)據(jù)輸出寄存器","數(shù)據(jù)輸出寄存器"的內(nèi)容傳輸?shù)?發(fā)送移位寄存器",然后由"發(fā)送移位寄存器"移位,把數(shù)據(jù)1位1位地送到外設(shè)."發(fā)送移位寄存器"的移位速度由"發(fā)送時(shí)鐘"確定.接口中的"控制寄存器"用來容納CPU送給此接口的各種控制信息,這些控制信息決定接口的工作方式."狀態(tài)寄存器"的各位稱為"狀態(tài)位",每一個(gè)狀態(tài)位都可以用來指示數(shù)據(jù)傳輸過程中的狀態(tài)或某種錯(cuò)誤.例如,用狀態(tài)寄存器的D5位為"1"表示"數(shù)據(jù)輸出寄存器"空,用D0位表示"數(shù)據(jù)輸入寄存器滿",用D2位表示"奇偶檢驗(yàn)錯(cuò)"等.能夠完成上述"串<-->并"轉(zhuǎn)換功能的電路,通常稱為"通用異步收發(fā)器"(UART:UniversalAsynchronousReceiverandTransmitter),典型的芯片有:Intel8250/8251,16550。3.3串口通信的物理接口標(biāo)準(zhǔn)(1)實(shí)現(xiàn)數(shù)據(jù)格式化:因?yàn)閬碜訡PU的是普通的并行數(shù)據(jù),所以,接口電路應(yīng)具有實(shí)現(xiàn)不同串行通信方式下的數(shù)據(jù)格式化的任務(wù)。在異步通信方式下,接口自動(dòng)生成起止式的幀數(shù)據(jù)格式。在面向字符的同步方式下,接口要在待傳送的數(shù)據(jù)塊前加上同步字符。(2)進(jìn)行串-并轉(zhuǎn)換:串行傳送,數(shù)據(jù)是一位一位串行傳送的,而計(jì)算機(jī)處理數(shù)據(jù)是并行數(shù)據(jù)。所以當(dāng)數(shù)據(jù)由計(jì)算機(jī)送至數(shù)據(jù)發(fā)送器時(shí),首先把串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)才能送入計(jì)算機(jī)處理。因此串并轉(zhuǎn)換是串行接口電路的重要任務(wù)。(3)控制數(shù)據(jù)傳輸速率:串行通信接口電路應(yīng)具有對(duì)數(shù)據(jù)傳輸速率——波特率進(jìn)行選擇和控制的能力。(4)進(jìn)行錯(cuò)誤檢測(cè):在發(fā)送時(shí)接口電路對(duì)傳送的字符數(shù)據(jù)自動(dòng)生成奇偶校驗(yàn)位或其他校驗(yàn)碼。在接收時(shí),接口電路檢查字符的奇偶校驗(yàn)或其他校驗(yàn)碼,確定是否發(fā)生傳送錯(cuò)誤。(5)進(jìn)行TTL與EIA電平轉(zhuǎn)換:CPU和終端均采用TTL電平及正邏輯,它們與EIA采用的電平及負(fù)邏輯不兼容,需在接口電路中進(jìn)行轉(zhuǎn)換。(6)提供EIA-RS-232C接口標(biāo)準(zhǔn)所要求的信號(hào)線:RS-232-C,也稱標(biāo)準(zhǔn)串口,是目前最常用的一種串行通訊接口。它是在1970年由美國電子工業(yè)協(xié)會(huì)(EIA)聯(lián)合貝爾系統(tǒng)、調(diào)制解調(diào)器廠家及計(jì)算機(jī)終端生產(chǎn)廠家共同制定的用于串行通訊的標(biāo)準(zhǔn)。它的全名是“數(shù)據(jù)終端設(shè)備(DTE)和數(shù)據(jù)通訊設(shè)備(DCE)之間串行二進(jìn)制數(shù)據(jù)交換接口技術(shù)標(biāo)準(zhǔn)”。傳統(tǒng)的RS-232-C接口標(biāo)準(zhǔn)有22根線,采用標(biāo)準(zhǔn)25芯D型插頭座。后來的PC上使用簡化了的9芯D型插座。現(xiàn)在應(yīng)用中25芯插頭座已很少采用。現(xiàn)在的電腦一般有兩個(gè)串行口:COM1和COM2,你到計(jì)算機(jī)后面能看到9針D形接口就是了。遠(yuǎn)距離通信采用MODEM時(shí),需要9根信號(hào)線,九針串口圖及引腳功能如下:1CD2RDX1CD2RDX3TXD4DTRCOMMON6DSR7RTS8CTS9RI1CD2RDX3TXD4DTRCOMMON6DSR7RTS8CTS9RI圖3.1九針串口圖引腳功能:1載波檢測(cè)(CD)2接受數(shù)據(jù)(RXD)3發(fā)出數(shù)據(jù)(TXD)4數(shù)據(jù)終端準(zhǔn)備好(DTR)5信號(hào)地線(SG)6數(shù)據(jù)準(zhǔn)備好(DSR)7請(qǐng)求發(fā)送(RTS) 8清除發(fā)送(CTS)9振鈴指示(RI)
第四章自由口模式下PLC與計(jì)算機(jī)的通信4.1自由口模式下PLC與計(jì)算機(jī)的通信概述下面說明如何以自由協(xié)議實(shí)現(xiàn)計(jì)算機(jī)與S7-200的通信,計(jì)算機(jī)作為主站,可以實(shí)現(xiàn)對(duì)PLC從站各寄存器的讀/寫操作。計(jì)算機(jī)通過COM口發(fā)送指令到PLC的PORT0(或PORT1)口,PLC通過RCV接收指令,然后對(duì)指令進(jìn)行譯碼,譯碼后調(diào)用相應(yīng)的讀/寫子程序?qū)崿F(xiàn)指令要求的操作,并返回指令執(zhí)行的狀態(tài)信息。4.2自由口模式下PLC與計(jì)算機(jī)的通信的協(xié)議在自由口模式下,通信協(xié)議是由用戶定義的。用戶可以用梯形圖程序調(diào)用接收中斷、發(fā)送指令(XMT)、接受指令(RCV)來控制通信操作。在自由口模式下,通信協(xié)議完全由梯形圖程序控制。4.3指令格式定義(1)計(jì)算機(jī)每次一個(gè)33字節(jié)長的指令來實(shí)現(xiàn)一次讀/寫操作。1.起始字符起始字符標(biāo)志著指令的開始,在本例中被定義為ASCII碼的“@",不同的PLC從站可以定義不同的起始字符以接收針對(duì)該P(yáng)LC的指令。2.指令類型該字節(jié)用來標(biāo)志指令的類刑,在本例中05H代表讀操作,06H代表寫操作。3.目標(biāo)PLC站地址目標(biāo)PLC站地址占用指令的B2,B3兩個(gè)字節(jié),以十六進(jìn)制ASCII碼的格式表示目標(biāo)PLC的站地址。4.目標(biāo)寄存器地址在PLC內(nèi)部可以用4個(gè)字節(jié)來表示一個(gè)寄存器的地址(但小能表示一個(gè)位地址)。前兩個(gè)字節(jié)表示寄存器類型,后兩個(gè)字節(jié)表示寄存器號(hào)。0000(H):I寄存器區(qū)0100(H):Q寄存器區(qū)0200(H):M寄存器區(qū)0800(H):V寄存器區(qū)例如:IB000I的地址可表示為00000000(H)VB100I的地址可表示為08000064(H)6.讀/寫字節(jié)數(shù)M當(dāng)讀命令時(shí),始終讀回從目標(biāo)寄存器開始的連續(xù)8個(gè)字節(jié)的數(shù)據(jù)(轉(zhuǎn)換為十六進(jìn)制ASCII碼后占用16個(gè)字節(jié)),叫以根據(jù)自己的需要取用,M叫以任意寫入。當(dāng)寫命令時(shí),M表示的是要寫入數(shù)據(jù)的十六進(jìn)制ASCII碼所占用的字節(jié)數(shù)。例如要寫入1個(gè)字節(jié)的數(shù)據(jù),數(shù)據(jù)在指令中以十六進(jìn)制ASCII碼表示,它將占用2個(gè)字節(jié),此時(shí)應(yīng)向M中寫入“02"。同理,如果要寫入5個(gè)字節(jié)的數(shù)據(jù),M中應(yīng)寫入"OA"。7.要寫入的數(shù)據(jù)要寫入的數(shù)據(jù)在指令中十六進(jìn)制ASCII碼的格式表示,占用指令的B14-B29共16個(gè)字節(jié)。數(shù)據(jù)區(qū)必須填滿,但只有前M個(gè)字節(jié)的數(shù)據(jù)會(huì)被寫入目標(biāo)寄存器。一條指令最多可以寫入8個(gè)字節(jié)的數(shù)據(jù)(此時(shí)M中應(yīng)寫入“10",代表十進(jìn)制的16)8.BCC校驗(yàn)碼在傳輸過程中,指令有可能受到任何干擾而使原來的數(shù)據(jù)信號(hào)發(fā)生扭曲,此時(shí)的指令當(dāng)然是錯(cuò)誤的,為了偵測(cè)指令在傳輸過程中發(fā)生的錯(cuò)誤,接收方必須對(duì)指令作進(jìn)一步的確認(rèn)上作,以防止錯(cuò)誤的指令被執(zhí)行,最簡單的方法就是使用校驗(yàn)碼。BCC校驗(yàn)碼的方法就是將要傳送的字符串的ASCII碼以字節(jié)為單位作異或和,并將此異或和作為指令的部分傳送出去;同樣地,接收方在接到指令后,以相同的方式對(duì)接收到的字符串作異或和,并與傳送方所送過來的值作對(duì)比,若其值相等,則代表接收到的指令是正確的,反之則是錯(cuò)誤的。在本例中,bcc為指令B1到B29的異或和,BCC為bcc的十六進(jìn)制ASCII碼。Bcc=B1xorB2xorB3xorB4xor……xorB299.結(jié)束字符結(jié)束字符標(biāo)志著指令的結(jié)束,在本例中被定義為ASCII碼的“G",不同的PLC從站可以定義不同的結(jié)束字符以接針對(duì)該P(yáng)LC的指令。(2)PLC在接到上位機(jī)指令后,將發(fā)送一個(gè)21字節(jié)長反饋信息。1起始字符起始字符標(biāo)志著反饋信息的開始,在本例中被定義為ASCII碼的“a",不同的PLC從站叫以定義不同的起始字符,這樣上位機(jī)叫可以根據(jù)信息的起始字符來判斷反饋信息的來源。2狀態(tài)信息該字節(jié)包含指令執(zhí)行的狀態(tài)信息,在本例中01H代表讀取正確02H代表寫入正確03H代表BCC校驗(yàn)碼錯(cuò)誤04H代表指令不合法3.數(shù)據(jù)區(qū)反饋信息的B3到B18為讀指令所要讀取的數(shù)據(jù),以十六進(jìn)制ASCII碼表示。4.BCC校驗(yàn)碼與上位機(jī)指令中的BCC校驗(yàn)碼類似,它是反饋信息B3到B18的異或和。5結(jié)束字符結(jié)束自負(fù)標(biāo)志著反饋信息的結(jié)束,在本例中被定義為26H。指令中為何要使用ASCII碼一條指令除包含數(shù)據(jù)外,還包含必要的控制字(起始字符、結(jié)束字符、指令類型等)。如果指令中的數(shù)據(jù)以其原本的形式傳輸,則不可避免的會(huì)與指令中的控制字發(fā)生混淆。例如本例中,指令的起始字符為“@",其ASCII碼值為67H,結(jié)束字符為“G",其ASCII碼值為47B。假設(shè)要寫入的數(shù)據(jù)中也有47H,并且數(shù)據(jù)直接以其原本的形式傳輸,則PLC會(huì)因?yàn)榻邮盏搅藬?shù)據(jù)中的47H而停止接收,這樣PLC接收到的指令將是個(gè)不完整的非法指令,很可能造成PLC的誤動(dòng)作。為了避免這種情況的發(fā)生,叫以用文本來傳送二進(jìn)制數(shù)據(jù)。通過以16進(jìn)制ASCII碼的格式描述數(shù)據(jù),每個(gè)二進(jìn)制的字節(jié)都叫以表示成對(duì)ASCII編碼,這對(duì)編碼表示這個(gè)字節(jié)的兩個(gè)16進(jìn)制字符。這種格式叫以表示任何的數(shù)值,僅僅使用ASCII碼的30H到39H(表示0到9)和41H到46H(表示A到F)ASCII碼的其余部分可以用作控制字(起始標(biāo)志、結(jié)束標(biāo)志、指令類刑等)。這樣,數(shù)據(jù)中的47H以ASCII碼的形式進(jìn)行傳送就變成了34H,37H兩個(gè)字節(jié),從而避免了PLC因接收到數(shù)據(jù)中的47H而停止接收的錯(cuò)誤。表4.1上位機(jī)指令格式BYteO起始字符Byte1指令類型(讀/寫)Byte2目標(biāo)PLC站地址(十六進(jìn)制ASCII碼)Byte3Byte4目標(biāo)寄存器地址(十六進(jìn)制ASCII碼)Byte5Byte6Byte7Byte8Byte9Byte10Byte11Byte12讀/寫字節(jié)數(shù)M(十六進(jìn)制ASCII碼)Byte13Byte14要寫入的數(shù)據(jù)(十六進(jìn)制ASCII碼)Byte15Byte16Byte17Byte18Byte19Byte20Byte21Byte22Byte23Byte24Byte25Byte26Byte27Byte28Byte29Byte30BCC校驗(yàn)碼(十六進(jìn)制ASCII碼)Byte31Byte32結(jié)束字符表4.2反饋信息格式BYteO起始字符Byte1狀態(tài)信息Byte2數(shù)據(jù)區(qū)(十六進(jìn)制ASCII碼)Byte3Byte4Byte5Byte6Byte7Byte8Byte9Byte10Byte11Byte12Byte13Byte14Byte15Byte16Byte17Byte18BCC校驗(yàn)碼(十六進(jìn)制ASCII碼)Byte19Byte20結(jié)束字符
第五章下位機(jī)通信模塊設(shè)計(jì)5.1STEP7-Micro/WIN32介紹簡介:STEP7-Micro/WIN32編程軟件是基于Windows的應(yīng)用軟件,由西門子公司專門為SIMATICS7-200系列可編程序控制器設(shè)計(jì)開發(fā)。主要為用戶開發(fā)控制程序使用,也可實(shí)時(shí)監(jiān)控用戶程序的執(zhí)行狀態(tài)。5.1.1軟件安裝及硬件連接軟件安裝軟件來源:STEP7-Micro/WIN32——西門子網(wǎng)站下載或光盤。安裝:雙擊STEP7-Micro/WIN32的安裝程序setup.exe,根據(jù)在線提示,完成安裝。編程語言:選擇英語。界面漢化:安裝完后可用STEP7-Micro/WIN32中文漢化軟件將編程界面和幫助文件漢化,使編程環(huán)境為中文狀態(tài)。硬件連接電纜連接:PC/PPI電纜RS-232與PC機(jī)相連,RS-485與PLC的RS-485相連。模式設(shè)置:PC/PPI電纜DIP開關(guān)中1、2、3設(shè)定波特率,4選擇10位或11位數(shù)據(jù)傳輸模式,5選擇RS-232為數(shù)據(jù)通訊設(shè)備模式或數(shù)據(jù)終端設(shè)備模式。沒有調(diào)制解調(diào)器時(shí)開關(guān)4、5均應(yīng)設(shè)置為0。圖5.1硬件連接圖通信參數(shù)的設(shè)置和修改運(yùn)行STEP7-Micro/WIN32,在引導(dǎo)條中單擊“通訊”圖標(biāo),或從主菜單中選擇“檢視”中的“通訊”項(xiàng),則會(huì)出現(xiàn)一個(gè)通訊設(shè)定對(duì)話框。雙擊PC/PPI電纜的圖標(biāo),將出現(xiàn)設(shè)置PG/PC接口的對(duì)話框,這時(shí)可安裝或刪除通信接口、設(shè)置檢查通信接口參數(shù)等操作。設(shè)置好參數(shù)后,可雙擊通訊設(shè)定對(duì)話框中的刷新圖標(biāo),STEP7-Micro/WIN32將檢查所連接的所有S7-200CPU站(默認(rèn)站地址為2),并為每個(gè)站建立一個(gè)CPU圖標(biāo)。5.1.2軟件功能介紹(1)基本功能創(chuàng)建用戶程序、修改和編輯原有的用戶程序。設(shè)置PLC的工作方式和參數(shù),上裝和下裝用戶程序,進(jìn)行程序的運(yùn)行監(jiān)控。具有簡單語法的檢查、對(duì)用戶程序的文檔管理和加密等功能,并提供在線幫助。(2)主界面各部分功能1.菜單條引導(dǎo)條指令樹程序編輯器符號(hào)表狀態(tài)圖表數(shù)據(jù)輸出窗口狀態(tài)條程序察看局部變量表圖5.2菜單條2.工具條提供簡便的鼠標(biāo)操作,可用“檢視”菜單的“工具欄”項(xiàng)自定義工具條。可添加和刪除3種按鈕:標(biāo)準(zhǔn)、調(diào)試和指令。3.引導(dǎo)條提供按鈕控制的快速窗口切換功能。可用“檢視”菜單的“瀏覽欄”項(xiàng)選擇是否打開。引導(dǎo)條包括程序塊(ProgramBlock)、符號(hào)表(SymbolTable)、狀態(tài)圖表(StatusChart)、數(shù)據(jù)塊(DataBlock)、系統(tǒng)塊(SystemBlock)、交叉索引(CrossReference)和通訊(Communications)七個(gè)組件。一個(gè)完整的項(xiàng)目文件(Project)通常包括前六個(gè)組件。4.指令樹提供編程時(shí)用到的所有快捷操作命令和PLC指令。可用“檢視”菜單的“指令樹”項(xiàng)決定是否將其打開。5.輸出窗口顯示程序編譯的結(jié)果信息。6.狀態(tài)條顯示軟件執(zhí)行狀態(tài),編輯程序時(shí),顯示當(dāng)前網(wǎng)絡(luò)號(hào)、行號(hào)、列號(hào);運(yùn)行時(shí),顯示運(yùn)行狀態(tài)、通訊波特率、遠(yuǎn)程地址等。7.程序編輯器梯形圖、語句表或功能圖表編輯器編寫用戶程序,或在聯(lián)機(jī)狀態(tài)下從PLC上裝用戶程序進(jìn)行程序的編輯或修改。8.局部變量表每個(gè)程序塊都對(duì)應(yīng)一個(gè)局部變量表,在帶參數(shù)的子程序調(diào)用中,參數(shù)的傳遞就是通過局部變量表進(jìn)行的。(3)系統(tǒng)組態(tài)1.?dāng)?shù)字量輸入濾波允許為部分或全部數(shù)字量輸入點(diǎn)設(shè)置輸入濾波。檢視?系統(tǒng)塊?輸入過濾器。延時(shí)時(shí)間范圍為0.2~12.8ms,默認(rèn)值為6.4ms。圖5.3數(shù)字量輸入濾波2.模擬量輸入濾波S7-200CPU222、224和226在模擬量輸入信號(hào)變化緩慢的場合,可以對(duì)不同的模擬量輸入選擇軟件濾波。檢視?系統(tǒng)塊?模擬量輸入過濾器。系統(tǒng)默認(rèn)參數(shù)為:模擬量輸入點(diǎn)全部濾波、采樣次數(shù)為64、靜區(qū)值為320。圖5.4模擬量輸入濾波3.設(shè)置脈沖捕捉如果數(shù)字量輸入點(diǎn)有一個(gè)持續(xù)時(shí)間小于掃描周期的脈沖,則CPU不能捕捉到此脈沖,S7-200CPU為每個(gè)主機(jī)數(shù)字量輸入點(diǎn)提供脈沖捕捉功能。圖5.5設(shè)置脈沖捕捉4.輸出表的設(shè)置系統(tǒng)塊?輸出表。凍結(jié)輸出:RUN?STOP后,所有數(shù)字量輸出點(diǎn)將凍結(jié)在CPU進(jìn)入STOP方式之前的狀態(tài);否則:數(shù)字量輸出點(diǎn)的狀態(tài)輸出表來設(shè)置圖5.6輸出表的設(shè)置5.PLC斷電后的數(shù)據(jù)保存方式CPU用EEPROM保存用戶程序、程序數(shù)據(jù)及CPU組態(tài)數(shù)據(jù);用一個(gè)超級(jí)電容器,使PLC在掉電時(shí)保存整個(gè)RAM存儲(chǔ)器中的信息。S7-200PLC還可選用存儲(chǔ)器卡保持用戶程序。CPU模塊在STOP方式下,點(diǎn)擊菜單“PLC”中的“程序存儲(chǔ)器卡”項(xiàng)就可將用戶程序、CPU組態(tài)信息及V、M、T、C的當(dāng)前值復(fù)制到存儲(chǔ)器卡中。單擊“系統(tǒng)塊”的“保存范圍”標(biāo)簽,可選擇PLC斷電時(shí)希望保持的內(nèi)存區(qū)域。最多可定義六個(gè)要保存的存儲(chǔ)區(qū)范圍,設(shè)置保存的存儲(chǔ)區(qū)有V、M、C和T。對(duì)于定時(shí)器,只能保存定時(shí)器TONR,而且只能保持定時(shí)器和計(jì)數(shù)器的當(dāng)前值,定時(shí)器位和計(jì)數(shù)器位不能保持,上電時(shí)定時(shí)器位和計(jì)數(shù)器位均被消除。對(duì)M存儲(chǔ)區(qū)的前14個(gè)字節(jié),系統(tǒng)缺省設(shè)置為不保持。6.CPU密碼的設(shè)置默認(rèn)是1級(jí),相當(dāng)于關(guān)閉了密碼功能。在“系統(tǒng)塊”窗口中點(diǎn)擊“密碼”標(biāo)簽。首先選擇適當(dāng)?shù)南拗萍?jí)別(如2、3級(jí)),需輸入密碼(密碼不區(qū)分大小寫)并確認(rèn)密碼。要使密碼設(shè)置生效,必須先運(yùn)行一次程序。如果忘記了密碼,必須清除存儲(chǔ)器,重新下載程序。5.1.3編程軟件的使用一、項(xiàng)目生成1.新建項(xiàng)目(1)確定PLC的CPU型號(hào)(2)項(xiàng)目文件更名(3)添加一個(gè)子程序(4)添加一個(gè)中斷程序(5)編輯程序2.打開已有項(xiàng)目文件3.上裝和下裝項(xiàng)目文件圖5.7項(xiàng)目生成二、程序的編輯與傳送以梯形圖編輯器為例,語句表和功能塊圖編輯器的操作類似。輸入編程元件梯形圖的編程元件(編程元素)主要有線圈、觸點(diǎn)、指令盒、標(biāo)號(hào)及連接線。輸入方法:指令樹窗口中雙擊要輸入的指令,就可在矩形光標(biāo)處放置一個(gè)編程元件。工具條上的編程按鈕。單擊觸點(diǎn)、線圈或指令盒按鈕,從彈出的窗口下拉菜單所列出的指令中選擇要輸入指令單擊即可。圖5.8輸入編程原件2.插入和刪除在編輯區(qū)右擊要進(jìn)行操作的位置,彈出圖示的下拉菜單,選擇“插入”或“刪除”選項(xiàng),彈出子菜單,單擊要插入或刪除的項(xiàng),然后進(jìn)行編輯。也可用菜單“編輯”中相應(yīng)的“插入”或“編輯”中的“刪除”項(xiàng)完成相同的操作。圖5.9插入和刪除3.符號(hào)表將梯形圖中的直接地址編號(hào)用具有實(shí)際含義的符號(hào)代替。方法:在編程時(shí)使用直接地址(如I0.0),然后打開符號(hào)表,編寫與直接地址對(duì)應(yīng)的符號(hào)(如與I0.0對(duì)應(yīng)的符號(hào)為start),編譯后由軟件自動(dòng)轉(zhuǎn)換名稱。另一種是在編程時(shí)直接使用符號(hào)名稱,然后打開符號(hào)表,編寫與符號(hào)對(duì)應(yīng)的直接地址,編譯后得到相同的結(jié)果。圖5.10符號(hào)圖4.局部變量表(1)局部變量與全局變量程序中的每個(gè)POU(ProgramOrganizationalUnit,程序組織單元)都有64K字節(jié)L存儲(chǔ)器組成的局部變量表。局部變量只在他被創(chuàng)建POU中有效。全局變量在各POU中均有效,只能在符號(hào)表(全局變量表)做定義。(2)局部變量的設(shè)置將光標(biāo)移到編輯器的程序編輯區(qū)的上邊緣,向下拖動(dòng)上邊緣,則自動(dòng)出現(xiàn)局部變量表,此時(shí)可為子程序和中斷服務(wù)程序設(shè)置局部變量。圖5.11注釋梯形圖編輯器中的Networkn表示每個(gè)網(wǎng)絡(luò)或梯級(jí),同時(shí)又是標(biāo)題欄,可在此為每個(gè)網(wǎng)絡(luò)或梯級(jí)加標(biāo)題或必要的注釋說明。雙擊Networkn區(qū)域,彈出圖示的對(duì)話框,此時(shí)可以在“題目”文本框鍵入相關(guān)標(biāo)題,在“注釋”文本框鍵入注釋。圖5.12注釋6.語言轉(zhuǎn)換語句表、梯形圖和功能塊圖三種編程語言(編輯器)之間的任意切換。檢視?STL(語句表)、LAD(梯形圖)或FBD(功能塊圖)便可進(jìn)入對(duì)應(yīng)的編程環(huán)境。7.編譯用戶程序程序編輯完成,可用菜單“PLC”中的“編譯”項(xiàng)進(jìn)行離線編譯。編譯結(jié)束后在輸出窗口顯示程序中的語法錯(cuò)誤的數(shù)量、各條錯(cuò)誤的原因和錯(cuò)誤在程序中的位置。雙擊輸出窗口中的某一條錯(cuò)誤,程序編輯器中的矩形光標(biāo)將會(huì)移到程序中該錯(cuò)誤所在的位置。必須改正程序中的所有錯(cuò)誤,編譯成功后才能下載程序。8.程序的下載和清除下載之前,PLC應(yīng)處于STOP方式。單擊工具欄的“停止”按鈕,或選擇菜單命令“PLC”中的“停止”項(xiàng),可以進(jìn)入STOP狀態(tài)。如果不在STOP狀態(tài),可將CPU模塊上的方式開關(guān)扳到STOP位置。為了使下載的程序能正確執(zhí)行,下載前必須將PLC存儲(chǔ)器中的原程序清除。清除的方法是:單擊菜單“PLC”中的“清除”項(xiàng),會(huì)出現(xiàn)清除對(duì)話框,選擇“清除全部”即可。三、程序的打印輸出單擊菜單“文件”中的“打印”項(xiàng),可選擇需要打印的組件的復(fù)選框,如圖示,圖中選擇打印網(wǎng)絡(luò)1至網(wǎng)絡(luò)21梯形圖程序的主程序。但如果還希望打印程序的附加組件,例如還要打印符號(hào)表等,則所選打印范圍無效,將打印全部LAD網(wǎng)絡(luò)。圖5.13程序的打印輸出5.1.4程序監(jiān)控與調(diào)試(1)選擇掃描次數(shù)STEP7可選擇單次或多次掃描來監(jiān)視用戶程序,可以指定主機(jī)以有限的掃描次數(shù)執(zhí)行用戶程序。通過選擇主機(jī)掃描次數(shù),當(dāng)過程變量改變時(shí),可監(jiān)視用戶程序的執(zhí)行。多次掃描時(shí),應(yīng)使PLC置于STOP模式,使用菜單命令“排錯(cuò)”中的“多次掃描”來指定執(zhí)行的掃描次數(shù),然后單擊“確認(rèn)”按鈕。初次掃描時(shí)則將PLC置于STOP模式,然后使用菜單命令“排錯(cuò)”中的“單次掃描”進(jìn)行。(2)用狀態(tài)表監(jiān)控程序使用狀態(tài)表來監(jiān)視用戶程序,在程序運(yùn)行時(shí),可以用狀態(tài)表來讀、寫監(jiān)視和強(qiáng)制PLC的內(nèi)部變量。并可以用強(qiáng)制表操作修改用戶程序,如圖示。圖5.14程序監(jiān)控與調(diào)試1.打開和編輯已有的狀態(tài)表單擊目錄樹中的狀態(tài)表圖標(biāo),或菜單“檢視”中的“狀態(tài)表”選項(xiàng)均可打開已有的狀態(tài)表,并對(duì)它進(jìn)行編輯。多個(gè)狀態(tài)表,可用狀態(tài)表底部的標(biāo)簽切換。2.創(chuàng)建新的狀態(tài)表用鼠標(biāo)右鍵單擊目錄樹中的狀態(tài)表圖標(biāo)或單元已經(jīng)打開的狀態(tài)表,將彈出一個(gè)窗口,在窗口中選擇“插入狀態(tài)表”選項(xiàng),可創(chuàng)建新的狀態(tài)表。3.啟動(dòng)和關(guān)閉狀態(tài)表STEP7與PLC的通信成功后,打開狀態(tài)表,用菜單“排錯(cuò)”中的“圖狀態(tài)”選項(xiàng)或單擊工具條上的“狀態(tài)表”圖標(biāo),可啟動(dòng)狀態(tài)表,再操作一次可關(guān)閉狀態(tài)表。4.單次讀取狀態(tài)信息狀態(tài)表被關(guān)閉時(shí),用菜單命令“排錯(cuò)”中的“單次讀取”或單擊工具條上的“單項(xiàng)讀取”按鈕,可以獲得PLC的當(dāng)前數(shù)據(jù),并在狀態(tài)表中將當(dāng)前數(shù)值顯示出來,執(zhí)行用戶程序時(shí)并不進(jìn)行數(shù)據(jù)的更新。要連續(xù)收集狀態(tài)表信息,應(yīng)啟動(dòng)狀態(tài)表。5.用狀態(tài)表強(qiáng)制改變數(shù)值在RUN方式且對(duì)控制過程影響較小的情況下,可對(duì)程序中的某些變量強(qiáng)制性地賦值。S7-200CPU允許強(qiáng)制性地給所有的I/O點(diǎn)賦值,此外最多還可改變16個(gè)內(nèi)部存儲(chǔ)器數(shù)據(jù)(V或M)或模擬量I/O(AI或AQ)。V或M可按字節(jié)、字或雙字來改變,模擬量只能從偶字節(jié)開始以字為單位(如AIW6)來改變。強(qiáng)制的數(shù)據(jù)將永久性地存儲(chǔ)在CPU的EEPROM中。6.梯形圖程序的狀態(tài)監(jiān)視利用梯形圖編輯器可以監(jiān)視在線程序運(yùn)行狀態(tài)的窗口。梯形圖中顯示所有操作數(shù)的值,所有這些操作數(shù)狀態(tài)都是PLC在掃描周期完成時(shí)的結(jié)果。7.打開監(jiān)視梯形圖的方法有兩種:一種方法是打開菜單“工具”中的“選項(xiàng)”對(duì)話框,選擇“LAD狀態(tài)”選項(xiàng),然后選擇一種梯形圖的樣式。梯形圖可選擇的樣式有3種:指令內(nèi)部顯示地址,外部顯示值;指令外部顯示地址和值;只顯示狀態(tài)值。或直接打開梯形圖窗口,在工具條中單擊“程序狀態(tài)”按鈕。功能塊圖程序監(jiān)視和語句表程序監(jiān)視方法與梯形圖程序類似,不再一一介紹。(3)S7-200的出錯(cuò)處理致命錯(cuò)誤會(huì)導(dǎo)致PLC停止執(zhí)行程序。CPU檢測(cè)到致命錯(cuò)誤時(shí),自動(dòng)進(jìn)入STOP(停止)方式,點(diǎn)亮系統(tǒng)錯(cuò)誤LED,并關(guān)閉輸出。在消除致命錯(cuò)誤之前,CPU一直保持這種狀態(tài)。有些錯(cuò)誤可能會(huì)使PLC無法進(jìn)行通信,此時(shí)在計(jì)算機(jī)上看不到CPU的錯(cuò)誤代碼。這表示硬件出錯(cuò),CPU模塊需要修理,修改程序或清除PLC的存儲(chǔ)器不能消除這種錯(cuò)誤。非致命錯(cuò)誤非致命錯(cuò)誤會(huì)影響CPU的某些性能,但不會(huì)使用戶程序無法執(zhí)行。5.2下位機(jī)通信模塊設(shè)計(jì)5.2.1PLC程序執(zhí)行過程PLC在第一次掃描時(shí)執(zhí)行初始化子程序,對(duì)端口及RCV指令進(jìn)行初始化。初始化完成后,運(yùn)行RCV指令使端口處于接受狀態(tài)。RCVcomplete中斷服務(wù)程序用來處理接收完成中斷事件,它會(huì)將接收緩沖區(qū)的十六進(jìn)制ASCⅡ碼還原成數(shù)據(jù)并保存,同時(shí)置位Verify子程序的觸發(fā)條件(M0.1)。Verify子程序首先復(fù)位本身的觸發(fā)條件以防止子程序被重復(fù)調(diào)用,然后求出接收緩沖區(qū)中指令的BCC效驗(yàn)碼并與指令中的BCC效驗(yàn)碼進(jìn)行對(duì)比。如果相等則置BCC碼效驗(yàn)正確的標(biāo)志位(M0.0)為1;如果指令格式正確而BCC碼不相等,則發(fā)送代表BCC效驗(yàn)碼錯(cuò)誤的反饋信息;如果指令格式不正確,則返回代表指令格式錯(cuò)誤的反饋信息。Read子程序的觸發(fā)條件為:指令中的站地址與本機(jī)站地址相符、指令類型為讀指令、BCC效驗(yàn)碼正確。當(dāng)條件滿足時(shí),Read子程序被執(zhí)行。Write子程序首先禁止RCV,然后將指令所要讀取的數(shù)據(jù)轉(zhuǎn)換成十六進(jìn)制ASCⅡ碼并寫入發(fā)送緩沖區(qū)、計(jì)算BCC效驗(yàn)碼、最后發(fā)送反饋信息。Write子程序的觸發(fā)條件為:指令中的站地址與本機(jī)站地址相符、指令類型為讀指令、BCC效驗(yàn)碼正確。當(dāng)條件滿足時(shí),Write子程序被執(zhí)行。Write子程序首先禁止RCV,然后將指令所要讀取的數(shù)據(jù)寫入目標(biāo)寄存器,最后發(fā)送代表寫入正確的反饋信息。PLC每接到一條指令后都會(huì)發(fā)送一條反饋信息,當(dāng)反饋信息發(fā)送完畢時(shí),會(huì)產(chǎn)生發(fā)送完成中斷,XMTcomplete中斷服務(wù)程序用來處理發(fā)送完成中斷事件。在XMTcomplete中斷服務(wù)程序中所要執(zhí)行程序中所要執(zhí)行的操作包括:復(fù)位BCC效驗(yàn)碼正確的標(biāo)志位(M0.0):允許RCV:BCC碼寄存器清零:重新裝入用于計(jì)算機(jī)BCC效驗(yàn)碼的地址指針:接收緩沖區(qū)中存放指令結(jié)束字符的字節(jié)VB133清零(用來判斷下一條指令格式是否正確)。5.2.2程序清單(1)MAIN主程序:MAIN主程序Network1LDSM0.1//第一次掃描用初始化子程序CALLinitialize//喚醒子程序initializeNetwork2LDB=VB134,VB199//指令中的站地址與本機(jī)站地址相符A.B=VB102,5//指令類型為讀指令A(yù)M0.0//BCC校驗(yàn)碼正確CCALLRead//調(diào)用讀子程序Network3LDB=VB134,VB199//指令中的站地址與本機(jī)站地址相符AB=VB102,6//指令類型為寫指令A(yù)M0.0//BCC校驗(yàn)碼正確CALLWrite//調(diào)用寫子程序Network4LDM0.1//指令接收完成后調(diào)用BCC校驗(yàn)碼子程序CALLVerify//喚醒Verify子程序調(diào)用Verify子程序Network5LDSM4.5//當(dāng)端口空閑時(shí)啟動(dòng)RCVRCVVB100,0//對(duì)端口及RCV初始化Read子程序:NNetwork1LDSM0.0//停止端口0的接收RSM87.7,1//置位RM0.0,1RCVVB100,0//禁止RCVNetwork2LDSM0.0//將數(shù)據(jù)寫入發(fā)送緩沖區(qū)MOVB103,VB154//將數(shù)據(jù)的起始位放入VB154MOVB1,VB155//狀態(tài)信息HTA*VD135,VB156,16//十六進(jìn)制計(jì)數(shù)MOVB26,VB174MOVB21,VB153Network3LDSM0.0//計(jì)算BCC校驗(yàn)碼FORVW177,+1,+16//與NEXT構(gòu)成循環(huán)語句當(dāng)SM0.0接通時(shí),循環(huán)1執(zhí)行十六次Network4LDSM0.0XORB*VD181,VB180//檢驗(yàn)BCC校驗(yàn)碼Network5LLDSM0.0IINCDVD181NNetwork6NNEXTNetwork7LDSM0.0HTAVB180,VB172,2//BCC校驗(yàn)碼寫入發(fā)送緩沖區(qū)Network8LDSM4.5//發(fā)送反饋信息XMTVB153,0//發(fā)送緩沖區(qū)清零Write子程序Nnetwork2LDSM0.0//裝入要寫入數(shù)據(jù)源的地址指針MOVD&VB115,VD145Network3LDSM0.0//寫入數(shù)據(jù)ATH*VD145,*VD135,VB139Network4LDSM0.0//指令執(zhí)行的反饋信息寫入發(fā)送緩沖區(qū)MOVB21,VB153MOVB103,VB154MOVB2,VB155MOVB26,VB174Verify子程序Network1LDSM0.0RM0.1,1//復(fù)位verify子程序的執(zhí)行條件Network2LDSM0.0//計(jì)算BBC碼FORVW175,+1,+29//循環(huán)語句將循環(huán)1執(zhí)行29次Network3LDSM0.0XORB*VD149,VB179//檢驗(yàn)BCC校驗(yàn)碼Network4LDSM0.0INCDVD149Network5NEXTNetwork6LDB=VB179,VB140//當(dāng)BCC校驗(yàn)碼正確時(shí),M0.0置1AB=VB133,71SM0.0,1Network7LDB=VB133,71//BBC碼錯(cuò)誤時(shí)發(fā)送反饋信息AB<>VB179,VB140MOVB21,VB153MOVB103,VB154MOVB3,VB155MOVB26,VB174RSM87.7,1RCVVB100,0XMTVB153,0Network8LDB<>VB133,71//指令格式錯(cuò)誤或RCV超時(shí)時(shí)發(fā)送反饋信息MO
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 維修外包協(xié)議書
- 男女流產(chǎn)協(xié)議書
- 藥店安保協(xié)議書
- 綿羊購銷協(xié)議書
- 資金來往協(xié)議書
- 幼兒體智能活動(dòng)協(xié)議書
- 婚之夜夫妻調(diào)解協(xié)議書
- 租賃地面協(xié)議書
- 股金籌募協(xié)議書
- 美越貿(mào)易協(xié)議書
- DB37-T 4733-2024預(yù)制艙式儲(chǔ)能電站設(shè)計(jì)規(guī)范
- wps計(jì)算機(jī)二級(jí)試題及答案
- 鋼板樁安全技術(shù)交底
- TQGCML 3946-2024 柴油發(fā)電機(jī)組維護(hù)保養(yǎng)規(guī)范
- DGTJ08-9-2023 建筑抗震設(shè)計(jì)標(biāo)準(zhǔn)
- 輸變電工程質(zhì)量通病防治手冊(cè)
- 2024年江西省中考生物·地理合卷試卷真題(含答案逐題解析)
- 企業(yè)管理-《資產(chǎn)減值損失的稅務(wù)情況說明》
- 老年人智能手機(jī)使用教程課件
- 3.6.3關(guān)門車課件講解
- 貴陽2024年貴州貴陽貴安事業(yè)單位招聘599人筆試歷年典型考題及考點(diǎn)附答案解析
評(píng)論
0/150
提交評(píng)論