freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

自動堆垛機人機界面設計-資料下載頁

2025-07-29 12:14本頁面
  

【正文】 IBUS.DP分發(fā)到從站,從站將執(zhí)行相應的操作,將貨物存放到指定的貨位上;如果執(zhí)行成功,從站將返回一個成功指令給主站,主站將執(zhí)行成功的指令返回給PC機,這樣就完成了一次的貨位指派;數(shù)據(jù)庫立即修改,刪掉已發(fā)送的這條指令。循環(huán)往復,我們就把利用PSO獲取的貨位指派情況,通過上述的流程完成貨物的存放。該系統(tǒng)的數(shù)據(jù)傳輸方式,充分利用PC機數(shù)據(jù)處理能力強的特點,由上位機優(yōu)先發(fā)送數(shù)據(jù)通信的開始信號。具體過程如下,首先由計算機發(fā)送信號,控制器收到信號后,發(fā)送返回信號;計算機收到返回信號后,進行下一步的數(shù)據(jù)交換。讀數(shù)據(jù)時,上位計算機通過串行口向控制器發(fā)出數(shù)據(jù)命令,控制器響應并將數(shù)據(jù)準備好,這時上位計算機再次讀串行口就可讀到需要的數(shù)據(jù)。寫數(shù)據(jù)時,上位計算機通過串行口向控制器發(fā)出寫命令及數(shù)據(jù),控制器接收。計算機在與控制器通信時,首先必須對通信端口進行初始化,其初始化參數(shù)必須與控制器通信參數(shù)相同。在對象之間進行通信時,采用類方法調(diào)用的方式對需要通訊的數(shù)據(jù)進行讀取。類的標志特性是繼承,封裝,多態(tài),對象化提供了模型化和信息隱藏的好處,類化提供了可重用性的好處。通過面向?qū)ο笫沟贸绦蛟O計模塊化了,便于編程人員拆分合作。類首先是基類,派生和繼承得到新的類即有基類的公共屬性,又可以定義新的功能屬性,便有了多元化實用價值。封裝便于保護代碼不被任意篡改和便于維護,可移植性和重用性高。 (1)類抽象:根據(jù)具體設備控制的要求,把系統(tǒng)中控制方法、信號反饋、故障檢測等操作相同或相似的設備作為同類;對于其中功能和操作不同的地方,采用輸入?yún)?shù)差別的方法加以區(qū)分,即在輸入?yún)?shù)中設計一個類型差別參數(shù),當控制存在差別時,用來在模塊內(nèi)選擇不同的實現(xiàn)方法,功能相同的部分則共用相同的代碼,這樣,實現(xiàn)的模塊就是這類設備的實現(xiàn)代碼,功能上的差別通過在流程中調(diào)用模塊時附上不同的判別參數(shù)來實現(xiàn);對于包含其它設備的組合設備,可以設計一個類,在流程的設計中,只需在流程的模塊程序中調(diào)用它所包含的所有設備的對象即可,設備之間的互鎖關(guān)系由各個類輸入輸出參數(shù)之間的通信實現(xiàn)。 (2)封裝的實現(xiàn)由于在設計模塊時可以指定相關(guān)參數(shù),而模塊的程序通過對參數(shù)的使用來實現(xiàn)其控制功能,所以可以用指定參數(shù)的方式建立起類的數(shù)據(jù)結(jié)構(gòu),這個數(shù)據(jù)結(jié)構(gòu)與抽象成類的模塊相對應,應該把這個數(shù)據(jù)結(jié)構(gòu)看成是類中的內(nèi)部數(shù)據(jù)。它另外的好處是:由于相互通信的數(shù)據(jù)大都是標志位、狀態(tài)位或反映設備狀態(tài)的典型變量,這些數(shù)據(jù)的集中存放會給上位機組態(tài)和監(jiān)控程序的編寫帶來極大的方便。數(shù)據(jù)封裝后的結(jié)果如下:輸入?yún)?shù)和輸出參數(shù)對應于程序設計的全局通訊區(qū)域,當一個設備與另一個設備通信時,它只能讀取那個設備輸出到全局通信區(qū)域中的數(shù)據(jù),這就限制了它對另外設備的干涉。需要對輸入數(shù)據(jù)進行處理的程序封裝在模塊內(nèi)部,這樣可以使設備使用安全的數(shù)據(jù),防止由于干擾或數(shù)據(jù)的嚴重錯誤對設備產(chǎn)生破壞性的影響。C++類成員提供了3種級別的可見度,包括public(公共部分)、protected(保護部分)和private(私有部分)。其中public(公共部分)是只有類的成員函數(shù)、對象、子類的成員函數(shù)及其對象可見。而protected(保護部分)只有類及其子類的成員函數(shù)峰訪問保護的成員。Private(私有部分)只有類的成員函數(shù)能夠訪問私有成員。如下是為通訊所編的類程序,其中有私有部分以及公有部分。class CGTProfibusSlave{public: //公有數(shù)據(jù)和函數(shù) CGTProfibusSlave(byte stationAddress,void *pDevAddress=NULL)。 virtual ~CGTProfibusSlave()。 int Slave_Get_Profibus_Command(byte amp。motionCommand,byte motionPara[])。 int Slave_Send_Profibus_ACK(byte ackPara[])。 int Slave_Get_Command_Then_Send_ACK(byte amp。motionCommand,byte motionPara[],byte ackPara[])。 void ResetAckCounter()。private: void InitIOPortMem()。 //私有數(shù)據(jù)和函數(shù)public: struct _profibusComandType_ //公有數(shù)據(jù)和函數(shù) { byte mandCounter。 byte beginer。 ///must be 39。@39。 byte address。 byte mand。 byte para[24]。 byte ender。 ///must be 0x0D }m_profibusCommand。 struct _profibusACKType_ { byte ACKCounter。 byte beginer。 //must be 39。@39。 byte address。 byte ACKCommand。 byte ACKPara[24]。 byte ender。 }m_profibusACK。 short m_profibusStatus。 byte m_slaveOnline。 byte m_slaveAckCounter。private: //私有數(shù)據(jù)和函數(shù) byte m_stationAddress。}。信息交換對控制系統(tǒng)至關(guān)重要,所以本次設計的重點就是如何通訊,通訊就要進行數(shù)據(jù)交換,堆垛機通訊設計的思路是當附件獲得命令則先進行判斷是否查詢命令,如果是的話則進行查詢,不是則判斷是否是返回指令,還不是進行判斷是否從傳送帶拿貨,再進行判斷是否放貨到傳送帶,再判斷是否是從倉庫內(nèi)拿貨,最后判斷是否放貨入庫,假如都不是則結(jié)束。下圖3.7是profibus信息交換的流程圖。圖3.7 profibus信息交換流程圖 以下程序是通信的程序包括開啟/關(guān)閉通信、信息交換等。include include include include include include include include ///Profiubs類指針CGTProfibusSlave *gpProfibusSlave=NULL。clock_t lastmunicationtime。define MAX_WAIT_TIME ///Warehouse的Profibus地址///new a profibus object and open the connectionunsigned long gbTotalGetCommand=0。int init_profibus() //開啟現(xiàn)在總線profibus{ ///New a profiubs slave object and connected to slave gpProfibusSlave=new CGTProfibusSlave(ProfibusAddress)。 lastmunicationtime=clock()。 //DRV_NO_ERROR||DRV_DEV_NO_COM_FLAG if(gpProfibusSlavem_profibusStatus==0|| gpProfibusSlavem_profibusStatus==21) return TRUE。 else return FALSE。}///delete profibus object and close connectionvoid close_profibus() //關(guān)閉現(xiàn)在總線profibus{ delete gpProfibusSlave。}///process profibus information exchanging,///read a valid profibus mmand and immidiately send back a ACK including the warehouse status informations void profibus_information_processing() //profibus信息交換{ byte mand,para[24],ackpara[24]。 _ByteToLong_ MasterCommandInfo。 clock_t nowtime。 ackpara[0]=(byte)SlaveStatus。 ackpara[1]=(byte)SystemErrorCode。 ackpara[2]=(byte)SystemWarningCode。ackpara[3]=(byte)ForkmanPosStatus。 ///Set the mand finished tag if(gpProfibusSlaveSlave_Get_Profibus_Command(mand,para)!=1) //獲得命令 { ////return the valid mand and para to use in module MasterMotionCommand=mand。 memcpy(MasterMotionPara,para,sizeof(para))。 lastmunicationtime=clock()。 gpProfibusSlavem_slaveOnline=1。 //// gpProfibusSlaveSlave_Send_Profibus_ACK(ackpara)。 gbTotalGetCommand++。 if(MasterMotionCommand==COMMAND_WAREHOUSE_QUERY_STATUS)//查詢命令 { cprintf(%010ld:Master Command: Query,gbTotalGetCommand)。 cprintf(\r\n)。 } else if(MasterMotionCommand==COMMAND_WAREHOUSE_GO_HOME) //返回首頁命令 { cprintf(%010ld:Master Command: Go Home,gbTotalGetCommand)。 cprintf(\r\n)。 } else if(MasterMotionCommand==COMMAND_WAREHOUSE_GOODS_GET_FROM_ACCESS) //從傳送帶拿貨命令 { cprintf(%010ld:Master Command: Get From [Access] %3d,gbTotalGetCommand,MasterMotionPara[0])。 cprintf(\r\n)。 } else if(MasterMotionCommand==COMMAND_WAREHOUSE_GOODS_PUT_TO_ACCESS) //放貨都傳送帶 { cprintf(%010ld:Master Command: Put To [Access] %3d,gbTotalGetCommand,MasterMotionPara[0])。 cprintf(\r\n)。 } else if(MasterMotionCommand==COMMAND_WAREHOUSE_GET_GOODS)(從倉庫內(nèi)拿貨) { [0]=MasterMotionPara[1]。[1]=MasterMotionPara[2]。[2]=MasterMotionPara[3]。 [3]=MasterMotionPara[4]。 cprintf(%010ld:Master Command: Get From [Shelf] %d [Pos] %ld,gbTotalGetCommand,MasterMotionPara[0],)。cprintf(\r\n)。 }else if(MasterMotionCommand==COMMAND_WAREHOUSE_PUT_GOODS) //放貨入庫內(nèi)指令 { [0]=MasterMotionPara[1]。 [1]=MasterMotionPara[2]。 [2]=MasterMotionPara[3]。 [3]=MasterMotionPara[4]。 cprintf(%010ld:Master Command: Put To [Shelf] %d [Pos] %ld,gbTotalGetCommand,MasterMotionPara[0],)。 cprintf(\r\n)。 } else { cprintf(%010ld:Master Command: %3d,gbTotalGetCommand,MasterMotionCommand)。 cprintf(\r\
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1