pml界面设计器

PDMS是AVEVA公司的一款工厂设计项目软件,PDMS支持二次开发,其中二次开发包括.net及自带的Programmable Macro Language编程语言(简称PML),由于PML开发可以使用PDMS大部分资源,对PDMS版本的敏感度不会特别高,无需进行编译即可在PDMS上执行,所以虽然已经有.net等高级编程语言,但PML语言仍是主流的编程语言。

PML编程示例

以下是PML编写的代码示例:

1 $*通过在调用宏文件时,传入相应的参数,使宏可以动态改变参数
2 $* 用法为$m 文件完整名称 参数1 参数2 ……
3 $* 示例:$m F:\pdms\pyparam.mac pyequip 300 400 600
4
5 NEW EQUIP /$1
6 NEW BOX
7 XLEN $2 YLEN $3 ZLEN $4
8 NEW CYL DIA $3 HEI $4
9 CONN P1 TO P2 OF PREV

将此文件保存为pyparam.mac格式pml的宏文件。

打开pdms的design模块,将模型树定位在SITE层,在Command Window中执行如下图所示代码(F:\pdms\pyparam.mac为代码文件的全路径名称,需要依据实际进行修改)回车后,会在PDMS中自动创建参数化的设备模型:

 PML界面编程示例

代码参考如下所示:

 1 setup form !!layout2
 2
 3 title ‘Form !!layout2‘
 4
 5 path DOWN
 6 frame .Tabset TABSET ‘tabset‘ anchor All
 7 --Page 1-------------------------------------------------
 8 frame .page1 |Page 1| dock Fill
 9
10 frame .frame4 ‘Frame 4‘
11 paragraph .Message4 text ‘This is a ComboBox gadget‘ width 18
12 combobox .Colour tagwid 5 ‘Colour‘ scroll 20 width 5 tooltip‘set/add colour for paragraph‘
13 exit
14
15 frame .frame6 ‘Frame 6‘ width.frame4
16 halign right
17 paragraph .Message6 text ‘These are right aligned text gadgets‘ width 16 lines 2
18 text .Width tagwid 5 ‘Width‘ width 5 is REAL
19 text .Height tagwid 5 ‘Height‘ width 5 is REAL
20 text .Area tagwid 5 ‘Area‘ width 5 is REAL
21 halign left
22 button .b3 |area| tooltip‘calculate the area‘
23 exit
24
25 frame .frame5 ‘Frame 5‘ at Xmax.frame4+2 Ymin.frame4 anchor All
26 paragraph .Message5 text ‘This is a multi-choice list gadget‘ wid 12 lines 2
27 list .Li1 ‘Select some of these‘ anchor all MULTIPLE width 12 height 11
28 button .b1 |print| Anchor L + B tooltip‘print list selections‘
29 exit
30 exit
31
32
33 exit
34 path right
35 button .CANCEL at XMIN form YMAX form anchor L + B CANCEL
36 button .RESET anchor L + B RESET
37 button .OK at XMAX form-size anchor R+B OK
38
39 exit

1. 将此文件保存为layout2.pmlfrm,并放在PDMS安装目录中的PMLLIB子文件夹下。
2. 在Command Window中执行如下两个命令:

3. 弹出如下pml界面(示例无相关可操作的代码,仅用于界面显示)。

PML同样可以像.net一样开发交互性更强的界面,但由于没有可视化的界面设计SDK,导致PML界面开发过程中需要不断的修改控件的代码段,调整控件的宽度高度相对位置,来保证控件布局与属性符合实际需要,这个过程即枯燥又繁琐,如果有一款工具能实现PML界面的设计来提高PDMS二次开发的效率,将会极大满足工程设计的进度要求。

PML界面设计器

1. 基于已有的程序界面设计器,开发出PML界面设计器AwePml工具。有了这款工具完全可以通过拖拽方式将pml使用的控件放到设计界面上,并使用鼠标进行位置调整,支持控件对齐、复制、粘贴等操作,通过属性页可对控件属性信息配置,如显示名称、背景色等。

2. 设计完成后,使用调试功能可以一键在pdms中打开已设计好的界面,方便查看与调试,大大简化了pml界面开发过程。

 总结

通过pml界面设计器可以解决实际工程应用中的痛点,后续会不断完善和优化此设计器的功能。如果有需要软件和操作说明的可以通过邮箱联系,工具完全免费,只是希望能提高开发效率。有其他工程开发需求也可以通过邮箱联系,欢迎大家骚扰。

原文地址:https://www.cnblogs.com/pyyo/p/awepml.html

时间: 2024-10-03 20:29:18

pml界面设计器的相关文章

2-1. Creating a Simple Model 使用图形界面设计器创建一个简单的模型

