国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      組態(tài)編程控制法的制作方法

      文檔序號:6412440閱讀:440來源:國知局
      專利名稱:組態(tài)編程控制法的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明提供一種計算機(jī)對開關(guān)量控制方面的編程方法。
      目前工業(yè)控制領(lǐng)域,對開關(guān)量控制方面,大量使用的是可編程控制器(PLC)。其最大優(yōu)勢在于其編程語言相對于以匯編語言或其它高級語言編程的工業(yè)控制機(jī),編程方法簡單易學(xué)。目前大多數(shù)可編程控制器廠家采用梯形圖語言(如日本的三菱電機(jī),立石,日立,東芝,三洋,安川等,美國的GOULD,MODICON,SQUARED,AB,德國的SIEMENS)它基本繼承了原繼電器控制中的工業(yè)流程圖符號,便于具有繼電器電路設(shè)計的人員學(xué)習(xí)。但其編程和調(diào)試方式仍不夠簡化。使用梯形圖符號一般需在有CRT的系統(tǒng)PC機(jī)上運(yùn)行,便攜式編程器要用英文字符為標(biāo)識符的特定語句。對于一個非電專業(yè)人員并非拿起就可用。尤其當(dāng)前可編程控制器對用戶控制程序執(zhí)行方式為整體掃描,不能象通常以匯編語言或其他高級語言編程的工業(yè)控制機(jī)那樣實(shí)時的進(jìn)行控制,尤其在用戶程序較大時,相對速度慢一個數(shù)量級,對于要求速度高的控制對象,只能對可編程控制器硬件提出更高要求,進(jìn)而提高成本。而且其編程工具價格昂貴,僅以價格相對低的韓國三星可編程控制器為例,其便攜式編程器價格也在千元人民幣以上。
      本發(fā)明針對目前梯形圖輸入不夠理想而產(chǎn)生,它只需設(shè)計人員對開關(guān)量控制對象需要控制的各種動作狀態(tài)和時序有了解,即可進(jìn)行組態(tài)編程,無需邏輯推理,且在控制中對用戶程序不是整體掃描式,具有匯編語言的實(shí)時快速響應(yīng)和價格極低的編程器配置。
      首先對控制對象按其工作時序分成步(編程時對應(yīng)為行),就現(xiàn)場控制而言,在任一步都有對應(yīng)不同輸入而輸出不同的情況,將規(guī)定有效的輸出狀態(tài)和對應(yīng)所有的輸入狀態(tài)的各種組合或只對規(guī)定有效輸出起作用的輸入狀態(tài)的組合,在同一行號下形成一一并列的句,組成一行,每一組輸入狀態(tài)組合和對應(yīng)輸出狀態(tài)為一并列句,每一并列句由下列因素組成(以一個16點(diǎn)輸入,8點(diǎn)輸出,并含有16個按鍵輸入控制為例)[行號],[只要輸入標(biāo)志],[輸入1],[輸入2],[只要輸入],[輸出],[按鍵號],[跳轉(zhuǎn)行號],[循環(huán)數(shù)],[標(biāo)志]。其中[行號]表示當(dāng)前行號,占一字節(jié),表示范圍1-255行。[只要輸入標(biāo)志]用一個字節(jié),其值表示當(dāng)前句是否為只要輸入方式編程,當(dāng)其值為0時表示本行為非只要輸入方式,只要輸入方式將在后面談到,現(xiàn)在講解的是非只要輸入方式下的工作方法,[輸入1]表示16個輸入的前8個占一字節(jié),每位對應(yīng)表示一個輸入口狀態(tài),高電平為″1″,對應(yīng)開關(guān)量″合″狀態(tài),低電平為″0″,對應(yīng)開關(guān)量″開″狀態(tài)。[輸入2]表示16個輸入的后8個,其它與[輸入1]意義一樣,占一字節(jié)。[只要輸入]為在[只要輸入標(biāo)志]字節(jié)值為規(guī)定只要輸入標(biāo)志值時,才可使用,當(dāng)[只要輸入標(biāo)志]為0時,[只要輸入]字節(jié)無效,[只要輸入]為一個字節(jié),它的用法在后面將講到,[按鍵號]表示控制過程中從現(xiàn)場輸入的閉合按鍵的按鍵序號(每一個按鍵序號代表一個按鍵,與現(xiàn)場相應(yīng)按鍵的按鍵序列號相對應(yīng))占一字節(jié),現(xiàn)場無鍵按下時,按鍵序號認(rèn)為0,可表示1-255個按鍵序號,一次可表示一個閉合鍵的按鍵序號。[輸出]表示本句應(yīng)輸出的狀態(tài),占一字節(jié),每位的″1″表示高電平,″0″表示低電平即是相應(yīng)輸出狀態(tài)。[跳轉(zhuǎn)行號]占一字節(jié),表示當(dāng)現(xiàn)場輸入滿足并列句的對輸入的要求(包括按鍵輸入),輸出本并列句相應(yīng)[輸出]字節(jié)狀態(tài)后,如[跳轉(zhuǎn)行號]字節(jié)值不為0,則跳轉(zhuǎn)到[跳轉(zhuǎn)行號]字節(jié)值所指示的[行號]行的最開始的并列句開始執(zhí)行,如[跳轉(zhuǎn)行號]字節(jié)值為0,按慣例到本行+1的行的開始并列句上執(zhí)行,[跳轉(zhuǎn)行號]占一字節(jié)可表示1-255行,如其值不為0,還要檢查[循環(huán)數(shù)]字節(jié)值,[循環(huán)數(shù)]占一字節(jié)表示要循環(huán)的次數(shù),值范圍0-255,如其值為0,則表示是無循環(huán),如其值不為0,則要按[跳轉(zhuǎn)行號]字節(jié)值,跳轉(zhuǎn)到相應(yīng)行開始的并列句上去,并以[循環(huán)數(shù)]字節(jié)值為次數(shù)在當(dāng)前句所在行和跳轉(zhuǎn)到的行之間循環(huán),注意[循環(huán)數(shù)]字節(jié)值不為0時,[跳轉(zhuǎn)行號]字節(jié)值不能為0,否則將無意義。
      在控制工作開始后微機(jī)按照時序分成的行(步),順序執(zhí)行,首先檢查[只要輸入標(biāo)志]字節(jié)是否為只要輸入標(biāo)志值,如非只要輸入標(biāo)志值(值為0),則對現(xiàn)場的輸入(包括按鍵輸入),與在當(dāng)前行下的各并列句的[輸入1]和[輸入2]字節(jié)相應(yīng)的狀態(tài)和[按鍵號]字節(jié)值比較,只有在某并列句上述各項(xiàng)輸入與之全部相同,才輸出相應(yīng)[輸出]字節(jié)狀態(tài),當(dāng)遇到與現(xiàn)場輸入不相同,將根據(jù)本句最后[標(biāo)志]字節(jié)表示的狀態(tài),是并列標(biāo)志(包括并列加延允標(biāo)志)還是換行標(biāo)志(包括換行加延允標(biāo)志,上述各種標(biāo)志后面將講到),當(dāng)有并列標(biāo)志時表示本行后面還有并列句,將繼續(xù)在下一并列句繼續(xù)同樣的工作,當(dāng)[標(biāo)志]字節(jié)反應(yīng)的是有換行標(biāo)志時則表示本行到此為至,如還沒找出與現(xiàn)場輸入狀態(tài)完全相同的并列句的輸入則重新返回本行開始,重新輸入現(xiàn)場的狀態(tài),再與當(dāng)前行各并列句[輸入1]和[輸入2]及[按鍵號]比較,這樣反復(fù)比較直到當(dāng)前行下任一并列句的[輸入1]和[輸入2]及[按鍵號]字節(jié)與對應(yīng)的現(xiàn)場輸入狀態(tài)相符,并輸出相應(yīng)[輸出]字節(jié)狀態(tài)為止,然后根據(jù)本句[跳轉(zhuǎn)行號]字節(jié)和[循環(huán)數(shù)]字節(jié)的要求進(jìn)入本行號+1行號的行或跳轉(zhuǎn),循環(huán)。另外[標(biāo)志]字節(jié)還可表示本句輸出的某些位是否有延時或允許(延時指有延時標(biāo)志的輸出位狀態(tài),在輸出后將狀態(tài)保持規(guī)定的時間不變,在這期間新的輸出不能改變它的狀態(tài),當(dāng)延時時間一到立即取反輸出。允許是指有允許標(biāo)志的輸出位狀態(tài),在輸出后保持規(guī)定時間不變,在這期間新的輸出不能改變它的狀態(tài),時間到了也不主動改變而是維持其原狀態(tài),直到其后新的輸出刷新)。用戶編程過程中,在為并列句的[輸出]規(guī)定為延時位或允許位完成輸入時間值時,同時已將有延時或允許的位作了標(biāo)志(即哪些位為延時位或允許位),并將其與相應(yīng)時間值根據(jù)本行[行號]字節(jié)值及當(dāng)前并列句首地址值寫入用戶程序存儲器特定地址中,執(zhí)行時如某并列句[標(biāo)志]字節(jié)有延時或允許狀態(tài),則可根據(jù)其上述特征,找到相應(yīng)[輸出]字節(jié)的延時位和允許位及這些位延時和允許的時間值。如當(dāng)前句為程序的最后一句時,則其[標(biāo)志]可用結(jié)束標(biāo)志表示,程序執(zhí)行完結(jié)束標(biāo)志所在行時(每行程序這些完后,都將檢查當(dāng)前行的最后的并列句的[標(biāo)志]字節(jié)狀態(tài)),將不在繼續(xù)向下進(jìn)行,而是停在此,直到復(fù)位信號重新啟動。注意并不是程序的最后必須用結(jié)束標(biāo)志,可根據(jù)需要來決定,以上[輸入](在這里指[輸入1]字節(jié)和[輸入2]字節(jié)),[只要輸入],[輸出],[按鍵號],[循環(huán)數(shù)],[跳轉(zhuǎn)行號]各項(xiàng)都可以根據(jù)表示數(shù)量的需要而用更多的字節(jié)表示。
      當(dāng)輸入點(diǎn)很多時,將會面臨需要太多的并列句組態(tài),為了方便編程,引入只要輸入方式編程,只要輸入方式有兩種方式,對應(yīng)兩種標(biāo)志,第一種方式意義為當(dāng)前輸入中(包括閉合按鍵的按鍵序號)只要其中幾個輸入都滿足一定要求,則輸出當(dāng)前句[輸出]字節(jié)狀態(tài)而與其它的輸入是什么狀態(tài)無關(guān),第二種意義為當(dāng)前輸入中(包括閉合按鍵的按鍵序號),只要其中有效的幾個輸入中,任何一個輸入狀態(tài)滿足要求即可輸出當(dāng)前句的[輸出]字節(jié)狀態(tài),它們的輸入編程方法為,在當(dāng)前句中先將需要的只要輸入標(biāo)志寫入[只要輸入標(biāo)志]字節(jié)中,然后將有效的幾個輸入將其對應(yīng)[輸入]字節(jié)(指[輸入1],[輸入2]的總稱)中的位狀態(tài)置″1″,其它的[輸入]字節(jié)對應(yīng)位全部置″0″,而在其后的[只要輸入]字節(jié)中,按有效的幾個輸入的序號(即為系統(tǒng)規(guī)定的第幾個輸入)由小到大或由大到小的順序,把它們要求的狀態(tài)順序?qū)懭隱只要輸入]字節(jié)的最低位為起始位的相應(yīng)位中,在[只要輸入]字節(jié)中非對應(yīng)有效輸入位置″0″(當(dāng)[只要輸入]字節(jié)為多個字節(jié)時,仍按有效輸入的序號,由小到大或由大到小順序,將它們要求的狀態(tài)寫入第一個出現(xiàn)在[輸入]字節(jié)后的[只要輸入]字節(jié)最低位為起始位,其它[只要輸入]字節(jié)按其出現(xiàn)在[輸入]字節(jié)后的先后次序,由先到后且每個字節(jié)都以最低位為起始位,順序?qū)懭胂鄳?yīng)狀態(tài)),如有效的輸入中有按鍵輸入時,則在相應(yīng)[按鍵號]字節(jié)中置入相應(yīng)按鍵序號,否則[按鍵號]字節(jié)值為0,表示本并列句的按鍵輸入為非有效輸入。用戶程序執(zhí)行時,如本句為只要輸入方式,則將現(xiàn)場輸入的有效輸入口狀態(tài),按與編程時寫入[只要輸入]字節(jié)狀態(tài)的相同順序和方式寫在微機(jī)中相應(yīng)寄存器或隨機(jī)存儲器中,然后用這些寄存器或存儲器狀態(tài)與相對應(yīng)的[只要輸入]字節(jié)的狀態(tài)相比較,同時還要比較現(xiàn)場輸入的按鍵序號與當(dāng)前并列句中的非0[按鍵號]字節(jié)值,對于第一種只要輸入方式,只有上述全部相同(如本句[按鍵號]字節(jié)值為0,則不參與比較),則輸出當(dāng)前并列句相應(yīng)的[輸出]字節(jié)狀態(tài),對于第二種只要輸入方式為只要任一有效的現(xiàn)場輸入與相對應(yīng)的[只要輸入]字節(jié)位相同,或現(xiàn)場輸入的非0按鍵序號與當(dāng)前并列句中的[按鍵號]字節(jié)值相同,則輸出當(dāng)前句[輸出]字節(jié)的狀態(tài),其它與非只要輸入方式的句,執(zhí)行方式一樣。
      由上述所講,可以看出應(yīng)用組態(tài)編程控制法編程,在工作過程中不是象可編程控制器那樣對用戶程序采用整體掃描方式執(zhí)行,而是象匯編語言所編制的程序那樣逐句實(shí)時執(zhí)行。所以其速度大大提高,尤其在用戶程序較長時更為明顯。而且對控制對象的編程,不再象以前那樣采用一個點(diǎn)一個點(diǎn)的邏輯運(yùn)算,而是只要編程人員記住控制對象的各種輸入和輸出時序狀態(tài)組合,并組態(tài)輸入就可以了。其編程器采用數(shù)碼管顯示,(通過下例可以看出足以完整表達(dá))利用控制器本身處理器(CPU),進(jìn)行編程管理,編程器成本在一百人民幣以下,而且編程鍵盤還可以用于控制過程,作為輸入鍵,附

      圖1所示編程鍵盤圖中的每個按鍵括號中的數(shù)字即為其在控制過程中,作為輸入控制鍵的按鍵序號。
      下面結(jié)合附圖講一下,自己按上述原則所制作的一臺樣機(jī)。更進(jìn)一步講解本發(fā)明的實(shí)施方法。
      附圖1是編程鍵盤圖,括號中的數(shù)字即為在控制過程中,作為輸入鍵對應(yīng)的按鍵序號附圖2是編程時數(shù)碼管圖本樣機(jī)以上面所講的16個輸入,8個輸出,并在工作過程中支持16個按鍵輸入控制為例。把[輸入1],[輸入2],[只要輸入],[輸出],[按鍵號],[跳轉(zhuǎn)行號],[循環(huán)數(shù)],[標(biāo)志]各項(xiàng),分別順序稱它們?yōu)?,2,3,4,5,6,7,8區(qū)。附圖1的1,2,3號數(shù)碼管是在編程過程中顯示[行號]字節(jié)值的,顯示的范圍是1-255,即本機(jī)允許用戶自由編程255行。開機(jī)或復(fù)位時自動指向1行開始處,編程開始首先要置需要的輸入方式在[只要輸入標(biāo)志]字節(jié)中,輸入方法為,當(dāng)每按一次″只要輸入標(biāo)志″鍵時,數(shù)碼管8將變化一次,循環(huán)顯示三種狀態(tài),即非只要輸入方式標(biāo)志數(shù)值″0″,第一種只要輸入方式標(biāo)志數(shù)值″1″和第二種只要輸入方式標(biāo)志數(shù)值″2″。當(dāng)按″置位″鍵在1,2,3,4區(qū),將使5號數(shù)碼管內(nèi)容由″H″變成″L″或由″L″變成″H″,″H″表示高電平,″L″表示低電平,它表示并列句相應(yīng)[輸入](包括[輸入1],[輸入2]),[只要輸入],[輸出]的相應(yīng)字節(jié)位高低狀態(tài)。6號數(shù)碼管表示當(dāng)前位在[輸入],[只要輸入],[輸出]字節(jié)中的位序號,即當(dāng)前5號數(shù)碼管顯示狀態(tài)的位,在它所在[輸入],[只要輸入],[輸出]字節(jié)中的位序號。7號數(shù)碼管表示當(dāng)前置位位(即5號顯示器所顯示狀態(tài)的位)所在的區(qū)號。在1,2,3,4區(qū)按″換位″鍵則6號顯示器值加1,而5號數(shù)碼管則顯示相應(yīng)位狀態(tài),連續(xù)按加至8后再從1開始,這樣可觀察1,2,3,4區(qū)各位狀態(tài),按″置位″鍵則可修改當(dāng)前位狀態(tài)。按″換區(qū)″鍵則改變7號數(shù)碼管內(nèi)容,即改變當(dāng)前區(qū),其它數(shù)碼管也將隨之變成顯示當(dāng)前區(qū)相應(yīng)狀態(tài)。
      5區(qū)為[按鍵號]字節(jié)所在,將在5,6號數(shù)碼管上顯示輸入鍵值,七號數(shù)碼管顯示區(qū)號,按″鍵入鍵″則鍵值+1,范圍1-16,與附圖1鍵盤圖中按鍵括號內(nèi)的按鍵序號相對應(yīng),如果[按鍵號]字節(jié)值為0表示無鍵按下要求。
      6區(qū)為[跳轉(zhuǎn)行號]字節(jié)區(qū),表示當(dāng)本行執(zhí)行完后,下一步要跳轉(zhuǎn)的行號,當(dāng)[跳轉(zhuǎn)行號]字節(jié)值為0時,表示無跳轉(zhuǎn),到當(dāng)前行號值+1的行去執(zhí)行,跳轉(zhuǎn)行號值顯示在4(百),5(十),6(個)號數(shù)碼管上,此時按″+1″或″-1″鍵,則對應(yīng)跳轉(zhuǎn)行號值+1或-1,范圍0-255,七號數(shù)碼管顯示區(qū)號。
      7區(qū)將在4(百),5(十),6(個)號數(shù)碼管上顯示[循環(huán)數(shù)]字節(jié)值,此時按″+1″或″-1″鍵,則對應(yīng)顯示的[循環(huán)數(shù)]字節(jié)值將+1或-1,范圍0-255。為0時表示無循環(huán),七號數(shù)碼管顯示區(qū)號。
      當(dāng)要使用″延時″或″允許″鍵來對輸出的某一位進(jìn)行定義時,一定要7號數(shù)碼管顯示數(shù)值″3″,即必須在3區(qū)即[輸出]字節(jié)區(qū),使6號數(shù)碼管顯示在相應(yīng)輸出位,5號數(shù)碼管顯示要求的狀態(tài),按下″延時″鍵,這時5,6號顯示器上顯示的是當(dāng)前位的原始延時時間值,單位秒,按″+1″或″-1″鍵時將使延時值+1或-1,范圍是0-30秒(樣機(jī)使用),置好時間后,再按″延時″鍵,則恢復(fù)原3區(qū)顯示內(nèi)容,并將當(dāng)前位延時時間值和它的延時位的標(biāo)志寫入EEPROM中相應(yīng)地址。(用戶的程序和延時,允許的位標(biāo)志及時間值放置區(qū)都在EEPROM中)。允許操作與延時操作區(qū)別只在要按″允許″鍵,其它一樣。
      每一并列句的最后一字節(jié)為[標(biāo)志],當(dāng)輸入完當(dāng)前句后,如控制要求其他狀態(tài)句并列于本行則按″并列″鍵,這時5號數(shù)碼管上顯示″-″,表示并列標(biāo)志,同時執(zhí)行寫當(dāng)前句內(nèi)容到EEPR0M操作,當(dāng)本句曾有″延時″或″允許″鍵操作時(時間值不等于0有效),6號數(shù)碼管上將同時顯示″-″,表示并列加延允標(biāo)志狀態(tài),同樣將當(dāng)前句內(nèi)容寫入EEPROM,二秒后行號顯示數(shù)碼管1,2,3號顯示數(shù)據(jù)不變,但返回1區(qū),此時顯示并非原已執(zhí)行寫入操作的剛才一句,而是需要并列的下一句的開始。當(dāng)無需并列句時,可按″換行″鍵,這時5號數(shù)碼管上顯示″P″,表示換行標(biāo)志,同樣將當(dāng)前句內(nèi)容寫入EEPROM,當(dāng)本句曾有″延時″或″允許″鍵操作時(時間值不等于0有效),6號顯示器上同時顯示″-″,表示換行加延允標(biāo)志,同樣將當(dāng)前句內(nèi)容寫入EEPROM,二秒后行號顯示器1,2,3上顯示的行號值+1,指向下一行的開始。當(dāng)本句輸入后整個程序完成,并在本句最后鍵入″結(jié)束″鍵,這時5號數(shù)碼管上顯示″E″,并執(zhí)行寫當(dāng)前句內(nèi)容到EEPROM操作,當(dāng)本句曾有″延時″鍵或″允許″鍵操作時,6號數(shù)碼管將同時顯示″-″,表示結(jié)束加延允標(biāo)志,同樣將當(dāng)前句內(nèi)容寫入EEPROM(由于在完成″延時″鍵和″允許″鍵操作時,已將它們的時間值和相應(yīng)標(biāo)志寫入EEPROM對應(yīng)地址,所以上述操作不包括寫入相應(yīng)內(nèi)容)。
      ″取消本次″鍵按下后,將把當(dāng)前行下,當(dāng)前并列句的當(dāng)前區(qū),新輸入的新數(shù)據(jù)或新狀態(tài)刪除,恢復(fù)本次新輸入前的當(dāng)前區(qū)數(shù)據(jù)和狀態(tài),但在3區(qū)如按[取消本次]鍵時,不在輸入延時或允許的時間狀態(tài)時,則不包括取消已輸入的延時和允許時間值,及相應(yīng)位的″延時″和″允許″標(biāo)志,只是恢復(fù)3區(qū)原始的輸出狀態(tài),當(dāng)正在輸入延時或允許的時間值時,按″取消本次″鍵將恢復(fù)當(dāng)前位原始時間值,而第3區(qū)的輸出狀態(tài)不變,仍為已置入的狀態(tài),以前置入的非當(dāng)前位的延時或允許時間值仍不會改變。
      由于″并列″鍵,″換行″鍵都有寫入EEPROM操作。所以不能用來瀏覽程序。如需要可按″上瀏覽″鍵或″下瀏覽″鍵,可進(jìn)行換并列句和換行,它沒有寫入操作,在換到某一行下的并列句后可查看或修改當(dāng)前句內(nèi)容,有修改則要按″換行″,″并列″或″結(jié)束″鍵,以便把新內(nèi)容寫入EEPROM。但是一定要注意所按鍵,如沒有打算改變8區(qū)標(biāo)志原有狀態(tài),則一定要按與本句8區(qū)標(biāo)志相一致的標(biāo)志鍵,如需修改8區(qū)標(biāo)志字節(jié)內(nèi)容,則必須按兩次相應(yīng)標(biāo)志鍵,按一次時顯示原8區(qū)標(biāo)志,此時如果所按標(biāo)志鍵有誤,可以按″取消本次″鍵,即可恢復(fù)原狀態(tài),如無誤,再按時則可改變此標(biāo)志字節(jié)內(nèi)容,并將當(dāng)前句新內(nèi)容寫入EEPROM。按″上瀏覽″鍵則顯示行值按-1方式顯示行值和行下的各并列句的內(nèi)容。按″下瀏覽″鍵則行值按+1方式顯示行值和行下的各并列句內(nèi)容。
      權(quán)利要求
      1.組態(tài)編程控制法,目的在于簡化開關(guān)量的輸入和輸出控制的編程,本發(fā)明其特征為將開關(guān)量輸入/輸出按時序分成步,每一步對應(yīng)于編程時的行,行號按控制對象的時序由開始到結(jié)束,從1起順序給出,用開關(guān)量可能的兩種狀態(tài),以″合″對應(yīng)高電平,″開″對應(yīng)低電平,進(jìn)行組態(tài),每一行按開關(guān)量在當(dāng)前時序狀態(tài)下的每一起作用的輸入組合和它們對應(yīng)的輸出為一并列句,各句一一在此同一行號下并列起來,組成一個個并列句,每一并列句由下列因素[行號],[只要輸入標(biāo)志],[輸入],[只要輸入],[輸出],[按鍵號],[跳轉(zhuǎn)行號],[循環(huán)數(shù)],[標(biāo)志]組成,[行號]可由一個或多個字節(jié)表示(根據(jù)行號表示數(shù)量的需要),同一行號下的并列句[行號]字節(jié)值一致,[只要輸入標(biāo)志]為一個字節(jié),它表示本句的輸入方式是否為只要輸入方式,當(dāng)非只要輸入方式時,其字節(jié)值為零,同時[只要輸入]項(xiàng)字節(jié)將無效,[只要輸入]項(xiàng)可由一個或多個字節(jié)(多少字節(jié)根據(jù)表示數(shù)量的需要)表示,只要輸入方式的意義在權(quán)利要求2中將講到,[輸入]和[輸出]為按要控制對象輸入和輸出的數(shù)量,規(guī)定相應(yīng)數(shù)量的字節(jié)為[輸入]和[輸出]專用,字節(jié)中的每一位對應(yīng)一個輸入口(指[輸入]字節(jié))或輸出口(指[輸出]字節(jié)),字節(jié)中的每一位以″0″代表低電平,″1″代表高電平,分別對應(yīng)輸入口和輸出口的″開″,″合″狀態(tài),[按鍵號]為一個字節(jié),表示現(xiàn)場輸入按鍵的序號值,它對應(yīng)系統(tǒng)規(guī)定相同序號的按鍵,[跳轉(zhuǎn)行號]表示在執(zhí)行完本句后,如其值不為零,則要到[跳轉(zhuǎn)行號]字節(jié)值指定的行號的行最開始的并列句上去執(zhí)行,如其值為零,進(jìn)入當(dāng)前行號值+1行號的行最開始的并列句上去執(zhí)行,可用一個或多個字節(jié)表示[跳轉(zhuǎn)行號]數(shù)值(多少字節(jié)根據(jù)需要跳轉(zhuǎn)的行號數(shù)值表示的需要),以數(shù)值零代表無跳轉(zhuǎn),[循環(huán)數(shù)]為當(dāng)[跳轉(zhuǎn)行號]字節(jié)值不為零時,[循環(huán)數(shù)]字節(jié)值表示程序要在當(dāng)前行到跳轉(zhuǎn)行之間循環(huán)次數(shù),當(dāng)[跳轉(zhuǎn)行號]字節(jié)值為零時,[循環(huán)數(shù)]字節(jié)將無意義,即必須為零,可用一個或多個字節(jié)表示[循環(huán)數(shù)]項(xiàng)(多少字節(jié)根據(jù)需要循環(huán)數(shù)值表示的需要),這樣不同的行代表不同的時序狀態(tài)下的輸入及對應(yīng)輸出的各種組合,程序執(zhí)行時,首先檢查[只要輸入標(biāo)志]字節(jié),其值為零則表示非只要輸入方式(只要輸入方式將在權(quán)利要求2中講到),在非只要輸入方式下,在當(dāng)前的時序狀態(tài)下,輸入現(xiàn)場的輸入開關(guān)量(包括按鍵輸入),并與已在當(dāng)前行各個并列句存在的各相對應(yīng)[輸入]字節(jié)位和[按鍵號]字節(jié)狀態(tài)逐句比較,不符則重新輸入現(xiàn)場的開關(guān)量,再與當(dāng)前行各并列句中的[輸入]字節(jié)和[按鍵號]字節(jié)內(nèi)容反復(fù)這樣比較,直到找到[輸入]字節(jié)內(nèi)容和[按鍵號]字節(jié)內(nèi)容與相對應(yīng)現(xiàn)場輸入全部相符的并列句,并將此句對應(yīng)[輸出]狀態(tài)輸出,然后檢查[跳轉(zhuǎn)行號]字節(jié),如值為零則指向當(dāng)前行號值+1值的行號的行最開始的并列句執(zhí)行,如[跳轉(zhuǎn)行號]字節(jié)值不為零時,進(jìn)入[跳轉(zhuǎn)行號]字節(jié)值指定行號的行最開始的并列句開始執(zhí)行,如此時[循環(huán)數(shù)]字節(jié)值不為零,控制程序?qū)⒃诋?dāng)前行與[跳轉(zhuǎn)行號]字節(jié)值指定的行之間進(jìn)行[循環(huán)數(shù)]字節(jié)值指定的次數(shù)循環(huán),每一行內(nèi)的每個并列句的最后一個字節(jié)為[標(biāo)志]字節(jié),用來表示并列句和行之間相互關(guān)系和本身狀態(tài)的各種標(biāo)志,如下一句將是下一行的開始應(yīng)用換行標(biāo)志,若是本句之后還有屬于本行的并列句,則標(biāo)志為并列標(biāo)志。同時如本句的[輸出]的某些位有延時狀態(tài)要求(指[輸出]的某些位有延時標(biāo)志,輸出后在經(jīng)過規(guī)定延時時間后這些具有延時標(biāo)志的位對應(yīng)的輸出口狀態(tài)取反輸出,而在規(guī)定時間內(nèi)不受新的輸出的影響而改變)或允許狀態(tài)要求(即在[輸出]的某些位有允許標(biāo)志,被輸出后這些位對應(yīng)輸出口狀態(tài),在規(guī)定時間內(nèi)不受新的輸出的影響,保持狀態(tài)不變,在規(guī)定時間到后不自行改變,而是由新的輸出刷新)則相應(yīng)體現(xiàn)為換行加延允標(biāo)志及并列加延允標(biāo)志,程序執(zhí)行時如當(dāng)前并列句[標(biāo)志]區(qū)含有延允標(biāo)志,則可根據(jù)當(dāng)前行的行號值和本并列句的首地址,找到當(dāng)前并列句[輸出]區(qū)需要延時或允許的位和它們的時間值,在程序的最后一行最后一句的[標(biāo)志]字節(jié),可用結(jié)束標(biāo)志,程序執(zhí)行時,在完成本行工作后,遇到此標(biāo)志,將不在繼續(xù)進(jìn)行,停在那里,直到復(fù)位信號重新啟動,當(dāng)然也有結(jié)束加延允標(biāo)志,注意并不是程序最后必須用結(jié)束標(biāo)志,可根據(jù)需要而定。
      2.根據(jù)權(quán)利要求1所述組態(tài)編程控制法,在使用只要輸入方式時的具體方法為,首先在[只要輸入標(biāo)志]字節(jié)置入規(guī)定值作標(biāo)志,表示本句為只要輸入方式,不需要這種方式時,[只要輸入標(biāo)志]字節(jié)值為零,只要輸入方式有二種方式標(biāo)志,第一種標(biāo)志的只要輸入方式的意義為,當(dāng)所有輸入中(包括現(xiàn)場輸入的按鍵序號),只要其中幾個有效的輸入都滿足一定要求,則輸出本并列句[輸出]字節(jié)狀態(tài),而與其它的輸入是什么狀態(tài)無關(guān),第二種標(biāo)志的只要輸入方式意義為,所有的輸入中(包括現(xiàn)場輸入的按鍵序號),只要其中幾個有效的輸入中的一個輸入狀態(tài)滿足要求,則輸出本句的[輸出]字節(jié)狀態(tài),而與其它的輸入是什么狀態(tài)無關(guān),編程方法為,在當(dāng)前并列句中先將需要的只要輸入方式標(biāo)志置入[只要輸入標(biāo)志]字節(jié)中,然后將有效的幾個輸入將其對應(yīng)[輸入]字節(jié)中的位狀態(tài)置″1″,其余的[輸入]對應(yīng)位全部置″0″,而在其后的[只要輸入]字節(jié)中,按有效的幾個輸入的序號值(即系統(tǒng)規(guī)定的第幾個輸入)由小到大或由大到小的順序,把它們要求的狀態(tài)順序?qū)懭隱只要輸入]字節(jié)的最低位為起始位的相應(yīng)位中,[只要輸入]字節(jié)中非對應(yīng)有效輸入的位置″0″,(當(dāng)[只要輸入]字節(jié)為多個字節(jié)時,仍按有效的輸入的序號,由小到大或由大到小順序,將它們要求的狀態(tài)寫入以第一個出現(xiàn)在[輸入]字節(jié)后的[只要輸入]字節(jié)的最低位為第一起始位,其它[只要輸入]字節(jié)間按其出現(xiàn)在[輸入]字節(jié)后的先后次序,以由先到后的順序,且每個[只要輸入]字節(jié)都以其最低位為本字節(jié)的起始位,按順序?qū)懭胂鄳?yīng)狀態(tài)),如起作用的輸入中有按鍵輸入時,則在[按鍵號]字節(jié)中置入相應(yīng)按鍵序號值,否則[按鍵號]字節(jié)置″0″(表示按鍵輸入為非有效輸入),用戶程序執(zhí)行時,如本句為只要輸入方式,則根據(jù)[輸入]字節(jié)將現(xiàn)場輸入的有效輸入口狀態(tài)(包括現(xiàn)場輸入的非零按鍵序號),按與編程時寫[只要輸入]字節(jié)和[按鍵號]字節(jié)的相同順序和方式,寫在微機(jī)中已規(guī)定與[只要輸入]字節(jié)和[按鍵號]字節(jié)相對應(yīng)的寄存器或隨機(jī)存儲器中,用這些寄存器或存儲器狀態(tài)與并列句中相對應(yīng)的[只要輸入]字節(jié)和[按鍵號]字節(jié)比較,如當(dāng)前并列句的[只要輸入標(biāo)志]字節(jié)值為第一種只要輸入方式標(biāo)志,則只有寄存器或隨機(jī)存儲器中對應(yīng)現(xiàn)場有效輸入口的狀態(tài),與當(dāng)前并列句[只要輸入]字節(jié)的相應(yīng)位狀態(tài)全部相同,如當(dāng)前并列句的[按鍵號]字節(jié)值不等于0,則現(xiàn)場輸入的按鍵序號值也要與之相同,才輸出本并列句相應(yīng)的[輸出]字節(jié)狀態(tài),如為第二種只要輸入方式標(biāo)志,則寄存器或隨機(jī)存儲器中對應(yīng)的現(xiàn)場輸入位狀態(tài)和按鍵序號,只要有一個現(xiàn)場輸入位狀態(tài)與相對應(yīng)的[只要輸入]字節(jié)位狀態(tài)相同,或現(xiàn)場輸入的有效按鍵序號值與并列句中的[按鍵號]字節(jié)值(非零的按鍵序號值)相同,則輸出本并列句的[輸出]字節(jié)狀態(tài),其它處理過程與權(quán)利要求1所講非只要輸入方式的句,執(zhí)行方法一樣。
      全文摘要
      本發(fā)明為組態(tài)編程控制法,目的在于簡化開關(guān)量控制的編程,按控制時序先后,對應(yīng)編程時的行序,同一行下每一起作用的所有輸入狀態(tài)的組合(或只含有效輸入狀態(tài)的組合)和對應(yīng)的輸出,組態(tài)并列成一句,執(zhí)行時反復(fù)輸入現(xiàn)場狀態(tài)與當(dāng)前行下各并列句的相應(yīng)輸入狀態(tài)比較,直到全部相同或要求相同的任一輸入口狀態(tài)或非零按鍵序號相同則輸出當(dāng)前并列句輸出狀態(tài),再按并列句中[跳轉(zhuǎn)行號]字節(jié)值跳轉(zhuǎn)和[循環(huán)數(shù)]字節(jié)值循環(huán),如跳轉(zhuǎn)值為零則進(jìn)入當(dāng)前行號+1的行上去。
      文檔編號G06F19/00GK1183596SQ97120250
      公開日1998年6月3日 申請日期1997年11月7日 優(yōu)先權(quán)日1997年11月7日
      發(fā)明者張新國 申請人:張新國
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1