新四季網

一種可編程控制器的指令表示方法及可編程控制器的製造方法

2023-06-10 12:47:56

一種可編程控制器的指令表示方法及可編程控制器的製造方法
【專利摘要】本發明適用於可編程控制器【技術領域】,提供了一種可編程控制器的指令表示方法,該方法包括:如指令為短邏輯指令,則採用一個16位二進位數表示該邏輯指令,如指令為標準邏輯指令,採用兩個16位二進位數表示該邏輯指令,如指令為功能指令,採用前序部分和後序部分表示該功能指令,其中所述前序部分為一個16位二進位數,所述後續部分具體為,所述功能指令對應的數據類型的值。本發明提供的方法具有指令長度短,指令獲取時間短,執行速度快的優點。
【專利說明】一種可編程控制器的指令表示方法及可編程控制器
【技術領域】
[0001]本發明屬於可編程控制器領域,尤其涉及一種可編程控制器的指令表示方法及可編程控制器。
【背景技術】
[0002]當今流行的可編程控制器(英文全稱:Programmable Logic Controller,英文簡稱:PLC)體系,從誕生到現在已有30多年了,早期的PLC功能比較弱,指令比較簡單,隨著PLC技術的發展,PLC的功能越來越強大,指令也越來越多,但是為了兼容早期的PLC而無法重構PLC的指令系統,只能在原來的基礎上增加補丁,實現新的功能,久而久之,這種補丁就越來越多,使得PLC的指令系統很不合理,執行效率低下,佔用內存較多。
[0003]例如現在常用的三菱的PLC指令系統,三菱的指令系統也是以16位二進位(字)數為單位的,指令描述如下:
[0004]b15b14b13b12 這 4 位的分配:
[0005]其中,
[0006]O-應用指令
[0007]1-P應用指令
[0008]2-LD指令一邏輯位加載指令
[0009]3-LDI指令一邏輯非位加載指令
[0010]4-AND指令一邏輯位與[0011 ] 5-ANI指令一邏輯位非與
[0012]6-0R指令一邏輯位或
[0013]7-0RI指令一邏輯位非或
[0014]8-數據類型標識
[0015]9-數據類型標識
[0016]A-數據類型標識
[0017]B-Pn指令,僅對CJ,CALL有效
[0018]C-OUT指令一邏輯位輸出
[0019]D-SET指令一邏輯位置位
[0020]E-RST指令一邏輯位復位
[0021]F-單字指令;
[0022]共有9條位操作指令;
[0023]b11b10b9b8b7b6b5b4b3b2b1b0-12位的地址,可以表示4096個位地址,地址範圍0x0000?OxOFFF,這4096個位地址分8個區:
[0024]0x0000 ?0x03FF SO ?S999 表示狀態;
[0025]0x0400 ?0x04FF XO ?X377 (8 進位,共 256 位輸入);
[0026]0x0500 ?0x05FF YO ?Y377 (8 進位,共 256 位輸出);[0027]0x0600 ~0x06FF TO ~T255 (定時器狀態位,共 256 個);
[0028]0x0700 ~0x07FF (256 位保留未用);
[0029]0x0800 ~OxODFF MO ~M1535 (中間寄存器共 1536 位);
[0030]OxOEOO ~OxOEFF CO ~C255 (計數器狀態位,共 256 個);
[0031]OxOFOO ~OxOFFF M8000 ~M8255 (中間寄存器,共 256 位)。
[0032]在實現現有技術提供的技術方案中,發現如下問題:
[0033]現有的三菱的指令系統的指令表示方法的指令長度長,從而影響指令獲取時間,降低執行速度。

【發明內容】

