question

Ryusuke T avatar image
0 Likes"
Ryusuke T asked Phil BoBo edited

Detail of target parameters of methods

Hi,

Conveyor properties are listed here.

There is a Speed property in this, but changing this value with the setProperty method does not actually change the speed. (It is necessary to use the Conveyor.targetSpeed method) It seems that the user is confused because the processing speed of the processor can be changed with the setProperty method.

Is it possible to write to the "Speed" item on this page that Conveyor.targetSpeed must be used to change the speed?

FlexSim 23.0.8
conveyor speedsetproperty
5 |100000

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

1 Answer

Kavika F avatar image
0 Likes"
Kavika F answered Phil BoBo edited

Hey @Ryusuke T, I'm not sure what you're talking about when you say "changing the Speed property with setProperty doesn't actually change the speed." I just tested it with 23.0.10 and it seems to work fine at changing the speed of a conveyor.

If you're talking about changing the speed of a conveyor while the model is running then you're correct; the "Speed" property will only change the speed of a conveyor when the Model is reset. Conveyor.targetSpeed is used to change the speed of a conveyor while the model is running. The changes to targetSpeed will not persist on model reset.

· 3
5 |100000

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

Ryusuke T avatar image Ryusuke T commented ·

@Kavika F ,

Thank you for answering.

As you say setProperty changes speed when reset. I apologize.

However, since the processing speed of the processor changes even while the simulation is running, I wanted to tell you that there is a difference in this point.

0 Likes 0 ·
Kavika F avatar image Kavika F ♦ Ryusuke T commented ·
I see your point. I will send in a suggestion to the dev team to update our documentation on this matter pertaining to the difference between setting Speed with SetProperty and setting the .targetSpeed.
0 Likes 0 ·
Phil BoBo avatar image Phil BoBo ♦♦ Ryusuke T commented ·

There's no difference between how the Properties work in general on different objects. The difference is how each object uses each of its properties.

Each time a processor receives an item, it gets its ProcessTime property to determine how long to process that item. If you adjust the ProcessTime during the processing of an item, it will have no effect on the current item because its events aren't re-evaluated by changing the property. The next time the processor gets the ProcessTime property (for the next item), it will return and use the new value.

Each time a conveyor resets, it gets its Speed property to determine its default speed at time 0. While running, you can modify the conveyor's targetSpeed, which will adjust its speed based on the current time, its current speed at that time, and its Acceleration/Deceleration properties. This will affect the events of the items on that conveyor. Its Speed property is only evaluated once, at the beginning of the model run. That's why its documentation says "The default speed of the conveyor." (emphasis on default.)

If you call setProperty() during a model run, then that property will be different whenever the object next calls getProperty() to get it. If the object doesn't evaluate that property anymore using getProperty(), then your change isn't going to do anything.

0 Likes 0 ·