在所有的S7-200及S7-200 SMART帮助手册了都有下面一句话:
子例程可选择使用传递参数。这些参数在子例程的变量表中定义。必须为每个参数分配局部符号名称(最多 23 个字符)、变量类型和数据类型。一个子例程最多可以传递十六个参数。变量表中的 VAR_Type 类型字段定义变量是传入子例程 (IN)、传入和传出子例程 (IN_OUT),还是传出子例程 (OUT)。
但是就测试看实际参数数量可以超过此限制,最多可以设置22个参数。
西门子官方提供方的一些自定义库实例中也存在一些超过16 个这一明文限制的库:
- 量程转换库参数达到18个
- 8路连锁程序块