使用E-Form++可视化企业版本,构建属于自己的专业工控、建模仿真、
监控组态、培训仿真平台!
-- 100%源码
(全部采用VC++/MFC编写,支持.NET, Java, Web, Delphi等开发)彻底开放组态平台!
下载E-Form++全功能免费评估版本
--
下载地址
下载此组态解决方案--
下载地址1
下载地址2
*HMI硬件采集数据接口代码及说明:
下载硬件数据接口dll源代码
*HMI操作视频和案例:
UCanCode
组态解决方案操作视频及案例
*全新Codejock界面集成的HMIBuilder平台
构建专业工控、仿真平台是一件非常复杂的系统工程,使用E-Form++可视化源码组件库将为您节省超过70%的开发时间.为了能更加清晰的显示如何完成这项工作,我们专门对原来的解决方案进行了细致的拓展,构建了能够对所有工控开发过程中的变量、画面、脚本等进行综合管理的解决方案。该解决方案涉及到工程的构建和管理,产品的发布到最后的exe文件的生成等多个方面。工程的构建与管理主要是由HMIBuilder来完成,而工程的运行与解释主要由HMIPlayer工程来负责。软件广泛应用于市政、水利、环保、装备制造、
轨道监控,核电,航空监控,石油、化工、国防、冶金、煤矿、配电、新能源、制药、交通、教育等行业,也可以用于改造自己的仿真培训,建模仿真系统。
目前支持如下IO设备驱动:
一、OPC驱动(客户端连接):支持OPC服务器数据读写规范,目前只要是OPC
1.0, OPC 2.0以及其他通过注册表注册的OPC服务都可以链接到HMIBuilder。
二、串口驱动:Modbus
串口驱动,包括(RTU和ASCII驱动)。
三、Modbus以太网驱动 (Modbus TCP/IP):Modbus TCP驱动,可对多个IP地址的同时连接。
四、IO通讯设备,提供了西门子、欧姆龙、三菱等专用PLC设备驱动,提供驱动接口快速扩展通讯协议。
五、支持变量数学运算:可以通过复杂的数学运算来对多个驱动变量进行取值,目前支持的操作符如下:
_T("+"));_T("-"));_T("*"));_T("/"));_T("("));_T(")"));_T("!"));_T("%"));_T("="));_T("^"));_T("?"));_T("=="));_T("!="));_T("="));_T("<"));_T(">"));_T("<="));
_T(">="));_T("|"));_T("&"));_T("abs"));_T("acos"));_T("asin"));_T("atan"));_T("avg"));_T("bin"));_T("ceil"));_T("cos"));_T("cosh"));_T("fact"));_T("floor"));
_T("hex"));_T("if"));_T("isNaN"));_T("log"));_T("log10"));_T("max"));_T("min"));_T("rand"));_T("round"));_T("sin"));_T("sinh"));_T("sqrt"));_T("sum"));_T("tan"));
_T("tanh"));
六、支持Win CE触摸屏:在HMIBuilder中组态后可以直接下载到Win
CE上运行(可提供Win CE版本源码, 须单独购买)。详情...
七、Web组态:提供基于控件的Web组态功能。
如果希望查看Web组态效果,请点击这里。(说明:1、请使用Microsoft
Internet Explorer, 2. 请修改IE的安全设置允许其执行ActiveX控件)。
八、可以
根据需要对接任何其他第三方实时数据库。
九、提供专业报表设计器和报表打印软件。
十、灵活组网,支持主机和工作站(节点)模式组网,支持双机冗余备份。
十一、专业实时数据库,支持Access, SQL Server, Oracle等数据库,开放源码,可以灵活拓展任何其他数据库支持。
2023版本改进功能:
1) 、增加配方管理器。
2) 、SVG定时导出,可以直接在Andriod, IOS上查看数据。
3) 、分辨率自动调整。
4) 、事件记录,提供了事件控件和操作脚本。
5) 、电子签名。
6) 、改进的实时曲线(增加了索引编号),多图重叠,历史回放等。
7) 、更优美的元件工具盒。
8) 、自定义报警文本串。
9) 、绘制电力的母线。
10) 、复合元件快速构建。
11) 、增加了用户权限等操作脚本函数。
12)、运行性能极大提升。
13)、可以导出带javascript脚本的svg,方便移动端监控部署。
14)、新增旋转渐变、缩放渐变多重复制功能。
操作界面<组态平台HMIBuilder>
HMIBuilder示例:
运行界面<Palyer>:
UCCTouch项目管理器界面:
(支持运行期分辨率调整)
工作在web上的运行器<HMI
OCX控件>:
运行控件可以直接工作在C#和Java平台上,下面是C#下示例,请参阅ProcessDemo示例:
平板与手持Android设备运行(html5 + svg):
UCanCode组态解决方案的运行器可以运行在服务器上,会根据刷新设定定时输出动态SVG数据,可以直接将此SVG推送到手机或者其他Android平台运行查看监控数据等,
不仅仅是组态:
UCanCode HMI解决方案内置完整工作流+业务流程系统,以及电气绘图模块,可以轻松制作各种电气模块图和流程图,可以把流程和组态充分结合,用于建模与仿真计算。拓扑着色等。
系统全面支持SVG的导入导出、CAD文件的导入、XML文件的存取、Flash动画播放、第三方OCX控件的插入、VBScript和JavaScript脚本等。可将SVG图形文件一键导入进组态画面,转换为组态的基本图形元素,导入之后的图形可以关联变量以及配置动画链接。免去组态工程师在组态中重复设计、开发相同的图形,大大降低组态工作量。同时,可以从网上搜索合适的SVG图形或者自定义编辑SVG图形,让组态画面更加友好、契合现场。
产品基本功能:
1 新工程:
调用如下的对话框,创建一个新的HMIBuilder工程:
在上面的设置对话框中,用户需要输入工程名,工程所在的路径。随后,工程管理器会自动的在选定的目录下创建一个工作目录,该目录名就是用户输入的工程名。这个新生成的工程里已经包含了很多信息,包括缺省的用户,以及缺省的配置信息等,用户可以在应用的过程中进行修改。
注意:用户生成的新工程会加入到工程列表中。
当工程文件创立之初,会同时创建一个主画面文件和一个系统脚本文件,文件名分别是main.xdg和system.dcp。
2 打开一个已有的工程
选择菜单“文件|打开工程”命令后,弹出“浏览文件夹”对话框,选择已有工程所在的路径。单击“确定”按钮即可打开工程文件。
如果添加的工程名称与当前工程列表中已存在的工程名称相同,此时如果两个工程所在的路径也相同,会将工程列表中已存在的工程覆盖;如果两个工程所在的路径不同,工程列表会再添加一个同名的工程。
也可以在打开文件菜单时,直接选择dcp文件格式来打开工程文件。
3 保存一个已有的工程
选择菜单“文件|保存工程”命令后,系统会自动保存当前工程文件并保存所有修改过的文档资料。
4
保存为模板工程
选择菜单“文件|保存为模板工程”命令后,系统会自动将当前工程保存为模板工程,在新建工程时可以以此模板工程为基础创建新工程。
5 关闭一个已有的工程
选择菜单“文件|关闭工程”命令后,系统会自动将当初打开的所有文档保存好,然后关闭工程文件.
6
全部保存
选择菜单“文件|全部保存”命令后,系统会将当前工程中的所有修改内容保存到文件中.
7
进入工程管理器
选择菜单“文件|进入工程管理器”命令后,系统会自动进入到工程管理器中.
8 最近工程文件列表
系统会自动将最近打开过的工程文件列在最下面的菜单中,通过单击任何一个工程名称子菜单打开该工程文件.
9
窗口管理
在窗口菜单中有一系列子菜单让您可以对画布上的任何子菜单轻松进行切换等操作。
10 工程树
在左边的工具盒中会有一个工程树,在该工程树中列出了当前工程的所有画面文件和脚本文件资源。单击鼠标右键可以增加新的画面或者增加新的脚本文件。
新增加的脚本文件会自动放入指定的文件夹中保存。双击该树中的画面或者脚本文件可以打开该文件用于编辑。
如下图:
1)、项目设置: 用于对工程进行设置,例如,缺省画面大小,背景色等。也可以同时设置主画面。
2)、变量设计器: 系统变量的增加,删除,与编辑。
3) 、IO设备管理器:用于定义IO通讯各种设备。
4)、画面: 系统中的所有画面的列表,双击可以打开设计。
5)、脚本: 系统中调用的脚本文件列表,一个脚本中可放置任意多个调用函数。
6)、发布程序: 发布应用,生成可执行文件。
7)、打开项目文件夹: 打开工程文件夹。
8)、媒体文件:当前系统中使用的其他媒体文件。
9)、键盘管理器:用于设定键盘按键及执行的操作脚本。
11 增加新的画面
在左边的工具盒中会有一个工程树,在该树控件中单击鼠标右键可以选择增加画面子菜单(也可以直接选择主菜单上的“工程|插入新画面”)来增加新的画面。增加的新画面会自动使用工程中关于此画面的缺省设置。
如果要修改画面的属性,请使用鼠标右键菜单或者主菜单来进行。
12 增加新的脚本
在左边的工具盒中会有一个工程树,在该树控件中单击鼠标右键可以选择“增加新脚本”子菜单(也可以直接选择主菜单上的“工程|插入新脚本”)来增加新的脚本文件。增加的新脚本文件会自动使用工程中关的设置。通过双击工程树上的该脚本文件图标即可编辑此文件。编辑时如果需要调用系统函数,则可以在右边的函数列表中双击该函数所在的图标来增加。
说明:
任何新增加的能够被调用的函数,必须有同main函数类似的参数结构,没别的,这是缺省做法,正式版本有源代码后可自行定制。
13 设置工程启动画面
初始启动画面是指当工程应用进入运行系统时,运行系统自动打开的指定画面文件。具体的操作方式如下:
1)、选择“工程|工程设置”菜单。
2)、在如下对话框中设置开始显示画面。
(备注:可同时设置多个画面文件来作为起始运行画面)。
此对话框中还可以设定主窗口(HMIPlayer)的运行风格,包括是否显示标题条,以及各种按钮以及边框。
(一)、画面缺省属性设置:
1)、获取屏幕大小:可获取当前显示器屏幕的大小值。
2)、宽度:缺省的窗口宽度。
3)、高度:缺省的窗口高度。
4)、显示标尺:缺省是否显示标尺。
5)、显示页面倒影:缺省的是否显示页面倒影条。
6)、背景颜色:缺省的窗口的背景颜色。
7)、边界颜色:缺省的窗口除背景之外区域的颜色。
8)、脚本语言:可选择JScript或者VBScript之一作为脚本语言。
(二)、主窗口风格:
1)、显示标题栏:HMIPlayer运行时是否显示标题条。
2)、显示最大化按钮:HMIPlayer运行时是否显示最大化按钮。
3)、显示最小化按钮:HMIPlayer运行时是否显示最小化按钮。
4)、显示关闭按钮:HMIPlayer运行时是否显示关闭按钮。
5)、显示边框:HMIPlayer主窗口是否显示边框。
6)、显示报警窗口条:HMIPlayer主窗口是否在最上面显示报警条。
14 设置工程定时执行脚本
在工程设置对话框中,可为工程开始,结束以及定时执行分别设定相应的脚本函数:
1)、选择“工程|工程设置”菜单。
2)、在如下对话框中设置。
(备注:可同时设定定时运行脚本的时间间隔)。
还可以设定窗口运行时的标题条显示内容,是否显示菜单,是否全屏运行,是否始终置顶运行等特性。
(一)、窗口:
1)、标题:HMIPlayer主窗口显示的标题文本内容。
2)、显示菜单:HMIPlayer主窗口是否显示菜单条。
3)、全屏运行:HMIPlayer运行时是否全屏运行。
4)、始终置顶:HMIPlayer运行时是否始终放到所有窗口的前面。
5)、屏幕居中显示:当处于屏幕居中模式时,则X, Y位置无效,HMIPlayer会自动的根据后面设置的宽度和高度来在屏幕居中显示HMIPlayer窗口。
6)、X位置:窗口的左上角x位置。
7)、Y位置:窗口的左上角y位置。
8)、宽度:HMIPlayer主窗口的宽度。(可使用后面的预设值来快速设定,也可以单击获取屏幕大小按钮来获得屏幕的宽度和高度)。
9)、高度:HMIPlayer主窗口的高度。(可使用后面的预设值来快速设定,也可以单击获取屏幕大小按钮来获得屏幕的宽度和高度)。
10)、启动显示画面:HMIPlayer刚开始运行时显示的画面,可同时设定多个画面来一起显示。
(二)、数据采集时间间隔设定:用于设定多少时间间隔采集一次数据,单位为毫秒。
(三)、画面刷新时间间隔设定:用于设定HMIPlayer画面刷新的时间,即多少时间画面刷新一次,单位为毫秒,
此刷新时间内会执行指定的相应脚本函数或者表达式赋值。
(四)、循环次数:
系统内置计数器,画面每刷新一次,计数器加1,此处可设定当总数达到多少时自动回置到1。在表达式中可使用变量_app_step来获取当前计数值。
(五)、脚本或赋值表达式:
1)、进入程序运行:即当系统刚打开时执行的脚本或者表达式,此脚本或表达式只执行一次,如下图:
在此对话框中,可设定赋值表达式或者脚本:
a、表达式设定:单击后面的按钮出现如下对话框:
单击增加新赋值按钮,则出现如下新增对话框:
在这里就可以为变量制作赋值表达式,例如:g1 = g2 + g3或者 g1 = 22或者g1 =
!g1等等。表达式,完成后单击确定退出。如果要增加新的赋值表达式,则再次重复上面的操作即可。
b、脚本:要编辑脚本,打开即可编辑。在如下对话框中可看到所有脚本函数的列表,
所有右边树控件中的函数均可根据需要选择调用:
2)、定时运行:即系统运行时每隔指定的时间来定时执行,此事件间隔就是上面提到的画面刷新时间间隔,单位为毫秒。设定方法参考1)的做法。
3)、退出时执行:即当系统刚退出时执行的脚本或者表达式赋值,此脚本或表达式只执行一次。设定方法参考1)的做法。
15 设置画面的窗口显示
对于任何一个画面文件,可通过如下对话框来设置其显示风格:
(一)、选择“查看|画面设置”子菜单来打开画面设置对话框。
(二)、设置画面基本属性:
0)标题:设置当前窗口显示的标题文本串
1)、显示标题栏:窗口运行时是否显示标题条。
2)、显示最大化按钮:窗口运行时是否显示最大化按钮。
3)、显示最小化按钮:窗口运行时是否显示最小化按钮。
4)、显示关闭按钮:窗口运行时是否显示关闭按钮。
5)、显示帮助按钮:窗口运行时是否显示帮助按钮。
6)、显示图标:窗口运行时是否显示图标。
7)、显示边框:窗口是否显示边框。
8)、窗体背景:窗口的背景颜色和填充模式。
9)、字体:窗口的字体。
这里可设置其背景色,标题条等等。
16 设置画面初始化条件表达式以及位置
对于任何一个画面文件,如果需要在画面显示到屏幕前做一些事情,就可以通过设置初始运行赋值表达式或者脚本。运行的脚本可以直接在窗口上单击鼠标右键选择“窗口脚本”来打开脚本编辑器编辑。脚本支持Java
Script和VBScript两种语言。
如下:
(一)、选择“查看|画面设置”子菜单来打开画面设置对话框。
(二)、设置初始运行条件:
这个窗口中,您还可以设置当前画面在屏幕上显示的位置,包括开始位置以及宽度、高度等参数。
1)、屏幕居中显示:当处于屏幕居中模式时,则X,
Y位置无效,HMIPlayer会自动的根据后面设置的宽度和高度来在屏幕居中显示HMIPlayer窗口。
2)、X位置:窗口的左上角x位置。
3)、Y位置:窗口的左上角y位置。
4)、宽度:HMIPlayer窗口的宽度。(可以单击获取屏幕大小按钮来获得屏幕的宽度和高度,也可以单击最佳大小来快速设定,也可以设定一个计算表达式,比如:xS_W-200,则宽度始终为屏幕宽度-200的大小。)。
5)、高度:HMIPlayer窗口的高度度。(可以单击获取屏幕大小按钮来获得屏幕的宽度和高度,也可以单击最佳大小来快速设定,也可以设定一个计算表达式,比如:xS_H-200,则高度始终为屏幕高度-200的大小。)。
6)、自动关闭:此窗口在HMIPlayer打开其他新窗口时会自动关闭。
17 设置画面定时执行条件表达式以及指定时间
对于工程中的任何一个画面,很多时候我们可能需要让该画面定时执行一些事情,比如定时采集数据或者定时动画等等,可以通过设置定时执行条件表达式的方式来进行,运行的条件表达式。脚本支持Java
Script和VBScript两种语言。循环执行:脚本语言的执行间隔有多种选择。当时间设置为0秒时,该脚本将不执行。设为其余几项时,则脚本每隔相应的时间则执行。比如3秒,则该脚本每隔3秒执行一次。脚本执行间隔的数量级是毫秒ms。
(一)、选择“查看|画面设置”子菜单来打开画面设置对话框。
(二)、设置定时运行脚本和刷新时间间隔两个参数:
(备注:系统目前支持两种定时,也就是您可以根据需要定义两路定时处理代码,不同的时间间隔执行不同的内容)。
1)、初始化执行:即当系统刚打开此窗口时执行的脚本或者表达式,此脚本或表达式只执行一次,单击按钮可以设定此脚本或者赋值表达式内容,如下图:
在此对话框中,可设定赋值表达式或者脚本:
a、表达式设定:单击后面的按钮出现如下对话框:
单击增加新赋值按钮,则出现如下新增对话框:
在这里就可以为变量制作赋值表达式,例如:g1 = g2 + g3或者 g1 = 22或者g1 =
!g1等等。表达式,完成后单击确定退出。如果要增加新的赋值表达式,则再次重复上面的操作即可。
b、脚本:要编辑脚本,在HMIBuilder左边的工程管理树上单击system脚本文件,打开即可编辑。在如下对话框中可看到所有脚本函数的列表,选择一个需要执行的函数即可:
2)、定时执行 1:第一个定时器,即系统运行时每隔指定的时间来定时执行,此事件间隔就是可在后面的编辑框中来设定,单位为毫秒。脚本或者表达式内容设定方法参考1)的做法。
3)、定时执行 2:第二个定时器,即系统运行时每隔指定的时间来定时执行,此事件间隔就是可在后面的编辑框中来设定,单位为毫秒。脚本或者表达式内容设定方法参考1)的做法。
4)、退出时执行:即当系统刚退出此对话框时执行的脚本或者表达式赋值,此脚本或表达式只执行一次。设定方法参考1)的做法。
18 设置画面退出条件表达式
对于任何一个画面文件,如果需要在画面关闭前做一些事情,就可以通过设置退出运行条件表达式的方式来进行设置。脚本支持Java
Script和VBScript两种语言。
1)、选择“查看|画面设置”子菜单来打开画面设置对话框。
2)、设置画面关闭时执行脚本参数:
19 变量管理
系统提供了变量的增加,删除,以及编辑功能,选择“工程|变量管理”菜单即可打开变量管理窗口,在这里可以为您的应用增加新的变量,在具体使用的时候您可以以此来构建实时数据库。如下图:
变量分为:
实时变量 -- 通过外部采集而来的变量,此类变量一般是只读的。
全局变量 -- 又称中间变量,此类变量可读可写,属于中间操作过程变量。
系统变量 -- 此类变量为系统内部定义好的,只能读取。
所有的变量由系统统一管理,只需要将相应的图形关联上相应的变量,当此变量的值发生改变的时候会自动显示出来。变量有很多属性(当然还可以根据自己的需求进行扩展),如下图所示对话框:
(支持OPC1.0, OPC2.0, Modbus RTU, Modbus
TCP-IP, 各种PLC设备,远程数据库连接)
(可在此窗口中同时设置报警值).
1)、名称:变量的名称。
2)、类型:设定变量的数值类型,包括字符串、整数等。
3)、变量类型:包括全局变量,实时变量等。
4)、初始值:初始数值大小。
5)、描述:变量说明。
6)、其他链接:其他连接说明。
7)、保存到数据库:此变量在采集时可保存到数据库中。
8)、对于全局变量,如果设置了定时循环变量属性,则在每次画面刷新时就会自动增加计数+1,并设定循环次数,当次数到了时会自动回到初始值。
9)、最小值:此变量的最小值。
10)、最大值:此变量的最大值。
11)、报警:可设定不同报警的范围。
12)、IO驱动:可以设定OPC, Modbus RTU, Modbus TCP等连接。
13)、报警:设定报警组、报警分区等.
20 键盘管理器
“键盘管理器”链接到设计者指定的热键上,软件运行期间,操作者随时按下热键都可以启动这段命令语言程序。弹出“键盘管理器”对话框:
此对话框用于管理画面程序中所有的热键命令语言。单击“新按键“按钮,则弹出”键定义“对话框,用户可以定义热键、设置热键执行的脚本函数。
1)、可设定执行赋值表达式,单击右边的按钮来设定,如下:
在此对话框中,可设定赋值表达式或者脚本:
a、表达式设定:单击后面的按钮出现如下对话框:
单击增加新赋值按钮,则出现如下新增对话框:
在这里就可以为变量制作赋值表达式,例如:g1 = g2 + g3或者 g1 = 22或者g1 =
!g1等等。表达式,完成后单击确定退出。如果要增加新的赋值表达式,则再次重复上面的操作即可。
2)、其他事件:您也可以在如下根据需要设定执行其他事件,事件可直接在下拉组合框中选择,如下图:
21 条件管理器
“条件管理器”链接到设计者指定的
条件上,软件运行期间,当表达式指定的条件满足时,自动启动这段命令语言程序。单击左边的工程树上的条件管理器项目,弹出“条件管理器”对话框:
此对话框用于管理画面程序中所有的条件命令语言。单击“新条件”按钮,则弹出“条件设定”对话框,用户可以定义条件表达式、设置执行的脚本函数
或者赋值表达式。
1)、可设定执行赋值表达式,单击右边的按钮来设定,如下:
在此对话框中,可设定赋值表达式或者脚本:
a、表达式设定:单击后面的按钮出现如下对话框:
单击增加新赋值按钮,则出现如下新增对话框:
在这里就可以为变量制作赋值表达式,例如:g1 = g2 + g3或者 g1 = 22或者g1 =
!g1等等。表达式,完成后单击确定退出。如果要增加新的赋值表达式,则再次重复上面的操作即可。
2)、执行脚本:要编辑脚本,在HMIBuilder左边的工程管理树上单击system脚本文件,打开即可编辑。在如下对话框中可看到所有脚本函数的列表,选择一个需要执行的函数即可:
22 制作画面
通过E-Form++提供的强大功能,可以制作各种监控或者仿真画面,画面的所有的界面控制操作直接通过菜单就可以设定,画布上需要的各种元件可以直接通过鼠标从左边的工具盒中拖拉进入画布。配合ShapeDesigner您可以设计更加强大复杂的图形元件。强大的绘图工具。完全的矢量绘图,在缩放时不会失真。支持图元的移动、伸缩、旋转,具有丰富的数据表现形式,能够完成各种动画,实现逼真的效果。支持鼠标动作,实现与用户的交互操作。
23、设置画面图形元件的唯一ID值:
E-Form++允许为画面上的任何一个图形元件设置唯一的ID,操作如下:
1)、选中需要设置ID的图形元件。
2)、双击鼠标左键,则在如下弹出对话框中设置:
一般情况下设置“关键值 1”和“ID值”即可。
(1)、关键值1:该图形元件的第1个关键值。
(2)、ID值:该图形元件的ID值,为整数。
(3)、关键值2:该图形元件的第2个关键值.
(4)、名称:该图形元件的名称。
(5)、标签格式:用于设定标签的显示格式:例如$####.##,则为小数点后两位。
24、用户输入变量关联:
如果要将画面的元件同变量链接起来,请选择画布上绘制的元件,然后双击鼠标即可链接到上面设置的变量。
E-Form++允许为画面上的任何一个图形元件关联上一个变量(必须是全局变量),操作如下:
1)、选中需要设置ID的图形元件。
2)、双击鼠标左键,则在如下弹出对话框中设置:
如果该图形元件是一个用户可以操作的元件(比如一个仪表),当用户拖动其指针等进行数据输入操作时,则输入的值会自动赋给同其关联(也就是上面设定的)变量。接着系统会自动刷新画面上使用此变量的图形元件的显示。当用户通过拖拉或者单击等改变元件的值时,相应的也修改了关联变量的值。
25、显示值或者值变化动画制作:
当需要在画面上用文本的方式显示变量或者表达式的值(比如测量的电压值),或者当输入变量值发生改变时,制作相应的动画来做动态显示,比如值小于30显示绿色,小于60显示黄色,小于100显示红色,均可以通过这个操作来实现。操作如下:
1)、选中需要设置动画的图形元件。
2)、双击鼠标左键。
在弹出的如下对话框中,可根据条件来制作值变化动画效果:
单击“增加状态参数”按钮,可通过如下对话框来增加新的状态,这里可以关联上一个变量或者一个表达式。
在这个对话框中可同时制作任意多种新的状态效果。包括填充颜色变化,填充类型变化,文本颜色变化等,如果是复合图形并制作了多种状态,在这里可以指定某一输入值时显示什么状态。
26、图形随动画隐藏设定:
当输入值达到一定的条件后,如果希望隐藏该图形,则如下操作适用:
1)、选中该图形元件。
2)、双击鼠标左键。可通过如下对话框来进行设定:
可设定一个表达式用来确定隐藏时机(这个时机实际上就是上述表达式的计算值为1)。
27、图形禁止操作设定:
当输入值达到一定的条件后,如果希望禁止操作该图形,则如下操作适用:
1)、选中该图形元件。
2)、双击鼠标左键。可通过如下对话框来进行设定:
可设定一个表达式用来确定禁止操作时机(这个时机实际上就是上述表达式的计算值为1)。
28、图形闪烁设定:
当输入值达到一定的条件后,如果希望闪烁该图形,则如下操作适用:
1)、选中该图形元件。
2)、双击鼠标左键。可通过如下对话框来进行设定:
可设定一个表达式用来确定闪烁时机(实际上就是当该表达式的计算值为1时),也可以根据需要设定闪烁的颜色值。
29、图形旋转设定:
当输入值变化时,如果希望旋转该图形,则如下操作适用:
1)、选中该图形元件。
2)、双击鼠标左键。可通过如下对话框来进行设定:
可设定一个表达式用来确定旋转值。旋转值的计算方法如下: 开始旋转角度+ ((结束旋转角度-开始旋转角度) / (最大值 - 最小值)) ×当前表达式的值。
30 为画面中的图形元件设置单击事件
当元件放置到画布中后,通过选中该图形元件,并按下鼠标右键,即可为该图形元件定义一些可执行的事件,事件可以是直接执行的,比如打开一个新的画面文件,也可以是通过运行脚本代码来完成的动作,比如移动图形,旋转图形,缩放图形,修改图形的状态等等。
1)、跳转到新的画面:
2)、执行脚本代码。
操作如下:
1)、选中该元件。
2)、双击鼠标。
3)、此时弹出如下对话框:
在该对话框中,系统预置命令中选择“打开新画面...”,然后在下面的命令执行内容设定编辑框中,设置需要运行的脚本及相关的函数。如果您选择的是一个xdg文件,则自动完成页面跳转。
如下图:
系统预设的鼠标事件如下:
如果您选择的是"运行脚本..."事件,则会弹出如下对话框让您设定需要执行的函数名称:
当然所有的脚本函数都是预先在system.scp中设置好的。
此外,还可以在这里设置赋值表达式,当单击此按钮或者图形元件时,将自动执行这一列表达式赋值。
31 运行该程序
在设计好工程文件好,单击F5或者选择“工程|运行”子菜单即可运行您的设计。
32 发布应用程序
选择“工程|输出”即可发行您的设计,在发行时请设定您的应用程序名称,发行文件存放路径等信息。
在如下对话框中设置exe名称和路径:
33 其他
HMIBuilder用来绘制用于显示的动态画面。一个工程中用到的所有页面都是在这里绘制的。通过对每个图元的属性进行设置,可以得到色彩丰富、效果逼真的工艺画面,满足用户的要求。HMIBuilder和常见的组态软件的使用方法基本类似,比较特别的地方在于:一方面,HMIBuilder提供了一系列内嵌的图元,比如矩形、信号灯、位图动画等等,可以满足用户的一般组态要求,另一方面,通过将这些图元成组,构成组图元,又具有了更高一级的动画功能,比如位置变化、鼠标拖动等等,而本身图元的属性依旧保持。这样就为各级用户的使用提供了方便,并且对于系统的运行效率有了很大的提高,因为不用将很多无用的图元属性引入到内存中去。
HMIBuilder提供了完全的矢量图形,用HMIBuilder制作的图形,无论用户怎样拖拉放大,都不会失真。它提供了大量的立体效果的表现形式,无论矩形、圆角矩形、椭圆还是多边形,都可以以各种形式进行填充,构建出真正无级放大的精美图形。
HMIBuilder还提供了对ActiveX控件的支持,用户可以在HMIBuilder中导入ActiveX控件,改变控件的属性,调用控件的方法来为系统服务,极大的扩展系统的性能。
HMIBuilder提供对图元的拷贝、粘贴、剪切等操作,另外,对多个图元的对齐、位置变化等也都提供了操作方法。HMIBuilder可以设定锁定、解锁图元,方便用户在绘图时不至于误操作。
用户权限设置和管理:
31、工控与仿真元件的设计:
E-Form++提供了专业的元件设计器ShapeDesigner来帮助您快速的设计各种工控与仿真元件,所有元件全部为矢量图形。如下图:
34、系统预置仿真元件:
系统提供了大量的仿真与工控元件,这些元件全部为矢量图形。这些预置的元件总数超过1000个,限于篇幅,下面是一部分示意图:
35、制作下拉菜单按钮:
如果需要制作附带有下拉菜单的按钮,请选择“工具和盒 | 打开工具盒”菜单,在弹出的如下对话框中选择“下拉菜单按钮”:
在画布上选中此按钮,单击鼠标右键选择“状态构建器(&B)...”菜单,则弹出如下对话框:
即可在这个对话框中,增加新的菜单项,并为每个菜单项连接相应的处理事件。如下:
36、制作实时曲线:
如果需要能动态显示变量变化的实时曲线,请通过如下操作来制作:
1)、选择"工具 | 插入实时曲线(&R)..."子菜单。
2)、在插入的如下实时曲线图形上,单击鼠标右键,选择“值变化连接动画(&V)...”子菜单。
3)、在弹出的如下对话框中即可制作实时曲线需要显示的曲线内容和变量:
单击“增加新线条”按钮,可增加新的显示曲线,如下图:
可在此对话框中设定,最大最小值,关联显示变量,设定颜色等。
37、如何制作水位变化的罐体:
操作步骤如下:
1)、打开工具盒中的"Tanks2"页面,如下图:
2)、拖入一个水罐到画布中,如下图:
3)、选中右边的绘图工具条的倒数第3个按钮,绘制一个水位计:
4)、选中刚绘制的水位计,双击此图形元件。在如下对话框中关联上一个变量:
这样当该变量的值发生改变的时候,系统会自动刷新该水位计来显示。
38、在画布中插入外部图像文件:
如果希望在画布中导入外部图像文件,请选择“工具(&T)|插入图像文件(&I)...”,在弹出的如下对话框中选中需要插入的图像文件:
如果文件不存在就选择“添加...”按钮来增加。一次可以增加任意多的图像文件。
39、在画布中多图像文件制作的按钮:
如果希望在画布中插入一个由多个图像文件形成的按钮,请选择“工具|插入图像按钮”来进行,如下是设置对话框:
40、如何制作路径动画:
如果希望制作沿路径运动的动画效果,请参考如下步骤来进行:
1)、在画布上绘制好需要沿路径运动的图形,如果是多个图形请将其组合成一个整体,比如一个沿路径运动的椭圆。
2)、单击鼠标右键,将其数据 1值设置为M100。
3)、鼠标移到画布右边的绘制图形工具条,选中倒数第2个路径图形,然后可在画布上绘制一条该图形需要运动的路径。
4)、选中该路径,将其数据值 1设置为XM001。
5)、再次选中该路径图形,单击鼠标右键,选中“值变化连接动画(&V)...”子菜单,在弹出的如下对话框中,将其与M100图形绑定起来:
这样该图形元件就可以沿着这条指定的路径进行运动,如果要设置当前的运动位置,请指定一个值即可。(缺省开始端对应的最小值
0,最尾端对应的最大值为100,最大最小值可根据需要进行修改属性值来设定。在运行模式下,直接通过鼠标还可以沿着该路径拖拉该椭圆。
如下图:
41、如何制作缩放效果:
如果希望制作具有缩放的动画效果,请参考如下步骤来进行:
1)、打开工具盒的如下页面:
并将选中的图形拖入画布。
2)、设置好该图元的大小,该图元的大小即是关联缩放图形的缩放的最终大小,也就是说关联缩放图形将在其限定的范围内进行缩放。
3)、设定该图形的关键值1为S100.
4)、在画布中绘制需要缩放的图形,并将其关键值1设置为XS001。
5)、选中S100,单击鼠标右键,选择“值变化连接动画(&V)...”菜单,在弹出的对话框中,将其同XS001关联起来。
整体如下图:
这样该图形元件就可以沿着这条指定的范围进行缩放,如果要设置当前的缩放位置,请指定一个值即可。(缺省开始对应的最小值0,最尾对应的最大值为100,最大最小值可根据需要进行修改属性值来设定。缩放原点和缩放方式请通过属性值:P_ID_SCALE_TYPE和P_ID_SCALE_ORIGIN来设定。
42、编辑脚本:
HMIBuilder的脚本分为如下几种类型:
1)、全局脚本:此全局脚本对应的文件名是system.scp,在此文件中,可以定义在整个系统中多次调用的的模块和函数,这些函数在其他任何脚本调用之前会自动装载到脚本解释器中,编辑全局脚本非常简单,在左边的工程管理数上双击system.scp文件,即可。在同一个脚本文件中可以定义任意多个函数,脚本编辑界面如下:
通过双击右边的函数列表中的任意函数即可将该函数添加到脚本中。
2)、系统脚本:就是当系统运行的过程中会调用的脚本,编辑此脚本,请双击左边工程树上的“项目设置”项,在出现的对话框中,单击脚本按钮,如下图:
脚本编辑窗口如下:
(说明:如果要增加新的函数体,请单击鼠标右键,选择“插入函数代码片段...”菜单即可)。
3)、窗口脚本:就是在指定的窗口中初始运行或者定时运行的脚本,编辑此脚本,请在打开的窗体文件上单击鼠标右键,选择“窗口脚本”,如下图:
4)、图形元件脚本:就是在按钮上执行鼠标事件的时候需要执行的脚本,比如单击、双击、鼠标右键单击等需要运行的脚本。如下图:
5)、键盘脚本和条件表达式脚本:就是当按下键盘上的按键的时候需要执行的脚本或者满足一定的条件表达式时需要执行的脚本。操作是双击左边工程树上的键盘管理器或者条件管理器,然后在新增按键操作或者新增条件表达式的时候会执行的脚本。
6)、下拉菜单按钮脚本:在HMIBuilder左边的HMI &SCADA工具盒中可拖入下拉菜单按钮,此按钮可设定指定下拉菜单项对应执行的脚本。
43、属性编辑器:
画布上的每个图形元件都为其设定了很多的属性参数,甚至还包括您可以根据需要自定义的属性数据,不是所有的属性值都有一个对应的对话框或者菜单来进行设定。通过属性编辑器,我们可以在一个统一的位置,找到任何一个图形元件的所有的属性值,并可以在这里进行修改。
操作如下:
1、选中需要修改属性值的图形元件。
2、单击鼠标右键,选择“属性编辑器”子菜单,则弹出如下对话框:
右边的列表中是当前图形元件支持的所有属性值ID,上面的列表为当前图形元件已经使用了的属性值列表。单击任何一个属性值ID即可修改其值。
44、如何制作可调节高度的滑块:
第1步,绘制高度计图形如下图:
第2步,在高度计旁边放置滑块图形,如下图:
第3步,给滑块图形定义一个ID值,如下图:
第4步,用路径线条绘制滑块的移动路径,如下图:
第5步,选中路径图形,单击鼠标右键,选择“状态构建器”菜单,在出现的对话框中,选中滑块的ID,将其关联起来:
第6步,在变量管理器中定义一个全局变量int型,
第7步,选中路径图形,将变量myTest5作为输入变量值关联起来,如下图:
第8步,选中高度计图形,将其同变量myTest5关联起来,让myTest5作为动画变量值,如下图:
这样就完成了。
45、如何制作可控制起停与旋转方向的风扇:
第1步,在画布上绘制需要旋转的风扇图形样式,可充分利用右边的工具条上的基本图形来绘制,我们以一个椭圆为例,如下图:
并将其ID值命名为rotate_ref,如下图:
第2步,从左边的工具盒中拖入一个旋转辅助图形到画布,如下图:
第3步,选中此辅助图形,单击鼠标右键,选择“状态构建器”菜单,在如下对话框中,将其与被旋转图形关联起来:
(注意:旋转的快慢,可通过调整旋转定时来设置)。
第4步,打开变量管理器,在其中定义两个变量,一个控制其是否旋转,另外一个控制其是顺时针旋转或者反时针旋转,如下图:
同样的方式定义一个myTest3变量。
第5步,选中旋转辅助图形,单击鼠标右键,选择“HMI组件设定”,在如下对话框中,将其同这两个变量关联起来:
第6步,我们可定义两个Check box图形,用来控制这两个变量的值,如下图:
通过如下对话框,将其同上面定义的两个变量myTest2, myTest3作为输入值关联起来:
这样就完成了。
46、如何制作两张图片构成的按钮?
选择“工具 | 插入图像按钮”菜单,则出现如下对话框:
如果选择“开关模式”则此按钮就会以这两张图片作为开关图片来显示,开的时候显示图片1,关的时候显示图片2.
47、如何制作多张图片轮流显示动画?
要制作多张图片轮流滚动显示动画,请参考如下步骤:
1)、选择“工具|插入4个图像文件组成的图形”菜单,在出现的如下对话框中,指定4个图像文件:
最下面的一个是动画的画面切换时间间隔,可自由设定。
2)、在变量管理器中定义一个是否显示动画的变量,如下图:
3)、将此变量作为此动画图形的第2个动画变量关联起来(记着一定是第2个变量,第1个变量是用于设定当前显示图像的变量值),如下图:
4)、接下来,您就可以做一个按钮来控制bStart变量的值,以达到控制动画显示与否了,如下图:
按钮设置参数对话框如下:
这样就完成了。
48、如何制作按钮来控制液位?
要制作控制液位的按钮,可参考如下步骤:
1)、放置一个液位图形,如下图:
2)、在液位图形旁边放置两个按钮,一个增加,一个减少,如下图:
3)、在变量管理器中定义一个变量用来控制液位,如下图:
4)、将液位图形元件同变量关联起来,如下图:
5)、选中增加按钮,选择“HMI组件设定”菜单,添加如下表达式赋值:
添加后如下图:
6)、重复赏5)的操作,为减少按钮添加如下表达式赋值:
这样就完成了。
49、如何液体流动动画(可控制是否流动以及流动方向)?
请参考如下步骤:
1)、定义两个变量,myTest2, myTest3,均为BOOL,全局变量,在变量管理器中定义,如下图:
2)、在画布上绘制液体流动线条和传送带图形,如下图:
3)、选中液体流动线条或者传送带图形,在"HMI组件设定"菜单对话框中,关联上前面定义的两个变量,如下图:
4),我们可定义两个Check box图形,用来控制这两个变量的值,如下图:
通过如下对话框,将其同上面定义的两个变量myTest2, myTest3作为输入值关联起来:
这样就完成了。
50、表格Table组态?
UCanCode HMI解决方案提供了强大的表格组态功能,能自定义表格元,并能合并、切分表格元。能以任何表格原来显示实时数据信息,操作如下:
1)、选择“工具 | 插入表格”菜单。
2)、在画布上绘制表格,可通过表格的下拉菜单来合并表格元等,如下图:
2)、选中一个表格元,单击鼠标右键,选择“状态构建器”,在如下对话框中为表格元指定实时变量等值:
也可以是一个数学计算公式。
51、如何制作多Tab页效果?
下面是操作步骤:
1)、在左边的工具盒中打开“Form Objects”页面,如果没有此页面,请选择“工具盒 |
打开工具盒页面”菜单来添加。
2)、将Tab图形控件拖入画布中,如下图:
4)、选中此Tab图形,单击鼠标右键,选择“状态构建器”菜单,在如下对话框中,可设定需要显示的Tab页数,如下图:
5)、打开变量管理器,定义一个int的全局变量,这个变量将会用于关联您单击Tab页时,当前显示的Tab页的编号。如下图:
6)、选中Tab图形,将其同变量myTab关联起来 (作为输入值变量),如下图:
7)、接下来,我们就可以对画布上的图形来决定是否显示到某个Tab页上了,比如我们放入一个文本框,单击鼠标右键设置为:
这样子此文本框只会在Tab图形第1页时显示。
52、如何制作数字输入或者键盘输入操作编辑框?
1)、放置一个文本显示框,如下图:
2)、在变量管理器中定义一个文本串标量,如下图:
3)、将文本框同此变量关联起来,如下图:
4)、再次单击文本框,添加如下鼠标事件,如下图:
事件类型是“提示用户字符串输入”,关联变量是myInputText,这样当用户输入文本串后会自动保存到此变量中。
5)、运行后,单击此编辑框,就会弹出如下文本输入窗口(键盘)。
这样就完成了,同样的方式,您还可以制作数字输入小键盘显示。只是变量类型必须为int。
如下图:
53、选中组合框的文本时显示到标签中?
1)、放入一个组合框和一个标签。
2)、选中组合框,单击“状态构建器”为其添加组合文本。
3)、在变量管理器中定义一个文本串全局变量。
4)、将此变量设定为组合框的输入变量。
5)、选中标签,将此变量作为输出动画变量。
如下图:
这样选择组合框的文本时,会自动显示在右边的标签中。
如果将组合框的输入连接变量定义为一个整型(int)全局变量,则此变量会自动记录组合框的选中记录号index。
54、表达式构建?
构建表达式时,可充分利用复杂的数学符号,如下图:
会是这些变量计算后的值。
55、创建对话框:
在UCanCode HMI & SCADA中没有设置专门的对话框窗口,可将任何窗口作为对话框窗口来显示,如果要显示为对话框,可直接在事件中选择“在对话框中打开画面...”事件即可。
56、所见即所得的调整多窗口在屏幕上的布局:
选择“窗口|窗口布局”菜单,则出现如下图所示的屏幕布局窗口,可同时对多窗口的位置进行直接调整(注意:后面的白色画布大小区域即为显示器屏幕的大小一致)。
57、实时数据库:
UCanCode HMI解决方案采用Microsoft
Access(*.mdb)作为示范实时数据保存数据库,内部源代码全部采用ODBC开发,可轻松的根据需要移植到其他支持ODBC的数据库(比如SQL
Server等)。
支持报警记录查询与打印:
支持历史记录报表打印,并且可以导出为Excel格式。
支持历史数据的采样曲线显示和打印:
58、报表打印设计和产生:
UCanCode提供的可变数据打印解决方案(数据库打印解决方案),包含了报表设计器和打印器几个部分,并针对组态行业进行了特殊优化(可将组态元件防止到报表中),可以此为基础开发属于自己报表系统,具体请按这里。
59、硬件接口部分:
UCanCode组态解决方案提供了精心设计的数据采集接口虚函数,只需要将自己的硬件采集数据代码获取的数值替换掉相应的实时变量值即可(目前以随机数示范),
如果您自己有特殊的数据采集方式(指UCanCode提供的Modbus RTU, TCP-IP, OPC 1.0, OPC
2.0之外的),可以直接在我们的源码上进行增加。我们会为您提供完整的技术支持。
60、通讯:
UCanCode组态解决方案提供了Modbus RTU串口通讯,OPC,Modbus
TCP-IP几种通讯模式。支持关系数据库(Oracle, SQL Server, Access, MySQL等)作为历史数据库。支持报表打印和查询。
61. 跨平台支持:
所有UCanCode组态画面均可以导出为SVG,配合HTML5编程技术,可以实现组态画面的iOS,
Andriod设备浏览,另外UCanCode也在开发Linux版本的运行器,更多详细情况请电话 028 - 85354645咨询。
62. XML存取:
UCanCode
组态支持工程与画面等所有属性的XML存取,并提供XML的解析和处理能力。
63. 更多...
提供集成化的设计环境,各种图库及组件支持自定义属性、方法、事件;
支持工程屏幕分辨率的自适应,支持一机多屏配置;
提供上千种丰富的图形元素,具备丰富的“矢量”行业图库集,支持自定义图库;采用了GDI+绘图技术,用户可以实现图元的各种阴影和过渡色的填充,使图形的渲染更出色,界面的展示更美观;
强大的ActiveX控件对象容器,定义了全新的容器接口集,通过“脚本”可直接操作容器,调用对象的方法、属性,方便系统的集成。Web发布。
说明:
E-Form++工控解决方案的集成开发环境并不是一个完整的开发环境,我们提供该环境的目的是给您一个开发的基础架构,
主要集中在图形可视化部分,这部分基本上是完整的,您自己需要做的是硬件数据采集部分。并且完成各种资源的组织,正式版本该集成开发环境的源代码一并提供,您可以根据需要来完善。
下载E-Form++全功能免费评估版本
--
下载地址
(2023年全新!)
下载此组态解决方案--
下载地址1
下载地址2
(2023年全新!)
*HMI硬件采集数据接口代码及说明:
下载硬件数据接口dll源代码
*HMI操作视频和案例:
UCanCode
组态解决方案操作视频及案例
*全新Codejock界面集成的HMIBuilder平台
全部超过50万行精心设计并严格测试的源代码提供无任何保留!
提供超过400个C++扩展类,50万行有效VC++/MFC源代码,70多个示例或者解决方案源代码,完整的而细致的用户在线帮助系统和文档,精心设计的辅助开发工具!
强大,灵活和易于使用的可视化图型源码库。
功能强大,灵活地创建各种各样的满足您的需求的图表。产品设计规范,很容易使用,在短短的几天就能根据您的需求设计出产品。
我们提供完整的支持产品下载试用。
功能丰富。
超多功能,如自动布局,多层次,可折叠子图,单元连接点中,XML,DXF, SHP, SVG等等,能够协助您快速灵活的创建复杂的图表。支持大量事件:如单击,双击,悬停,选择,橡皮筋选择,复制,删除,调整大小和移动的支持。支持最复杂的操作:如拖
拉和拖放,无限次的撤销/重做和剪贴板操作等等。
节省时间和金钱,获得可靠性。
一张图胜过千言万语,E-Form++提供超过50万行精心设计和良好测试的C++源代码!开发耗时十年,全球上千家客户验证,能够为您节省大量的开发时间和金钱!
现在就来试试!
不要光听我们的说, 试试吧! 我们的免费试用版包括所有你需要你的应用程序原型。免费技术支持。
购买全部源代码:
正式版本的E-Form++可视化图形组件库企业版本提供此解决方案的全部源代码,
单击下面的按钮向UCanCode订购:
|