免费发布

九江市西门子中国(授权)一级代理商-西门子选型-西门子技术支持-西门子维修服务

更新:2024-05-03 09:10 发布者IP:120.237.217.245 浏览:0次
发布企业
广东湘恒智能科技有限公司商铺
认证
资质核验:
已通过营业执照认证
入驻顺企:
2
主体名称:
广东湘恒智能科技有限公司
组织机构代码:
91441304MAC3TWY11U
报价
请来电询价
变频器
西门子代理商
触摸屏
西门子一级代理
伺服电机
西门子一级总代理
关键词
西门子一级总代理,代理商,变频器,伺服电机,PLC
所在地
惠州大亚湾澳头石化大道中480号太东天地花园2栋二单元9层01号房(仅限办公)(注册地址)
联系电话
18126392341
手机
15267534595
联系人
梁涛  请说明来自顺企网,优惠更多
让卖家联系我
15267534595

产品详细介绍

在S7-1200PLC中,若需要根据数组下标值来对数组中元素的访问有两种方式可以实现,一是通过大家熟悉的梯形图来编写程序实现,二是可以通过SCL的编程方式来编写这样的程序实现。

一、举例说明梯形图和SCL如何实现程序编写

这里通过一个简单的例子为例,分别通过这两种方式如何实现通过索引数组的下标值来实现对数组中元素的访问。

例子说明:

假设需要从一组数据中找出一个Zui大值,并记录这个Zui大值是这组数据中的第几个数据。

先以大家相对来讲比较熟悉的梯形图的方式来实现此功能。这里我们需要用到通过读取域或写入域的指令,该指令根据索引的下标值来读取数值中相对应元素的值或写入数到数组中相对应的元素里。此例子中只需要用到读指令,指令位于移动操作指令中的“原有”文件加中。

读取数组中元素值的指令格式如下:

图片

图片

举例:

图片

表示把数据中的data这个数组中的data[5]这个元素的值读取出来放入到MW100这个变量中。

写入数组中元素值的指令格式如下:

图片

图片

举例:

图片

表示把数据20写入到数据块1中的变量名为data的数组中的data[3]元素的存储器中。

在本例中,我们只需要用到第一个指令,接下来设计一个如例题中所要求的梯形图程序。


程序编写思路:

本例题要去找出Zui大值,并把Zui大值所处的位置记录下来,编程思路:假设变量MAX_DATA作为Zui大值的存储器,然后根据下标值(INDEX)的多少去读取相应数值中对用的元素的值放于TEMP_DATA变量中,然后与MAX_DATA做比较,若MAX_DATA的值要小,则进行交换,同时记录INDEX值。然后INDEX加1,可以指向数组中的下一个元素

图片

注:流程图不太标准,但希望对大家理解这个编程思路有所帮助,接下来主要对程序的编写进行介绍。

二、用梯形图编写一个取Zui大值的程序

前面介绍了读取和写入数组中元素值的指令Field Read和FieldWrite两条指令,同时给大家简单的分析了程序的设计思路。接下来就使用FieldRead来实现本功能,在程序的设计过程中可能还需要用到循环跳转指令。

例子说明:

假设需要从一组数据中找出一个Zui大值,并记录这个Zui大值是这组数据中的第几个数据。

第一步:

添加一个全局DB块,并在DB块中建立一个变量名为data_1#,数据类型为数组的变量,用于存储需要找出Zui大的数据,同时建立一些相应的变量,如下图所示。

图片

第二步:

初始化相应的存储器并把存储Zui大值的存储器的值设置为Zui小值。程序如下所示:

图片

第三步:

编写判断数据的挨个比较是否完成,当执行的次数与设定的次数相等时,则表示完成,可以跳出Zui大值查找的程序,让程序跳转到Zui后执行。程序如下所示:

图片


第四步:

编写读取数组中元素的值,然后与存储Zui大值的存储器中的值做比较,用于判断数据存储器存储的值是否是Zui大值,若不是Zui大值进行数据交换,同时记录位置,然后INDEX的值加1,同时记录执行次数并与设定次数做比较,如未达到设定次数,则跳转换前面继续通过FieldRead指令读取数据出来继续做比较。

