写在开始

经历了两天的努力,终于对这款嵌入式屏幕有了新的认识。下面做下类比:

单片机或者ARM:

(1)main函数开始,进行INIT初始化;

(2)while(1)循环;

(3)外部或内部中断。

以上三点是咱们熟悉的硬件常规编程

而昆仑通态屏幕脚本编程:

(1)初始化脚本;---对应INIT初始化

(2)采集脚本;---对应while(1)循环

(3)单通道写脚本;---对应中断

(4)退出脚本。

结论:这两种编程是一一对应的,只是昆仑通态屏幕脚本编程的时候多了一个退出脚本。也就是退出屏幕时执行的程序。

初始化和while(1)循环这两个没什么区别,单通道脚本里相当于中断,而通道值的变化就是触发单通道脚本执行的中断。这点下面会详细叙述。

第一节:回顾

上文中https://blog.csdn.net/weixin_45426095/article/details/119410084,《昆仑通态屏幕制作(连载2)------基础篇(初试篇)》详细介绍了怎么写脚本,怎么配置脚本和屏幕的链接,怎么制作屏幕,怎么调试,怎么验证。还不清楚的小伙伴可以移步上述链接。

现在打开窗口必须有三个:

(1)组态软件,也就是屏幕,随时拉模块,随时改变显示。

(2)脚本软件,随时修改脚本文件,然后连接到组态软件中。

(3)串口助手,方便调试。

注:利用虚拟串口软件,虚拟出成对的串口,组态软件连接到一个串口,串口助手连接到另一个串口,就可以不用硬件连接,直接通过虚拟的串口达到串口调试的目的。

昨天制作了取数、显示和串口发送的例程,今天加入新的东西:按钮发送数据,滑块输入其他显示,加减输入显示,串口数据显示。

第二节:按钮发送

1. 编写脚本

(1)加入通道:第一个按钮,设备通道直接数数,第三个。

(2)编写脚本:在单通道写脚本里。

DIM ButtonChannel        as INTEGER

首先定义一个通道号,目的:取哪个通道变化了,也就是哪个设备通道有中断。

ButtonChannel = !GetCurrentChannelNum()

执行上述程序,可以得到哪个设备通道里面的值变了。

IF ButtonChannel = 3 THEN !Sleep(1000)nSendByteArr[1] = &H5B   nSendByteArr[2] = &HB5     nSendByteArr[3] = &HFFnSendByteArr[4] = !BitRShift(gnGetData1, 8)nSendByteArr[5] = gnGetData1nSendByteArr[6] = !SvrByteArraySum(nSendByteArr,3,3)'和校验      !DevClearBuff()         '清缓冲 !DevWriteAndReadByteArr(nSendByteArr,6,nRecvByteArr,6,通讯延时)ENDIF

因为第一个按钮是第三个通道,也就是第三个数,所以以下按行解释代码

如果按钮被按下,==3时,执行以下程序;

缓冲1000ms,这个是系统时间,不占空中断时间,所以可以放心的延时,对整个中断程序和while(1)的程序执行都无影响。

填充发送的buffer 6个数,

清缓存,发送6个数据,接收6个数据;

(3)保存。

2. 加载脚本和屏幕链接驱动

(1)打开昨天建立的文件:

(2)点击设备窗口:双击设备窗口,弹出对话框:因为脚本文件已经被改写,所以出现驱动已在外部被修改,

双击驱动:更新设备,在通道连接选项中,添加对应数据对象。这样脚本里的参数就可以被屏幕界面中的模块识别了。

(3)保存,退出,打开用户窗口。

3. 屏幕界面设置

(1)放置按钮模块,这个不会的话,在前面的教程里有详细介绍。

(2)修改参数:双击按钮,打开对话框,在操作属性中:

数值对象中,选择取反,问号里面选择第一个按钮。

注:这里必须点击取反,因为每次按键都要执行中断脚本程序,也就是单通道写脚本。选择其他的就只执行一次,或者执行多次。

(3)保存。

4. 验证

工具,下载配置,工程下载,启动运行:

(1)初始结果:昨天的发送程序,1s执行一次,报文正确。

(2)取数框中修改数据:显示框中跟随变化,串口显示变为0A,报文正确。

(3)点击按钮后,报文正确。

第三节:总结

(1)总的来说,编程思想和以前是一样的,但是编程内容接近于嵌入式,或许这个就是为啥叫嵌入式屏幕了吧。

(2)当编写好第一例程之后,下面的东西就是比葫芦画瓢了,一个一个的添加,然后去验证。从脑力劳动变成了体力劳动。

(3)屏幕入门有一定的门槛,特别是没有嵌入式ARM单片机等面向逻辑编写基础的小伙伴,应该有一定的困难。如果是面向对象编程的小伙伴,可以看看前面的文章,有介绍面向逻辑和面向对象编程的区别。之后就是有面向逻辑编写基础的小伙伴,如果没有一定的例程也非常难搞,要是有例程了,可以在此基础上改动,这个时候就比较容易了。

第四节:展望

现在先写一个按钮的程序,之后的教程会相继发出,毕竟编程序需要一定的时间,写文章也需要一定的时间,同时上班期间还有其他的工作需要干,请耐心等待,谢谢了!有需要讨论的小伙伴可以添加微信,大家一起进步:

