我们掌握在高级语言中广大采取泛型,那么当PLC中是否可以以泛型呢?可以,但罗嗦。。

咱俩领略当高档语言中常见应用泛型,那么在PLC中是不是可以应用泛型呢?可以,但罗嗦。。

控制要求

求数组被的顶酷价值,数值类包括Real和Int,我们这里选取个别种植档次,控制代码量。

支配要求

求数组被的极其老价值,数值类包括Real和Int,我们这边选用个别种植类型,控制代码量。

决定次 一

www.997755.com 1

www.997755.com 2

array是传染进的累累组,可以是Int或Real类型。但出大大小小限制,长度要低于maxSize。前面我们相会刻画个无大小限制的次序。

程序相比较简单,有几乎独要点我们简要说下:

第二行,必须用UDINT_TO_DINT,
因为后边的索引号需用DINT。最终输出的凡泛型的数值,所有需要把maxElement设置也Variant,所以需要用VairantPut指令把相应的数值传下。

此外,每种型且待写相应的拍卖代码,PLC的泛型很罗嗦,代码量很死,其实和PC的泛型有本质上的别。

支配程序 一

www.997755.com 3

www.997755.com 4

array是招进的屡屡组,能够是Int或Real类型。但来大小限制,长度要低于maxSize。前边大家会刻画个无大小限制的次第。

次第相比较简单,有几乎单要点大家大概说生:

第二行,必须用UDINT_TO_DINT,
因为后的索引号需用DINT。最后输出的凡泛型的数值,所有需要将maxElement设置为Variant,所以用为此VairantPut指令把相应的数值传出来。

除此以外,每种型且需要写相应的处理代码,PLC的泛型很罗嗦,代码量很分外,其实跟PC的泛型有实质上之分。

控制程序 二

www.997755.com 5

www.997755.com 6

本次我们为此MOVE_BLK_VARIANT函数来去Variant
数组中的值,所以可以兑现真正的变长数组。最终把极要命价值通过VariantPut指令输出。指令的详尽表达可以扣押系统自带的手册。

操纵次 二

www.997755.com 7

www.997755.com 8

这一次大家就此MOVE_BLK_VARIANT函数来去Variant
数组中之值,所以可以实现真正的变长数组。最终将极老价值通过VariantPut指令输出。指令的详实表达可以关押系统自带的手册。

支配程序 三

夫顺序只兑现变长数组,长度无限制.

www.997755.com 9

www.997755.com 10

扣押表达第二履,类型为Array〔*〕of
Int。此外要小心程序第1以及2行,用了Lower_Bound和Upper_Bound两单函数。其它S7-1200的模拟器运行是顺序出错,真机可以.S7-1500模拟器可以正常运行.

操纵次 三

本条顺序只兑现变长数组,长度无限制.

www.997755.com 11

www.997755.com 12

在押表明第二执,类型也Array〔*〕of
Int。其它要留意程序第1暨2行,用了Lower_Bound和Upper_Bound两单函数。另外S7-1200的模拟器运行是顺序出错,真机能够.S7-1500模拟器可以正常运行.