图片


图片


三、使用SCL如何实现程序编写

在前面介绍了使用梯形图的方式来编写一个取Zui大值的程序,但在S7-1200PLC中,还支持SCL的编程,使用SCL的编程对一些复杂的数据处理会带来很大的方便,下面还是以前面的例子为例说明使用SCL如何编写程序实现。

例子说明:

假设需要从一组数据中找出一个Zui大值,并记录这个Zui大值是这组数据中的第几个数据。

使用SCL编程来完成这个例子,这里我们需要用到两个语句

(1) 用于条件判断的语句

IF (条件) THEN (执行语句)

END_IF;

解析:如果条件满足,则执行THEN后面的语句。


举例:IF“DATA_A”<100 HEN

“DATA_A”:= “DATA_A”+1;

END_IF;

如果DATA_A的值小于100,则DATA_A的值等于自身加1.

(2) 用于循环执行的语句

FOR (执行变量):= (起始值) TO (结束值)BY(自增量)DO (后面需要执行的语句);

END_FOR;

解析:从“起始值”开始循环到执行,每循环一次,“执行变量”的值会根据“自增量”的多少进行变化,直到执行到“结束值”时,停止循环执行。


举例:FOR“count”: = 0 TO 4 BY 1 DO

“Data[count]”=10;

END_FOR;

把数值10填入到数值Data中的Data[0]到Data[4]的五个元素中,第一次循环时把10填入到Data[0],第二次循环时把10填入到Data[1],依次下去。

了解这两条语句后,接下来我们可以设计一个程序,这里我们可以把他建立为一个功能块(FB),方便以后使用。


所属分类:中国电子元件网 / 西门子变频器
九江市西门子中国(授权)一级代理商-西门子选型-西门子技术支持-西门子维修服务的文档下载: PDF DOC TXT
关于广东湘恒智能科技有限公司商铺首页 | 更多产品 | 联系方式 | 黄页介绍
成立日期2022年11月17日
法定代表人林海霞
注册资本1000
主营产品广东省西门子授权代理商、西门子变频器、西门子PLC\西门子模块、西门子触摸屏、西门子伺服电机、西门子工控机、西门子集成系统、西门子低压、西门子控制单元、西门子CPU等
经营范围一般项目:技术服务、技术开发、技术咨询、技术交流、技术转让、技术推广;机械设备销售;智能机器人的研发;机械电气设备销售;电气设备修理;信息系统集成服务;阀门和旋塞销售;泵及真空设备销售;工业机器人销售;工业机器人安装、维修;仪器仪表销售;配电开关控制设备销售;软件开发;工业自动控制系统装置销售;电子、机械设备维护(不含特种设备);专用设备修理;计算机软硬件及辅助设备批发;工业工程设计服务;机械设备研发;货物进出口;技术进出口;国内贸易代理。(除依法须经批准的项目外,凭营业执照依法自主开展经营活动)
公司简介广东湘恒智能科技有限公司主要从事工业自动化产品的集成,销售与维修。致力于为您提供在机械、化工、水泥、电力、环保等领域的电气及自动化技术的完整解决方案,包括自动化产品及系统、工程项目执行及管理、主要过程控制领域技术支持,以及专业的售后服务、培训等。公司本着“以人矢志创新、追求卓越”的工作方针,致力于工业自动化控制领域的产品开发、工程配套和系统集成、销售,拥有丰富的自动为本、科技先导、化产品的应用和实 ...
公司新闻
顺企网 | 公司 | 黄页 | 产品 | 采购 | 资讯 | 免费注册 轻松建站
免责声明:本站信息由企业自行发布,本站完全免费,交易请核实资质,谨防诈骗,如有侵权请联系我们   法律声明  联系顺企网
© 11467.com 顺企网 版权所有
ICP备案: 粤B2-20160116 / 粤ICP备12079258号 / 粤公网安备 44030702000007号 / 互联网药品信息许可证:(粤)—经营性—2023—0112