西门子博途编程-泛型和变长数组编程

咱俩精晓在高档语言中广泛利用泛型,那么在PLC中是不是足以应用泛型呢?可以,但罗嗦。。

咱俩知道在高级语言中广泛使用泛型,那么在PLC中是否足以行使泛型呢?可以,但罗嗦。。

操纵要求

求数组中的最大值,数值类型包括Real和Int,我们这里采纳两体系型,控制代码量。

操纵要求

求数组中的最大值,数值类型包括Real和Int,大家这里拔取两种档次,控制代码量。

支配程序 一

图片 1

图片 2

array是传进来的数组,可以是Int或Real类型。但有大小限制,长度必须低于maxSize。前边大家会写个无大小限制的主次。

程序相比较简单,有多少个要点大家简要说下:

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

除此以外,每序列型都急需写相应的拍卖代码,PLC的泛型很罗嗦,代码量很大,其实跟PC的泛型有实质上的区分。

决定程序 一

图片 3

图片 4

array是传进来的数组,可以是Int或Real类型。但有大小限制,长度必须低于maxSize。前面我们会写个无大小限制的程序。

程序相比简单,有多少个中央我们大概说下:

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

除此以外,每系列型都亟待写相应的拍卖代码,PLC的泛型很罗嗦,代码量很大,其实跟PC的泛型有精神上的区别。

控制程序 二

图片 5

图片 6

这一次我们用MOVE_BLK_VARIANT函数来去Variant
数组中的值,所以可以兑现真正的变长数组。最终把最大值通过VariantPut指令输出。指令的详尽表明可以看系统自带的手册。

操纵程序 二

图片 7

图片 8

本次我们用MOVE_BLK_VARIANT函数来去Variant
数组中的值,所以可以兑现真正的变长数组。最终把最大值通过VariantPut指令输出。指令的详尽表明能够看系统自带的手册。

操纵程序 三

以此程序只兑现变长数组,长度无限制.

图片 9

图片 10

看表达第二行,类型为Array〔*〕of
Int。此外请小心程序第1和2行,用了Lower_Bound和Upper_Bound多个函数。其余S7-1200的模拟器运行那多少个程序出错,真机可以.S7-1500模拟器可以健康运行.

支配程序 三

以此程序只兑现变长数组,长度无限制.

图片 11

图片 12

看表达第二行,类型为Array〔*〕of
Int。此外请小心程序第1和2行,用了Lower_Bound和Upper_Bound五个函数。此外S7-1200的模拟器运行这么些程序出错,真机可以.S7-1500模拟器可以健康运行.

相关文章