一区二区三区免费黄片-女生张开腿让人捅视频-亚洲av熟女少妇一区二区三区-亚洲av日韩久久久久一区二区

    西門子模塊6ES7355-1VH10-0AE0型號規(guī)格


    1  引言
    VC(Visual C++)是功能強(qiáng)大的一種bbbbbbs應(yīng)用程序可視化軟件開發(fā)工具。VC支持面向?qū)ο蟮脑O(shè)計(jì)方法,并可以使用功能強(qiáng)大的微軟基礎(chǔ)類庫MFC(Micro-soft foundation class)。并且由于Microsoft公司在操作市場上的地位,用VC開發(fā)出來的軟件穩(wěn)定性好、可移植性強(qiáng),而且軟件與硬件相互獨(dú)立,可以用來開發(fā)控制系統(tǒng)的上層管理系統(tǒng)。RSView32是作為一種專門用于工業(yè)控制的組態(tài)軟件,不僅包含了大量圖形開發(fā)工具和現(xiàn)成圖形庫,使用戶能夠方便的進(jìn)行系統(tǒng)開發(fā),而且還可以對報(bào)警、活動記錄、事件、歷史趨勢等進(jìn)行組態(tài),是一個功能強(qiáng)大的工業(yè)自動化產(chǎn)品,因此可以很方便地對下層設(shè)備進(jìn)行組態(tài)。在實(shí)際系統(tǒng)開發(fā)時,利用OPC技術(shù)把兩種工具有效的結(jié)合起來,使上層的VC程序通過RSView32間接地與下層PLC進(jìn)行數(shù)據(jù)通信,以獲取令人滿意的結(jié)果。
    2  OPC介紹
    OPC(OLE for Process Control)是根據(jù)Microsoft的OLE(現(xiàn)在Active)、COM(部件對象模型)和DCOM(分布式部件對象模型)技術(shù)所要求的功能制定的一個開放和互用式的用戶界面標(biāo)準(zhǔn),它保證了自動化/控制應(yīng)用程序和區(qū)域系統(tǒng)/設(shè)備之間的互用。它以O(shè)LE/COM機(jī)制作為應(yīng)用程序級的通訊標(biāo)準(zhǔn),采用CLIENT/SERVER模式,典型的OPC體系結(jié)構(gòu)如圖1所示:



                            圖1     典型的OPC體系結(jié)構(gòu)
    OPC規(guī)范中提供了兩套接口方案,即定制接口和自動化接口。定制接口效,通過該接口能夠發(fā)揮OPC服務(wù)器的最佳性能,采用C++語言的客戶一般采用定制接口方案;自動化接口使解釋性語言和宏語言訪問OPC服務(wù)器成為可能,采用VB等語言的客戶一般采用自動化接口。
    OPC數(shù)據(jù)存取服務(wù)器由對象組成:服務(wù)器(Server)、組(Group)、數(shù)據(jù)項(xiàng)(Item)。服務(wù)器對象用于指出特定的OPC服務(wù)器應(yīng)用程序名,并作為組對象的容器;組對象存儲由若干Item組成的Group信息并邏輯組織數(shù)據(jù)項(xiàng);數(shù)據(jù)項(xiàng)對象()存儲具體的Item的定義、數(shù)據(jù)值、狀態(tài)值等信息,一個Item就代表一個具體的過程變量。OPC客戶應(yīng)用程序要獲取OPC服務(wù)器的數(shù)據(jù),必須事先指定應(yīng)用程序所在的計(jì)算機(jī)名(服務(wù)器應(yīng)用程序和客戶應(yīng)用程序不在同一臺PC上)、OPC數(shù)據(jù)訪問服務(wù)器名和該服務(wù)器提供的OPC項(xiàng)的定義。
    建立OPC連接后,客戶應(yīng)用程序一般可以通過三種方式從OPC服務(wù)器讀取數(shù)據(jù):使用同步接口IOPC-SyncIO,簡單有效,適合于只讀取少量數(shù)據(jù)的客戶程序;使用接口IOPCCallback的“訂閱”的功能OnChange,每當(dāng)數(shù)據(jù)有變化時,服務(wù)器自動通知客戶;使用異步接口IOPCASyncIO2,可以直接與物理設(shè)備通訊,速度慢但數(shù)據(jù)精確度高。
    3  RSView32作為OPC服務(wù)器
    西門子專門用于工業(yè)控制的通用組態(tài)軟件之一RSView32支持OPC技術(shù),它可以用作一個OPC客戶和外部OPC服務(wù)器軟件通信,也可以作為一個OPC服務(wù)器和其它第三方支持OPC技術(shù)的軟件進(jìn)行連接。本文中RSView32作為服務(wù)器,VC應(yīng)用程序作為客戶端,采用C/S模式實(shí)現(xiàn)兩者之間的數(shù)據(jù)交換。
    3.1  使RSView32作為OPC服務(wù)器
     用下列方法之一使RSView32作為OPC服務(wù)器:
     (1) 選擇“啟動”編輯器里“啟動”頁上的“OPC/DDE服務(wù)器”復(fù)選框;
     (2) 發(fā)出RTDataServerOn命令(從命令行或另一個RSView32組件里,使用RTDataServerOff命令可以取消此功能),這將允許其它應(yīng)用程序讀取數(shù)值但不能改變它;
     (3) 發(fā)出RTDataWriteEnable命令(從命令行或另一個RSView32組件里,使用RTDataWriteDisable命令可以取消此功能),這允許從外部OPC應(yīng)用程序?qū)懭?,以改變RSView32的標(biāo)記值。
    3.2  建立 OPC 客戶項(xiàng)目
     VC應(yīng)用程序要從RSView32取得數(shù)據(jù),必須使用下列信息:
      服務(wù)器:RSI.RSView32OPCTagServer;
      類型:本機(jī)/遠(yuǎn)程;
      服務(wù)器計(jì)算機(jī)名或地址:如果客戶務(wù)器在同一計(jì)算機(jī)上,這項(xiàng)可以是空白。
      訪問路徑:項(xiàng)目名;
      更新速率:一個以秒為單位的速率;
      條目:標(biāo)記名。可以通過查看RSView32的標(biāo)簽數(shù)據(jù)庫獲得。
    4  VC應(yīng)用程序作為OPC客戶端的程序?qū)崿F(xiàn)
    在VC環(huán)境中使用定制接口開發(fā)OPC客戶應(yīng)用程序,下面是程序?qū)崿F(xiàn)的關(guān)鍵步驟。
    4.1  包含OPC頭文件
     開發(fā)OPC客戶應(yīng)用程序,除了需要OPC接口外,還需要在程序中包含OPC標(biāo)準(zhǔn)庫文件,可以從OPC會網(wǎng)站(網(wǎng)址:www.)下載這些文件:
    #include "opcda_i.c"    OPC數(shù)據(jù)存取接口
    #include "opcda.h"      OPC數(shù)據(jù)存取2.0頭文件
    #include "opccomn_i.c"  OPC公共接口定義
    #include "opccomn.h"    OPC公共頭文件
    4.2  初始化COM支持庫
    由于OPC是基于COM技術(shù)制定,所以在使用接口類之前必須首先使用CoInitialize(NULL)函數(shù)初始化COM庫,如果成功,函數(shù)返回值等于S_ OK。
    4.3  連接opc服務(wù)器
    OPC客戶能夠連接到OPC服務(wù)器上,并建立OPC組和OPC數(shù)據(jù)項(xiàng),這是OPC數(shù)據(jù)訪問的基礎(chǔ),如果沒有這個機(jī)制,數(shù)據(jù)訪問的其它機(jī)能不可能實(shí)現(xiàn)。連接OPC服務(wù)器,OPC客戶需要事先指定計(jì)算機(jī)名(如果OPC服務(wù)器和OPC客戶不在同一臺計(jì)算機(jī)上)和OPC數(shù)據(jù)訪問服務(wù)器名(RSI.RSView32OPCTagServer)。實(shí)現(xiàn)代碼如下:
                            ConnectToServer(/*in */LPOLESTR ProgID,/*in*/ BOOL 
                            IsRemote,/*out */ IUnknown **ppUnknown)
                            {
                            CLSID OPCCLSID;
                            HRESULT hRet=CLSIDFromProgID(ProgID,&OPCCLSID);
                            //將字符串ProgID轉(zhuǎn)換為唯一OPCCLSID
                            if(IsRemote)
                            //opc服務(wù)器和opc客戶不在同一臺計(jì)算機(jī)上
                            {   
                            COSERVERINFO ServerInfo;
                            memset(&ServerInfo,0,sizeof(ServerInfo));
                            ServerInfo.pwszName=T2OLE("ServerComouter");
                            MULTI_QI qi[1];
                            memset(qi, 0, sizeof(qi));
                            qi[0].pIID=&IID_IUnknown;
                            HRESULT 
                            hRet=CoCreateInstanceEx(OPCCLSID,NULL,CLSCTX_REMOTE_SERVER,
                            &ServerInfo,1,qi);
                            *ppUnknown=qi[0].pItf;
                            } 
                            else
                            //opc服務(wù)器和opc客戶在同一臺計(jì)算機(jī)上
                            {
                            hRet=CoCreateInstance(OPCCLSID,NULL,CLSCTX_LOCAL_SERVER,IID_IUnknown,
                            (void **)ppUnknown);
                            }
                            } 
    4.4  創(chuàng)建OPC組
    IOPCServer接口的AddGroup()方法可以創(chuàng)建一個有指定名稱和屬性的OPC組。在調(diào)用該方法之前,可以使用上一步得到的Iunknown接口指針,通過QueryInterface()方法請求IOPCServer接口指針。代碼如下: 
                              
                            ppUnknown->QueryInterface(IID_IOPCServer,(void 
                            **)&pServer);
                            //得到IOPCServer接口指針
                            pServer->AddGroup(L"",TRUE,500,1235,&lTimeBias,&fTemp,0,&hOPCServerGroup, 
                             &dwActualRate,IID_IOPCItemMgt,& pOPCItemMgt);
    4.5  添加數(shù)據(jù)項(xiàng)
    IOPCItemMgt接口的AddItem()方法可以添加具有特殊屬性的指定數(shù)量的數(shù)據(jù)項(xiàng)。
    pOPCItemMgt->AddItems(ItemNumber,ItemArray,
    (OPCITEMRESULT**)&pItemResult,(HRESULT **)&pErrors);
    ItemArray為OPCITEMDEF類型結(jié)構(gòu)數(shù)組,它包含數(shù)據(jù)項(xiàng)的詳細(xì)信息,客戶需要知道要進(jìn)行交換的數(shù)據(jù)在RSView32標(biāo)簽數(shù)據(jù)庫中的名稱、數(shù)據(jù)類型及作為OPC服務(wù)器的RSView32項(xiàng)目名稱。添加數(shù)據(jù)項(xiàng)之前,要用這些數(shù)據(jù)項(xiàng)信息對ItemArray結(jié)構(gòu)數(shù)組進(jìn)行初始化。
    4.6  數(shù)據(jù)交換
    成功地增加完所需要的數(shù)據(jù)項(xiàng)后,OPC客戶(VC應(yīng)用程序)和OPC服務(wù)器(RSView32)就可以進(jìn)行數(shù)據(jù)交換了。在數(shù)據(jù)量不大的情況下,可以使用IOPCSyncIO同步接口的Write()和Read()兩個方法進(jìn)行數(shù)據(jù)的讀寫操作,從而實(shí)現(xiàn)OPC客戶(VC應(yīng)用程序)和OPC服務(wù)器(RSView32)之間的數(shù)據(jù)交換。代碼如下:
                            ppUnknown->QueryInterface(IID_IOPCSyncIO,(void 
                            **)&pOPCSync);
                            //得到IOPCSyncIO接口指針
                            pOPCSync->Read(OPC_DS_CACHE,ReadNumber,hServerRead,&pItemValue,&pErrors);
                            //讀ReadNumber個數(shù)據(jù)
                            pOPCSync->Write(WriteNumber,hServerWrite,Writbbbbue,&pErrors);
                            //寫WriteNumber個數(shù)據(jù)
    4.7  釋放接口指針
    在VC應(yīng)用程序停止運(yùn)行之前必須使用Release()方法刪除已創(chuàng)建的OPC對象并釋放內(nèi)存。
    5  結(jié)束語
    OPC技術(shù)規(guī)范把硬件供應(yīng)商和應(yīng)用軟件開發(fā)者分離開來,使得雙方的工作效率都有了很大提高。軟件開發(fā)商無需了解硬件的實(shí)質(zhì)和操作過程,就能訪問OPC數(shù)據(jù)服務(wù)器中的數(shù)據(jù),尤其是開發(fā)商在已使用了組態(tài)軟件進(jìn)行實(shí)時監(jiān)控的過程控制系統(tǒng)基礎(chǔ)上,用C++等高級語言開發(fā)系統(tǒng)時,大大簡化了過去從設(shè)備傳輸數(shù)據(jù)的復(fù)雜過程。在某鋁廠的自動配料系統(tǒng)開發(fā)中,應(yīng)用OPC技術(shù)方便地實(shí)現(xiàn)了VC應(yīng)用程序和RSView32的數(shù)據(jù)交換,間接地實(shí)現(xiàn)了VC應(yīng)用程序與PLC的通信,獲得了很好的結(jié)果。



     通過本方法優(yōu)化可以極大的減少程序語句數(shù),使程序更簡潔、可讀性更好,由于不需要做耗時的類型轉(zhuǎn)換,程序運(yùn)行效率也得到提高。且數(shù)學(xué)運(yùn)算量越大,效率提高越明顯。缺點(diǎn)是要多占用兩字節(jié)的內(nèi)存,以后程序中不能使用VW0。但S7-200的RAM空間很大,一般是用不完的,以226為例,有多達(dá)10K的RAM,偶從來沒有超過1K。這些RAM都是花錢買來的,不用白不用,不用也是浪費(fèi)了。

        同理,如果有字節(jié)型變量經(jīng)常需要與字類型變量相互轉(zhuǎn)換,讓字節(jié)變量占用一個字的內(nèi)存寬度浪費(fèi)一個字節(jié),避免類型轉(zhuǎn)換。具體步驟如下:

        1.根據(jù)工程實(shí)際需求,進(jìn)行功能塊規(guī)劃

        編寫子程序在PLC中子程序是為一些特定的控制目的編制的相對獨(dú)立的程序。執(zhí)行子程序調(diào)用指令CALL等,如果條件不滿足子程序調(diào)用時,程序的掃描就僅在主程序中進(jìn)行,不再去掃描這段子程序,這樣就減少不必要的掃描時間。

        2.用字或雙字?jǐn)?shù)據(jù)傳送給DO點(diǎn)方法來控制輸出

        在PLC的應(yīng)用中通常都會有大量的輸出控制,用字或雙字?jǐn)?shù)據(jù)傳送給DO點(diǎn)方法來控制輸出可以提高速度,只要根據(jù)實(shí)際應(yīng)用的要求,合理分配輸出,變換控制輸出控制字,可以大大減少PLC程序執(zhí)行的步數(shù),從而加快PLC的程序運(yùn)行速度。

        3.脈沖觸發(fā)SET、RESET

        PLC中,使用SET指令只執(zhí)行一次即可,不必每次掃描都執(zhí)行這個指令,很適合與脈沖輸出(PLS/PLF)指令配合使用。有些工程人員忽視了這個問題,使用了常規(guī)的方法來驅(qū)動SET指令,無意中增加了PLC程序掃描運(yùn)行時間.

        4.避免了類型轉(zhuǎn)換,方法如下:

        以S7-200為例,它的內(nèi)存格式與我們常用的PC機(jī)正好相反,它是高字在前,低字在后的。所以我們可以將字變量放在后兩個字節(jié),在程序初始化時將前兩個字節(jié)清零(程序的其它地方不得使用這兩個字節(jié))。

     PLC的程序是一套系統(tǒng)或者單體設(shè)備核心內(nèi)容。在系統(tǒng)維護(hù)人員的眼里,做程序是似乎一件很了不起的事情,但是當(dāng)我們做了幾年P(guān)LC程序之后,或許我們會發(fā)出感嘆:其實(shí)PLC程序很簡單,但真的是這樣嗎?

        作出一套能夠使設(shè)備或者系統(tǒng)運(yùn)行起來的程序確實(shí)很簡單,但是,如果想讓系統(tǒng)成為一套緊密結(jié)合的整體,擁有完美的自檢測系統(tǒng)、報(bào)警連鎖系統(tǒng)、良好的擴(kuò)展性和防盜性能,確實(shí)是一件費(fèi)心的事情。這段時間,看了幾套老外的程序,深深的被老外的設(shè)計(jì)思想所折服,下面簡單的介紹一下其"銅墻鐵壁"般的構(gòu)架,希望和同仁們分享。

        程序一:整套系統(tǒng)是一個完整的整體,任一部分的錯誤都會導(dǎo)致整條生產(chǎn)線的停車,如想在整套系統(tǒng)中添加新的塊或者刪除程序塊都會出現(xiàn)故障,其每部分都分配了一個站號,每個站號經(jīng)過一套算法得出一個固定的值,在程序中進(jìn)行判斷,如果相等則整套程序開始按部就班運(yùn)行,如果不相等,程序停留在循環(huán)檢測階段,一直到等于這個固定值。這樣一個簡單的功能,就有效的控制了整套系統(tǒng)的各個部分都在可控的框架內(nèi)運(yùn)行。

        程序二:整套系統(tǒng)首先由高級語言產(chǎn)生了一套程序的時鐘系統(tǒng),由時鐘值除以一整數(shù),當(dāng)產(chǎn)生不同的余數(shù)時,調(diào)用不同功能區(qū)程序。其中只有初始值等于某一數(shù)值時,時鐘程序才能不觸發(fā),投入運(yùn)行。由此可以看出,一套完美的系統(tǒng)程序,首先需要一個可控且防盜的程序框架,使整套程序都在這個架構(gòu)內(nèi)運(yùn)行,而這個架構(gòu),就如同程序系統(tǒng)的銅墻鐵壁,時時刻刻保護(hù)我們的運(yùn)行程序不被侵犯。老外的這些程序,使我們看到了目前國內(nèi)的編程水平和老外的差距,如果稱他們的系統(tǒng)工程為軍團(tuán)作戰(zhàn)的話,或許我們僅僅是游擊戰(zhàn),并沒有形成一個系統(tǒng)整體的概念。這種差距相信只有隨著國內(nèi)管理水平的提高才能逐漸的縮短。

    PLC程序現(xiàn)場調(diào)試指在工業(yè)現(xiàn)場,甩有設(shè)備都安裝好后,所有連接線都接好后的實(shí)際調(diào)試。也是PLC程序的最后調(diào)試。現(xiàn)場調(diào)試的目的是,調(diào)試通過后,可交給用戶使用,或試運(yùn)行?,F(xiàn)場調(diào)試參與的人員較多,要組織好,要有調(diào)試大綱。依大綱,按部就班地一步步推進(jìn)。開始調(diào)試時,設(shè)備可先不運(yùn)轉(zhuǎn),甚至了不要帶電??呻S著調(diào)試的進(jìn)展逐步加電、開機(jī)、加載,直到按額定條件運(yùn)轉(zhuǎn)。具體過程大體是:

    1)、要查接線、核對地址。要逐點(diǎn)進(jìn)行,要確保正確無誤。可不帶電核對,那就是查線,較麻煩。也可帶電查,加上信號后,看電控系統(tǒng)的動作情況是否符合設(shè)計(jì)的目的。

    2)、檢查模擬量輸入輸出??摧斎胼敵瞿K是否正確,工作是否正常。必要時,還可用標(biāo)準(zhǔn)儀器檢查輸入輸出的精度。

    3)、檢查與測試指示燈??刂泼姘迳先缬兄甘緹簦瑧?yīng)先對應(yīng)指示燈的顯示進(jìn)行檢查。一方面,查看燈壞了沒有,另一方面檢查邏輯關(guān)系是否正確。指示燈是反映系統(tǒng)工作的一面鏡子,先調(diào)好它,將對進(jìn)一步調(diào)試提供方便。

    4)、檢查手動動作及手動控制邏輯關(guān)系。完成了以上調(diào)試,繼而可進(jìn)行手動動作及手動控制邏輯關(guān)系調(diào)試。要查看各個手動控制的輸出點(diǎn),是否有相應(yīng)的輸出以及與輸出對應(yīng)的動作,然后再看,各個手動控制是否能夠?qū)崿F(xiàn)。如有問題,立即解決。

    5)、半自動工作。如系統(tǒng)可自動工作,那先調(diào)半自動工作能否實(shí)現(xiàn)。調(diào)試時可一步步推進(jìn)。直至完成整個控制周期。哪個步驟或環(huán)節(jié)出現(xiàn)問題,就著手解決哪個步驟或環(huán)節(jié)的問題。

    6)、自動工作。在完成半自動調(diào)試后,可進(jìn)一步調(diào)試自動工作。要多觀察幾個工作循環(huán),以確保系統(tǒng)能正確無誤地連續(xù)工作。

    7)、模擬量調(diào)試、參數(shù)確定。以上調(diào)試的都是邏輯控制的項(xiàng)目。這是系統(tǒng)調(diào)試時,首先要調(diào)通的。這些調(diào)試基本完成后,可著手調(diào)試模擬量、脈沖量控制。最主要的是選定合適控制參數(shù)。一般講,這個過程是比較長的。要耐心調(diào),參數(shù)也要作多種選擇,再從中選出最優(yōu)者。有的PLC,它的PID參數(shù)可通過自整定獲得。但這個自整定過程,也是需要相當(dāng)?shù)臅r間才能完成的。

    8)、異常條件檢查,完成上述所有調(diào)試,整個調(diào)試基本也就完成了。但是好再進(jìn)行一些異常條件檢查??纯闯霈F(xiàn)異常情況或一些難以避免的非法操作,是否會停機(jī)保護(hù)或是報(bào)警提示。



    潯之漫智控技術(shù)(上海)有限公司經(jīng)銷/CO-TRUST科思創(chuàng)西門子PLC;S7-200S7-300 S7-400 S7-1200 觸摸屏,變頻器,6FC,6SNS120 V10 V60 V80伺服數(shù)控備件:原裝進(jìn)口電機(jī),電線,電纜,希望能跟您有更多的合作機(jī)會。我公司經(jīng)營西門子全新原裝PLC;S7-200S7-300 S7-400 S7-1200 觸摸屏,變頻器,6FC,6SNS120 V10 V60 V80伺服數(shù)控備件:原裝進(jìn)口電機(jī)(1LA7、1LG4、1LA9、1LE1),國產(chǎn)電機(jī)(1LG0,1LE0)大型電機(jī)(1LA8,1LA4,1PQ8)伺服電機(jī)(1PH,1PM,1FT,1FK,1FS)西門子保內(nèi)全新原裝產(chǎn)品‘質(zhì)保一年。一年內(nèi)因產(chǎn)品質(zhì)量問題免費(fèi)更換新產(chǎn)品;不收取任何費(fèi)。歡迎致電咨詢。


    產(chǎn)品價(jià)格:面議
    發(fā)貨地址:上海上海包裝說明:不限
    產(chǎn)品數(shù)量:1000.00 臺產(chǎn)品規(guī)格:模塊式
    信息編號:196067151公司編號:21853000
    潯之漫智控技術(shù)(上海)有限公司 聶航先生 認(rèn)證認(rèn)證 認(rèn)證 15221406036
    相關(guān)產(chǎn)品:上海詩幕自動化設(shè)備有限公司
    本頁鏈接:http://fs-teli.com/wvs196067151.html
    以上信息由企業(yè)自行發(fā)布,該企業(yè)負(fù)責(zé)信息內(nèi)容的完整性、真實(shí)性、準(zhǔn)確性和合法性。免費(fèi)黃頁網(wǎng)對此不承擔(dān)任何責(zé)任。 馬上查看收錄情況: 百度 360搜索 搜狗
赫章县| 临朐县| 衡东县| 兴化市| 台南市| 阳曲县| 伊宁县| 黄浦区| 右玉县| 泸水县| 芜湖县| 广德县| 岳普湖县| 修武县| 阿坝县| 宣化县| 塔河县| 苍梧县| 舟曲县| 聊城市| 中宁县| 竹山县| 黎平县| 五常市| 桐庐县| 南宫市| 郑州市| 本溪| 鲜城| 衡水市| 清河县| 永福县| 弥勒县| 无极县| 鄂尔多斯市| 贺州市| 建始县| 宣城市| 保亭| 安塞县| 保定市|