簡體   English   中英

如何在Mainlogic中將參數從Main提供給代理

[英]How to give a parameter from the Main to an agent in Anylogic

我的Main包含一條傳送帶,可將紙箱(我的代理商)從A傳送到B。我添加了一個單選按鈕,用戶可以使用該按鈕選擇盒子的大小(“小”,“中”,“大”和“非常”大”)。 我現在希望每個紙箱保存單選按鈕的值。 我嘗試了很多其他方法,例如將其鏈接到參數,但是我沒有弄清楚。

我的模特圖片:

在此處輸入圖片說明

我用於單選按鈕的代碼是:

if( value == 0 )
    radioValue = 1;
else if( value == 1 )
    radioValue = 2;
else if( value == 2 )
    radioValue = 3;
 else if( value == 3 )
    radioValue = 4;

radioValue是我將單選按鈕鏈接到Main中的參數。

如何將此參數提供給代理,以后如何讀出?

在此先感謝您的幫助!

在Kist代理中,創建一個名為int類型的變量。

在源代碼塊的屬性中,在“退出時打開”動作中,在屬性的動作部分下,編寫以下代碼:

agent.size=radioValue;

這是AnyLogic中要做的最基本的事情之一。因此,我建議您在開始使用任何模型之前都要接受培訓。 這可以通過閱讀教程,三天之內的anylogic書或我在這里的課程來完成: noorjax.teachable.com/p/anylogic

之后,您可以使用agent.size在任何塊中訪問代理的大小。

在沒有看到更多代碼的情況下,我的一般建議是考慮遍歷代理(例如,使用for循環),並讓它們全部設置一個等於radioValue的局部變量cartSize(我不會使用“ size”,因為它也我相信用於代理集)。 只是在這里吐口水,但是這樣的事嗎?

for (int x = 0; x < carton.size(); x++) {
     carton.get(x).cartSize = radioValue;
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM