理论片87福利理论电影,用舌头去添高潮无码视频,久久精品熟女亚洲av麻豆,日本公妇乱偷中文字幕

海天精工機(jī)床有限公司 海天精工博客

軟PLC指令系統(tǒng)設(shè)計(jì)|加工中心

3 .4軟PLC指令系統(tǒng)設(shè)計(jì)3. 4. 1軟PLC指令的組成梯形圖與指令表是開發(fā)PLC用戶程序使用最多的兩種編程語言,雖然二者 指令的表達(dá)形式不同但表示內(nèi)容都是由操作碼和操作數(shù)組成。操作碼提供運(yùn)算的 法則,操作數(shù)提供執(zhí)行運(yùn)算所需的數(shù)據(jù)和地址信息。軟PLC指令是以函數(shù)的形 式提供操作碼和操作數(shù)。軟PLC運(yùn)行系統(tǒng)為每條PLC指令編寫了相應(yīng)的指令函數(shù),它們共同組成了 軟PLC系統(tǒng)的指令庫。為了便于以后的擴(kuò)展和管理,本文在編制軟PLC指令時 制定了統(tǒng)一的格式。3. 4. 2軟PLC指令函數(shù)PLC指令分為基本指令和功能指令兩類,前者用于對位進(jìn)行簡單的邏輯運(yùn) 算,是編制PLC程序最常使用的指令;后者主要對字節(jié)、字等復(fù)雜數(shù)據(jù)進(jìn)行處 理完成某種特定的功能。本文在參考國際標(biāo)準(zhǔn)IEC61131-3中梯形圖與指令表指 令的基礎(chǔ)上,依據(jù)SIMATIC S7-300指令系統(tǒng)設(shè)計(jì)軟PLC系統(tǒng)的指令函數(shù)。本軟PLC系統(tǒng)共設(shè)計(jì)了 25個指令函數(shù),其中基本指令函數(shù)16個,功能指 令函數(shù)9個。表3-2、3-3分別對每個指令函數(shù)進(jìn)行了說明。 編號 PLC指令 指令函數(shù) 實(shí)現(xiàn)功能 1001 LD ReadInBit〇 讀輸入位狀態(tài)壓入堆棧 1002 LDI ReadInBitnot〇 讀輸入位狀態(tài)取反壓入堆棧 1003 A ReadInANDBit() 讀輸入位狀態(tài)與棧頂元素進(jìn)行邏輯“與”運(yùn)算,然 后壓入堆棧 1004 AI ReadInANDBitnot() 讀輸入位狀態(tài)取反后與棧頂元素進(jìn)行邏輯“與”運(yùn) 算,然后壓入堆棧 1005 0 ReadInORBit() 讀輸入位狀態(tài)與棧頂元素進(jìn)行邏輯“或”運(yùn)算,然 后壓入堆棧 1006 01 ReadInORBitnot() 讀輸入位狀態(tài)取反后與棧頂元素進(jìn)行邏輯“或”運(yùn) 算,然后壓入堆棧 1007 OutBit WriteOutBit〇 將邏輯堆棧棧頂元素狀態(tài)寫到對應(yīng)輸出地址位 1008 NOT LogicNot〇 將邏輯堆棧棧頂元素狀態(tài)取反后壓入堆棧 1009 S SetBit〇 將對應(yīng)的輸入輸出位狀態(tài)置“1” 1010 R ResetBit() 將對應(yīng)的輸入輸出位狀態(tài)置“0” 1011 CopyPush C〇py() 將邏輯堆棧棧頂元素復(fù)制到第二個棧中 1012 Pop ReleasePop() 釋放邏輯堆棧棧頂元素 1013 ANB AndStack〇 將兩個堆棧棧頂元素進(jìn)行邏輯“與”運(yùn)算 1014 ORB OrStack() 將兩個堆棧棧頂元素進(jìn)行邏輯“或”運(yùn)算 1015 Copytofirst Copytofirst〇 將邏輯堆棧棧頂兩個元素進(jìn)行“與”運(yùn)算 1016 CLR ClearStackQ 清空邏輯堆棧中的所有元素 編號 PLC指令 指令函數(shù) 實(shí)現(xiàn)功能 1017 BAND LogicANDByte〇 將兩個字節(jié)的數(shù)值進(jìn)行邏輯“與”運(yùn)算 1018 WAND LogicANDWord() 將兩個字的數(shù)值進(jìn)行邏輯“與”運(yùn)算 1019 BOR LogicORByte() 將兩個字節(jié)的數(shù)值進(jìn)行邏輯“或”運(yùn)算 1020 WOR LogicORByte() 將兩個字的數(shù)值進(jìn)行邏輯“或”運(yùn)算 1021 CompareByte ComparedByteLD(); ComparedByteAND〇 ; ComparedByteOR〇 ; 將兩個字節(jié)的數(shù)值進(jìn)行比較 將比較結(jié)果壓入邏輯堆棧; 將比較結(jié)果與棧頂元素進(jìn)行邏輯“與”運(yùn)算; 將比較結(jié)果與棧頂元素進(jìn)行邏輯“或”運(yùn)算; 比較運(yùn)算符:==、>、<、>=、<=、!= 1022 CompareWord C ompare dWor dLD (); ComparedWordAND〇 ; ComparedWordOR(); 將兩個字的數(shù)值進(jìn)行比較 將比較結(jié)果壓入棧頂; 將比較結(jié)果與棧頂元素進(jìn)行邏輯“與”運(yùn)算; 將比較結(jié)果與棧頂元素進(jìn)行邏輯“或”運(yùn)算; 比較運(yùn)算符:==、>、<、>=、<=、!= 1023 Move MoveByte(); Move Word(); MoveD Word〇 ; 按字節(jié)賦值 按字賦值 按雙字賦值 1024 Timer TIMER 定時功能:用于設(shè)定輸出信號的延遲時間, 當(dāng)延遲時間到達(dá)到所設(shè)定的值時能流通過 1025 Counter COUNTER 計(jì)數(shù)功能:用于對脈沖信號進(jìn)行計(jì)數(shù),當(dāng)脈 沖數(shù)等于所設(shè)定值時能流通過 下面以基本指令函數(shù)ReadlnBitG和功能指令函數(shù)COUNTER為例,說明他 們的具體實(shí)現(xiàn):(1) ReadInBit()讀輸入位指令是最常用的指令之一,當(dāng)軟PLC系統(tǒng)執(zhí)行LD指令時會調(diào)用 ReadInBit〇函數(shù)。首先它按照參數(shù)訪問I/O存儲區(qū)域,通過字節(jié)號查詢到該位軟 元件所在的單元地址,然后查找位號讀取該位當(dāng)前狀態(tài),將其壓入邏輯堆棧。具 體實(shí)現(xiàn)代碼如下:ReadInBit(char Channel [no]){bool bitno =false; //清 “0”ReadBit(Channel[no], bitno); //讀取操作數(shù)(位)狀態(tài)pb—stackarea ->push(bitno); //壓入邏輯堆棧(2) COUNTER西門子PLC計(jì)數(shù)器按計(jì)數(shù)方式的不同分為:加計(jì)數(shù)器、減計(jì)數(shù)器以及加/減 計(jì)數(shù)器。本文COUNTER采用遞減方式計(jì)數(shù),當(dāng)當(dāng)前值減為“0”時計(jì)數(shù)器完成 計(jì)數(shù)功能。梯形圖指令中的計(jì)數(shù)器如圖3.9所示。軟PLC為COUNTER類分配了存儲區(qū)域m_counterAREA[]來保存計(jì)數(shù)器的 預(yù)設(shè)倌和狀杰信息。計(jì)數(shù)器執(zhí)行函數(shù)的運(yùn)行流稈如圖3.9所示。當(dāng)計(jì)數(shù)器的狀杰 位Curcondition[0]=FALSE (可計(jì)數(shù)狀態(tài))且Reset=0時,檢測到上升沿脈沖信號 輸入時,計(jì)數(shù)器的當(dāng)前值m_CurValue減1。當(dāng)m_CurValue= 0時計(jì)數(shù)標(biāo)志位置 “1”,完成計(jì)數(shù)。若Curcondition[0]=TRUE(不可計(jì)數(shù)狀態(tài)),則以預(yù)設(shè)值m_PV 初始化計(jì)數(shù)器,并使計(jì)數(shù)標(biāo)志位置“0”,未完成計(jì)數(shù)。 計(jì)數(shù)器功能的實(shí)現(xiàn)代碼如下:{ int bitno =(C_No%8-l); //確定軟兀件所在位號 char flagC=0x01;if(Curcondition[0]==TRUE) //判斷計(jì)數(shù)器的狀態(tài) {if(Lastcondition[l]== TRUE){ m_CurValue=m_PV; } //計(jì)數(shù)器值復(fù)位 flagC=!(0x01« bitno);m_counterAREA[C_No/8]&=flagC;// 計(jì)數(shù)標(biāo)志位置 “0”}else //可計(jì)數(shù)狀態(tài){ if((m_CurValue!=0)&&(!Lastcondition[l])&&Curcondition[l]) {m_Cur Value--;}//有上升沿脈沖信號輸入計(jì)數(shù)值自減if(m_CurValue==〇y/判斷計(jì)數(shù)器的當(dāng)前值{flagC=! (0x01« bitno);m_counterAREA[C_N〇 /8]卜 flagC; //完成計(jì)數(shù)功能}else{flagC=!(0x01« bitno);m_counterAREA[C_No/8]&= flagC;//未完成計(jì)數(shù)功能}}}3. 4. 3軟PLC指令的尋址(1)軟PLC指令尋址格式軟PLC指令函數(shù)是通過尋址函數(shù)獲取操作數(shù)及其地址信息的。對于簡單數(shù) 據(jù)軟PLC運(yùn)行系統(tǒng)提供按位(bit)、字節(jié)(Byte)的尋址方式,對于復(fù)雜數(shù)據(jù)按 字(W)、雙字(DW)方式進(jìn)行尋址。尋址時首先指定數(shù)據(jù)存儲區(qū)域,接著指定存儲 的輸入、輸出標(biāo)識,最后指定所在字、字節(jié)以及位地址。例如:尋址“LI4.3” 表示對應(yīng)I/O端子的數(shù)據(jù)存儲在本地通訊存儲區(qū)的輸入映像區(qū),其中“L”代表 數(shù)據(jù)的存儲區(qū)域,“I”代表存儲在輸入映像寄存區(qū),“4”代表數(shù)據(jù)所在字節(jié)編號, 表示取位操作符,“3”代表所取元素所在字節(jié)中的位號。由于CPU —次至少能處理8位,所以對于按字節(jié)、字、雙字尋址,軟PLC米用了頭部尋址加尾部尋址的統(tǒng)一尋址格式。編址格式見圖3.12。米用統(tǒng)一尋址 可避免因外部I/O采集裝置的改變而對用戶程序的接口函數(shù)進(jìn)行修改,通過尋址 能夠智能獲取數(shù)據(jù)。圖3.13給出了軟PLC按字節(jié)的尋址方式。 r \ 區(qū)域標(biāo)識符 輸入輸出標(biāo)識符 尋址類型 字節(jié)編號 (L,R, T,A,P,C) (i,Q) (B,W,DW) 15 0 參數(shù)信息:L,R,T,A,P,C分別為PLC數(shù)據(jù)在內(nèi)存中的存儲區(qū)域I-輸入映像區(qū)Q-輸出映像區(qū)B-按字節(jié)尋址W-按字尋址DW-按雙字尋址(2)軟PLC指令尋址函數(shù)實(shí)現(xiàn)每種尋址方式都有對應(yīng)的尋址函數(shù),如:按位尋址函數(shù)ReadBitG、按字節(jié) 尋址函數(shù)ReadByte〇、按字尋址函數(shù)ReadWord(),它們共同完成向PLC指令函 數(shù)提供操作數(shù)的任務(wù)。按位尋址函數(shù)ReadBitG的部分實(shí)現(xiàn)代碼如下:{ char * chr_point;chr_point=strchr(address,將指針指向字符串中所在位號 switch(address[0]) //判斷軟邏輯存儲區(qū)域{case 'L':switch(address「ll) //判斷輸入還是輸出映像區(qū) { case T:CurrentBitStatus(m SercosBuffer.m SercosToPLCBufFer.m ulSercosToPLC[atoi(address+2)],atoi(chr_point+l),bitbool);break;case 'Q':…}CurrentBitStatus(unsigned char Channelno, int bitno,bool &bitstatus) //判斷當(dāng)前 輸入位狀態(tài){ char flagbit=0x01; flagbit «=bitno;if((flagbit & Channelno) == flagbit)//判斷當(dāng)前位狀態(tài)是否為 “ 1 ” bitstatus =tme; elsebitstatus =false;}3. 5本章小結(jié)本章通過分析軟PLC運(yùn)行系統(tǒng)的工作原理,劃分了軟PLC運(yùn)行系統(tǒng)的任務(wù) 組成,給出了各模塊的執(zhí)行流程圖以及部分實(shí)現(xiàn)代碼,結(jié)合直接方式和間接方式 調(diào)度的優(yōu)點(diǎn)實(shí)現(xiàn)了軟PLC系統(tǒng)多任務(wù)之間的調(diào)度,并對軟PLC存儲系統(tǒng)、指令 系統(tǒng)以及尋址方式進(jìn)行了設(shè)計(jì),給出了典型的基本指令和功能指令的實(shí)現(xiàn)函數(shù), 基本上實(shí)現(xiàn)了軟PLC運(yùn)行系統(tǒng)的功能。本文采摘自“五軸精工加工中心軟PLC控制系統(tǒng)的研究”,因?yàn)榫庉嬂щy導(dǎo)致有些函數(shù)、表格、圖片、內(nèi)容無法顯示,有需要者可以在網(wǎng)絡(luò)中查找相關(guān)文章!本文由海天精工整理發(fā)表文章均來自網(wǎng)絡(luò)僅供學(xué)習(xí)參考,轉(zhuǎn)載請注明!
留言列表
發(fā)表留言
◎歡迎參與討論,請?jiān)谶@里發(fā)表您的看法、交流您的觀點(diǎn)。

