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

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>
            老司机凹凸av亚洲导航| 国产字幕视频一区二区| 午夜日韩福利| 亚洲一区二区三区视频播放| 99国产精品久久久久久久| 亚洲三级色网| 蜜桃av一区| 亚洲国产另类久久精品| 一本色道久久综合亚洲精品小说 | 国产精品久久777777毛茸茸| 欧美日韩色婷婷| 国产精品久久久久久久久久尿 | 欧美性理论片在线观看片免费| 欧美日韩一区不卡| 国产日本欧美一区二区三区在线| 国产日韩精品综合网站| 亚洲第一福利社区| 国产精品99久久久久久人| 羞羞视频在线观看欧美| 久久中文字幕一区| 亚洲精品在线观| 欧美一级播放| 欧美久久99| 狠狠v欧美v日韩v亚洲ⅴ| 91久久精品日日躁夜夜躁国产| 在线亚洲观看| 美女国产一区| 亚洲一区二区av电影| 久久久久久日产精品| 欧美日韩一本到| 在线不卡中文字幕| 亚洲欧美视频一区| 亚洲国产三级网| 欧美在线亚洲| 国产精品高清一区二区三区| 亚洲国产99精品国自产| 欧美一区二区三区四区在线观看地址 | 亚洲视频成人| 狂野欧美一区| 亚洲一区二区在线免费观看视频| 久久综合99re88久久爱| 国产女优一区| 亚洲一区免费网站| 亚洲欧洲在线观看| 浪潮色综合久久天堂| 国产一区二区三区在线观看免费| 亚洲一区激情| 亚洲精品视频在线观看免费| 久久亚洲精品网站| 国内成人在线| 久久一区二区三区国产精品| 亚洲摸下面视频| 欧美视频日韩视频| 中文精品99久久国产香蕉| 亚洲福利在线观看| 毛片av中文字幕一区二区| 一区二区三区无毛| 免费成人黄色| 毛片av中文字幕一区二区| 亚洲国产精品一区| 老鸭窝亚洲一区二区三区| 欧美在线一区二区| 国产女主播在线一区二区| 午夜精品三级视频福利| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美日韩国产色综合一二三四| 日韩视频中午一区| 99热免费精品在线观看| 国产精品多人| 久久精品国产视频| 久久亚洲欧美国产精品乐播| 亚洲国产精品va| 最新国产拍偷乱拍精品| 欧美激情在线有限公司| 日韩写真在线| 亚洲视频专区在线| 国产亚洲精品久久飘花| 美女日韩在线中文字幕| 欧美国产大片| 欧美一区二区免费| 久久婷婷久久一区二区三区| 亚洲精品美女久久久久| 一二三区精品| 精品白丝av| 亚洲精品午夜精品| 国产麻豆精品视频| 欧美国产乱视频| 欧美视频国产精品| 老色鬼久久亚洲一区二区| 欧美极品一区二区三区| 香蕉亚洲视频| 欧美成人激情视频| 欧美一区二区三区视频免费播放| 久久久久久久成人| 亚洲免费婷婷| 美日韩在线观看| 香蕉免费一区二区三区在线观看| 国产真实乱偷精品视频免| 欧美激情一区二区三区不卡| 欧美日韩亚洲另类| 久久久久久亚洲精品中文字幕| 久久最新视频| 欧美一区二区成人| 欧美激情按摩| 久久一区二区三区超碰国产精品| 欧美日韩精品中文字幕| 蜜桃精品一区二区三区| 国产精品久久久久久久久久久久久久| 久久久99爱| 国产精品久久久久一区二区三区| 免费亚洲电影| 国产欧美日韩激情| 99精品热视频只有精品10| 亚洲国产精品成人| 午夜精品999| 亚洲欧美卡通另类91av| 欧美国产视频一区二区| 裸体歌舞表演一区二区| 国产精品综合久久久| 99国产精品国产精品毛片| 亚洲国产综合在线看不卡| 欧美一级大片在线观看| 午夜一区不卡| 欧美午夜精品久久久久免费视 | 国产精品成人在线观看| 亚洲国产日韩在线一区模特| 永久555www成人免费| 欧美一区二区观看视频| 香蕉久久一区二区不卡无毒影院 | 亚洲在线一区二区| 日韩亚洲欧美成人一区| 免费日韩视频| 欧美激情一区二区在线 | 在线看视频不卡| 久久久精品免费视频| 久久精品官网| 国产在线不卡精品| 欧美一区影院| 久久人人爽国产| 一区二区视频免费完整版观看| 性伦欧美刺激片在线观看| 欧美中文字幕视频在线观看| 国产欧美一区二区精品秋霞影院| 亚洲专区免费| 久久成人在线| 激情成人中文字幕| 久久综合婷婷| 亚洲精品乱码久久久久久按摩观| 日韩一级黄色大片| 欧美午夜电影在线| 亚洲欧美日韩一区在线| 久久av在线看| 亚洲国产黄色| 欧美性色综合| 国产精品久久久久秋霞鲁丝| 亚洲一区二区av电影| 亚洲私拍自拍| 国产精品亚洲一区二区三区在线| 亚洲一区在线免费| 久久久国产成人精品| 激情欧美日韩| 欧美韩日视频| 亚洲午夜av电影| 久久亚洲私人国产精品va媚药| 亚洲国产成人久久综合一区| 欧美日本国产视频| 欧美一级精品大片| 亚洲国产精品一区二区www| 国产精品99久久久久久久女警| 国产精品女人毛片| 老鸭窝亚洲一区二区三区| 亚洲美女色禁图| 久久伊人一区二区| 亚洲网站在线播放| 在线观看精品| 欧美视频第二页| 久热精品视频在线| 亚洲一区欧美激情| 亚洲国产精品久久久| 欧美在线观看网站| 日韩一级大片| 在线不卡视频| 国产精品久久久久久久久久免费| 久久青草久久| 亚洲综合社区| 91久久精品久久国产性色也91| 欧美中文字幕在线观看| 一本大道久久a久久精品综合| 国产一区二区三区在线观看网站 | 亚洲成人在线视频网站| 欧美日韩成人综合| 久久嫩草精品久久久精品| 一区二区三区色| 亚洲国产精品专区久久| 久久国内精品视频| 亚洲欧美成人一区二区三区| 亚洲日本欧美天堂| 在线看国产一区| 伊人成人在线视频| 国产一二三精品|