6ES7510-1DJ01-0AB0西门子S7-1500内存卡西门子模块代理商
CPU 1510SP-1 PN,100KB 程序,750 KB 数据;72 ns;集成 1x PN 接口(可用ET 200SP总线适配器再拓展2个PN 接口)
6ES7510-1DJ01-0AB0
6ES7510-1DJ01-0AB0
西门子S7-1200系列代理商,西门子S7-1200CPU分销商,西门子S7-1200CPU分销商,西门子S7-1500CPU代理商,西门子S7-1500CPU代理商,西门子模块代理商,西门子模块一级代理商,西门子模块总代理商,西门子模块分销商,西门子模块代理商
西门子S7-1200系列PLC的间接寻址的功能,S7-1200系列的PLC间接寻址功能不同于S7-200系列PLC的间接寻址功能,S7-1200系列PLC的间接寻址功能主要是对DB块中所建立的数组进行寻址,根据对数组下标值的访问和修改来实现对数组中元素值的读取或写入。
在S7-1200PLC中,若需要根据数组下标值来对数组中元素的访问有两种方式可以实现,一是通过大家熟悉的梯形图来编写程序实现,二是可以通过SCL的编程方式来编写这样的程序实现。这里通过一个简单的例子为例,分别通过这两种方式如何实现通过索引数组的下标值来实现对数组中元素的访问。
例子说明:
假设需要从一组数据中找出一个大值,并记录这个大值是这组数据中的第几个数据。
先以大家相对来讲比较熟悉的梯形图的方式来实现此功能。这里我们需要用到通过读取域或写入域的指令,该指令根据索引的下标值来读取数值中相对应元素的值或写入数到数组中相对应的元素里。此例子中只需要用到读指令,指令位于移动操作指令中的“原有”文件加中。
读取数组中元素值的指令格式如下:
名称 | 数据类型 | 功能描述 |
INDEX | DINT | 数组的下标值 |
MEMBER | 取决数组中所建立元素的数据类型 | 数组中的个元素 |
VALUE | 取决数组中所建立元素的数据类型 | 存放根据下标值读取出来的数组元素中的值 |
举例:
表示把数据中的data这个数组中的data[5]这个元素的值读取出来放入到MW100这个变量中。
写入数组中元素值的指令格式如下:
名称 | 数据类型 | 功能描述 |
INDEX | DINT | 数组的下标值 |
VALUE | 取决数组中所建立元素的数据类型 | 把该值写入到通过下表指定的对应的数组元素中 |
MEMBER | 取决数组中所建立元素的数据类型 | 数组中的个元素 |
举例:
表示把数据20写入到数据块1中的变量名为data的数组中的data[3]元素的存储器中。
在本例中,我们只需要用到个指令,接下来设计一个如例题中所要求的梯形图程序。
程序编写思路:
本例题要去找出大值,并把大值所处的位置记录下来,编程思路:假设变量MAX_DATA作为大值的存储器,然后根据下标值(INDEX)的多少去读取相应数值中对用的元素的值放于TEMP_DATA变量中,然后与MAX_DATA做比较,若MAX_DATA的值要小,则进行交换,同时记录INDEX值。然后INDEX加1,可以指向数组中的下一个元素。
6ES7510-1DJ01-0AB0西门子S7-1500内存卡西门子模块代理商西门子电机代理商西门子变频器代理商西门子触摸屏代理商西门子PLC模块代理商西门子CPU模块代理商西门子电缆代理商西门子电源模块代理商
6ES7510-1DJ01-0AB0
6ES7510-1DJ01-0AB0