• Not Answered

Control studio function block.

Is there a function block that can be used for a matrix for 26 by 26.

I need a placeholder for values and call them on reference the value in the array/matrix.

I'm trying to use the signal characteristic but its only allowing me to add one column in the matrices but in help it says its limited to 20 by 20.

Having no luck also with the cause and effect matrices but again don't what to use it as it only goes to 16.

Any help would be great.

Regards

Thomas

3 Replies

  • Thomas,

    You can us a floating point array parameter type but it can only have 240 cells (rows x columns) and a maximum number of row/column of 127.

    If you need that much data (676 cells) you will have to build something special using multiple array parameters. (i.e. the rows or columns are floating point array parameters)

    • 26 parameters with 26 rows by 1 column (can name the parameters like what the column heading would be)
    • 9 parameters, 8 with 26 rows by 3 columns and 1 with 26 rows by 2 columns
    • 4 parameters, 3 with 26 rows by 7 columns and 1 with 26 rows by 5 columns
    • 3 parameters, 2 with 26 rows by 9 columns and 1 with 26 rows by 8 columns
    • etc

    Depending on what you are needing this for would make the decision on how best to do this but I would probably lean more to 26 individual parameters.

    As an example where I have used this is for a Raw Material User Queue where we have 25 users of a Raw material and needed to keep track of user priority request, target, total, target flow rate, etc. for each User of the queue. Each one of those would be a floating point array so it was pretty easy to understand the logic when it would be using '^/TARGET_AMT'['^/DESTINATION.CVI'][1] in logic (Current destinations requested target amount in this case).

  • You may as well consider DeltaV Excel Add-in. I do not have a ready made solution, but can certainly imagine a spreadsheet would be usefull.
  • In reply to Matt Stoner:

    I think Matt is correct here. Build a composite with two input parameters row, column. Then put 26 separate floating point arrays in the composite. Use a ACT or CALC to get the parameter and write to three output parameters row, column and result. Then you have a block which will do what you want exactly.