- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Obtain_HMI组态软件使用说明
Obtain_HMI组态软件使用说明
3.3 Obtain_HMI组态软件的类C脚本
3.3.1 Obtain_HMI组态软件脚本中间代码
Obtain_HMI组态软件并用了类C语言脚本,即把C语句首先编译成一种中间代码,Obtain_HMI内核采用解释的方式执行这些中间代码。
Obtain_HMI的脚本编译过程如图所示,分为词法分析、语法分析、建立符号、类型检查和代码生成等5个步骤,
Obtain_HMI中间代码所支持的核心命令有:
函数指令 function、main、return 变量类型 char、int、float、string、long、double 准备被赋值的变量 loadp 参与运算变量入栈 load 参与运算常量入栈 cCONST、iCONST、fCONST、sCONST 数据出栈 saveC、=、save、assign(都是赋值,即栈数据保存到变量) 为0跳转 fJump 无条件跳转 goto 单操作数运算 !、 ~、+=、-=、*=、/=、%= 双操作数运算 +、-、*、/、%、、、||、|、、、==、!=、、=、、=(与C语言的运行符意义和功能相同) 函数参数传递 param_in 调用函数 call 函数参数传递 parameter 系统函数 以SY_开头的所有函数都是系统函数 器件动态属性 以EL_开头的所有变量最是器件动态属性
下面是一个控制器件旋转的例子,其类C代码和所生成的中间代码如下所示:
类C代码 生成的中间代码 void main()
{
int i;
i=EL_Rotate;
i=i+2
if(i360)i=0;
EL_Rotate=i;
EL_text=i;
} function main
int i
loadp i
load EL_Rotate
=
loadp i
load i
iCONST 2
+
=
load i
iCONST 360
fJump L1 (续)
loadp i
iCONST 0
=
lab L1
loadp EL_Rotate
load i
=
loadp EL_text
load i
=
return
3.3.2 Obtain_HMI支持的类C语言
1、支持的数据类型
数据类型 基数数据类型 char、int、long、float、double、string 常数类型 cCONST、iCONST、fCONST、sCONST
2、支持的运算类型和运算符
运算类型 运算符 算术运算 +、+=、-、-=、*、*=、/、/=、%、%= 逻辑运算 、||、! 位运算 、|、~、、 判断 ==、!=、、=、、=
3、支持的基本语句
语句类型 语句 条件语句 if、if else 循环语句 for()、while() 跳转语句 goto、break;
4、函数
5、系统函数
3.5 Obtain_HMI应用系统设计原理
3.5.1 Obtain_HMI界面
1、Obtain_HMI主界面
Obtain_HMI主界面如图所示,包括菜单、工具条、工具栏和工作区四个部分。左边属性框中的属性为对应工作区中选中器件的属性,这些属性值可以手工修改,可以手工添加和删除,也可以在运行中利用脚本程序对它们进行动态修改、动态添加和删除。左下边的树形列表框是工作区中所有器件的集中列表显示,可以通过选择该列表中的某一行来选中工作区中的器件。
可以单击工具条或视图菜单中的“显示”和“隐藏”功能来显示或隐藏左边的工具栏,特别是在运行过程中,可以隐藏工具栏以增加工作区的有效显示面积。
左边的通信栏用于设置、启动和停止以太网服务器端或客户端的通信,以及设置、启动和停止串口通信,也可以通过通信菜单的选择来实现相同的功能。
2、Obtain_HMI器件常用的属性
Obtain_HMI采用map容器来保存器件的属性,因此Obtain_HMI器件的属性可以动态地分配和设置,在分配之前并不会占用空间,没有固定分配包括没有到的属性,有利于节省内存。Obtain_HMI器件常用的属性如下:
属性 功能 LmouseDown 鼠标左键按下 LmouseUp 鼠标左键弹上 EL_LmouseDblClicked 鼠标左键双击 RmouseDown 鼠标右键按下 RmouseUp 鼠标右键弹上 Rotate 旋转角度(0-360度) brushColor 填充颜色(刷子,渐变左边颜色) brushColor2 填充颜色(刷子,渐变右边颜色) counter 运行时计数器 counterMAX 运行时计数器溢出值(最
您可能关注的文档
- 全新版大学英语6 综合教程答案unit2、4、5、6.docx
- 英语内部资料(一).doc
- Senior Book 1 Unit 1 导学案.doc
- 新标准(一起)6册:课文&单词&需要记住的单词.doc
- Computer English Unit 6 Database(计算机英语 第六单元 数据库).doc
- _四年级下册英语教案.doc
- voldemort 学习.doc
- 高一英语Module3 The Violence of Nature共同测控卷 外研社 必修3.doc
- 四川省2016年职教师资和对口升学模拟考试英语试题 - 副本.doc
- 注册型经济:上海郊区发展的障碍与突破(年会论文).doc
文档评论(0)