昆仑通态组态屏学习——实例3数值对象与实时曲线学习
本文参考《组态软件MCGS从入门到监控应用》一书
一.任务要求
实现在昆仑通态触摸屏上用曲线绘制出实数从0开始每隔1秒递增0.5,当到达10时每隔1s递减0.5,到达0后有开始以上递增,如此循环往复的曲线变化。
二.任务实现
1.建立新工程项目
打开用户窗口→窗口0→窗口属性,在该部分将窗口名称改为“实数变化”,将窗口注释内容改为“绘制实数实时变化曲线”。

2.制作图形界面
(1)通过工具箱为图形画面添加1个实时曲线构件,步骤为:查看→绘图工具箱→实时曲线→左键选择并在界面中拖出一个方框。

(2)同理,在图形界面中添加输入框与按钮,并将按钮标题改为“关闭”。在绘图工具箱中可以找到这两个控件。
3.定义对象
(1)定义1个数值型对象
打开实时数据库→新增对象,即可创立一个新的字符型对象InputSTime1。点击InputSTime1,将对象名称设为“data”,并将对象类型设置为浮点数(旧版和新版的有所区别,浮点数取代了原有的数值型),初始值设置为“0”。定义完成后点击确认即可增加数值型对象。


(2)定义1个开关型对象
同(1)操作,将对象名称设置为“sd”,对象类型选择“整数(即原来的开关量)”,初始值设置为“0”。

4.建立动画连接
在工作台用户窗口→用户窗口→“实数变化”窗口,进入编辑界面。
(1)建立输入框构件的动画连接
点击“输入框”,弹出以下界面,在操作属性页中,点击“对应数据对象名称”,跳出变量界面,选择data数据即可。


(2)建立实时曲线构件的动画连接
点击“实时曲线”,弹出对话框,选择“标注属性”,如下图进行配置。

同理,切到“画笔属性”,将曲线1同样的方式设置为data变量,如下图进行配置。

(3)建立按钮构件的动画连接
点击“按钮”,先在基本属性中,将按钮文本设置为“关闭”,接着切换到操作属性,勾选“关闭用户窗口”,下拉选择“实数变化窗口”。

5.编程
切换到运行策略窗口,选择后台策略,在后台策略中选择“新建策略行”,即可出现脚本程序如下图所示。

点击进入脚本程序,根据实验要求对脚本进行编程如下:
IF sd=0 THEN
IF data<10 THEN
data=data+0.5
ELSE
sd=1
ENDIF
ENDIF
IF sd=1 THEN
IF data>0 THEN
data=data-0.5
ELSE
sd=0
ENDIF
ENDIF
点击脚本程序中的check按钮,可对脚本程序进行检查。

返回工作台后,选择“后台任务”,点击“策略属性”,在弹出的窗口中将策略执行方式定时循环时间设置为200ms。

6.程序运行
启动模拟器,可以显示以下界面,完成工程。

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比