青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

eryar

PipeCAD - Plant Piping Design Software.
RvmTranslator - Translate AVEVA RVM to OBJ, glTF, etc.
posts - 603, comments - 590, trackbacks - 0, articles - 0

PDMS call Operating System Command

Posted on 2015-10-27 22:44 eryar 閱讀(3391) 評論(0)  編輯 收藏 引用 所屬分類: 4.AVEVA Solution

PDMS call Operating System Command

eryar@163.com

1.Introduction

AVEVA提供了三種二次開發的方式:DARs, PML和AVEVA .Net(C#)。DARs是Fortran的函數庫,也可以用C/C++來開發,依賴的庫少,但是只能用于控制臺的程序,不能使用在MFC或Qt程序中,即不能有友好的用戶界面(GUI),所以對于提取PDMS數據,然后進行一些處理的小程序,此方法還比較適用。

AVEVA的PML和常見的Python, Tcl/Tk, Lua等一樣是一種解釋型的腳本語言,其只能在PDMS軟件中被解釋執行。也相當于批處理文件對于Windows操作系統。PDMS自帶的很多程序就是用PML開發的。腳本語言的顯著優勢就是將常用的命令封裝出來,這樣在測試程序新功能時,不需要編譯源碼,只需要編寫腳本,提高軟件開發效率;使用腳本時需要將功能暴露出來,這樣會對接口的合理性做更多考慮,使軟件架構更清晰等。缺點就是對于復雜算法,執行效率較低。還有就是PML完全依賴AVEVA軟件,脫離AVEVA就像離開空氣的飛機一樣飛不起來。

AVEVA .Net是AVEVA推出的一種更方便的開發方式。結合C#豐富的庫及相對于PML而言更加高效,使用C#在AVEVA上可以快速地開發出應用程序。且PML.Net使得在PML中調用C#的庫成為可能。比如用C#可以直接讀定Word, Excel,甚至AutoCAD的DWG文件,所以使用C#對PDMS進行開發優勢明顯,但也有不足之處,那就是程序調試不方便,當C#的庫DLL被PDMS加載后,不能卸載,不能對源碼實時修改,開發效率有所影響。

PDMS提供了在PML中調用系統命令的命令:syscom。借助這個PML命令,為PDMS的開發又提供了一種新架構(New Architecture)。本文詳細介紹syscom命令的用法,及如何使用這條命令來為PDMS的二次開發指出一條新路。

2.How to...

SYSCOM也是一條PML命令,其用法和其他PML命令一樣,只是其參數是Windows中的DOS命令。如在命令窗口中輸入命令syscom ‘dir’,則可以在控制臺窗口中顯示出當前文件夾中的內容:

wps_clip_image-18088

Figure 2.1 syscom usage

同理,輸入syscom ‘help’則可以顯示出常見DOS命令的使用說明:

wps_clip_image-8815

Figure 2.2 syscom call DOS command directly

由此可見,使用syscom相當于運行了一條DOS命令。因為DOS命令可以調用程序,如打開記事本,所以使用syscom也應該可以打開記事本。調用命令syscom ‘notepad’即可以了,如下圖所示:

wps_clip_image-9654

Figure 2.3 syscom to open a notepad

打開記事本后,可以看見PDMS程序處于等待狀態。只有將記事本關閉,PDMS程序才恢復正常。如何使PDMS程序不用等待調用的程序是否執行完畢呢?PDMS中也提供了方法,那就是在程序名后加個&。如syscom ‘calc&’,就可以打開計算器程序而不用去等待是否將其關閉。

wps_clip_image-15743

Figure 2.4 syscom to call calculator

3.New Architecture

有了這條命令,把PDMS的擴展性又提高了,因為可以用syscom來調用Windows中的腳本即批處理文件。這樣就可以用批處理來調用其他程序,由此擺脫因為AVEVA .NET(C#)開發時加載DLL后調試的不便,也可擺脫編程語言的限制,只要是一個程序都可以通過批處理來調用,即可以用C/C++或C#甚至VB來編寫程序,再用通過syscom來調用。所以通過syscom調用批處理的方式也是一種全新的開發方式,下面通過一個簡單的例子來進行說明如何將PML的變量傳遞給批處理。將下列代碼保存為syscom.bat放在PDMS安裝目錄:

echo off
set param1=%1
echo echo from syscom.bat
echo %param1%

在PDMS中輸入命令:

syscom ‘syscom.bat Hi,SYSCOM’

則會在PDMS的控制臺上輸出如下圖所示:

wps_clip_image-8436

Figure 3.1 pass parameter to batch file

通過這種方式就可以將PDMS中的數據傳遞到自己的程序中了。下面以一個最簡單的C++程序為例來說明。

/*
*    Copyright (c) 2015 Shing Liu All Rights Reserved.
*
*           File : main.cpp
*         Author : eryar@163.com
*           Date : 2015-10-27 21:00
*
*    Description : a simple C++ program to test PDMS syscom.

*/
#include <iostream>

int main(int argc, char* argv[])
{
    for (int i = 0; i < argc; ++i)
    {
        std::cout << "parameter: " << argv[i] << std::endl;
    }

    return 0;
}

為了簡單起見,將上述代碼生成的程序放到PDMS安裝目錄。在PDMS中測試如下圖所示:

wps_clip_image-1816

Figure 3.2 pass parameters to C++ program

從上面的例子可以看出,通過syscom可以調用任何應用程序,不管其用什么語言編寫的。甚至可以直接將PML變量傳遞到程序中。這種方式來對PDMS進行開發比用AVEVA .Net(C#)來開發更方便,因為其調試很方便。如果處理的數據量比較大,可以將這些數據導出成文件,通過文件的方式來傳遞也是很方便的。

所以通過syscom調用批處理或應用程序或由批處理來調用程序的開發方式效率更高,且代碼保密性好,把程序的關鍵部分用C或C++或其他編程語言來實現,比PML的保密性好。因為程序和PDMS沒有什么關聯,所以即使不運行PDMS,也是可以使用程序的。更重要的是程序調試方便,開發效率高。因此,這種開發方式可以說是一種全新地、方便地開發方式。

4.Conclusion

綜上所述,通過詳細介紹PML調用系統命令的命令syscom來對PDMS開發的幾種方式進行對比。通過對比,說明使用syscom來調用程序的方式更為便利,且程序便于調試,保密性好。程序的規模也不受限制,可以是簡單的小程序,也可以是復雜一些的應用程序。

5.References

1. AVEVA. DESIGN Reference Manual General Commands

2. AVEVA .NET Customisation User Guide

3. AVEVA Data Access Routines User Guide

4. AVEVA. Software Customisation Guide

5. AVEVA. Software Customisation Reference Manual

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日本欧美一区二区三区| 西瓜成人精品人成网站| 久久一区二区三区四区| 激情偷拍久久| 欧美国产激情| 欧美日本国产一区| 亚洲综合清纯丝袜自拍| 欧美一级在线播放| 亚洲高清视频在线| 日韩视频免费| 国产自产女人91一区在线观看| 久久久久天天天天| 欧美高清一区二区| 亚洲欧美一级二级三级| 久久久综合视频| 亚洲小视频在线观看| 欧美一区二区视频观看视频| 影音欧美亚洲| 一区二区三区产品免费精品久久75| 国产精品视频久久久| 欧美成人精品影院| 欧美午夜剧场| 欧美成人精品激情在线观看| 欧美日韩一区二区在线播放| 久久精品成人| 欧美日韩免费| 免费中文日韩| 国产精品永久免费观看| 亚洲福利在线观看| 国产精品看片资源| 亚洲激情网址| 在线观看国产成人av片| 亚洲精品乱码久久久久久按摩观| 99国产欧美久久久精品| 国产综合自拍| 亚洲一区二区三区久久| 亚洲精品一区二区三区福利| 午夜精品一区二区三区在线播放| 日韩亚洲不卡在线| 久久久青草婷婷精品综合日韩| 亚洲综合不卡| 欧美日韩国产精品专区| 欧美sm视频| 狠狠色狠狠色综合日日五| 亚洲少妇在线| 在线午夜精品| 欧美成年视频| 欧美激情一区二区三区高清视频| 国产视频丨精品|在线观看| 中文高清一区| 亚洲视频在线观看网站| 欧美国产在线观看| 久久精品91| 免费一级欧美片在线观看| 欧美成人性生活| 老司机成人在线视频| 国产一区视频观看| 欧美一区国产一区| 久久久国产精品一区| 国产日本欧美一区二区三区在线| 中文在线资源观看视频网站免费不卡| 夜夜嗨av一区二区三区| 欧美韩国日本一区| 亚洲免费高清| 亚洲视频 欧洲视频| 欧美日韩亚洲一区二区三区| 99热免费精品| 翔田千里一区二区| 国产性做久久久久久| 欧美一区视频| 老司机免费视频一区二区三区| 黑丝一区二区| 麻豆久久精品| 91久久精品一区二区三区| aa成人免费视频| 欧美另类69精品久久久久9999| 亚洲人成网站999久久久综合| 一本色道婷婷久久欧美| 欧美视频日韩视频在线观看| 亚洲一区二区三区免费视频 | 久久综合国产精品台湾中文娱乐网| 久久久精品欧美丰满| 在线精品在线| 欧美风情在线观看| 中国成人在线视频| 久久久久久亚洲精品中文字幕| 极品尤物一区二区三区| 欧美经典一区二区| 亚洲一区日本| 国产精品自拍视频| 久久精品视频免费观看| 亚洲国产日本| 欧美在线视频在线播放完整版免费观看| 国产三级精品在线不卡| 巨乳诱惑日韩免费av| 妖精视频成人观看www| 久久久久久伊人| 夜夜嗨av色一区二区不卡| 国产亚洲人成网站在线观看| 欧美+日本+国产+在线a∨观看| 在线综合亚洲| 欧美激情一二区| 欧美中文字幕视频在线观看| 亚洲人成久久| 国产午夜精品久久久久久久| 麻豆成人在线播放| 亚洲影院在线观看| 亚洲另类一区二区| 免费观看不卡av| 性色一区二区| 一区二区三区视频观看| 在线观看日韩专区| 国产日韩精品久久久| 欧美日产在线观看| 毛片一区二区三区| 欧美在线三区| 亚洲免费视频中文字幕| 亚洲精品欧美在线| 欧美激情乱人伦| 久久久久九九视频| 西瓜成人精品人成网站| 日韩亚洲精品在线| 亚洲黄色大片| 亚洲欧美国产毛片在线| 一片黄亚洲嫩模| 国产一区二区三区四区五区美女| 欧美日韩日本国产亚洲在线| 欧美成人久久| 欧美超级免费视 在线| 久久久精品性| 久久久久国色av免费看影院| 午夜久久久久久| 亚洲欧美春色| 欧美亚洲网站| 欧美在线免费观看| 欧美在线高清| 久久九九精品| 一区二区三区蜜桃网| 欧美在线高清| 国产一区二区av| 亚洲国产精品成人久久综合一区| 亚洲视屏一区| 在线观看视频一区二区| 国精品一区二区| 一区在线播放| 在线欧美视频| 亚洲韩国青草视频| 亚洲精品视频免费| 亚洲深夜av| 性8sex亚洲区入口| 久久中文字幕导航| 欧美国产专区| 日韩系列在线| 午夜日韩电影| 久久漫画官网| 欧美顶级大胆免费视频| 欧美日产国产成人免费图片| 国产精品九九久久久久久久| 国产麻豆精品theporn| 狠狠色香婷婷久久亚洲精品| 亚洲丶国产丶欧美一区二区三区| 欧美大片在线看免费观看| 欧美成人一区二区三区片免费| 麻豆精品在线视频| 最新成人在线| 亚洲一区二区三区高清不卡| 欧美一区网站| 欧美激情国产日韩| 国产精品美女久久久浪潮软件| 国产一二三精品| 亚洲精品色图| 欧美在线视频不卡| 91久久国产精品91久久性色| 一区二区欧美国产| 久久蜜桃精品| 国产精品免费一区二区三区观看| 国产主播喷水一区二区| 亚洲精品一二三| 久久国产免费看| 国产精品美女www爽爽爽| 精品不卡在线| 亚洲综合二区| 亚洲国产日韩一级| 小辣椒精品导航| 欧美日韩激情小视频| 海角社区69精品视频| 亚洲深爱激情| 亚洲黑丝在线| 久久精品30| 国产精品久久婷婷六月丁香| 最新成人av网站| 久久久久久久一区二区三区| 一本久道久久综合中文字幕| 久久亚洲精品一区| 国产日韩一区二区| 亚洲综合国产| 亚洲作爱视频| 欧美日韩另类综合| 亚洲裸体俱乐部裸体舞表演av| 久久裸体艺术|