ATTENTION

This FlexSim Community Forum is read-only. Please post any new questions, ideas, or discussions to our new community (we call it Answers) at https://answers.flexsim.com/. Our new Question & Answer site brings a modern, mobile-friendly interface and more focus on getting answers quickly. There are a few differences between how our new Q&A community works vs. a classic, threaded-conversation-style forum like the one below, so be sure to read our Answers Best Practices.


flexsim.com

Go Back   FlexSim Community Forum > FlexSim Software > Gripes and Goodies
Downloads

Gripes and Goodies Software problems and suggestions

  #1  
Old 08-24-2011
Lydia Franck Lydia Franck is offline
Flexsim User
 
Join Date: Apr 2009
Location: Sankt Augustin, Germany
Posts: 23
Downloads: 0
Uploads: 0
Thanks: 11
Thanked 0 Times in 0 Posts
Rep Power: 135
Lydia Franck is on a distinguished road
Default "Invalid node remove command" at UNLOAD

Hi all,

in my model I regularly get an "Invalid node remove command" when a robot unloads a part to a pallet.
Does it mean that the node "part" cannot be removed from the robot? Has anybody an idea what could be the reason for that?

Many thanks and best regards
Lydia
  #2  
Old 08-25-2011
Luciano Luciano is offline
Flexsim Distributor Italy
 
Join Date: Oct 2007
Location: Cuneo (IT)
Posts: 22
Downloads: 66
Uploads: 0
Thanks: 31
Thanked 27 Times in 9 Posts
Rep Power: 170
Luciano will become famous soon enough
Default

Hi Lydia,

usually the invalid noderemove command is rised when Flexsim try to delete a node that has been previously removed. Probably you writed some trigger in your model that delete something that Flexsim try to delete subsequently.

Luciano
The Following User Says Thank You to Luciano For This Useful Post:
Sung Kim (08-25-2011)
  #3  
Old 08-26-2011
Kris Geisberger Kris Geisberger is offline
Flexsim Canada, Forum Moderator
 
Join Date: Aug 2007
Location: Canada
Posts: 209
Downloads: 54
Uploads: 1
Thanks: 99
Thanked 389 Times in 133 Posts
Rep Power: 451
Kris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud of
Default picking item before end of conveyor

Hi Lydia, I looked at your model. You have a robot removing parts from a standard conveyor which is causing the error because of the situation Luciano described. When you remove (steal) an item before it has reached the end of the conveyor, the outstanding event related to that item on that conveyor still lives. For a while objects will steal the item back and forth in your model but eventually after the item reaches a sink, the last object to have the item stolen from it will be puzzled why the item no longer exists.

Options to replace the conveyor
1. MergeSort Conveyor
2. BasicConveyor
3. TaskExecuter that travels to infinity
4. BasicFR with an object inside of it that moves by kinematics

I have attached an example of the 4th option, I call it a simple conveyor because it is straight and is not designed to be blocked (no accumulation logic). Early in the model run you can see the object I call "Belt" (nested inside the SimpleConveyor) when it travels out of the model view to infinity. There is a Control GUI button to write a task sequence to pick an item from the conveyor.
Attached Files
File Type: fsm SimpleConveyor w Picker v4.52.fsm (240.2 KB, 152 views)
File Type: fsm SimpleConveyor w Picker v5.12.fsm (44.8 KB, 149 views)

Last edited by Kris Geisberger; 08-28-2011 at 08:50 PM. Reason: updated attachments
The Following User Says Thank You to Kris Geisberger For This Useful Post:
Lydia Franck (08-26-2011)
  #4  
Old 08-26-2011
Lydia Franck Lydia Franck is offline
Flexsim User
 
Join Date: Apr 2009
Location: Sankt Augustin, Germany
Posts: 23
Downloads: 0
Uploads: 0
Thanks: 11
Thanked 0 Times in 0 Posts
Rep Power: 135
Lydia Franck is on a distinguished road
Default

Thank you so much, Kris!

