大家知晓在高等语言中常见选用泛型,那么在PLC中是否可以运用泛型呢?能够,但罗嗦。。

操纵供给

求数组中的最大值,数值类型包蕴Real和Int,大家这里选择两体系型,调控代码量。

垄断程序 一

爱博体育 1

爱博体育 2

array是传进来的数组,能够是Int或Real类型。但有大小限制,长度必得低于maxSize。后边大家会写个无大小限制的顺序。

爱博体育,前后相继比较轻便,有多少个要点大家简要说下:

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

另外,每连串型都亟待写相应的管理代码,PLC的泛型很罗嗦,代码量极大,其实跟PC的泛型有精神上的差异。

垄断(monopoly)程序 二

爱博体育 3

爱博体育 4

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

决定程序 三

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

爱博体育 5

爱博体育 6

看表明第二行,类型为Array〔*〕of
Int。别的请留心程序第1和2行,用了Lower_Bound和Upper_Bound多少个函数。别的S7-1200的模拟器运转这几个顺序出错,真机能够.S7-1500模拟器能够平常运营.

相关文章