




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1仿真專班培訓仿真專班培訓李李 亞亞 兵兵2課程大綱課程大綱 第五部分、建模語言 第六部分、概念和模型3第五部分第五部分 建模語言建模語言 Flexsim層次化結構 樹形結構 建模語言 定制模型邏輯4什么是節(jié)點?什么是節(jié)點? Flexsim的基本數(shù)據(jù)結構是一個層次化的樹形結構 主樹模型和工程相關的對象和數(shù)據(jù) 視圖樹包括圖形用戶界面相關的對象和下拉菜單 模型樹模型相關的對象和數(shù)據(jù) 節(jié)點是“樹”的基本構成單元 節(jié)點在表面是看不到的,它們包含了對象、圖形用戶界面和數(shù)據(jù)的所有信息5節(jié)點結構節(jié)點結構 節(jié)點有名字 節(jié)點可以擁有一個數(shù)據(jù)項 數(shù)值 字符串 對象 如果節(jié)點擁有對象數(shù)據(jù),使用 查看含有對象信息的展
2、開的節(jié)點列表(數(shù)據(jù)項和成員函數(shù)) 如果節(jié)點包含子節(jié)點,使用 展開并查看子節(jié)點6節(jié)點符號節(jié)點符號 標準文件夾 對象 對象數(shù)據(jù) C+函數(shù) FlexScript(Flexsim腳本)函數(shù)7模型樹樣本模型樹樣本8什么是函數(shù)?什么是函數(shù)? 函數(shù)名(參數(shù)1,參數(shù)2,等等) 參數(shù)可以是 數(shù)值 字符串 指向?qū)ο蠡蚬?jié)點的指針 函數(shù)舉例 colorrandom(item) 許多Flexsim函數(shù)的作用都是從“樹”中讀取數(shù)據(jù)和向“樹”存放數(shù)據(jù)9一般規(guī)則一般規(guī)則區(qū)分大小寫(A不等同于a)沒有限制特定的格式(以“易讀的”代碼為目標,可以自由使用空格、制表符和回車換行)文本字符串由引號括起,mytext函數(shù)調(diào)用后面用圓括
3、號,逗號分隔函數(shù)的參數(shù),moveobject(item, container)函數(shù)總是以分號結束根據(jù)需要可以在數(shù)學和邏輯表達式中自由地使用圓括號,(x+10)*y大括號用于定義一段邏輯表達雙斜線用于一行中其后的部分,/my comment多行注釋以/*開始,*/結束名字定義中不能含有空格或特殊字符,下劃線除外名字中可以含有數(shù)字,但是不能以數(shù)字開頭10書寫邏輯可能用到的幫助書寫邏輯可能用到的幫助 現(xiàn)有的下拉菜單選項 示例和模型(/samples和/userprojects/DemoModels) Command Summary(命令集) Command Hints(命令提示) C+參考書11變量
4、類型變量類型 int(整數(shù)型),1、999 double(雙精度型),0.0、123.45 string(字符串型),good fsnode*(節(jié)點指針型),theOp、item12變量聲明和賦值變量聲明和賦值 整數(shù)型,int index = 1; 雙精度型,double length = 10.5; 字符串型,string str1 = qualified; 節(jié)點指針型,fsnode* myItem = last(current);13數(shù)學運算符數(shù)學運算符 x + y:x加y x y:x減y x * y:x乘以y x / y:x除以y sqrt(x):x的平方根 pow(x,y):x的y次方
5、 trunc(x):x取整數(shù)部分 frac(x):x的小數(shù)部分 fmod(x,y):x除以y的余數(shù) min(x,y):x和y的較小值 max(x,y):x和y的較大值14比較比較 x y:x大于y x = y:x大于等于y x 2)moveobject(last(current),queue);在程序中,while循環(huán)是在測試表達式為真時使得一段代碼一直反復重復執(zhí)行的結構,所以為了避免無限循環(huán)下去,最終測試表達式的值要為假。34“for”循環(huán)結構循環(huán)結構for(start expression; test expression; count expression)code blockfor(i
6、nt index = 1; index = content(current); index+)totalWeight += getlabelnum(rank(current,index),weight);for循環(huán)允許一段代碼重復執(zhí)行一定次數(shù),測試表達式最終值同樣需要為假,以避免無限循環(huán)。35代碼練習四代碼練習四 目的 學習使用for循環(huán) 描述 組合器將8個箱子放在1個托盤上 一個發(fā)生器提供托盤,另外一個發(fā)生器提供箱子 組合器發(fā)送實體到一條輸送機,再由這條輸送機發(fā)送到另一條輸送機 在第一條輸送機的離開觸發(fā)器,使用for循環(huán)改變托盤上所有箱子的顏色 問題 嘗試使用setobjectshapein
7、dex函數(shù)改變箱子的外形36代碼練習四布局代碼練習四布局37第六部分第六部分 概念和模型概念和模型 通過搭建一些模型學習更多Flexsim概念和用法38模型四模型四概念概念 實體類型 “推”與“拉”式規(guī)則 概率分布函數(shù)39處理器處理器“拉拉”實體實體 Pull From Port(接收端口):實體可以進入的輸入端口 Pull Requirement:決定是否允許一個實體進入 上游對象發(fā)送端口項設置為Open all ports(所有端口)40模型四模型四 目的 學習使用“拉”式規(guī)則,根據(jù)實體的實體類型定義它們的加工路線 描述 電子部件加工完成后需要接受測試 兩種類型的部件會進入堆放區(qū),它們的到
8、達是隨機的,其中40%是類型為1的,60%是類型為2的。 部件到達的間隔時間服從均值為40秒的指數(shù)分布 兩臺測試機用于類型為1的部件,三臺測試機用于類型為2的部件 測試時間服從120到150秒的均勻分布 問題 嘗試平衡各個測試機的工作量 嘗試使用“推”規(guī)則實現(xiàn)此模型41模型四布局模型四布局42模型五模型五概念概念 標簽和實體類型 經(jīng)驗分布:全局表 觸發(fā)器順序43模型五模型五 目的 學習如何在實體上設置和使用標簽,用于決定加工路線 描述 零件的到達服從均值為30秒的指數(shù)分布,四種類型的零件分別占全部零件的20%、30%、40%、10%。 四臺處理器分別處理這四種不同類型的零件。首次加工的零件的處
9、理時間服從100到120秒的均勻分布,返工的零件的處理時間服從120到130秒的均勻分布。 零件加工完成后會被測試。每個零件的測試時間是10秒鐘。測試合格的產(chǎn)品會離開模型,10%的產(chǎn)品會需要返工。 返工的零件將被優(yōu)先處理 問題 瓶頸在哪里? 嘗試改變需要返工的零件的形狀44模型五布局模型五布局45模型六模型六概念概念 全局表 標簽 觸發(fā)器46全局表函數(shù)全局表函數(shù) gettablenum(tablename, rownum, colnum) settablenum(tablename, rownum, colnum, num) gettablestr(tablename, rownum, col
10、num) settablestr(tablename, rownum, colnum, str) settablenum(Inventory, 1, 5, content(current) gettablestr(Alias, getitemtype(item), 2)47模型六模型六 目的 使用全局表定義加工路線的簡單案例 學習使用標簽跟蹤實體的加工步驟 描述 3種不同的產(chǎn)品需要進入一個由5臺處理器組成的加工單元 產(chǎn)品按照下述路線被處理 類型為1的產(chǎn)品需要經(jīng)過工作臺1、3和2 類型為2的產(chǎn)品需要經(jīng)過工作臺1、2和4 類型為3的產(chǎn)品需要經(jīng)過工作臺2、4、3和5 使用全局表,以保證產(chǎn)品按照正確的
11、順序發(fā)送到相應的工作臺進行加工 所有沒有完全加工完成的產(chǎn)品都放置在同一個堆放區(qū)中 問題 嘗試用顏色標示產(chǎn)品所處的加工步驟48模型六布局模型六布局49模型七模型七概念概念 任務序列優(yōu)先級 全局指針50模型七模型七 目的 學習如何使用一個操作員同時負責搬運和處理實體 描述 零件的到達時間間隔是服從均值為20秒的指數(shù)分布。零件到達后由操作員將其運送到一個空閑的工作臺上。 操作員需要對零件進行10秒鐘的預處理 之后工作臺自行處理實體,需要20秒鐘時間 加工完成后,實體離開系統(tǒng) 一個操作員負責所有的三個工作臺 問題 使操作員在運送完一個實體后,立即對該實體進行預處理 嘗試不使用中心端口連接實現(xiàn)此模型51
12、模型七布局模型七布局52模型八模型八概念概念 發(fā)送端口 “中斷”需求53模型八模型八 目的 學習使用移動資源上的“中斷”需求項 描述 發(fā)生器均勻地產(chǎn)生三種不同類型的實體,并隨機發(fā)送到其后的三個堆放區(qū)內(nèi)。 一輛運輸車將實體運送到后面的三個堆放區(qū)內(nèi),此三個堆放區(qū)分別可以容納一種類型的實體。 實體經(jīng)過處理器,最后由接收器離開系統(tǒng)。 運輸車輛最多一次可以裝載5個實體。 運輸車輛只能同時裝載同一類型的實體。 問題 嘗試其他“中斷”需求選項,觀察運輸車輛的行為。54模型八布局模型八布局55模型九模型九概念概念 移動資源組 自定義任務序列 時間表56模型九模型九 目的 練習使用移動資源組、調(diào)度規(guī)則 描述 一
13、個工作單元有5個工作臺 每個零件必須依次在5個工作臺上進行加工 此工作單元中有一組由3個操作員組成的移動資源組 操作員負責運送每個零件到下一個工作臺,以及預處理任務 預處理時間是5秒鐘,處理時間是15秒鐘 每25秒到達一個新零件 問題 每小時的生產(chǎn)能力是多少? 使用自定義任務序列,以提高生產(chǎn)能力。 使用時間表,安排操作員在不同的時間休息。 57模型九布局模型九布局58模型十模型十概念概念 更新組合器組件列表 Excel數(shù)據(jù)導入59定制定制Excel數(shù)據(jù)導入數(shù)據(jù)導入/導出導出規(guī)則 必須首先使用excellaunch函數(shù)啟動Excel,然后使用excelopen函數(shù)打開一個Excel文檔。使用ex
14、celsetsheet函數(shù)指定一個表單,然后可以使用excelreadnum,excelwritenum,excelimporttable和excelexporttable等函數(shù)進行讀寫操作。如果需要打開另一個文檔,需要先使用excelclose函數(shù)關閉當前文檔。最后使用excelquit函數(shù)退出Excel。示例excellaunch();excelopen(C:Program FilesFlexsim3userprojectsTrainingExcel Custom.xls);excelsetsheet(Sheet1);excelwritenum(1,2,gettablenum(Data,1
15、,1);settablenum(Data,1,1,excelreadnum(1,1);excelclose(true);excelquit();60模型十模型十 目的 學習如何控制組合器的組件列表 學習如何從Excel導入數(shù)據(jù)到發(fā)生器的到達時刻表 描述 一個供應商向5個不同的客戶提供總共10種不同的產(chǎn)品 每個客戶的訂單不同 每個客戶所訂的產(chǎn)品放在一個托盤上,經(jīng)過輸送機進入接收器 使用訂單和時刻表兩個表格構建此模型 問題 從Excel中導入所需的表格61模型十布局模型十布局62模型十訂單表模型十訂單表Customer1Customer2Customer3Customer4Customer5Pro
16、duct112314Product220121Product301012Product412132Product533301Product624020Product700223Product823330Product912412Product101130063模型十到達時刻表模型十到達時刻表ArrivalTimeItemNameItemTypeQuantityCustomer10OrderA11Customer23600OrderB21Customer37200OrderC31Customer410800OrderD41Customer514400OrderE5164更深一步的概念和模型更深一
17、步的概念和模型 打開、關閉輸入/輸出端口 消息 抽象模型 全局對象指針 自定義任務序列 數(shù)據(jù)庫 用戶事件 模型初始化代碼 全局C+代碼 用戶函數(shù)65模型模型A1概念概念 打開、關閉輸入/輸出端口 消息66基本對象控制函數(shù)基本對象控制函數(shù)closeinput(obj),openinput(obj)stopinput(obj),resumeinput(obj)closeoutput(obj),openoutput(obj)stopoutput(obj),resumeoutput(obj)sendmessage(toobj, fromobj, param1, param2, param3)sendd
18、elayedmessage(toobj, delaytime, fromobj, param1, param2, param3)stopobject(obj),resumeobject(obj)moveobject(obj, container)closeoutput(current)senddelayedmessage(centerobject(current,1),10,current,1,getlabelnum(current,2),0)67消息消息 消息:一個對象發(fā)送到另一個對象的信息 當一個對象接收到消息時,它的“OnMessage”(消息)觸發(fā)器被觸發(fā) 消息的發(fā)出是通過函數(shù)send
19、message(發(fā)出即時消息)和senddelayedmessage(發(fā)出延時消息) 每條消息可以有三個附加的數(shù)值型參數(shù)68消息執(zhí)行機制消息執(zhí)行機制sendmessage(toobj,fromobj, param1,param2, param3)senddelayedmessage(toobj,delaytime, fromobj,param1, param2, param3)currentmsgsendingobjectmsgparam(1)msgparam(2)msgparam(3)delaytimecurrent69模型模型A1 目的 學習如何控制產(chǎn)品流和發(fā)送延時消息 描述 工作臺在處理
20、完每個產(chǎn)品之后,需要等待50秒鐘,才能繼續(xù)處理后面的產(chǎn)品。使用closeinput和senddelayedmessage函數(shù)實現(xiàn)此功能。 問題 如果此工作臺最多可以同時處理兩件產(chǎn)品,每次處理完一批(一件或兩件)產(chǎn)品之后需要等待,如何實現(xiàn)?70模型模型A1布局布局71模型模型A2概念概念 抽象模型 全局對象指針 For循環(huán) moveobject函數(shù)72模型模型A2目的學習創(chuàng)建抽象模型的方法學習在觸發(fā)器中定義C+邏輯代碼描述每天都有貨物到達,也都有訂單到達,1份貨物可以滿足1份訂單的需求。每天到達貨物的數(shù)量和每天的訂單數(shù)量都服從均值為10的指數(shù)分布。一共有5種不同類型的貨物和訂單,每天到達的貨物和
21、訂單都會是其中一種,而且每一種的可能性都相同。貨物和訂單的類型相匹配。貨物到達時,如果現(xiàn)存的訂單顯示需要這種貨物,那么貨物要立即滿足訂單的需要,同時更新訂單;如果不需要則暫時存放起來。訂單到達時,如果庫存中的貨物有可以滿足需要的,那么立即消除相應的貨物和訂單;否則將訂單保留。問題如果連續(xù)運行1年需要多大的容量以暫存貨物?畫出表示每天缺貨總量的曲線圖訂單被滿足的平均等待時間是多長?73模型模型A2布局布局74模型模型A3概念概念 自定義任務序列 全局對象指針75移動資源控制移動資源控制 簡單指令createdelaytask(centerobject(current, 1), 100, STAT
22、E_UTILIZED, 0, 0)freeoperators(op, item) 自創(chuàng)建任務序列createemptytasksequence(te, priority, preempting) 返回值為指向此任務序列的指針(例如fsnode* ts)inserttask(ts, tasktype, involved1, involved2, param1, param2, param3, param4)dispatchtasksequence(ts)76任務序列示例任務序列示例fsnode *forklift = centerobject(current, 1);fsnode *origin
23、 = inobject(current, 1);fsnode *destination = outobject(current, 2);fsnode *item = first(origin);fsnode *ts = createemptytasksequence(forklift, 0, 0);inserttask(ts, TASKTYPE_TRAVEL, origin, NULL);inserttask(ts, TASKTYPE_FRLOAD, item, origin);inserttask(ts, TASKTYPE_TRAVEL, destination, NULL);insertt
24、ask(ts, TASKTYPE_FRUNLOAD, item, destination);dispatchtasksequence(ts);77任務類型任務類型TASKTYPE_LOAD: item, source TASKTYPE_FRLOAD: item, station, outputport TASKTYPE_UNLOAD: item, target TASKTYPE_FRUNLOAD: item, station, inputport TASKTYPE_UTILIZE: involved, station, state TASKTYPE_DELAY: NULL, NULL, del
25、aytime, state TASKTYPE_BREAK: NULL, NULL TASKTYPE_TRAVEL: destination, NULL TASKTYPE_TRAVELTOLOC: NULL, NULL, lx, ly, lz, endspeed TASKTYPE_TRAVELRELATIVE: NULL, NULL, ox, oy, oz, endspeedTASKTYPE_SENDMESSAGE: toobj, fromobj, param1, param2, param3, delaytimeTASKTYPE_MOVEOBJECT: obj, container, port78模型模型A3 目的 學習如何創(chuàng)建自己的任務序列 描述 模型中包括一個發(fā)生器,五個工作臺和一個接收器 操作員從發(fā)生器取一個實體到第一個工作臺進行加工,完成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- AI輔助診斷提升醫(yī)療效率的實戰(zhàn)方案
- 從技術到人文重新定義醫(yī)療AI的倫理準則
- 企業(yè)內(nèi)部協(xié)作的效率提升與區(qū)塊鏈技術應用研究
- 《拋光除塵操作臺》課件
- 紡織機械運行中的安全隱患試題及答案
- 區(qū)塊鏈技術助力數(shù)字媒體版權管理
- 區(qū)塊鏈技術開啟企業(yè)合作新模式
- 全球視角下的區(qū)塊鏈技術創(chuàng)新及其對商業(yè)模式的影響研究報告
- 《內(nèi)部控制與風險管理》課件導論
- 2025年商業(yè)貸款合同范本
- 廣西《健康體檢重要異常結果管理規(guī)范》(材料)
- 2025-2030中國藜麥行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 駕培行業(yè)營銷方案
- 學校校服定制合同協(xié)議
- 慢性腎臟病患者管理及一體化治療
- 《半導體集成電路》課件-半導體集成電路的制造工藝
- 《旅行社經(jīng)營與管理》課件 第五章 旅行社接待業(yè)務
- 心臟驟停與心臟性猝死護理
- 2025-2030中國設施農(nóng)業(yè)行業(yè)市場發(fā)展分析及競爭格局與投資前景研究報告
- 昌樂縣南寨水庫防御洪水方案
- 2024-2025學年教科版科學一年級下冊 1.6.哪個流動得快 教學課件
評論
0/150
提交評論