<rt id="m4md3"></rt>
  • <bdo id="m4md3"><meter id="m4md3"></meter></bdo>
  • <label id="m4md3"></label>
      <center id="m4md3"><optgroup id="m4md3"></optgroup></center>
      產(chǎn)品分類

      當(dāng)前位置: 首頁(yè) > 工業(yè)控制產(chǎn)品 > 自動(dòng)化控制 > 工業(yè)軟件 > 組態(tài)軟件

      類型分類:
      科普知識(shí)
      數(shù)據(jù)分類:
      組態(tài)軟件

      WinCC V7.0 支持.NET控件的編程入門(mén)

      發(fā)布日期:2022-04-27 點(diǎn)擊率:279 品牌:西門(mén)子_Siemens

          1. 開(kāi)發(fā).NET控件的示例程序

          WinCC V7.0支持的自定義.NET控件,需要使用Visual Studio 2005編寫(xiě)。下面以C#編程語(yǔ)言為例,開(kāi)發(fā)一個(gè)簡(jiǎn)單的.NET控件,這個(gè)控件僅提供一個(gè)方法Add, 實(shí)現(xiàn)兩數(shù)相加的功能。

          在VS2005中新建一個(gè)工程CalculateControl,工程類型為 Visual C# 中的Windows Control Library,在 Solution Explorer 窗口中,將UserControl1.cs重命名為 Calculate.cs,彈出的對(duì)話框詢問(wèn)是否改變所有與UserControl1相關(guān)的代碼,點(diǎn)擊[Yes]確認(rèn)。在Calculate.cs 文件的Calculate類中添加Add函數(shù),用于計(jì)算兩數(shù)之和,如下所示:

      public double Add(double dblA, double dblB)

      {

      return ( dblA + dblB );

      }

      在 Calculate.cs 文件的Calculate類之前插入如下代碼:

      // CalculateControl.Calculate 是該控件的PROGID.

      [ProgId("CalculateControl.Calculate")]

      // 缺省的是ClassInterfaceType.AutoDispatch,該方式下只生成dispatch接口,

      // 只能被使用script、VB等late bingding方式的COM客戶使用。

      [ClassInterface(ClassInterfaceType.AutoDual)]

      然后在 Calculate.cs 文件的上部插入如下代碼:

      using System.Runtime.InteropServices;

          將工具欄中的 Solution Configurations 下拉列表設(shè)為 Release,在工程屬性的 Application 頁(yè)中,點(diǎn)擊 [Assembly Information…] 按鈕,選中 Make assembly COM-Visible,并點(diǎn)擊 [OK] 按鈕確認(rèn)。在 Build 頁(yè)中,選中 Register for COM interop 后,保存設(shè)置,并編譯程序,這樣編譯后同時(shí)會(huì)生成CalculateControl.tlb文件,并且自動(dòng)將其注冊(cè)(命令行命令regasm有同樣的效果),注意到CalculateControl.dll生成到 binRelease 文件夾中。

          2.開(kāi)發(fā).NET控件的安裝程序

          如果該控件需要在另一臺(tái)計(jì)算機(jī)上使用,需要為該控件設(shè)計(jì)安裝程序。新建一個(gè)VS2005工程SetupCalculateControl,工程類型為Setup and Deployment  Setup Project。在Solution Explorer窗口中的工程名(SetupCalculateControl)節(jié)點(diǎn)上右鍵單擊,在彈出的快捷菜單中選擇AddAssembly…項(xiàng),在Browse頁(yè)中,找到剛才編譯的CalculateControl.dll,將其加入到安裝程序中,注意到CalculateControl.tlb 也一并被加入進(jìn)來(lái)。選中CalculateControl.dll節(jié)點(diǎn),將其屬性中的Register從vsdraDoNotRegister改為vsdraCOM,用于在安裝過(guò)程中自動(dòng)注冊(cè)控件。將工具欄中的 Solution Configurations 下拉列表設(shè)為 Release,編譯該安裝工程,在Release 文件夾中可以找到生成的安裝文件(包括setup.exe和SetupCalculatorControl.msi)。

          3. 測(cè)試.NET控件

          使用ActiveX Control Test Container測(cè)試該控件的功能,雙擊tstcon32.exe(位于$Program FilesMicrosoft Visual Studio 8Common7Tools),在Edit菜單中選擇 [Insert New Control…] ,在彈出的 Insert Control 對(duì)話框中,點(diǎn)擊 [Implemented Categories…] 按鈕,選中 .NET Category 復(fù)選框,點(diǎn)擊 [OK] 按鈕確認(rèn)。在列表框中選擇 CalculateControl.Calculate,如圖1所示:

      圖 1:在ActiveX Control Test Container中插入控件

          點(diǎn)擊 [OK] 按鈕確認(rèn),這時(shí)該.NET控件被加入到測(cè)試容器中。選中該控件,在Control菜單中選擇[Invoke Methods…]項(xiàng),在Method Name中選擇Add(Method),分別設(shè)定兩個(gè)加數(shù)的值,點(diǎn)擊 [Invoke] 按鈕,在 Return Value 文本框中可以看到兩數(shù)相加的結(jié)果。

          4. 在WinCC V7.0中加載和使用該控件的步驟

          1.雙擊該控件的安裝文件Setup.exe,安裝并注冊(cè)CalculateControl.dll控件,用戶可以修改安裝目錄,并按照正常的步驟安裝(如果想卸載該控件,可以在控制面板的添加/刪除程序中移除該控件)。

          2.新建一個(gè)WinCC V7.0工程,并新建一個(gè)畫(huà)面。按照如下步驟加載和使用該控件:

          在Object Palette(對(duì)象面板)的Controls頁(yè)中的.NET Control上右鍵單擊,選擇 [Add/Remove…] 快捷菜單項(xiàng)。

          在彈出的對(duì)話框中點(diǎn)擊[Add…]按鈕,在打開(kāi)的對(duì)話框中找到安裝路徑下的CalculateControl.dll控件(例如:C:Program FilesDefault Company NameSetupCalculateControl CalculateControl.dll),雙擊該控件或者選中它并按[Open]按鈕。

      圖 2:在selec .NET Object對(duì)話框中插入自定義.NET控件

          如圖2所示,在Available Controls列表中高亮顯示Calculate項(xiàng),選中它前面的Check Box,點(diǎn)擊最下面的[OK]按鈕,即可將控件加入到WinCC V7.0中。

          將.NET Control節(jié)點(diǎn)展開(kāi),找到” CalculateControl.Calculate”并將其拖拽到窗體上的合適的位置。

          在窗體上加入一個(gè)靜態(tài)文本控件,將其對(duì)象名稱改為 CalculateResult。

          在窗體上加入一個(gè)按鈕,將其文本改為Add,在按鈕的鼠標(biāo)左鍵單擊(ButtonMousePress left)事件中加入VBS腳本,創(chuàng)建.NET控件并調(diào)用它的Add方法,源程序如下所示:

      Dim objCalculateControl

      Dim objCalculateResult

      Set objCalculateControl = CreateObject("CalculateControl.Calculate")

      Set objCalculateResult = ScreenItems("CalculateResult")

      objCalculateResult.Text = objCalculateControl.Add ( 6, 12 )

          注意,WinCC V6.2使用ScreenItems(”控件對(duì)象名”)引用加入窗體的ActiveX控件。但WinCC V7.0不能使用這種方法,建議使用CreateObject(“.NET控件的PROGID”) 來(lái)創(chuàng)建和引用加入的.NET控件。

          保存并運(yùn)行該程序,點(diǎn)擊[Add]按鈕,靜態(tài)文本中將顯示結(jié)果18。

          注意:本文提供了 WinCC V7.0 支持.NET控件的基本編程方法和測(cè)試程序,所有的源程序及測(cè)試過(guò)程僅供參考。

       

      下一篇: PLC、DCS、FCS三大控

      上一篇: 索爾維全系列Solef?PV

      推薦產(chǎn)品

      更多
      主站蜘蛛池模板: 色综合久久久无码网中文| 久久91综合国产91久久精品| 亚洲国产综合专区电影在线| 久久综合五月婷婷| 久久乐国产综合亚洲精品| 国产一级a爱做综合| 亚洲欧洲日韩综合| 亚洲综合久久夜AV | 欧美日韩色另类综合| 亚洲色偷偷综合亚洲AVYP| 卡通动漫第一页综合专区| 色综合久久精品中文字幕首页| 国产婷婷综合在线视频| 色综合久久综精品| 亚洲欧洲综合在线| 91精品婷婷国产综合久久| 狠狠色丁香久久综合五月| 天天做天天爱天天综合网| 色综合久久综合网| 久久综合丝袜长腿丝袜| 亚洲国产成人九九综合| 香蕉蕉亚亚洲aav综合| 久久青青草原综合伊人| 一本久道久久综合多人| 色偷偷亚洲第一综合网| 色婷婷五月综合欧美图片| 一本久道久久综合狠狠躁| 综合欧美五月丁香五月| 精品综合久久久久久98| 亚洲第一综合天堂另类专| 麻豆久久婷婷五月综合国产| 色综合久久天天综合观看| 国产成人综合色视频精品| 国产精品综合一区二区| 激情综合色综合久久综合| 久久香蕉综合色一综合色88| 色青青草原桃花久久综合| 狠狠综合亚洲综合亚洲色| 一本一道久久a久久精品综合| 一本久道久久综合| 国产精品天天影视久久综合网|