question

Rafael de Assis avatar image
0 Likes"
Rafael de Assis asked Rafael de Assis commented

how to fix an error?

Hello Everyone


I noticed in my model that when I include the "performance measure" my model appears an error per round.

error.jpg

If I delete the "performance measure", this error disapears. could you explain the cause of this error to me?

in this case I insert the data in performance measure with dashboards in Advanced/View table.


Another doubt is: I noted that the model count statistics before the warmup time finish. I dont know if I done someting wrong.


Last doubt: Is there a way to export data from several rounds (performance measure) at once?

Thank you.

Modelo situação AGV deck lift com parametros.fsm

FlexSim 21.1.5
performance measureserrorswarm up time
· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

Hi @Rafael de Assis, was Felix Möhlmann's answer helpful? If so, please click the "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always comment back to reopen your question.

0 Likes 0 ·

1 Answer

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered Rafael de Assis commented

The error message states what went wrong and, more importantly, where.

"Invalid row number: 22 in Global Table "GlobalTable2" -> something tried to read a value from the 22nd row in GlobalTable2 which doesn't exist.

"at MODEL:/Pintura>variables/setuptime" -> it happened in the code that determines the setup time of the Pintura processor.

You can then put a breakpoint into the relevant code shortly before the time the error happens and step through it to pinpoint the cause.

In this case, within the code you use the following section:

if (getinput(current)==1){//If first item
    return Table("GlobalTable2")[item.Type][1];   // <- This causes the error
}

This uses the numerical Type label to access a row in the table instead of the text label. This did not lead to an error previously because the first item had type 1. The random type of the items is determined by using the random number stream "0" in your model. So something you changed causes this stream to get called additinal or fewer times, changing the order in which the values are assigned.

This is why it is generally recommended to use the "getstream(current)" function. It assigns each object a unique random number stream, so that adding additional objects that also use random numbers will not change anything about the random numbers of other objects, keeping model repeatability higher.


Statistics are always counted. The warmup time just resets them. The "Staytime by Type" chart is a bit special in that regard. The statistics table itself is not reset on the warmup, only the tracked variables the values are read from. So the chart will only change the next time each row (type) is updated. You can reset the chart as well by installing its components and adding the following event to the "Staytime By Type Collector" that will have been added to the toolbox.

1702886666391.png

1702886653822.png

modelo-situacao-agv-deck-lift-com-parametros_1.fsm


If you run an experiment in the Experimenter, you can view performance measures for all scenarios/replications, copy them to a different file from there or generate a html-report.

1702886972269.png


· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Rafael de Assis avatar image Rafael de Assis commented ·

Thank you!

It isn't first time that you help-me.

You always ansewered and teach with mastery.

0 Likes 0 ·