I substituted the Conveyor by a MergeSort Conveyor but am still having problems, namely
- If I add a sink to the output port of the conveyor in order to destroy the parts not picked, the parts go directly into the sink when arriving at the Conveyor!
- If I do not add a sink, the parts stay alive after leaving the Conveyor. They seem to cause problems then.

How could I resolve this?

What do you mean by:
Quote:
Originally Posted by Kris Geisberger View Post
For a while objects will steal the item back and forth in your model ... the last object to have the item stolen from it ...
Many thanks again and best regards,
Lydia.
  #5  
Old 08-28-2011
Kris Geisberger Kris Geisberger is offline
Flexsim Canada, Forum Moderator
 
Join Date: Aug 2007
Location: Canada
Posts: 209
Downloads: 54
Uploads: 1
Thanks: 99
Thanked 389 Times in 133 Posts
Rep Power: 451
Kris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud ofKris Geisberger has much to be proud of
Default

Hi Lydia, you might want to refer to the users manual MergeSort page. You have to specify fixed entry and exit points for each input and output port connection. I assumed fixed points would be too limited for you, and in order to get a task executer to pickup from the MergeSort you would likely have to use a queue and some fancy code to get it to behave the way you want. My recommendation is to use the BasicFR solution I attached in the original post, I just included a v4.52 model as well so you can have a look.

To answer your second question I have attached a model showing the "stealing" effect I was referring to. Execute the code in the script window when there is an item on the conveyor to pick. Again, this happens because we remove the item without removing the event associated with the item and the conveyor... this event marks the end of travel on the conveyor for the item. You will get the invalid node removal error if you connect sinks after the queues in the model.

All that said, one might suggest calling destroyeventsofobject(conveyor,-1,0,NULL,item) just after (same time as) picking an item from a standard conveyor, but there could be situations where this may not work so use caution if you do this.
Attached Files
File Type: fsm invalid node removal example v4.52.fsm (237.2 KB, 157 views)
File Type: fsm invalid node removal example v5.12.fsm (40.9 KB, 158 views)
The Following User Says Thank You to Kris Geisberger For This Useful Post:
Lydia Franck (08-29-2011)
  #6  
Old 08-29-2011
Lydia Franck Lydia Franck is offline
Flexsim User
 
Join Date: Apr 2009
Location: Sankt Augustin, Germany
Posts: 23
Downloads: 0
Uploads: 0
Thanks: 11
Thanked 0 Times in 0 Posts
Rep Power: 135
Lydia Franck is on a distinguished road
Default

Thank you very much, Kris!

Now I decided to substitute the sink for parts with a queue with huge capacity and to keep the standard conveyor, which works fine. (If I try to destroy the parts in the queue, though, the old problem occurs.)

By the way, is the destroyeventsofobject command mentioned somewhere in the users manual?

Thanks a lot again and best regards, Lydia.
  #7  
Old 08-29-2011
Carsten Seehafer's Avatar
Carsten Seehafer Carsten Seehafer is offline
FlexSim Geek
 
Join Date: Oct 2008
Location: Ritterhude, Deutschland
Posts: 230
Downloads: 45
Uploads: 1
Thanks: 474
Thanked 320 Times in 143 Posts
Rep Power: 379
Carsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud of
Default

It's in the Command Reference in the user manual:

destroyeventsofobject(obj object [, num simtime, num code, str data, node involved])

Description: Destroys events associated with the given object. The first parameter, object, is the only required parameter. Other parameters are optional and provide a filter for choosing which events to destroy, as follows:

time: If greater than or equal to the time that that the command is called, this parameter will filter events by their time. If the event's time is not equal to the time passed in, then the event will not be destroyed. Pass -1 if you don't want this as a filter.


code: If greater than 0, this parameter filters events by their event code. If the event's code is not equal to the code passed in, the event will not be destroyed.


data: If not NULL, this parameter filters events by the data string associated with the event. If the event's data string is not equal to the string passed in, the event will not be destroyed.


involved: If not NULL, this parameter filters events by their involved node or object. If the event's involved node is not equal to the node passed in, the event will not be destroyed.


