

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1,Flexsim軟件的安裝步驟(單機版),單機版根據電腦操作系統(tǒng)打上相應的補丁安裝.Net Framework安裝Flexsim 4.52插入加密狗輸入客戶序列號開始菜單 / Flexsim 4 / Flexsim License Activation(推薦)安裝Visual C++ .net,1,2,Flexsim軟件的安裝步驟(網絡版),網絡版服務器上安裝:加密狗hdd32.exe(加密狗驅動)(HASP de
2、vice driver)aksmon32.exe (服務器監(jiān)控程序)lmsetup.exe (服務器序列號管理器)***上面三個文件在網絡版安裝光盤的目錄下可以找到,2,3,Flexsim軟件的安裝步驟(網絡版),網絡版客戶機上安裝:.Net FrameworkFlexsim4.52軟件插入加密狗輸入客戶序列號(推薦)Visual C++ .net,3,4,什么叫系統(tǒng)仿真,系統(tǒng)仿真是現代企業(yè)科學管理技術之一,是將對象系
3、統(tǒng)模型化,把模型作為實驗裝置,用來分析已存在的系統(tǒng)或計劃系統(tǒng)的一種技術 。系統(tǒng)仿真是工程師、經理和決策人對有關操作、流程、或是動態(tài)系統(tǒng)的方案進行試驗、評估、以及視覺化的工具。,5,什么是模型,為解決特定問題,對真實系統(tǒng)進行抽象和簡化的產物只包含真實系統(tǒng)中,解決問題所必需的元素,6,,,,不組裝實際系統(tǒng),利用計算機模型進行實驗,可以在短時間、低成本下運行,而且不給現行系統(tǒng)帶來任何中止或破壞的危險。,現實系統(tǒng),現實系統(tǒng)(改進),現實世界,
4、計劃,實驗,成本高時間長業(yè)務停止的可能性大,改進方案,仿真模型,仿真模型,計劃,實驗,成本低時間短業(yè)務不需停止,模型化,改進,系統(tǒng)仿真技術的必要性,7,解析模型與仿真模型,解析模型靜態(tài)的、確定性的用于尋找答案容易實現難以捕捉時間、動態(tài)系統(tǒng)難以捕捉復雜因果關系難以建立與時間相關的約束不能隨時間運行模型,仿真模型動態(tài)的、可執(zhí)行的能夠捕捉任何復雜度的因果關系和時間約束易于捕捉問題的隨機本質能夠詳細描述模型中的行為
5、可以測量各種量建立模型需要更多的時間和技巧,8,Flexsim軟件主窗口布局,Flexsim軟件主窗口由下面五部分構成菜單工具欄對象庫模型視圖仿真控制欄,8,9,工具欄,工具欄中常用到的按鈕包括FlowItem:臨時實體庫Tree:打開模型樹Ortho:打開模型正投影視圖Persp:打開模型透視圖,9,10,離散事件仿真,只考慮在離散的時間點瞬間發(fā)生的改變狀態(tài)的重要事件事件包括:訂單到達零件加工完成庫存量下
6、降到下限狀態(tài)包括機器:空閑、加工、故障車輛:行進、裝貨、卸貨,11,統(tǒng)計分布函數,指數分布,正態(tài)分布,Lognormal分布,Gamma分布,12,Flexsim仿真模型的基本組成,對象(Objects)Flexsim采用對象對實際過程中的各元素建模連接(Connections)Flexsim中通過對象之間的連接定義模型的流程方法(Methods)對象中的方法定義了模型中各對象所需要完成的作業(yè),12,13,對象與繼承,F
7、lexsim采用面向對象的技術大部分Flexsim對象都是FixedResource或TaskExecutor對象的子對象子對象擁有其父對象所有的接口和相應的功能用戶相對比較容易很快掌握子對象的使用,13,14,Flexsim家族樹,14,15,Flexsim的對象庫,15,Flexsim有豐富的對象庫,其中實體也是靈活便,可以滿足客戶個性需求,且可以自定義實體并保存,方便以后調用。,16,對象分類,離散類(Discrete Ob
8、jects)資源類(Fixed Resources)Source, Queue, Processor, Sink, Combiner, Separator, MultiProcessor, Conveyor, MergeSort, FlowNode, Rack, and Reservoir執(zhí)行類(TaskExecuter)Dispatcher, Operator, Transporter, Elevator, Robot, Cr
9、ane, ASRSvehicle網絡類(Node)NetworkNode, TrafficControl圖示類(Visual Object)VisualTool, Recorder連續(xù)類(Fluid Objects)FluidTank,FluidGenerator,FluidTerminator,FluidMixer,FluidBlender,FluidSplitt-er,FluidPipe,FluidProcessor,I
10、temToFluid,FluidToItem,and TheTicker,16,17,離散類-資源類對象,Fixed Resource類對象一般是離散仿真模型中的主干對象此類對象決定了模型的流程,17,18,執(zhí)行類對象,Task Executer對象可從Fixed Resource對象中獲取并執(zhí)行任務,如物料搬運或生產操作等。一個Task Executer對象可以向其他Task Executor對象指派任務,或者管理模型中所有的Ta
11、sk Executers對象。Task Executers對象不參與模型中的流程指派。,18,19,網絡類對象,NetworkNode對象一般用來設定Task Executor對象的行動路線,19,NetworkNode,TrafficControl,20,圖示類對象,圖示類對象可用在仿真模型中顯示各種信息、標識、圖片或圖表等VisualTool和Recorder對象可用來提高仿真模型的直觀感,同時可用來實時顯示和搜集模型的輸出數據
12、,20,21,連續(xù)類對象,連續(xù)類的對象主要是用于設計具有流體類的系統(tǒng)仿真,但它又不僅僅局限于流體,事實上它能夠仿真的具有連續(xù)屬性的事件,如測量重量、容量的變化。作為連續(xù)類的11個對象中提供了2個ItemToFluid、FluidToItem具有連續(xù)與離散之間接合功能的對象。,21,22,臨時實體(Flowitem),臨時實體指模型中存在臨時產生的對象臨時實體可用來表示生產或服務中的原料、產品或產品集,如零件、部件、托盤、容器等;也可以
13、是任務執(zhí)行者臨時實體可點擊工具欄按鈕Flowitem定義可對每個臨時實體定義對象類別(Itemtype),22,23,連接與端口,Flexsim模型中的對象之間是通過端口來連接的三種類型的端口輸入端口(input ports)Fixed Resource之間的連接輸出端口(output ports)Fixed Resource之間的連接中心端口(center ports)連接Task Executer和Fixed Re
14、source,23,24,“s”連接,按下 “s”鍵的同時用鼠標從一個對象拖拉到另一個對象上以連接二者“s”連接僅用于中心端口之間的連接(即連接Task Executer和Fixed Resource )“s”連接用“w”取消(按下 “w”鍵的同時用鼠標從一個對象拖拉到另一個對象上以連接二者),24,25,“s”連接,26,“a”連接,按下 “a”鍵的同時用鼠標從一個對象拖拉到另一個對象上以連接二者“a”連接用于除中心端口之外的所
15、有其他的連接 “a”連接用“q”取消,27,方法(Method),方法是用來完成一項任務的一系列規(guī)則集好的方法應是可以重復使用的Flexsim采用一系列方法集來完成所建模型的作業(yè),27,28,Flexsim建模方法集,Arrival MethodDetermines how and when FlowItems Enter the modelTrigger MethodDetermines what, where, and
16、when to assign information to FlowItemsFlow MethodDetermines how, where, and when to move FlowItems through the modelNavigation MethodModel navigation, and fly throughFlowItem Bin MethodDefines the FlowItem Charact
17、eristicsTaskExecuter Move MethodDertermins who, and how FlowItems move from one FixedResource to another,28,29,觸發(fā)器的概念,當資源對象上發(fā)生重要事件時,觸發(fā)器被觸發(fā)用戶指定當觸發(fā)發(fā)生時產生的一系列動作(觸發(fā)器邏輯)可以定義的觸發(fā)器包括:當實體被生成時,當實體進入或離開固定資源時,當處理過程完成時等等每類資源對象都有自
18、己的一套觸發(fā)器,30,觸發(fā)器,定義和定制在特定事件發(fā)生時的系統(tǒng)行為向實體寫入信息發(fā)送消息給其他資源對象改變資源對象自身的行為特征……,31,模型視圖,視圖是以視窗方式展示的模型,在Flexsim中可以同時打開多個視圖,每個視圖都是從各自的角度觀察模型。正視圖和透視圖平面視圖和樹結構視圖,32,實體流,無論對象在模型布局中處于什么位置,實體從一個對象被傳遞到下一個對象都無需消耗任何時間添加輸送機或移動資源用于運輸
19、,可以給實體流產生時間延遲輸送時間取決于輸送機的長度和速度對象間的運送時間取決于對象間的距離,以及移動資源的速度、加速度和減速度,33,應用 Flexsim建模的基本步驟,構建模型布局定義對象流程編輯對象參數運行仿真模型分析仿真結果,33,34,步驟1. 構建模型布局,將仿真所需要的對象模型從對象庫中拖拽到仿真視圖窗口中的適當位置,34,35,步驟2. 定義對象流程,根據連接類型,按下“a”或“s”鍵的同時用鼠標從一個對象拖
20、拉到另一個對象上以連接二者,35,在4.52版本中也可通過鼠標選擇,來進行連接,36,步驟2. 定義對象流程 (續(xù)1),連接兩個對象端口所需按鍵“a”鍵用來將對象1的輸出端口連接到對象2的輸入端口上“q”鍵用來取消對象1的輸出端口與對象2的輸入端口之間的連接“s”鍵用來連接對象1與對象2的中心端口“w”鍵用來取消對象1與對象2的中心端口的連接,36,37,步驟2. 定義對象流程 (續(xù)2),各類端口連接的顯示位置輸出端口
21、顯示在對象的右上角輸入端口顯示在對象的左上角中心端口顯示在對象底部中心,37,38,步驟2. 定義物流流程 (續(xù)3),察看對象的端口連接狀況對象屬性窗口General選項卡調整端口的編號順序刪除端口連接,38,39,屬性/參數用于編輯和察看所有對象共同的一般性的信息外形、尺寸、轉角、位置顯示模式端口連接標簽統(tǒng)計數據用于編輯對象特定的性能特征,步驟3. 編輯對象參數,雙擊對象可以打開對象的參數對話框,40,屬性,每
22、個對象都具有同樣的一組屬性設置項目Visual(外觀)外形和尺寸General(常規(guī))端口連接顯示模式開關Labels(標簽)自定義屬性Statistics(統(tǒng)計)產量、狀態(tài)、排隊量、停留時間數據、圖表,41,對象尺寸和轉角,屬性選項中可以定義對象的位置、尺寸和轉角此外,在模型窗口中也可以實現(勾選菜單欄中Edit/Resize and Rotation Objects)左鍵拖動箭頭改變尺寸右鍵拖動箭頭進行旋轉
23、,42,參數,每個對象類有自己的參數選項參數影響實體在對象中的停留時間和在對象間流動的線路Apply(應用)——使改變生效OK(確定)——使改變生效并關閉窗口Cancel(取消)——關閉窗口,不做改變Properties——打開對象的屬性窗口,43,參數項目,參數按照類別分在不同的項目中每個固定資源對象都有“Flow”(流)和“Triggers”(觸發(fā)器)項,44,下拉菜單復合框,下拉菜單代碼模版(適合修改參數)
24、代碼編輯(修改C++代碼),45,步驟4.運行仿真模型,編譯模型重置模型控制速度運行仿真,45,注:在Flexsim4.52版本中不需要時時編譯可以直接運行,如果用到了C++代碼就需要進行編譯,F2鍵,46,步驟5. 分析仿真結果,仿真之前通過菜單Statistics /Object Graph Data/Selected Objects On進行選擇仿真時在對象屬性對話框Statistics選項卡中可實時察看相應對象的統(tǒng)計數據
25、和圖表,47,步驟5. 分析仿真結果,點擊Statistics->Reports and Statistics可以生成數據統(tǒng)計報告,47,48,標準報告,為模型中的所有對象創(chuàng)建一個表格形式的報告(可以用Excel打開的csv格式文件)選擇報告中包括的若干標準系統(tǒng)變量,49,案例,目的使用資源庫中的多種對象使用描述每隔20秒一份原材料進入分離器,并被分為三份,分別進入下述三條不同的加工路徑:路徑一:原材料經過S形輸送機到達
26、組合器。每八份原材料被放置在一個托盤上,并經過后續(xù)的輸送機運送到接收器。路徑二:原材料經過輸送機到達多功能處理器。在多功能處理器上,原材料將經過三個加工工序,工序一需要3秒鐘,工序二需要4秒種,工序三需要5秒鐘,其中工序二需要一名操作員參與才能進行。完成全部三個工序后,運輸車輛將產品運送到貨架上存放。路徑三:原材料沿流節(jié)點到達堆放區(qū),此堆放區(qū)需積累達10份原材料才會一份一份地送至處理器進行加工,每份加工時間是20秒。加工完成的產品會
27、放置在后續(xù)的堆放區(qū)中等待操作員將其運送到相應的接收器中。,50,案例,,51,實例1:簡單仿真模型的建立,生產線同時生產三種產品,然后被送到監(jiān)測車間的緩存區(qū)。檢測車間有三臺監(jiān)測系統(tǒng)分別對這三種產品進行檢測后,通過各自的傳送帶將產品運輸出去,51,52,模型描述,產品到達檢測車間的時間服從均值為20,方差為4的正態(tài)分布到達檢測車間的產品類別為1, 2, 3,分別用不同的機器加工緩存區(qū)最大容量為25件產品機器加工時間服從(0,30)的
28、指數分布傳送帶傳輸速度為2m/s,52,53,步驟1:構建模型布局,從對象庫中拖放所需的對象到建模視圖中,53,54,步驟2. 定義對象流程,54,按住A鍵或直接選擇鼠標方式,同時用鼠標左鍵點擊Source對象并且拖動鼠標至Queue對象。此時會出現一條黃線連接。然后,黃線將變成一條黑線,表示Source和Queue的端口已經連接上。 使用相同方法,分別連接其它對象。,55,步驟2. 定義對象流程(續(xù)),55,56,步驟3. 編輯對
29、象參數,定義產品的流出設置緩存區(qū)參數設置檢測設備參數,56,57,定義產品的流出,雙擊Source對象,打開其參數對話框,57,58,修改產品流出間隔時間(1),從Inter-Arrival time 下拉框中選擇Statistical Distribution,58,59,修改產品流出間隔時間(2),修改選項的默認參數點擊Template按鈕將其中藍色的exponential(0,20,1)改為normal(20,2,1)。即
30、為服從均值為20,標準差為2的正態(tài)分布,59,60,指派產品不同的型號和顏色,選擇Source Triggers選項卡, 在 OnCreation下拉框中選擇Set Itemtype and Color來改變產品類型和顏色 使用默認值即可,即為duniform(1,3)服從1到3的均勻分布。,60,61,設置緩存區(qū)容量,雙擊Queue,其參數對話框將會出現將Maximum Content 對應值改為 25. 點擊Apply確認,
31、61,62,設置緩存區(qū)產品流選項,轉到Flow選項卡,在 “Output” 框中, 選擇 “Send To Port” 下拉框中的“By Expression” 選項依次點擊Apply和OK按鈕,關閉Queue對象的參數對話框,62,63,設置檢測設備檢測時間,雙擊第一個Processor對象在參數對話框“Process Time” 下拉框中選擇 “Statistical Distribution”選項將函數參數中由默認值10改為
32、30同樣設置其他兩個Processor對象,63,64,步驟4. 編譯運行仿真,64,編譯模型重置模型控制速度運行仿真,注:在Flexsim4.52版本中不需要時時編譯,如果用到C++代碼就需要進行編譯,本模型不需編譯,F2鍵,65,步驟5. 觀察仿真結果,現在模型視圖處于由上到下的垂直投影圖中,該投影圖在建模時經常使用,若在模型顯示方面經常使用透視圖。選擇工具欄中的Persp按鈕可打開一個新的透視圖,65,66,仿真透視圖顯
33、示,66,67,仿真統(tǒng)計結果的簡單查看(1),右鍵點擊工作區(qū)調出View Setting菜單選中“Show Names”(默認為選中),68,仿真統(tǒng)計結果的簡單查看(2),鼠標右鍵單擊對象,從彈出菜單選擇Properties,然后從屬性對話框中選擇Statistics選項卡Statistics選項卡中里面又包括State, Content, Staytime四個子選項卡,68,69,仿真模型文件的保存,仿真文件編寫過程中要注意經常保
34、存仿真文件保存修改主窗口File菜單Save或者工具欄中選擇保存圖標如果需要備份可以使用另存為主窗口File菜單Save Model As …,69,70,實例2:統(tǒng)計信息的查看與顯示,打開已保存的例1的模型文件另存為Example2.fsm,70,71,選取進行統(tǒng)計對象(1),按住Ctrl鍵,選中三個Processor對象,這時候所選中的對象外面出現一紅色方框,71,72,選取進行統(tǒng)計對象(2),點擊主窗口菜單Statis
35、tics / Object Graph Data / Selected Objects On選擇所選中對象為統(tǒng)計對象進行統(tǒng)計的對象外面出現綠色方框按住Shift鍵點擊模型視圖的空白區(qū)域,可取消所有對象的選定(紅色方框),72,73,添加Recorder對象,拖放3個Recorder對象至建模視圖中,73,74,修改Recorder對象視圖參數,打開透視圖依次打開Recorder的屬性對話框,修改Visual選項卡中的SX, SY均
36、修改為6,其它視情況調整,74,75,修改Recorder對象圖示參數,雙擊第一個Recorder對象,打開屬性對話框點擊按鈕“Record”,選擇Type of Data為Standard DataObject Name為Processor 3Data to capture為Staytime點擊“Apply”保存,75,76,修改Recorder對象表頭,“Standard Display Options”屬性下修改Grap
37、h Title為Staytime of Processor 3修改坐標軸參數Lower Bound改為0Upper Bound改為20Divisions改為10點擊按鈕“Done”退出參數設置依次修改其它兩個Recorder對象的參數,76,77,保存,重置,運行,77,78,實例3:TaskExecuter的應用,在例1的基礎上,2個檢測員參與到了產品的檢測中檢測員的任務是從緩沖區(qū)取出產品,并安裝到相應的監(jiān)測系統(tǒng)中,安裝
38、時間為10秒傳送帶末端的產品由叉車送出,78,79,修改仿真模型,打開例1的仿真模型文件,另存為Example3.fsm修改仿真模型如圖,79,80,創(chuàng)建“s”連接,按住“s”將Dispatcher對象分別與第一個Queue對象及Process對象連接起來同樣連接第二個Queue對象與叉車對象,80,81,連接Dispatcher與Operator,按住“a”連接Dispatcher對象的輸出端口和兩個Operator對象的輸入端
39、口,81,82,修改緩沖區(qū)參數,打開第一個Queue的參數窗口在Flow選項卡中選中“Use Transport”同樣修改另一個Queue的選項,82,83,修改檢測系統(tǒng)的參數,打開Processor對象的參數窗口修改Setup Time為By Expression: 10選中Operators選項卡中的Use Operator(s) for Setup同樣修改其它兩個Processor對象,83,84,保存,
40、重置,運行,84,85,實例4:NetworkNode的應用,將例3中的Sink改成3個貨架,3種產品檢測完畢后分別放入對應的三個貨架中叉車只能夠沿著規(guī)定路線行駛,85,86,修改例3仿真模型,刪除Sink對象,添加三個Rack對象將第二個Queue對象與三個Rack對象分別用“a”連接,86,87,修改緩存區(qū)與貨架參數,修改第二個Queue對象的Send To Port參數為By Expression 默認值即可,87,修改貨架高
41、度為5層,點擊“Apply Basic Settings”和“OK”確定,88,保存,重置,運行,觀察仿真運行時叉車的行駛路線,88,89,添加NetworkNode對象,在模型視圖中添加NetworkNode對象“a”連接NetworkNode到相應的存取位置(藍色細線),89,90,創(chuàng)建路網,“a”連接相應的NetworkNode對象形成路網“a”連接叉車到路網中(紅色細線),90,91,路網修改方法,右鍵調出Travel N
42、etworks 窗口,選擇Curve再連接,托拽路網上的小黑點( SplinePoint ),可以修改路徑的彎曲形狀按住“x”鍵單擊小黑點( SplinePoint )可以在路段上添加另一個另外一個小黑點( SplinePoint ),91,92,路網修改方法,右鍵后選擇Curve托拽路網上的按住“q”鍵從一個NetworkNode拖到另一個NetworkNode可取消托拽方向的連接,形成單向路徑(取消路徑需要按住取消雙方向的連接)
43、,92,93,模型路網修改,設置2條單向路徑,93,94,保存,重置,運行,94,95,實例5:連續(xù)系統(tǒng)應用,首先通過Operator將2個不同類型的FlowItem分別轉換為2種流體然后分別傳入2個儲罐Tank根據比例進行混合加工成一種新流體,然后再轉換為固體傳送至Sink里。,95,,,96,模型描述,FlowItem到達時間:按照0到10的指數分布ItemToFluid最大容量:20加侖ItemToFluid轉換率:1個單位的
44、FlowItem轉換為10加侖ItemToFluid傳送速率:每秒2加侖Pipe最大容量:20加侖(進Tank);其他為10加侖Tank:1加侖為低標位,45加侖為高標位FluidToItem容量:10加侖FluidToItem轉換率:10加侖轉換1個單位FlowItemFluidToItem傳送速率:每秒1加侖,96,97,模型描述(續(xù)),混合器Mixer Steps步驟Step 1:接收入口1的Fluids,無延遲時間
45、Step 2:接收入口2的Fluids,延遲10秒鐘混合器Mixer Recipe策略:入口1:接收10加侖,執(zhí)行Step1入口2:接收20加侖,執(zhí)行Step2,97,98,步驟1:構建模型布局,將仿真所需要的對象模型從對象庫中拖拽到仿真視圖窗口中的適當位置所需對象如下:2個Sources 1個Operator 2個FluidToItems 2個FluidPipes 2個FluidTanks 2個more FluidPi
46、pes 1個FluidMixer 1個FluidProcessor 1個FluidToItem 1個Conveyor 1個Sink,98,,99,步驟1:構建模型布局(續(xù)),,99,100,步驟2:定義對象流程,利用“A”鍵分別做如下圖連接,100,101,步驟3. 編輯對象參數,定義Source1,Source2設置ItemToFluid參數設置Tank參數設置FluidMixer參數設置FluidToItem參數設置所有P
47、ipe參數FluidProcessor參數默認不變,101,102,定義Source參數,定義source流出間隔時間,以及分別設置ItemType為:1,2,102,103,設置ItemToFluid參數,MaximumContent設為20Fluid per Discrete Unit設為10MaximumObjectRate以及MaximumPortRate設為2,103,104,設置Tank參數,設置LowMark:10;
48、HighMark:45設置PassingLowMark以及PassingHighMark觸發(fā)器,104,105,設置FluidMixer參數,根據模型描述分別設置FluidMixer的MixerSteps及MixerRecipe,105,106,設置FluidToItem參數,同ItemToFluid類似,設置如下MaximumContent設為20Fluid per Discrete Unit設為10MaximumOb
49、jectRate以及MaximumPort Rate設為2,106,107,設置Pipe參數,Flow Mode設為:Flow EvenlyMaximumContent設為:20MaximumFlowRate設為:2為了顯示2種不同流的效果,將前面2個Pipe的顏色分別設為紅色,藍色。在每個pipe的屬性窗口即可以改變。,107,108,步驟4:保存,重置,運行,108,109,美化與演示,View settingAVI 制
50、作圖片抓取,110,培訓內容,Flexsim軟件的安裝步驟Flexsim建模的基本概念Flexsim軟件的使用步驟Flexsim實例訓練Flexsim軟件的開發(fā)應用Code樹結構視圖Tools Menu,110,111,一般規(guī)則,區(qū)分大小寫(A不等同于a)沒有限制特定的格式(以“易讀的”代碼為目標,可以自由使用空格、制表符和回車換行)文本字符串由引號括起,"mytext"函數調用后面用圓括號,
51、逗號分隔函數的參數,moveobject(item, container)函數總是以分號結束,112,一般規(guī)則,根據需要可以在數學和邏輯表達式中自由地使用圓括號,(x+10)*y大括號用于定義一段邏輯表達雙斜線用于一行中其后的部分,//my comment多行注釋以/*開始,*/結束名字定義中不能含有空格或特殊字符,下劃線除外名字中可以含有數字,但是不能以數字開頭,113,Code,Flexsim主要兩種編碼形式:Flexs
52、cript、C++。關系:Flexscript具有C++的結構,C++的語法,但又相對獨立于C++。在Flexsim自帶的Command集中C++和Flexscript可以一樣使用。區(qū)別:Flexscript更加便捷,調試運行無需編譯,在安裝Flexsim時不對Visual C++.Net做要求;C++調試運行必須首先進行編譯,并且需要安裝Visual C++.Net。但其能力包含Flexscript但又超過它功能更強大。,113,
53、114,Code,在Flexsim里面,雖然可以使用所有C++功能,但是作為一個Flexsim的建模者僅僅需要知道很少以部分Command就可以用來創(chuàng)建出復雜的模型。因此,本部分通過對FlexScript的講解來進行Flexsim編碼部分的說明。,114,115,變量類型,115,116,數學運算符及方法,116,117,比較運算符及方法,117,118,關系運算符及變量,118,119,賦值運算符,119,120,基本對象指代,cur
54、rent:當前對象item:當前涉及的實體model():模型樹根節(jié)點rank(node, ranknum),rank(queue, 2)node(relativepath, startnode),node("/Source1", model()),121,基本對象統(tǒng)計數據,inobject(obj, portnum),inobject(current, 1)outobject(obj, portnum)
55、,outobject(dispatcher, 3)centerobject(obj, portnum),centerobject(processor, 2)content(obj),content(current)getinput(obj),getinput(current)getoutput(obj),getoutput(current),122,基本對象屬性,getname(obj)setname(obj, name),
56、setname(current, "Machine1"getitemtype(item)setitemtype(item, type),setitemtype(item, 5)setcolor(obj, red, green, blue),setcolor(item, 128, 128, 128),123,對象空間方面的屬性,位置:xloc(obj),yloc(obj),zloc(obj),setloc(obj
57、, lx, ly, lz)尺寸:xsize(obj),ysize(obj),zsize(obj),setsize(obj, sx, sy, sz)轉角:xrot(obj),yrot(obj),zrot(obj),setrot(obj, rx, ry, rz),124,基本對象控制函數,closeinput(obj),openinput(obj)stopinput(obj),resumeinput(obj)closeoutput(
58、obj),openoutput(obj)stopoutput(obj),resumeoutput(obj)sendmessage(toobj, fromobj, param1, param2, param3)senddelayedmessage(toobj, delaytime, fromobj, param1, param2, param3),125,基本對象控制函數,stopobject(obj),resumeobject(o
59、bj)moveobject(obj, container)closeoutput(current)senddelayedmessage(centerobject(current,1),10,current,1,getlabelnum(current,2),0),126,消息,消息:一個對象發(fā)送到另一個對象的信息當一個對象接收到消息時,它的“OnMessage”(消息)觸發(fā)器被觸發(fā)消息的發(fā)出是通過函數sendmessage(發(fā)
60、出即時消息)和senddelayedmessage(發(fā)出延時消息)每條消息可以有三個附加的數值型參數,127,消息執(zhí)行機制,128,案例,目的學習如何控制產品流和發(fā)送延時消息描述工作臺在處理完每個產品之后,需要等待50秒鐘,才能繼續(xù)處理后面的產品。使用closeinput和senddelayedmessage函數實現此功能。問題如果此工作臺最多可以同時處理兩件產品,每次處理完一批(一件或兩件)產品之后需要等待,如何實現?,1
61、29,案例,130,提示和輸出,語法pf(num),pf(99.99)pt(str),pt("finished")pr():回車msg(caption, str),msg("Step 1 completed", "Continue to Step 2?")打印到Output Console(輸出控制臺)視圖菜單中打開輸出控制臺,131,可用的變量和返回值,132,可
62、用的變量和返回值,133,數組變量的聲明,intarray indexes = makearray(5); // makes an array with 5 elementsindexes[1] = 2; // in Flexsim, arrays are 1-basedindexes[2] = 3;indexes[3] = 2;indexes[4] = 6;indexes[5] = 10;doublearray weig
63、hts = makearray(3);,133,134,fillarray(weights, 3.5, 6.7, 1.4); // fillarray is a quick way of setting the array valuesstringarray fruits = makearray(2);fruits[1] = "Orange";fruits[2] = "Watermelon"
64、;;treenodearray operators = makearray(4);operators[1] = centerobject(current, 1);operators[2] = centerobject(current, 2);operators[3] = centerobject(current, 3);operators[4] = centerobject(current, 4);,數組變量的聲明,135,
65、135,if結構的使用說明,if (expression){code block}else{code block},if (content(item) == 2){colorred(item);}else{colorblack(item);},136,136,while結構的使用說明,while (expression){code block},while (content(current)
66、> 0){destroyobject(last(current));},137,137,For結構的使用說明,for (var decl; expr; increment){code block},for (int index = 1; index <= content(current); index++){colorblue(rank(current,index));},138,138,switch
67、結構的使用說明,switch (integer/character value){case casenum:{code blockbreak;}default:{code blockbreak;}},switch ((int)(getitemtype(item))){case 1:{coloryellow(item);break;}default:{
68、colorgreen(item);break;}},139,可使用樹視圖詳細地展開模型結構和實體,樹圖中包含了庫實體、命令以及所有模型信息,猶如Windows的資源管理器。,樹結構視圖,140,140,Node,Tree視圖中,在已存在的節(jié)點上單擊右鍵,選在“Node/Insert After”可以插入節(jié)點,或者先選中節(jié)點單擊空格鍵,分別可以用N、T、O快捷鍵,在選定之后改變節(jié)點分別為:數字、字符串(文本)、實體,141
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單機版上位機軟件使用說明新版
- 國壽e家系統(tǒng)(單機版7.1.00)安裝手冊
- 變電站規(guī)程制度管理軟件單機版
- 魔獸世界單機版秘籍
- 全封閉組合電器gis多媒體培訓軟件單機版
- 全封閉組合電器gis多媒體培訓軟件單機版
- 魔獸世界單機版gm命令
- 地方政府性債務管理系統(tǒng)安裝手冊單位單機版
- 地方政府性債務管理系統(tǒng)安裝手冊單位單機版
- java中國象棋代碼(單機版)
- 訊詢問筆錄系統(tǒng)單機版
- 口袋妖怪單機版-支線任務
- 魔獸世界單機版物品代碼
- 訊詢問筆錄系統(tǒng)單機版
- 訊詢問筆錄系統(tǒng)單機版
- 單機版版門禁使用說明書
- 單機版天龍八部攻略
- 單機版課件含ppt課件評分標準
- 魔獸世界單機版局域網的架設方法
- 酒店管理系統(tǒng)--單機版的實現——畢業(yè)論文
評論
0/150
提交評論