第三部分:数组与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

威纶通定时循环操作宏_「精品详解」威纶通触摸屏宏指令应用(三)相关推荐

  1. 威纶通定时循环操作宏_威纶通触摸屏宏指令的使用

    工控多年的公众号运营者 我经常分享原创技术内容 内容涉及到工业多个方面 分享新知识带你一起进步 今天看到一个例程,想再写一下威纶通触摸屏宏指令的使用.之前有分享过一篇有关威纶通关于宏指令使用的文章,那 ...

  2. 威纶通定时循环操作宏_数控铣床编程操作,四个实例助你快速入门

    数控铣床是在一般铣床的基础上发展起来的一种自动加工设备,两者的加工工艺基本相同,结构也有些相似.数控铣床有分为不带刀库和带刀库两大类.其中带刀库的数控铣床又称为加工中心.下面我们就来看看数控铣床编程实 ...

  3. 威纶通定时循环操作宏_威纶通软件功能12 程序保护方法

    对于工程文档的保护,威纶通编程软件有如下七项设置,大家可以根据实际情况择一或是组合使用. 方式一 设置禁止上传 选项位置: 位置1:pro软件里设置,[常用]>[系统参数]>[系统],&q ...

  4. 威纶通定时循环操作宏_小巧轻便,四季可用——米家直流变频台式循环扇分享...

    一.前言 前段时间入了一台米家直流变频落地扇,晚上吹着自然风入睡非常舒服.魔都最近入梅了,天气又闷又湿又热,风扇已经满足不了降温需求了,晚上不开空调睡不着.但是开空调又有一个新的问题,就是室内温度不均 ...

  5. sql server tcp 信号灯超时时间已到_「图文详解」TCP为啥要3次握手和4次挥手?3次挥手不行吗?...

    原文链接:https://www.cnblogs.com/qdhxhz/p/8470997.html TCP有6种标示:SYN(建立联机) ACK(确认) PSH(传送) FIN(结束) RST(重置 ...

  6. 「STL详解」RB-tree 红黑树

    RB-tree 红黑树是一种广泛使用的平衡二叉搜索树(BInary Search Tree),也是 SGI STL 为以实现的一种搜索树,作为关联式容器(associated containers)的 ...

  7. 读Java并发编程实践记录_原子性_锁_同步容器详解_任务执行

    原子性: 单独的,不可分割的操作 不要使用过期状态值来决策当下的状态, 一定要先检查再执行(不检查, 将引发数据修改,丢失) 避免延迟初始化(懒加载: 先查看对象 == null, 然后new), 有 ...

  8. [免费专栏] Android安全之数据存储与数据安全「详解」

    也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 Android安全付费专栏长期更新,本篇最新内容请前往: [ ...

  9. 威纶触摸屏使用说明书_「西门子1200PLC教程」20.PLC变量表的使用

    头条号私信回复1,可免费获取海量资源下载链接 在S7-1200的编程理念中,特别强调符号寻址的使用.在开始编写程序之前,用户应当为输入.输出.中间变量定义相应的符号名,也就是标签,具体步骤如下 步骤 ...

  10. android 关闭软键盘_「安卓之父」创立的 Essential 公司宣布关闭

    熟悉 Android 系统的人应该知道安迪·鲁宾(Andy Rubin),作为 Android 系统的共同创始人,安迪·鲁宾成立了 Android(安卓),带领他的团队打造了 Android 操作系统 ...

最新文章

  1. Linux查看swap使用情况小脚本
  2. 学会了很多计算机小技巧,超实用的八个电脑小技巧,全都学会让你成为电脑高手...
  3. EF关闭自动创建数据库表的方式
  4. Deprecated: Function ereg_replace() is deprecated
  5. 实验吧web-易-what a fuck!这是什么鬼东西?
  6. 系统状态检测 及进程控制
  7. 中set无效是怎么回事_静态时序分析圣经翻译计划——第十章:鲁棒性检查 (中)...
  8. 简书bug(已修复):网络不佳时安卓1.11.3呈现的空白页面如图
  9. java pdfptable_java Itext PDF 导出 table | 学步园
  10. 计算机启动时默认输入法设置,电脑开机输入法设置 开机默认输入法设置教程...
  11. 双击ie浏览器没反应打不开的解决方法
  12. murmur3哈希算法
  13. 科学研究是有闲人群的玩艺———读爱因斯坦的短文有感
  14. Ubuntu 14.04 T430s 安装指纹识别
  15. 支付宝架构有多牛?还没看完我就跪了...
  16. 3D建模师的需求到底有多大?以前想都不敢想
  17. 协作通信关键技术(王辉)阅读心得
  18. 第三次团队作业——系统设计
  19. 云南工程职业学院计算机网址,云南工程职业学院欢迎您(2020)
  20. Linux下xl710网卡驱动,CentOS 6.x 系统安装+网卡驱动安装(Realtek PCIe GBE Family Controller for Linux)...

热门文章

  1. CCF SCI JCR 中科院分区 会议期刊等级总结
  2. 宇宙最强API接口调试工具Apipost
  3. 正确获取CleanMyMac注册码并激活
  4. 命令行查看文件夹大小
  5. raphael.js菜鸟笔记(二)
  6. tcp粘包 java_详说tcp粘包和半包
  7. IDEA中jclasslib插件修改本地化语言为英文的方法
  8. HCDA(华为认证数据通信工程师)-华为培训认证
  9. Java基础 实验二:类和对象
  10. 河南增值税开票系统原服务器地址,河南省增值税发票综合服务平台登录入口:https://fpdk.henan.chinatax.gov.cn...