Example: destroyeventsofobject(rank(model(),2))


greetings

Carsten
  #8  
Old 08-29-2011
Lydia Franck Lydia Franck is offline
Flexsim User
 
Join Date: Apr 2009
Location: Sankt Augustin, Germany
Posts: 23
Downloads: 0
Uploads: 0
Thanks: 11
Thanked 0 Times in 0 Posts
Rep Power: 135
Lydia Franck is on a distinguished road
Default

Hi Carsten,

thanks, but where can I find the Command Reference (sorry, maybe stupid question ...)?

Best regards, Lydia.
  #9  
Old 08-29-2011
Carsten Seehafer's Avatar
Carsten Seehafer Carsten Seehafer is offline
FlexSim Geek
 
Join Date: Oct 2008
Location: Ritterhude, Deutschland
Posts: 230
Downloads: 45
Uploads: 1
Thanks: 474
Thanked 320 Times in 143 Posts
Rep Power: 379
Carsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud of
Default

Hi Lydia,

just open the Flexsim users manual (Help > Users Manual). On the left side is a tab called Content (or Inhalt if you are using a german windows). The third chapter from bottom is Command Reference.

Another way is "Command" in the help menu. But in this case you get only the alphabetical index.

If you are looking for a special command you can use the short cut STRG+F to search inside the view of the commands.

greetings

Carsten
The Following User Says Thank You to Carsten Seehafer For This Useful Post:
Lydia Franck (08-30-2011)
  #10  
Old 08-30-2011
Lydia Franck Lydia Franck is offline
Flexsim User
 
Join Date: Apr 2009
Location: Sankt Augustin, Germany
Posts: 23
Downloads: 0
Uploads: 0
Thanks: 11
Thanked 0 Times in 0 Posts
Rep Power: 135
Lydia Franck is on a distinguished road
Default

Many thanks, Carsten.

Quote:
Originally Posted by Carsten Seehafer View Post
Another way is "Command" in the help menu. But in this case you get only the alphabetical index.
If you are looking for a special command you can use the short cut STRG+F to search inside the view of the commands.
This works fine, and there is even a "Categorical" section!

Quote:
Originally Posted by Carsten Seehafer View Post
just open the Flexsim users manual (Help > Users Manual). On the left side is a tab called Content (or Inhalt if you are using a german windows). The third chapter from bottom is Command Reference.
I cannot find this, maybe due to my version (4.52).

Best regards, Lydia.
  #11  
Old 08-30-2011
Carsten Seehafer's Avatar
Carsten Seehafer Carsten Seehafer is offline
FlexSim Geek
 
Join Date: Oct 2008
Location: Ritterhude, Deutschland
Posts: 230
Downloads: 45
Uploads: 1
Thanks: 474
Thanked 320 Times in 143 Posts
Rep Power: 379
Carsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud ofCarsten Seehafer has much to be proud of
Default

I wasn't aware that you are using version 4.52. In 4.52 the commands list has a "Categorical" section but it isn't in the users manual.

I've made a screenshot of the users manual in 5.1.2
Attached Thumbnails
Click image for larger version
Name:	usermanual.jpg
Views:	180
Size:	19.9 KB
ID:	1492  
The Following User Says Thank You to Carsten Seehafer For This Useful Post:
Lydia Franck (08-30-2011)


Thread Thread Starter Forum Replies Last Post
Command to "select" an object? Gi Cha Q&A 3 08-12-2010 08:18 AM
a question about the command "getitemtype" Vic Li Q&A 2 10-04-2008 11:47 PM
is there a command opposite to "destroyobject" which create a object? KelvinHo Q&A 3 07-03-2008 08:09 AM
Does the "loaduserlibrary" command has a flaw? Steven Hamoen Q&A 1 06-03-2008 02:47 PM
about "no select" and "show parameter window from side bar" qin tian Gripes and Goodies 3 03-21-2008 08:10 AM


All times are GMT -6.
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 1993-2018 FlexSim Software Products, Inc.