question

JP117 avatar image
0 Likes"
JP117 asked Jason Lightfoot commented

flexscript to add racks to an address scheme

I am creating a script to add racks, it is working well but is there a way to add the racks in the group "Racks" to an address scheme?

FlexSim 23.2.1
storage
· 2
5 |100000

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

JP117 avatar image JP117 commented ·

I am making progress but I am having trouble with the aisle ID.


Here is the code I am using

1708988847044.png

If I click on a rack and look at the properties I can see the aisle id

1708988886307.png

but it is not populated in the object property table

1708988918120.png

when I get the slot address of an item. aisle id is missing1708988956540.png


0 Likes 0 ·
1708988847044.png (33.2 KiB)
1708988886307.png (34.4 KiB)
1708988918120.png (46.3 KiB)
1708988956540.png (36.5 KiB)
Jeanette F avatar image Jeanette F ♦♦ commented ·

Hi @JP117, 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 Jason Lightfoot commented

You need to set the value of the rack's variable node marked with yellow to an addressing scheme. Then run "function_s(rack, "applyProperties", "AddressScheme")", where "rack" is a pointer to the rack.

1708702309945.png

If zone and aisle are used, create the nodes marked in blue and set their values accordingly.

Bay, Level and Slot ID settings are found higher up in the variables.

1708702265667.png


1708702265667.png (5.1 KiB)
1708702309945.png (6.9 KiB)
· 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.

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

You should just be able to use something like this script:

Array racks=Group("Racks").toFlatArray();
int aisle=1;
while (racks.length){
    Object rack=racks.shift();
    rack.setProperty("AddressScheme","Scheme1");
    rack.setProperty("AisleID",aisle++);
}

Model attached. setRackProperties.fsm

Since the AisleID property doesn't remain set I'll send this in as a bug,


1 Like 1 ·
JP117 avatar image JP117 commented ·

Even if you set the aisle in the objects property table it resets when the model resets it looks like it is the only property that does this

0 Likes 0 ·
Jason Lightfoot avatar image Jason Lightfoot ♦♦ JP117 commented ·

Yes - it's been reported to the developers.

0 Likes 0 ·