[0034]本發明實施例的目的在於提供一種可編程控制器的指令表示方法,旨在解決現有技術可編程控制器的指令長度長,影響指令獲取時間,降低執行速度的問題。
[0035]本發明實施例是這樣實現的,提供一種可編程控制器的指令表示方法,所述方法包括:
[0036]如指令為短邏輯指令,則採用一個16位二進位數表示該邏輯指令,其中所述16位二進位數定義為:b15b14b13b12b11b10b9b8b7b6b5b4b3b2b1b0,b15 為最高位,bQ 為最低位;其中,b15 為該短邏輯指令組的標識,b14b13b12表示變量工作區,bnb10b9b8表示指令代碼,b7b6b5b4b3b2b1b0表示邏輯變量地址,b7b6b5b4表示邏輯變量的字地址,b3b2b1b0表示字中的位地址;
[0037]如指令為標準邏輯指令,採用兩個16位二進位數表示該邏輯指令,其中,第一個16位二進位數中的b15b14為該邏輯指令組的標識,b13表示指令執行狀態,b12bnb10備用,b9b8b7b6b5表不變量工作區代號,!表不指令代碼;第二個16位二進位數中的b15b14b13b12bnb10b9b8b7b6b5b4表示位變量的字地址,b3b2b1b0表示字中的位地址;
[0038]如指令為功能指令,採用前序部分和後序部分表示該功能指令,其中所述前序部分為一個16位二進位數,其中,前序部分的b15b14為該指令組標識,b13表示指令擴展描述標識,b12bnb1(lb9b8表示指令長度,bAbAbAbA表示指令代碼;所述後續部分具體為,所述功能指令對應的數據類型的值。
[0039]可選的,所述功能指令數據類型包括:
[0040]變量地址、字符串和常數。
[0041]可選的,所述功能指令對應的數據類型的值具體包括:
[0042]當為常數時,所述功能指令對應的數據類型的值具體可以為,採用至少二個16位二進位數表示該常數,第一個16位二進位數的b15b14b13b12保留,bnb1(lb9b8b7b6表示變量工作區,b5表示數據類型,b4b3b2b1b0表示變量類型,後續的16位二進位數表示該常數的值;
[0043]當為變量地址時,所述功能指令對應的數據類型的值具體為,採用兩個16位二進位數表示該變量,第一個16位二進位數的b15b14b13b12表示偏移地址指針索引,bnb1(lb9b8b7b6表示變量工作區,b5表示數據類型!表示變量類型;第二個16位二進位數表示變量地址;
[0044]當為字符串時, 所述功能指令對應的數據類型的值具體為,採用至少二個16位二進位數表示該變量,第一個16位二進位數的b15b14b13b12bnb1(lb9b8b7b6b5表示所代表字符串的長度,b4b3b2b1b0表示變量類型;後續的16位二進位數表示字符串的值。[0045]可選的,如所述功能指令具有擴展描述標識,則後序部分還包括:擴展部分,所述擴展部分為一個16位二進位數,其中b15表示指令的執行狀態,b14表示上升沿執行、b13位表示下降沿執行、b12位表示立即執行,bn?Idci保留。
[0046]本發明實施例與現有技術相比,有益效果在於:本發明的技術方案具有指令長度短,指令獲取時間短,執行速度快的優點。
【具體實施方式】
[0047]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,並不用於限定本發明。
[0048]本發明【具體實施方式】提供一種可編程控制器的指令表示方法,該方法具體包括如下:
[0049]如指令為短邏輯指令,則採用一個16位二進位數表示該邏輯指令,其中該16位二進位數定義為:b15b14b13b12b11b10b9b8b7b6b5b4b3b2b1b0,b15 為最高位,bQ 為最低位;其中,b15=0 為該短邏輯指令組的標識,b14b13b12表示變量工作區,bnb10b9b8表示指令代碼,b7b6b5b4b3b2b1b0表示邏輯變量地址,其中,b7b6b5b4表示邏輯變量的字地址,b3b2b1b0表示字中的位地址;
[0050]如指令為標準邏輯指令,採用兩個16位二進位數表示該邏輯指令,其中,第一個16位二進位數中的b15b14為該指令組標識,(具體代碼可以為10),b13表示指令執行狀態,bi2bnb1(l備用,b9b8b7b6b5表不變量工作區代號,bAbAb。表不指令代碼;第二個16位二進位數中的b15b14b13b12bnb10b9b8b7b6b5b4表示邏輯變量的字地址,b3b2b1b0表示字中的位地址;
[0051]如指令為功能指令,採用前序部分和後序部分表示該功能指令,其中該前序部分為一個16位二進位數,其中,16位二進位數中的b15b14為該指令組標識,(具體代碼可以為IDb13表示指令擴展描述標識,(其中具體可以設置成b13=0表示指令沒有擴展描述標識,b13=l表示有擴展描述標識),b12bnb1(lb9b8表示指令長度,bXbAbAbA表示指令代碼;該後續部分具體為,該功能指令對應的數據類型的值。
[0052]具體的數據類型可以分為三種,分別為,變量地址、字符串和常數;
[0053]當為常數時,上述功能指令對應的數據類型的值具體可以為,採用至少二個16位二進位數表示該常數,第一個16位二進位數的b15b14b13b12保留,bnb1(lb9b8b7b6表示變量工作區,b5表示數據類型,表示變量類型,後續的16位二進位數表示該常數的值,例如如果常數為I,則該功能指令對應的數據類型的值為0x0FC4、0x0001。其中Ox表示16進位數。
[0054]當為變量地址時,上述功能指令對應的數據類型的值具體可以為,採用兩位16位二進位數表示該變量,第一個16位二進位數的b15b14b13b12表示偏移地址指針索引,bnb10b9b8b7b6表示變量工作區,b5表示數據類型,(其中,b5=0表示二進位數,b5=l表示BCD數),b4b3b2b1b0表示變量類型;第二個16位二進位數表示變量地址。
[0055]當為字符串時,上述功能指令對應的數據類型的值具體可以為,採用至少二個16位二進位數表不該變量,第一個16位二進位數的b15b14b13b12bnb1(lb9b8b7b6b5表不所代表字符串的長度,b4b3b2b1b0表示變量類型;後續的16位二進位數表示字符串的值。
[0056]可選的,如該功能指令具有擴展描述標識,則後序部分還可以包括:擴展部分,該擴展部分為一個16位二進位數,其中b15表示指令的執行狀態,b14表示上升沿執行、b13位表示下降沿執行、b12位表示立即執行,bn?Idci保留。
[0057]下面通過實際的例子來說明本發明提供方法的具體效果。
[0058]針對本發明的第O類指令(即短邏輯指令組)共有16條:
[0059]LD-邏輯位加載指令
[0060]LD1-邏輯非位加載指令[0061 ] LDP-上升沿邏輯位加載指令
[0062]LDF-下降沿邏輯位加載指令
[0063]AND—邏輯位與
[0064]AN1-邏輯位非與
[0065]ANDP-上升沿邏輯位與
[0066]ANDF-下降沿邏輯位非與
[0067]OR-邏輯位或
[0068]OR1-邏輯位非或
[0069]ORP-上升沿邏輯位或
[0070]ORF-下降沿邏輯位或
[0071]OUT—邏輯位輸出
[0072]SET—邏輯位置位
[0073]RST-邏輯位復位
[0074]RS—RS 觸發器
[0075]所有的邊沿指令(上升沿和下降沿),在三菱PLC中都採用擴展指令方法,歸屬於b15b14b13b12=0的應用指令,指令長度為2個字和本發明的第2類指令相同。
[0076]第O類指令的變量有8個工作區,分別是:1 (相當於三菱的X)、Q (Y)、M、S、W (工作寄存器)、H (掉電保存寄存器)、TS (定時器狀態)、CS (計數器狀態)。每個工作區有256個位變量。
[0077]第2類指令(即標準邏輯指令組)是標準的位變量操作指令,和第O類指令相比,變量工作區增加到32個,指令數可以增加到32條,增加的指令有:
[0078]XOR-邏輯位異或
[0079]NOT—邏輯位非
[0080]R_TRIG—上升沿觸發器
[0081]F_TRIG—下降沿觸發器
[0082]ST-暫存位
[0083]邏輯地址(位變量地址)為16位二進位數或19位二進位數(加上指令標識中的3位備用位),最大可以尋址219=524288位變量,三菱的位變量最大值為1536+4096=5632。所以本發明提供的方法在採用第2類指令時,其位變量的範圍比現有的三菱的位變量的範圍提高了 93倍多。
[0084]第3類指令(即功能指令)是各種可變長度指令的集合,統稱為功能指令,總共可以表示256條指令,這些指令分為幾個大類:
[0085]比較指令如:CMP、GT(>)、QE (>=)、EQ ( = ), LT (<)、LE (<=);[0086]傳送指令如:M0V、BMOV(塊傳送),FMOV, SMOV ;
[0087]算術與邏輯運算如=ADD (加)、SUB (減)、MUL (乘)、DIV (除)、INC (加I)、DEC (減1)、WAND (字與)、W0R (字或)、WX0R (字異或)、NEG (字非);
[0088]循環與位移如:R0R (循環右移)、R0L (循環左移)、RCR (帶進位循環右移)、RCL (帶進位循環左移)、SFTR (位右移)、SFTL (位左移);
[0089]第3類指令很多,還有程序流控制類、數據轉換類、高速信號處理類、浮點數運算類,位置控制類、通訊類、時間運算類等等。
[0090]在三菱PLC的指令系統中,所有的功能指令都是以b15b14b13b12=0 (應用指令)或I(P應用指令)為首的指令,低12位為指令代碼。
[0091]三菱的指令在描述字變量和雙字變量時,其指令長度差很多,如:
[0092]MOV D0D2表示將DO (字-16位)傳送到D2 (字-16位)中,三菱的二進位代碼為:0x0028, 0x8600, 0x8600, 0x8604, 0x8600,共 5 個 16 位二進位字,每個變量 2 個 16 位二進位字,而DMOV D0D2表示將DlDO (雙字-32位)傳送到D3D2 (雙字_32位)中,三菱的二進位代碼為:0x0029, 0x8600,0x8600,0x8000,0x8000,0x8604,0x8600,0x8000,0x8000,共 9 個16位二進位字,每個變量4個16位二進位字,在指令的變量數越多時,三菱的二進位代碼的數量佔用就越多,與本發明提供的方案差別就越大。
[0093]例如:ZCPD0D100D200Y0 三菱二進位代碼為:0x0026, 0x8600, 0x8600, 0x86C8, Ox8600,0x8690,0x8601,0x8400,0x8005,共 9 個 16 位二進位字。
[0094]DZCP D0D100D200Y0 三菱二進位代碼為:0χ00270χ8600, 0x8600,0x8000,0x8000,Ox86C8, 0x8600, 0x8000, 0x8000, 0x8690, 0x8601, 0x8000, 0x8000, 0x8400, 0x8005, 0x8000, Ox8000,共17個16位二進位字。
[0095]在本發明的第3類指令中,這2種指令的長度是一樣的,都是5個16位二進位字,不同的是二進位代碼和助記符,分別表示如下:
[0096]字傳送助記符M0V%DW0%DW2 本發明的二進位碼為:0xC532, 0x088C, 0x0000, 0x088C,0x0002。共5個16位二進位字。
[0097]雙字傳送助記符M0V%DD0%DD2本發明的二進位碼為:0xC532, 0x088F, 0x0000, 0x088F,0x0002。共5個16位二進位字。
[0098]所以本發明提供的方法在多字(32位或32位以上的二進位數)時,能夠減少16位二進位字的數量,所以本發明的技術方案具有指令長度短,指令獲取時間短,執行速度快的優點。
[0099]第3類指令只有在變量是常數時,指令長度才會有變化如:
[0100]M0V#15600%DW2 二進位碼為:0xC532,0x0FC4、0x3CF0, 0x088C, 0x0002,共 5 個 16
位二進位字。
[0101]M0V#15678000%DD2 二進位碼為:0xC632,0x0FC5、0x3A30, OxOOEF, 0x088F, 0x0002,共6個16位二進位字。
[0102]2)字區域比較指令 ZCP%DW0%DW100%DW200%Q0.0 二進位碼為:0xC92C, 0x088C, Ox
0000,0x088C, 0x0064, 0x088C, 0x00C8, 0x0042, 0x0000,共 9 個 16 位二進位字,此時和三菱
的相同。
[0103]雙字區域比較指令ZCP%DD0%DD100%DD200%Q0.0 二進位碼為:0xC92C, 0x088F, 0x0000,0x088F, 0x0064, 0x088F, 0x00C8, 0x0042,0x0000,還是 9 個 16 位二進位字,三菱的是
17個16位二進位字,本發明的技術方案減少了 8個16位二進位字,所以縮短指令長度,指令長度縮短意味著存取指令的時間縮短,執行速度的提高。
[0104]以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的保護範圍之內。
【權利要求】
1.一種可編程控制器的指令表示方法,其特徵在於,所述方法包括: 如指令為短邏輯指令,則採用一個16位二進位數表示該邏輯指令,其中所述16位二進位數定義為:b15b14b13b12b11b10b9b8b7b6b5b4b3b2b1b0,b15為最高位,bQ為最低位;其中,b15為該短邏輯指令組的標識,b14b13b12表示變量工作區,bnb1(lb9b8表示指令代碼,表示邏輯變量地址,b7b6b5b4表示邏輯變量的字地址,b3b2b1b0表示字中的位地址; 如指令為標準邏輯指令,採用兩個16位二進位數表示該標準邏輯指令,其中,第一個16位二進位數中的b15b14為該邏輯指令組的標識,b13表示指令執行狀態,b12bnb1(l備用,b9b8b7b6b5表不變量工作區代號,!表不指令代碼;第二個16位二進位數中的b15b14b13b12bnb10b9b8b7b6b5b4表示邏輯變量的字地址,b3b2b1b0表示字中的位地址; 如指令為功能指令,採用前序部分和後序部分表示該功能指令,其中所述前序部分為一個16位二進位數,其中,前序部分的b15b14為該指令組標識,b13表示指令擴展描述標識,b12bnb10b9b8表示指令長度,b7b6b5b4b3b2b1b0表示指令代碼;所述後續部分具體為,所述功能指令對應的數據類型的值。
2.根據權利要求1所述的方法,其特徵在於,所述功能指令數據類型包括: 變量地址、字符串和常數。
3.根據權利要求2所述的方法,其特徵在於,所述功能指令對應的數據類型的值具體包括: 當為常數時,所述功能指令對應的數據類型的值具體可以為,採用至少兩個16位二進位數表示該常數,第一個16位二進位數的b15b14b13b12保留,bnb10b9b8b7b6表示變量工作區,b5表示數據類型,b4b3b2b1b0表示變量類型,後續的16位二進位數表示該常數的值; 當為變量地址時,所述功能指令對應的數據類型的值具體為,採用兩個16位二進位數表示該變量,第一個16位二進位數的b15b14b13b12表示變量偏移地址指針索引,bnb1(lb9b8b7b6表示變量工作區,b5表示數據類型,b4b3b2b1b0表示變量類型;第二個16位二進位數表示變量地址; 當為字符串時,所述功能指令對應的數據類型的值具體為,採用至少二個16位二進位數表不該變量,第一個16位二進位數的b15b14b13b12bnb1(lb9b8b7b6b5表不所代表字符串的長度,b4b3b2b1b0表示變量類型;後續的16位二進位數表示字符串的值。
4.根據權利要求1所述的方法,其特徵在於, 如所述功能指令具有擴展描述標識,則後序部分還包括:指令擴展描述部分,所述指令擴展描述部分為一個16位二進位數,其中b15表示指令的執行狀態,b14表示上升沿執行、b13表示下降沿執行、b12表示立即執行,bn~Idci保留。
【文檔編號】G05B19/05GK103885377SQ201310412370
【公開日】2014年6月25日 申請日期:2013年9月11日 優先權日:2013年9月11日
【發明者】陳華興 申請人:陳華興

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