某些功能在逻辑上是存在重复性的,但有一些人非要写成一个整体,就是不想分开,不知道是什么原因。
我从没有见到过有人编写一个块,这个块只能控制一个设备,但是通过多次调用这个块,并使用数组连接起来,于是可以像搭积木一样,形成可以控制任意数量设备的大功能块。
不,其实见到过,但由于多个块之间存在复杂的连锁关系,不管是变量链接非常复杂,而且还需要其他功能块对这些块进行协调处理。
我真正没有见到过的是,即使多个块之间存在复杂的连锁关系,但他们只需要通过一个简单的数组连接,便能够处理块与块之间的连锁关系,并不需要其他块进行协调。
这种调用方式看起来有点像串行总线,仅通过一条总线连接多台设备,这些设备便能够轻松交换信息,而且可以轻松增加与减少总线中的设备数量。
如果要比喻的话,我这种编程方式就像串行总线,常规的编程方式则像是硬接线。

图片中是一个调用例子,每个排队块的调用(实例)相当于一个栈位。
所有的排队块通过【连接】Array[0..1] of Int 来连接,解决多个块之间的连锁关系。(这些连锁关系是比较复杂的。)
于是十个排队块的调用,组成了一个10栈位的FIFO。
如果你需要更多的栈位,只需要增加排队块的调用次数即可。
通过这个功能,你能够轻松的编写很多功能,例如夹具的先入先出处理,多台设备的固定数量自动轮换运行处理,信号的前后关系处理。