威纶通定时循环操作宏_「精品详解」威纶通触摸屏宏指令应用(三)
第三部分:数组与for循环
上一篇文章当中我们简单介绍了宏指令的选择语句:if…else的应用。
可以看出,宏指令当中的选择语句同C语言或者VB语言当中的选择语句是类似的用法。本节我们将介绍另外一种重要的语句结构:for循环,并结合数组和索引来完成触摸屏存储配方功能的操作。
首先,我们先来了解数组的概念。数组用来表示一组相同数据类型的变量,同单个变量一样,使用数组也是要从定义数组变量开始的。数组变量的定义格式如下:
数据类型 数组名称[数组个数],
例如:
int A[10]:定义了一个数组变量A[10],包含10个int数据。
char BFH[88]:定义了一个数组变量BFH[88],包含88个char数据。
一个数组当中所有数据的类型都是一致的,例如int A[10],A[10]当中的10个元素全部都是int的数据类型。
如何来表示数组当中的每个元素呢?以A[10]为例,A[0]-A[9]就是数组当中10个元素。中括号里的[0]和[9]起到索引的作用,既可以是常数,也可以是变量。当使用变量的时候,我们就可以实现数组元素的变址。例如:
元素A[b],当b=0时表示A[0],b=1时表示A[1],以此类推。
如何对数组及数组当中的元素进行赋值呢?有两种方法:
第一种是对数组当中全体元素赋常数初值,例如:
第二种是把每个元素看作一个单独的变量,分别传值。
以A[8]、abc[4]为例:
如何将变量批量传送到数组的每个元素当中呢?例如:将数组BFH[88]批量传送到ABC[88]当中,根据上面所讲,我们要写88行赋值:
这样的做法是不是有些太麻烦了,有没有什么做法可以一次性的将88组数据批量传送呢,类似三菱PLC的BMOV指令一样?
答案是有的,做法就是我们下面要介绍的:for循环语句。
for循环的意义就是执行固定次数的重复操作,格式如下所示:
◆计数递增的for循环:
◆计数递减的for循环:
使用for循环,我们就可以一次性完成数组的批量传送,如下所示:
下面我们来演示,如何结合数组和for循环来实现触摸屏的配方功能。
配方功能要求:
1.配方组数:共10组,编号1-10;
2.每组配方6个数据,均为16位单字整数;
3.按下保存配方,示教区数据存入配方存储区;
4.输入配方号改变的时候,示教区数据自动刷新为当前配方号的配方数据。
5.如果输入配方组数超出范围,提示“不在范围中!”
程序分析:
配方组数为10组,每组6个数据,我们就需要60个字的存储区域存放配方数据。这里我们定义一个数组:short C[60],用来作为配方的存储区域。
当前输入的示教数据和当前组配方显示数据,我们分别定义一个数组:short A[6]和short B[6] 。
按下保存的时候,将输入示教数组B[6] 批量传送给配方存储区域C[60]对应配方号的存储位置,如图所示:
触摸屏控件建立界面如下所示:
宏指令程序如下所示:
设置周期执行
定义变量:
实际HMI地址Getdata到变量:
配方存储操作:
配方读取操作&不在范围提示:
好了,关于使用宏指令当中的数组和for循环来实现简单配方存储的功能就演示到这里了。原理还是比较简单的,大家可以自行离线模拟测试。有需要参考程序的同学欢迎添加下方老师。
后面的文章我们将介绍While循环、Delay函数的概念,以及开机进度条功能的实现方法。
想学习PLC编程了解更多自动化行业资讯的可以加我微信:huiyi_1105709461
威纶通定时循环操作宏_「精品详解」威纶通触摸屏宏指令应用(三)相关推荐
- 威纶通定时循环操作宏_威纶通触摸屏宏指令的使用
工控多年的公众号运营者 我经常分享原创技术内容 内容涉及到工业多个方面 分享新知识带你一起进步 今天看到一个例程,想再写一下威纶通触摸屏宏指令的使用.之前有分享过一篇有关威纶通关于宏指令使用的文章,那 ...
- 威纶通定时循环操作宏_数控铣床编程操作,四个实例助你快速入门
数控铣床是在一般铣床的基础上发展起来的一种自动加工设备,两者的加工工艺基本相同,结构也有些相似.数控铣床有分为不带刀库和带刀库两大类.其中带刀库的数控铣床又称为加工中心.下面我们就来看看数控铣床编程实 ...
- 威纶通定时循环操作宏_威纶通软件功能12 程序保护方法
对于工程文档的保护,威纶通编程软件有如下七项设置,大家可以根据实际情况择一或是组合使用. 方式一 设置禁止上传 选项位置: 位置1:pro软件里设置,[常用]>[系统参数]>[系统],&q ...
- 威纶通定时循环操作宏_小巧轻便,四季可用——米家直流变频台式循环扇分享...
一.前言 前段时间入了一台米家直流变频落地扇,晚上吹着自然风入睡非常舒服.魔都最近入梅了,天气又闷又湿又热,风扇已经满足不了降温需求了,晚上不开空调睡不着.但是开空调又有一个新的问题,就是室内温度不均 ...
- sql server tcp 信号灯超时时间已到_「图文详解」TCP为啥要3次握手和4次挥手?3次挥手不行吗?...
原文链接:https://www.cnblogs.com/qdhxhz/p/8470997.html TCP有6种标示:SYN(建立联机) ACK(确认) PSH(传送) FIN(结束) RST(重置 ...
- 「STL详解」RB-tree 红黑树
RB-tree 红黑树是一种广泛使用的平衡二叉搜索树(BInary Search Tree),也是 SGI STL 为以实现的一种搜索树,作为关联式容器(associated containers)的 ...
- 读Java并发编程实践记录_原子性_锁_同步容器详解_任务执行
原子性: 单独的,不可分割的操作 不要使用过期状态值来决策当下的状态, 一定要先检查再执行(不检查, 将引发数据修改,丢失) 避免延迟初始化(懒加载: 先查看对象 == null, 然后new), 有 ...
- [免费专栏] Android安全之数据存储与数据安全「详解」
也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...
- 威纶触摸屏使用说明书_「西门子1200PLC教程」20.PLC变量表的使用
头条号私信回复1,可免费获取海量资源下载链接 在S7-1200的编程理念中,特别强调符号寻址的使用.在开始编写程序之前,用户应当为输入.输出.中间变量定义相应的符号名,也就是标签,具体步骤如下 步骤 ...
- android 关闭软键盘_「安卓之父」创立的 Essential 公司宣布关闭
熟悉 Android 系统的人应该知道安迪·鲁宾(Andy Rubin),作为 Android 系统的共同创始人,安迪·鲁宾成立了 Android(安卓),带领他的团队打造了 Android 操作系统 ...
最新文章
- Linux查看swap使用情况小脚本
- 学会了很多计算机小技巧,超实用的八个电脑小技巧,全都学会让你成为电脑高手...
- EF关闭自动创建数据库表的方式
- Deprecated: Function ereg_replace() is deprecated
- 实验吧web-易-what a fuck!这是什么鬼东西?
- 系统状态检测 及进程控制
- 中set无效是怎么回事_静态时序分析圣经翻译计划——第十章:鲁棒性检查 (中)...
- 简书bug(已修复):网络不佳时安卓1.11.3呈现的空白页面如图
- java pdfptable_java Itext PDF 导出 table | 学步园
- 计算机启动时默认输入法设置,电脑开机输入法设置 开机默认输入法设置教程...
- 双击ie浏览器没反应打不开的解决方法
- murmur3哈希算法
- 科学研究是有闲人群的玩艺———读爱因斯坦的短文有感
- Ubuntu 14.04 T430s 安装指纹识别
- 支付宝架构有多牛?还没看完我就跪了...
- 3D建模师的需求到底有多大?以前想都不敢想
- 协作通信关键技术(王辉)阅读心得
- 第三次团队作业——系统设计
- 云南工程职业学院计算机网址,云南工程职业学院欢迎您(2020)
- Linux下xl710网卡驱动,CentOS 6.x 系统安装+网卡驱动安装(Realtek PCIe GBE Family Controller for Linux)...
热门文章
- CCF SCI JCR 中科院分区 会议期刊等级总结
- 宇宙最强API接口调试工具Apipost
- 正确获取CleanMyMac注册码并激活
- 命令行查看文件夹大小
- raphael.js菜鸟笔记(二)
- tcp粘包 java_详说tcp粘包和半包
- IDEA中jclasslib插件修改本地化语言为英文的方法
- HCDA(华为认证数据通信工程师)-华为培训认证
- Java基础 实验二:类和对象
- 河南增值税开票系统原服务器地址,河南省增值税发票综合服务平台登录入口:https://fpdk.henan.chinatax.gov.cn...