您现在的位置是:首页 > PLC技术 > PLC技术

S7-300/400复杂数据类型作块的输入参数

来源:艾特贸易2017-09-21

简介在块调用中,可以用复杂数据类型作为块的实参,用它将一组数据传送到被调用块,或者用复杂数据类型将一组数据返回给调用它的块。通过这种方式,可以高效而简洁地在主调块和被

    在块调用中,可以用复杂数据类型作为块的实参,用它将一组数据传送到被调用块,或者用复杂数据类型将一组数据返回给调用它的块。通过这种方式,可以高效而简洁地在主调块和被调块之间传递数据。

    下面的例子用数组作为功能的输入参数。将数组作为参数传递时,作为形参和实参的两个数组应有相同的结构,例如都是2×3格式的数组,数组元素的数据类型应相同。

    STEP 7的新建项目向导创建一个名为“字逻辑与”的项目。在SIMATIC管理器中生成功能FC1,在FC1的局部变量表中生成一个输入参数InArray,它是有3WORD元素的数组(见图4-22),再生成一个数据类型为WORD的输出参数Result。图中的语句表程序将数组InArray3个字元素作“与”运算。

FC1

    4-22    FC1

    SIMATIC管理器中生成数据块DB1,在DB1中生成有3WORD元素的数组Aray。在OB1中调用FC1(见图4-23),用数组ArayFC1的输入参数InArray的实参。

    4-23    OB1中调用FC1

    SIMATIC管理器中生成变量表,在变量表中输入数组DB1. Aray3个元素的绝对地址(见图4-24),以及用来保存FC1的运算结果的MW6。将用户程序下载到仿真PLC,将仿真PLC切换到RUN -P模式。打开变量表VAT -1,点击工具栏上的按钮,启动监视功能。在“修改数值”列输入数组元素的值,点击工具栏上的激活修改值按钮,将修改值送入CPU。可以看到只有DB1中的3个字的同一位均为1时,“与”运算后MW6的对应才为1,程序执行后得到了正确的结果。

变量表

    4-24    变量表