一.创建新项目 二.添加模型文件 三.添加完后,在设计面板空白处右击,创建一个实体 实体集(B) 这里的名称会是对应的数据库表名称!!! ,开始不知道这是什么,生成后才知道表名是这个,以后注意点就行. 四.添加实体标量属性(Scalar Property) 你现在已经完成一个简单的概念性的模型.从模型生成数据库,还需要做点事. 五.你现在已经完成一个简单的概念性的模型.从模型生成数据库,还需要做点事. 1.右击设计界面空白处,选择属性,修改数据库框架名称为Chapter2,修改实体容器名为Rec

基于Extjs的web表单设计器 第六节——界面框架设计

基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extjs的web表单设计器 第四节——控件拖放 基于Extjs的web表单设计器 第五节——数据库设计 基于Extjs的web表单设计器 第六节——界面框架设计 基于Extjs的web表单设计器 第七节——取数公式设计 基于Extjs的web表单设计器 第八节——表单引擎设计 这一节我给大家介绍一下表单设

一步一步jQuery流程设计器插件goflow(附代码) - 1 - 构建设计器UI界面

之前用Silverlight实现过一个流程设计器(Demo),使用起来不是很方便.打算参考GooFlow,结合自己对工作流的理解,用jQuery改造实现一个,力求简单实用. 第一步是要构建设计器的UI界面,如下: 用到的图标有: 用CSS精灵工具如CSS Satyr可以把它们合在一起. C#的String.format用习惯,觉得js里拼字符串不好使,先模拟实现一个: function formatString() { var formatStr = arguments[0]; if (type

13.美化界面--WEB设计器JQUERY插件讲解(含源码)

今天花了一个小时对页面略做了一些美化,看起来更专业了点, 主要是一些背景图片之类的样式调整,初学者可以看下,如何切分spirit图片,遇到问题主要是LI中的元素如何垂直居中的问题(解决方案是li设置height和line-height相同),增加了一个span用于显示图片,但它的对齐花了不少时间. 代码如下: sample1.11.zip 关键字:设计器源代码,Web设计器,工作流设计器,jQuery插件,组态设计器,SCADA系统设计器,流程图设计,表单设计建模,报表设计,可视化,设计时,运行

activiti工作流的web流程设计器整合视频教程 SSM和独立部署

本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流程设计器和其它工作流项目分开部署的方式 2. 流程设计器和SSM框架项目整合在一起的方式 视频大小 1.13 GB ~[获取地址] QQ313596790 本视频均为本人亲自录的,另免费附加赠送Activiti工作流视频(企业开发实例讲解) (这个赠送的Activiti工作流视频里面的流程设计器用的

java activiti5 在线web流程设计器整合视频教程 SSM和独立部署

本视频为activiti工作流的web流程设计器整合视频教程 整合Acitiviti在线流程设计器(Activiti-Modeler 5.21.0 官方流程设计器) 本视频共讲了两种整合方式 1. 流程设计器和其它工作流项目分开部署的方式 2. 流程设计器和SSM框架项目整合在一起的方式 视频大小 1.13 GB ~[获取地址]   QQ313596790 官网 http://www.fhadmin.org/ 本视频均为本人亲自录的,另免费附加赠送Activiti工作流视频(企业开发实例讲解)

C#用DesignSurface实现一个简单的窗体设计器

System.ComponentModel.Design.DesignSurface是为设计组件提供一个用户界面,通过它可以实现一个简单的窗体设计器. 在构建之前,我们需要引入System.Design.dll,否则会出现找不到DesignSurface的错误.  1         private void Form1_Load(object sender, EventArgs e) 2         { 3            //引用System.Deisgn.dll 4       

第4章(2) UI设计器

分类:C#.Android.VS2015:创建日期:2016-02-06 开发人员可以用以下两种方式声明UI:一是通过.xml文件(不带预览界面)或者.axml文件(带预览界面)来描述:二是用C#代码实现. 用.axml文件描述用户界面(UI)时,设计器分为[设计]视图和[源]视图.这种方式的优点是:可以尽可能地把表现与控制行为的代码分隔开.就是说,可以直接修改XML而不需要重新编译.另外,还可以让UI结构可视化以及调试都变得更容易. 1.布局文件(.xml和.axml) 在XML中声明UI之后

基于Extjs的web表单设计器 第七节——取数公式设计之取数公式的使用

基于Extjs的web表单设计器 基于Extjs的web表单设计器 第一节 基于Extjs的web表单设计器 第二节——表单控件设计 基于Extjs的web表单设计器 第三节——控件拖放 基于Extjs的web表单设计器 第四节——控件拖放 基于Extjs的web表单设计器 第五节——数据库设计 基于Extjs的web表单设计器 第六节——界面框架设计 基于Extjs的web表单设计器 第七节——取数公式设计之取数公式定义 基于Extjs的web表单设计器 第七节——取数公式设计之取数公式的使用