免费色播,亚洲国产欧美国产第一区二区三区,毛片看,日本精品在线观看视频,国产成人精品一区二区免费视频,日本黄色免费网站,一级毛片免费

基于VB的S7-200 PLC與上位機(jī)的串行通訊及應(yīng)用

來源:互聯(lián)網(wǎng)

點(diǎn)擊:1828

A+ A-

所屬頻道:新聞中心

關(guān)鍵詞:VB S7-200 PLC 上位機(jī) 串行通訊

      隨著工業(yè)自動(dòng)化控制技術(shù)的不斷發(fā)展,可編程邏輯控制器(PLC)與上位機(jī)之間通訊的應(yīng)用越來越廣泛。在PLC與上位機(jī)組成的集散控制系統(tǒng)中,PLC作為下位機(jī)完成現(xiàn)場各種信號(hào)和數(shù)據(jù)的采集、運(yùn)算和控制,上位機(jī)則可提供人機(jī)交互界面,實(shí)現(xiàn)數(shù)據(jù)的處理以及現(xiàn)場數(shù)據(jù)的實(shí)時(shí)顯示等監(jiān)視和遠(yuǎn)程控制等功能,這樣不僅提高了PLC的控制功能,擴(kuò)大了它的控制范圍,而且能夠使PLC之間的資源共享,便于實(shí)現(xiàn)集中控制和網(wǎng)絡(luò)化管理。由此可見,要實(shí)現(xiàn)這一功能,PLC和上位機(jī)間的數(shù)據(jù)通訊是一關(guān)鍵環(huán)節(jié)。該文采用VisualBasic 6.0,以普通工控機(jī)為上位機(jī)實(shí)現(xiàn)了和SIEMENS SIMATIC S7—200系列可編程邏輯控制器間的通訊,并在某自動(dòng)卸胎機(jī)械手的控制系統(tǒng)中得到了成功的應(yīng)用。

    1 S7—200 PLC的自由端口通訊

      1.1 自由端口通訊的方式

      SIMATIC S7—200 PLC內(nèi)部集成的PPI接口為用戶提供了強(qiáng)大的通訊功能。PPI接口的物理特性為RS485,可在PPI(pOint to pOint)、MPI(multi—pOint)和自由端口(free port)三種通訊方式下工作。PPI用于S7—200系列PLC之間進(jìn)行通訊,而MPI則用于在S7。400系列、S7—300系列和S7。200系列PLC之間進(jìn)行通訊。此外,S7。200系列PLC還可通過增加EM277 PROFIBUSDP擴(kuò)展模塊以支持PROFIBUSDP工業(yè)以太網(wǎng)的通訊。以上幾種通訊方式使用起來方便、靈活,但只適用于SIEMENS SIMATIC工控產(chǎn)品之間的通訊,無法滿足與其它廠商的工控產(chǎn)品進(jìn)行通訊的需求,因此SIMATIC S7—200提供了一種自由端口通訊方式。自由端口通訊方式是S7—200系列PLC一個(gè)很有特色的功能,它使s7—200可以與任何具有串行接口和通訊協(xié)議公開的智能設(shè)備進(jìn)行通訊(如變頻器、單片機(jī)和MODEM等),使通訊范圍擴(kuò)大、控制系統(tǒng)配置更加靈活。自由端口通訊在物理接口上要求雙方都使用RS485接口。程序可以使用接受中斷、發(fā)送中斷、發(fā)送指令(xMT)和接受指令(RCV)來控制通訊操作。只有CPU處于RUN模式時(shí)才能進(jìn)行自由端口通訊,當(dāng)CPU處于STOP模式時(shí)自由端口通訊被停止。自由端口雖然為標(biāo)準(zhǔn)RS485接口,但西門子公司提供的PC印PI電纜帶有RS。232/485電平轉(zhuǎn)換器,因此在不增加任何硬件的情況下,可以很方便地將PLC和上位機(jī)互聯(lián)。

      1.2 自由端口通訊模式的初始化

      S7-200 PLC自由端口通訊模式的初始化是通過對(duì)特殊存儲(chǔ)字節(jié)SMB30(端口0)寫入通訊控制字來設(shè)置通訊的波特率、奇偶校驗(yàn)、停止位和數(shù)據(jù)位數(shù)。

      1)發(fā)送數(shù)據(jù)指令XMT其命令格式為XMT Table,Port??梢杂肵MT指令方便地發(fā)送數(shù)據(jù),XMT指令激活發(fā)送緩沖區(qū)(Table)中的數(shù)據(jù)。數(shù)據(jù)緩沖區(qū)的第一個(gè)數(shù)據(jù)指明了要發(fā)送的字節(jié)數(shù),Port指明了用于發(fā)送的端口,可以發(fā)送一個(gè)或多個(gè)字符,最多有255個(gè)字符的緩沖區(qū)。

      2)接收數(shù)據(jù)指令RCV

    其命令格式為RCV Table,Port??梢杂肦CV指令方便地接收信息,RCV指令可以接收一個(gè)或多個(gè)字符,最多有255個(gè)字符,這些字符存儲(chǔ)在緩沖區(qū)中。

    2 通訊程序的設(shè)計(jì)

      2.1 自由端口通信程序設(shè)計(jì)

      自由端口通訊程序由主程序、初始化子程序、讀子程序、寫子程序、接收中斷子程序、發(fā)送中斷子程序和校驗(yàn)子程序等組成。其工作流程如圖所示。上述各功能塊說明如下:

    圖自由端口通訊程序工作流程

      1)主程序調(diào)用各個(gè)子程序并啟動(dòng)通訊端口。

      2)初始化子程序

    當(dāng)PLC首次掃描,SM0。1有效時(shí),由主程序調(diào)用,以便初始化自由通訊端口相關(guān)特殊寄存器、中斷向量、PLC站點(diǎn)ID及接收、發(fā)送數(shù)據(jù)緩沖區(qū)等。

      3)讀子程序

      當(dāng)接收中斷產(chǎn)生、驗(yàn)證無異常、收到報(bào)文讀數(shù)據(jù)指令時(shí),由主程序調(diào)用,實(shí)現(xiàn)接收完整報(bào)文、關(guān)閉接收中斷、判斷數(shù)據(jù)起始地址、判斷數(shù)據(jù)長度、獲取相關(guān)數(shù)據(jù)及發(fā)送反饋報(bào)文等功能。

      4)寫子程序

      當(dāng)接收中斷產(chǎn)生、驗(yàn)證無異常、收到報(bào)文寫數(shù)據(jù)指令時(shí),由主程序調(diào)用,實(shí)現(xiàn)接收完整報(bào)文、關(guān)閉接收中斷、判斷數(shù)據(jù)起始地址、判斷數(shù)據(jù)長度、獲取相關(guān)數(shù)據(jù)及發(fā)送反饋報(bào)文等功能。

      5)接收中斷服務(wù)子程序

    當(dāng)自由端口接收中斷允許、接收完整報(bào)文結(jié)束時(shí),完成獲取操作指令及標(biāo)志讀、寫子程序調(diào)用允許。

      6)發(fā)送中斷服務(wù)子程序

      當(dāng)自由端口發(fā)送中斷允許、發(fā)送完整報(bào)文結(jié)束時(shí),完成開啟接收中斷及相關(guān)參數(shù)復(fù)位。

      2.2 上位機(jī)的通訊程序設(shè)計(jì)

      上位機(jī)通訊軟件是在Visual B商c環(huán)境下開發(fā)的,因VB具有強(qiáng)大的圖形顯示功能,可以很容易地開發(fā)出界面良好、滿足用戶需求的WIND(弼蛋標(biāo)準(zhǔn)風(fēng)格的圖形界面。同時(shí)VB還提供了方便靈活的串行通訊控件——MSComm。在利用該控件時(shí),只需設(shè)置、監(jiān)視其屬性和事件,即可完成對(duì)串行端口的初始化和數(shù)據(jù)的傳輸工作。用Ⅶ編制的可實(shí)現(xiàn)串行通訊的部分程序如下:

      窗體加載時(shí),打開通訊端口。

      Private Sub Fbm Load()  Camml。PortOpen=True  End Sub

      使用按鈕控件“CmdReceive”,接收由通訊端口發(fā)送過來的字符串,并進(jìn)行判斷?! rivate Sub CmdReceive C1ick()  Dim buf As String  Buf=Trim(Comml。Input) 將緩沖區(qū)內(nèi)的數(shù)據(jù)讀人buf變量中  If Len(buf)=0 Then判斷其中是否存  txtReceive。Text=“無數(shù)據(jù)”  Else  txtReceive。Text=buf  End If  End Sub

      使用按鈕控件“CmdSend”,將數(shù)據(jù)由通訊端口發(fā)送出去

      Private Sub CmdSend Click()  Comm 1。Output=Trim(txtSend。Text)  End Sub  使用按鈕控件“CmdExit,’,以關(guān)閉通訊端口,結(jié)束系統(tǒng)。  Private Sub CmdExit Click()  Comml。Portopen=False  End  F=nfl S1Jh

    3 自動(dòng)卸胎機(jī)械手控制系統(tǒng)的實(shí)現(xiàn)

      在某輪胎廠的自動(dòng)卸胎機(jī)械手的研制過程中,應(yīng)用了基于Visual Basic的西門子S7—200PLC與上位機(jī)之間的串行通訊設(shè)計(jì),以實(shí)現(xiàn)實(shí)時(shí)監(jiān)視和遠(yuǎn)程控制等功能。其中機(jī)械手運(yùn)動(dòng)到末位接近開關(guān)位置時(shí),PLC得到信號(hào),數(shù)據(jù)通過串行通訊端口傳到上位機(jī),上位機(jī)通過后臺(tái)的程序處理,控制界面“末位接近開關(guān)狀態(tài)”發(fā)生變化,使操作者可以直觀地得知設(shè)備現(xiàn)在的狀態(tài)。操作者也可以在上位機(jī)上對(duì)“運(yùn)動(dòng)電機(jī)”和“下料電機(jī)”進(jìn)行直接的操作,以實(shí)現(xiàn)遠(yuǎn)程控制的功能。

    4 結(jié)論

      可編程邏輯控制器與上位機(jī)之間通訊的應(yīng)用,可以有效地提高控制系統(tǒng)的整體自動(dòng)化程度。利用Visual Basic等計(jì)算機(jī)語言,可以方便地開發(fā)出PLC和上位機(jī)通訊應(yīng)用軟件,PLC完成對(duì)現(xiàn)場開/關(guān)量、模擬輸入偷出量的控制處理,上位機(jī)實(shí)現(xiàn)對(duì)過程參數(shù)的監(jiān)控、分析、統(tǒng)計(jì)、修改等。實(shí)踐證明,該應(yīng)用方案投資少、開發(fā)周期短、運(yùn)行穩(wěn)定可靠,對(duì)小規(guī)模的系統(tǒng)極具現(xiàn)實(shí)意義。

    (審核編輯: Doris)

    聲明:除特別說明之外,新聞內(nèi)容及圖片均來自網(wǎng)絡(luò)及各大主流媒體。版權(quán)歸原作者所有。如認(rèn)為內(nèi)容侵權(quán),請(qǐng)聯(lián)系我們刪除。