日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【FlexSim2019】仿真软件入门笔记:基本操作、快捷键、事件驱动、控制与程序

發布時間:2023/12/20 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【FlexSim2019】仿真软件入门笔记:基本操作、快捷键、事件驱动、控制与程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

參考書目:

  • 使用系統仿真建模與分析——使用Flexsim(第2版).秦天保, 周向陽. 清華大學出版社.
  • 文章目錄

    • 基本操作
      • 鼠標
        • 按住Shift或Ctrl批量可操作
        • 鼠標右鍵
          • 單擊鼠標右鍵退出當前模式
          • 按住鼠標右鍵旋轉鏡頭
        • 鼠標滾輪
          • 選中物體后鼠標滾輪可調整物體高度
      • 常用快捷鍵
    • 仿真模型運行原理
      • 設計上,面向過程,直接設計
      • 以Flow為事件驅動器
        • 流動實體
        • 流動實體類型與標簽
        • 控制與編程機制、代碼

    基本操作

    鼠標

    按住Shift或Ctrl批量可操作

  • 標準模式(Standard Mode/鼠標模式)下,按住shift,拖拽鼠標左鍵批量選中物體(或者說將物體分組)。
  • 按住shift,在空白處拖拽鼠標左鍵,取消選擇。
  • 鼠標右鍵

    單擊鼠標右鍵退出當前模式

    1.鼠標處于連線狀態,或選中對象時,按右鍵或Esc退回到Standard Mode。

    按住鼠標右鍵旋轉鏡頭

    鼠標滾輪

    選中物體后鼠標滾輪可調整物體高度


    常用快捷鍵

    鍵功能
    Backspace刪除對象
    按住A鼠標A連接模式
    按住S鼠標S連接模式
    按住Q鼠標剪斷Q連接模式
    按住W鼠標剪斷W連接模式

    仿真模型運行原理

    目前只跟著第2章做了案例,對大概的運行原理有了一個推測。

    設計上,面向過程,直接設計

    將要仿真的對象直接轉換為flex的對象,擺放、確認連接關系即可。

    • A連接是有向的;
    • B連接是無向的。

    A連接從端口出,零一對象端口入。每個對象自己的出入端口有編號。

    中間端口比如Dispatcher,其更像是Queue的分支(與Queue是S連接),與Operator是A連接(從Dispatcher到Operator)。在Queue的Flow頁中選擇Use Transport,即可調度Operator。

    以Flow為事件驅動器

    流動實體

    書28頁:流動實體(Flowitem)是系統中沿不同路線流動,并在不同地方被加工處理或被服務的對象。Flowitem可以代表產品、零件、托盤、容器、人、電話呼叫、訂單等。Flowitem通常由Source對象生成,由Sink對象離開系統。

    流動實體類型與標簽

    每個流動實體都內置屬性實體類型(Itemtype),可以代表條形碼、產品類型或工件號等。可以用于路線選擇等決策邏輯。可以在通過增加Label來定義新屬性。

    控制與編程機制、代碼

    當Source創建流動實體時會觸發onCreation觸發器執行。可通過加號按鈕為觸發器增加代碼模板。

    通過卷軸按鈕可以查看代碼,這里以定義流動實體類型和顏色為例。

    Object current = ownerobject(c); Object item = param(1); int rownumber = param(2); //row number of the schedule/sequence table{ // ************* PickOption Start ************* // /***popup:SetTypeAndColor*/ /**Set Item Type and Color*/ Object involved = /** \nFlowitem: *//***tag:involved*//**/item/**/; double newtype = /** \nItem type: *//***tag:type*//**/duniform(1,3,getstream(current))/**/; involved.Type = newtype; involved.color = Color.byNumber(newtype); } // ******* PickOption End ******* // { // ************* PickOption Start ************* //

    舊版本中,各種對象都是treenode類型的,現在變為了Object。

    這其中,代碼表達的是:

    • current代表對象本身;
    • item代表剛剛創建的流動實體;
    Object involved = item; // 將item的引用賦值給involved變量 double newtype = duniform(1,3,getstream(current)); // 在分布中產生一個數賦給newtype involved.Type = newtype; // 將item的itemtype設為newtype involved.color = Color.byNumber(newtype); // 設置item的color

    可見flexscript也是采用面向對象的思想的。至于Object有多少子類、屬性,不必過于深究,還是以GUI操作為主。

    學了一晚,讓我想起小時候玩的魔獸爭霸地圖編輯器:world edit。如果flexsim再有什么心得的話,那就下篇再見。

    后記(2019年12月5日):距離寫這篇文章已經過去快3個月了。現在回頭看,“以Flow為事件驅動器”的理解是不對的。對于flexsim的學習,讀書不如讀軟件中自帶的英文版User Manual。去讀User Manual吧,以后學編程也要注意,有精力,則去讀官方文檔吧,去讀底層吧,去讀源碼吧。現在知道了,所謂A、S連接也并非我想的那樣,過家家似的連接在一起。A、S連接只不過是Port連接的一種表現,而連接有三種:Port、List與Conveyors。

    • github:https://github.com/PiperLiu
    • 微信公眾號:Piper蛋窩

    總結

    以上是生活随笔為你收集整理的【FlexSim2019】仿真软件入门笔记:基本操作、快捷键、事件驱动、控制与程序的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。