昆仑通态屏幕制作(连载3)---基础篇(按钮串口发送)相关推荐

  1. 昆仑通态屏幕制作(连载2)---基础篇(设定与显示,串口发送)

    写在之前 第一次经历过一个软件不会用的懵逼状态后,慢慢静下心来,好好的看看这个屏幕到底怎么弄,经历过多方帮助,终于慢慢的领悟到了昆仑通态屏幕怎么制作,下面分享给需要用到的小伙伴. 语言 还是那句话,自 ...

  2. 昆仑通态屏幕制作(连载4)---基础篇(图形设定与显示,按钮灯)

    写在前面 经过三次的连载,差不多屏幕的基本套路已经清楚的展现的面前,当然这仅仅是基础的用法,后面应该还有很多高级的用法,至于工程里面需要多少东西,差不多现在都已经可以涵盖了. (1)参数设定,这个取数 ...

  3. 空压机数据采集系统,使用昆仑通态触摸屏制作,具备完善的数据采集和历史记录保存功能

    空压机数据采集系统,使用昆仑通态触摸屏制作,具备完善的数据采集和历史记录保存功能,异常信息记录,系统运行稳定可靠,程序 ID:66500617212287592猫猫工控

  4. 昆仑通态复制的程序可以用吗_免费!最全MCGS昆仑通态视频合集!

    加微信号"15021230050",邀请您加入"信控电气"微信群. 点击文章最下方"阅读原文",加入超级工控技术群. 招聘初级电气工程师(提 ...

  5. 基于NModbus4的C#上位机连接与读写(使用屏幕为昆仑通态)

    文章目标: 1.与昆仑通态触摸屏完成TCP连接 2.读写0区.3区.4区寄存 NModbus4使用手册 https://wenku.baidu.com/view/1d50bd321ed9ad51f01 ...

  6. 昆仑通态通用版找不到驱动_2021深圳新安西门子伺服驱动电机回收合作共赢

    2021深圳新安西门子伺服驱动电机回收合作共赢 一个企业,应尽量做到PLC的机型统主要考虑到以下三方面问题:机型统其模块可互为备用,便于备品备件的采购和管理.机型统其功能和使用方法类似,有利于技术力量 ...

  7. 昆仑通态复制的程序可以用吗_MCGS昆仑通态触摸屏

    前面我有说过,我最喜欢用的触摸屏还是昆仑通态的触摸屏,因为我总是觉得它做的非常容易操作和简便,而且他的内部函数调用也非常方便,样例很清楚,但是由于公司的产品原因,而且昆仑通态触摸屏没有CE认证,所以我 ...

  8. android实现模拟自动点击_昆仑通态专题(十三):模拟实现全自动洗衣机系统的设计(案例)...

    点击上方蓝色字体,关注我们 01目的 学习使用MCGS嵌入版组态软件设计实现对全自动洗衣机系统的模拟控制.用触摸屏来控制西门子S7-200的PLC模拟工作.实训特点:使用触摸屏进行输入和  显示输出, ...

  9. 昆仑通态复制的程序可以用吗_昆仑通态专题(七):MCGS组态软件的设备窗口...

    点击上方蓝色字体,关注我们 设备窗口是MCGS嵌入版组态软件系统的重要组成部分,在设备窗口中建立系统与外部硬件设备的连接关系,使系统能够从外部设备读取数据并控制外部设备的工作状态,实现对工业过程设备的 ...

最新文章

  1. Android布局优化之include、merge、ViewStub
  2. 策略模式 是一种好策略 -07
  3. python中pep8规范_Python PEP8规范
  4. deian   授权用户 sudo权限
  5. Lucene 概念,定义应用场景
  6. coreseek实时索引更新之增量索引
  7. caffe之代码学习
  8. STL中间set具体用法!!!!
  9. Sphinx 2.2.3 安装和配置,英文数字中文搜索
  10. 麦子学院与阿里云战略合作 在线教育领军者技术实力被认可
  11. android9 三星 港版,三星S9+官方港版安卓9固件系统线刷包:TGY-G9650ZHU4CSE7
  12. Mobile移动5G通信技术详解
  13. 三八定律时间管理思想
  14. 2021.5.10-2021.5.16周报
  15. 错误页面不暴漏,显示到一个漂亮页面
  16. 数据猿专访网智天元莫倩:人工智能不仅是泡沫,而且会越来越大
  17. 关闭upupoo悬浮窗口
  18. Win10 Windows Defender添加信任文件的方法
  19. 卷积神经网络(CNN)经典模型分析(一)
  20. python 的 do ~ while 语法

热门文章

  1. hscode 查询,hscode 查询api 支持
  2. 项目案例:QQ数据库管理
  3. 《深入浅出RxJS》读书笔记
  4. 有关SSL证书的一些事
  5. jflow部分代码重构
  6. 循环码的概念以及拓展
  7. 如何创造被动收入 | 我的知乎Live
  8. 一、ONVIF协议:使用gSOAP生成ONVIF框架代码
  9. mongodb管理工具 RoboMongo
  10. ARM Linux双网卡设置转发