可編程控制器及其外圍裝置、以及可編程控制器的表數(shù)據(jù)訪問程序的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種可編程控制器及其外圍裝置、以及可編程控制器的表數(shù)據(jù)訪問程序。
【背景技術(shù)】
[0002]可編程控制器按照由用戶創(chuàng)建的定序程序,對內(nèi)部所具有的設(shè)備數(shù)據(jù)進(jìn)行讀/寫。由此,例如,進(jìn)行與可編程控制器連接的繼電器、開關(guān)、傳感器等輸入裝置的狀態(tài)獲取,另外,進(jìn)行致動器、閥等輸出裝置的控制。設(shè)備數(shù)據(jù)中例如還儲存有產(chǎn)品的尺寸和顏色等配方數(shù)據(jù)、每種產(chǎn)品的生產(chǎn)個數(shù)、不合格品個數(shù)等業(yè)績數(shù)據(jù)。因此,運用者通過以從配方數(shù)據(jù)中獲取在輸入輸出裝置的控制中所需的數(shù)據(jù)的方式,創(chuàng)建定序程序,從而能夠靈活地進(jìn)行產(chǎn)品的變更。另外,如果以將控制結(jié)果作為業(yè)績數(shù)據(jù)進(jìn)行儲存的方式創(chuàng)建定序程序,則還能夠容易地進(jìn)行與生產(chǎn)相關(guān)的部件的庫存管理等。
[0003]通常,配方數(shù)據(jù)及業(yè)績數(shù)據(jù)等數(shù)據(jù)利用以CSV (Comma Separated Values)為代表的2維數(shù)據(jù)表(以下稱為“表”)形式,保存在可編程控制器內(nèi),以便于上級的計算機系統(tǒng)進(jìn)行處理??删幊炭刂破鳛榱嗽L問這些數(shù)據(jù),必須將這些數(shù)據(jù)讀取至設(shè)備存儲器上。為了對表內(nèi)的要素即表數(shù)據(jù)(配方數(shù)據(jù)及業(yè)績數(shù)據(jù)等)唯一地進(jìn)行確定,對表的行(Column)編號和列(Row)編號進(jìn)行指定即可。但是,由于在設(shè)備存儲器中不存在行和列的概念,表數(shù)據(jù)是連續(xù)地配置于設(shè)備存儲器上的,因此在可編程控制器對設(shè)備存儲器上的設(shè)備數(shù)據(jù)進(jìn)行訪問時,必須對設(shè)備地址進(jìn)行計算。
[0004]因此,當(dāng)前,提出了下述技術(shù),即,在可編程控制器中,也能夠?qū)維數(shù)據(jù)作為2維表的數(shù)據(jù)進(jìn)行處理(例如專利文獻(xiàn)I)。在這里,首先,針對每個表,對具有表識別編號、表行數(shù)、表列數(shù)以及表起始設(shè)備地址的表定義命令進(jìn)行定義。然后,將2維表的數(shù)據(jù)上的行編號及列編號作為自變量進(jìn)行使用,通過對作為讀取對象的要素進(jìn)行指定的表要素讀取命令,從I維數(shù)據(jù)中,對要素進(jìn)行提取。此時,關(guān)于讀取對象要素的設(shè)備地址,使用表定義命令的起始設(shè)備地址及表列數(shù)、和表要素讀取命令的行編號及列編號,對設(shè)備存儲器上的讀取對象要素的設(shè)備地址進(jìn)行計算。
[0005]專利文獻(xiàn)1:日本特開2010 - 198132號公報
【發(fā)明內(nèi)容】
[0006]但是,在專利文獻(xiàn)I所記載的可編程控制器中,在對表數(shù)據(jù)中的讀取對象要素進(jìn)行讀取的情況下,需要將表數(shù)據(jù)讀取至設(shè)備存儲器上的工序、和在設(shè)備存儲器上對讀取對象要素進(jìn)行檢索的工序這2個工序。因此,存在下述問題,S卩,對讀取對象要素進(jìn)行檢索比較花費時間。另外,設(shè)備存儲器需要具有能夠?qū)Ρ頂?shù)據(jù)進(jìn)行讀取的存儲容量,成為可編程控制器的制造成本增加的主要原因。
[0007]本發(fā)明就是鑒于上述情況而提出的,其目的在于,得到一種在從數(shù)據(jù)庫讀取數(shù)據(jù)時,與當(dāng)前相比能夠削減從數(shù)據(jù)庫進(jìn)行讀取的工序數(shù)的可編程控制器和可編程控制器的表數(shù)據(jù)訪問程序。另外,本發(fā)明的目的還在于,得到一種外圍裝置,該外圍裝置能夠?qū)ι鲜隹删幊炭刂破鞯某绦蜻M(jìn)行編程。
[0008]為了實現(xiàn)上述目的,本發(fā)明所涉及的可編程控制器的特征在于,具有:命令執(zhí)行單元,其依次執(zhí)行用戶程序中的多個命令;數(shù)據(jù)庫儲存單元,其對數(shù)據(jù)庫進(jìn)行儲存,該數(shù)據(jù)庫以表形式對在所述命令執(zhí)行單元的處理中使用的數(shù)據(jù)進(jìn)行保存;數(shù)據(jù)庫查詢用命令生成單元,其在所述命令中包含向所述數(shù)據(jù)庫的訪問用命令的情況下,將所述訪問用命令變換為通過數(shù)據(jù)庫查詢語言而實現(xiàn)的數(shù)據(jù)庫查詢用命令;以及數(shù)據(jù)庫管理單元,其對所述數(shù)據(jù)庫儲存單元中的所述數(shù)據(jù)庫進(jìn)行訪問,對由所述數(shù)據(jù)庫查詢用命令指定的數(shù)據(jù)進(jìn)行獲取。
[0009]發(fā)明的效果
[0010]根據(jù)本發(fā)明,由于通過數(shù)據(jù)庫查詢用命令生成單元,將針對數(shù)據(jù)庫的訪問用命令變換為通過數(shù)據(jù)庫查詢語言實現(xiàn)的數(shù)據(jù)庫查詢用命令,利用數(shù)據(jù)庫管理單元,對數(shù)據(jù)庫儲存單元中的數(shù)據(jù)庫進(jìn)行訪問,獲取由數(shù)據(jù)庫查詢用命令指定的數(shù)據(jù),通過END命令處理單元,在用戶程序中的END命令處理時,獲取到的數(shù)據(jù)被寫入至用戶數(shù)據(jù)存儲單元的由訪問用命令指定的地址中,因此具有下述效果,即,在利用可編程控制器從數(shù)據(jù)庫讀取數(shù)據(jù)時,與當(dāng)前相比,能夠削減從數(shù)據(jù)庫進(jìn)行讀取的工序數(shù)。
【附圖說明】
[0011]圖1是示意性地表示實施方式I所涉及的可編程控制器的功能結(jié)構(gòu)的框圖。
[0012]圖2是不意性地表不程序存儲部的結(jié)構(gòu)的圖。
[0013]圖3是表示數(shù)據(jù)庫的一個例子的圖。
[0014]圖4是表示DB_0PEN命令的內(nèi)容的一個例子的圖。
[0015]圖5是表示DB_SELECT命令的內(nèi)容的一個例子的圖。
[0016]圖6是表示DB_CL0SE命令的內(nèi)容的一個例子的圖。
[0017]圖7是表示梯形圖程序中的數(shù)據(jù)庫讀取指示的一個例子的圖。
[0018]圖8是表示可編程控制器的整體處理的步驟的一個例子的流程圖。
[0019]圖9是表示數(shù)據(jù)庫訪問用命令的執(zhí)行處理的步驟的一個例子的流程圖。
[0020]圖10是示意性地表示數(shù)據(jù)庫訪問用命令的處理的情況的圖。
[0021]圖11是表示根據(jù)數(shù)據(jù)庫訪問用命令而生成數(shù)據(jù)庫查詢用命令的處理的一個例子的圖。
[0022]圖12是表示END處理時的完成確認(rèn)處理的步驟的一個例子的流程圖。
[0023]圖13是示意性地表示實施方式2所涉及的可編程控制器的功能結(jié)構(gòu)的框圖。
[0024]圖14是表示實施方式2所涉及的數(shù)據(jù)庫訪問用設(shè)定信息的內(nèi)容的一個例子的圖。
[0025]圖15是表示實施方式2所涉及的數(shù)據(jù)庫讀取指示的用戶程序的一個例子的圖。
[0026]圖16是表示根據(jù)數(shù)據(jù)庫訪問用設(shè)定信息而生成數(shù)據(jù)庫查詢用命令時的命令變換信息的一個例子的圖。
[0027]圖17是示意性地表示從與網(wǎng)絡(luò)連接的其他可編程控制器讀取數(shù)據(jù)的情況的圖。
[0028]圖18是示意性地表示工程設(shè)計工具的功能結(jié)構(gòu)的一個例子的框圖。
【具體實施方式】
[0029]下面,參照附圖,對本發(fā)明所涉及的可編程控制器及其外圍裝置、以及可編程控制器的表數(shù)據(jù)訪問程序的優(yōu)選實施方式進(jìn)行詳細(xì)說明。此外,本發(fā)明不限定于這些實施方式。
[0030]實施方式I
[0031]圖1是示意性地表示實施方式I所涉及的可編程控制器的功能結(jié)構(gòu)的框圖??删幊炭刂破?0具有:用戶程序存儲部11 ;用戶數(shù)據(jù)存儲部12,其作為用戶數(shù)據(jù)存儲單元;數(shù)據(jù)庫儲存部13,其作為數(shù)據(jù)庫儲存單元;系統(tǒng)程序存儲部14 ;運算部15 ;系統(tǒng)數(shù)據(jù)存儲部16,其作為系統(tǒng)數(shù)據(jù)存儲單元。
[0032]用戶程序存儲部11對可編程控制器10所執(zhí)行的梯形圖程序等用戶程序進(jìn)行存儲。圖2是示意性地表示程序存儲部的結(jié)構(gòu)的圖。用戶程序111是多個命令111 - Ulll -2、…、111 一 E的集合。假設(shè)該命令111 一 1、111 一 2、…、111 一 E中包含對數(shù)據(jù)庫進(jìn)行訪問的數(shù)據(jù)庫訪問用命令。在命令中,存在進(jìn)行程序執(zhí)行處理的通常的命令111 - Ulll -2、...,和在用戶程序111的最后執(zhí)行的END命令111 一 E0此外,數(shù)據(jù)庫訪問用命令在后面敘述。用戶程序存儲部 11 由 ROM (Read Only Memory)或 EEPROM (Electrical Iy ErasableROM)等非易失性存儲裝置構(gòu)成。
[0033]用戶數(shù)據(jù)存儲部12是對在用戶程序的執(zhí)行時使用的數(shù)據(jù)進(jìn)行存儲的設(shè)備存儲器。用戶數(shù)據(jù)存儲部12具有:檢索條件儲存區(qū)域121,其對在執(zhí)行數(shù)據(jù)庫訪問用命令時所需的檢索條件等進(jìn)行儲存;以及備份區(qū)域122,其是在執(zhí)行用戶程序時暫時對數(shù)據(jù)進(jìn)行備份的區(qū)域。在檢索條件儲存區(qū)域121中,對數(shù)據(jù)庫的儲存位置、和將要獲取的數(shù)據(jù)的檢索條件進(jìn)行儲存,該數(shù)據(jù)庫具有將要獲取的數(shù)據(jù)。該檢索條件由用戶經(jīng)由未圖示的工程設(shè)計工具而預(yù)先進(jìn)行設(shè)定。這些儲存位置和檢索條件是后述的數(shù)據(jù)庫訪問用命令的自變量。在備份區(qū)域122中,對數(shù)據(jù)庫查詢用命令的執(zhí)行結(jié)果進(jìn)行儲存。作為用戶數(shù)據(jù)存儲部12,能夠使用 DRAM (Dynamic Random Access Memory)或 SRAM(Static RAM)等。
[0034]數(shù)據(jù)庫儲存部13例如對產(chǎn)品的尺寸和顏色等配方數(shù)據(jù)、每種產(chǎn)品的生產(chǎn)個數(shù)、不合格品個數(shù)之類的業(yè)績數(shù)據(jù)等的數(shù)據(jù)庫進(jìn)行儲存。數(shù)據(jù)庫由2維的表數(shù)據(jù)構(gòu)成。圖3是表示數(shù)據(jù)庫的一個例子的圖。在這里,例示出針對每一個產(chǎn)品種類而規(guī)定了尺寸的產(chǎn)品尺寸表。列O中儲存有對產(chǎn)品進(jìn)行識別的產(chǎn)品編號,列I?3中分別儲存有產(chǎn)品的長度、寬度、高度。行O?行4中儲存各產(chǎn)品的記錄。數(shù)據(jù)庫儲存部13是輔助存儲裝置,由閃存存儲器、硬盤等非易失性存儲裝置構(gòu)成。
[0035]系統(tǒng)程序存儲部14對運算部15執(zhí)行的系統(tǒng)