风流老熟女一区二区三区| 大号bbvvbbw高潮| 国产在线视频| fc2成年免费共享视频| 好男人www在线影院| 攻调教受扩张尿孔折磨失禁文| 丝袜 中出 制服 人妻 美腿| 女学生被躁到高潮免费视频| 无码人妻精品一区二区三区99性| 久久精品国产欧美日韩| 国产真人无码作爱免费视频APP | 巴巴在线电影| 我的性奴的肉玩具1一17心奴| 国产一区二区精品久久岳| jizzjizz欧美69巨大| 国产sm主人调教女m视频| 豆国产96在线 | 亚洲| 国产成人精品视频a片西瓜视频| 处破初破苞一区二区三区| 狠狠色婷婷久久综合频道毛片 | 无码国产精品成人午夜视频| 好爽毛片一区二区三区四无码三飞| 国产精品白浆无码流出| 性bbwbbwbbwbbw| 亚洲国产精品无码久久久久高潮| 欧美男男猛男gayxxx| 麻豆一区二区三区精品视频| 久久精品无码av| 美女视频黄是免费| 欧美free性xxxx护士hd| 实拍各种胸走光见奶头| 坐在办公椅上悄悄做的运动| 局长含着秘书的小奶头| 国产美女精品一区二区三区| 色欲午夜无码久久久久久| 亚洲春色av无码专区456| 中文字幕乱码亚洲∧v日本1| 亚洲色欲色欲大片www无码| 日产精品一卡2卡三卡4乱码| 搡bbbb搡bbb搡| 无码人妻丰满熟妇区96|