Time Scheduling in Enterprise dynamics
-
- Posts: 10
- Joined: Thursday 29 February, 2024 - 16:26
Time Scheduling in Enterprise dynamics
Hello Everyone,
I'm making a bottling line for my thesis. I want to run a time schedule of the production on only 1 machine in enterprise dynamics. Essentially, the conveyor has to send a product to either one of the 3 following machines depending on the time(photo attached) . The schedule is written into excel, and I use Excel_activeX to read the time, but I'm facing a problem of having to continuously run the condition and check for each possible time whether it has passed a certain number of hours. I've tried using loops, but I'm not able to figure out how to write this condition down. I have currently used a case statement to read through only the first 3 time conditions in the excel (photo given), but if I am to run it for over 50 times, how do I create a loop to do so?
I'm making a bottling line for my thesis. I want to run a time schedule of the production on only 1 machine in enterprise dynamics. Essentially, the conveyor has to send a product to either one of the 3 following machines depending on the time(photo attached) . The schedule is written into excel, and I use Excel_activeX to read the time, but I'm facing a problem of having to continuously run the condition and check for each possible time whether it has passed a certain number of hours. I've tried using loops, but I'm not able to figure out how to write this condition down. I have currently used a case statement to read through only the first 3 time conditions in the excel (photo given), but if I am to run it for over 50 times, how do I create a loop to do so?
- Gabe-Hein Dijkstra
- Posts: 18
- Joined: Friday 13 May, 2022 - 10:16
Re: Time Scheduling in Enterprise dynamics
Hi panda_mic2000,
Thanks for the further explanation. I was just commenting on your other post. As also stating there, maybe the "User Events" atom could prove useful. I will be happy to help you further if you run into any problems.
Kind regards,
Gabe-Hein
Thanks for the further explanation. I was just commenting on your other post. As also stating there, maybe the "User Events" atom could prove useful. I will be happy to help you further if you run into any problems.
Kind regards,
Gabe-Hein
-
- Posts: 10
- Joined: Thursday 29 February, 2024 - 16:26
Re: Time Scheduling in Enterprise dynamics
Hey Gabe-Hein,
Thanks for the super quick reply. Is there any way to directly connect excel to the user events function? More importantly, in user events, how do I reference the Send To variable of the conveyor? I don't find any command to directly reference that, would I have to create a label, assign a value everytime, or can I directly use a command to reference the send to value?
Thanks
Thanks for the super quick reply. Is there any way to directly connect excel to the user events function? More importantly, in user events, how do I reference the Send To variable of the conveyor? I don't find any command to directly reference that, would I have to create a label, assign a value everytime, or can I directly use a command to reference the send to value?
Thanks
- Gabe-Hein Dijkstra
- Posts: 18
- Joined: Friday 13 May, 2022 - 10:16
Re: Time Scheduling in Enterprise dynamics
Hi panda_mic2000,
There unfortunately is not an option to link Excel directly to the User Events atom. I think it is best to read in the Excel table into ED on reset and store it in a table. These settings can be found on the tab "Tables" of the ExcelActiveX atom. The function "Cell()" can then be used to refer to the values in the table.
Updating and referencing the "Send To"-statement using code requires some more advanced techniques. The "Send To"-statement of an atom (in this case conveyor) is stored in an attribute. To retrieve the the current value of the "Send To"-attribute of the atom with reference refConveyor you can use
Note: using Att([SendTo]) will trigger the "Send To"-statement to be executed and will return the outcome of the code in the "Send To" instead of the code itself.
You can overwrite the "Send To"-statement by using
Kind regards,
Gabe-Hein
There unfortunately is not an option to link Excel directly to the User Events atom. I think it is best to read in the Excel table into ED on reset and store it in a table. These settings can be found on the tab "Tables" of the ExcelActiveX atom. The function "Cell()" can then be used to refer to the values in the table.
Updating and referencing the "Send To"-statement using code requires some more advanced techniques. The "Send To"-statement of an atom (in this case conveyor) is stored in an attribute. To retrieve the the current value of the "Send To"-attribute of the atom with reference refConveyor you can use
Code: Select all
TextAtt([SendTo], refConveyor)
You can overwrite the "Send To"-statement by using
Code: Select all
SetExprAtt([SendTo], [NewCode], refConveyor
Gabe-Hein
-
- Posts: 10
- Joined: Thursday 29 February, 2024 - 16:26
Re: Time Scheduling in Enterprise dynamics
Hey Gabe,
Thanks for this. It did work, but was a little complex, so I found a simple loop to read directly from the excel, and it works very well. Putting this up for anyone else who wants to use this for time scheduling-
Thanks for this. It did work, but was a little complex, so I found a simple loop to read directly from the excel, and it works very well. Putting this up for anyone else who wants to use this for time scheduling-
- Attachments
-
- ED excel statement.png (44.88 KiB) Viewed 1539 times