TWI830085B - 通訊周期決定裝置、通訊周期決定方法及通訊周期決定程式產品 - Google Patents

通訊周期決定裝置、通訊周期決定方法及通訊周期決定程式產品 Download PDF

Info

Publication number
TWI830085B
TWI830085B TW110142180A TW110142180A TWI830085B TW I830085 B TWI830085 B TW I830085B TW 110142180 A TW110142180 A TW 110142180A TW 110142180 A TW110142180 A TW 110142180A TW I830085 B TWI830085 B TW I830085B
Authority
TW
Taiwan
Prior art keywords
control program
variable
communication cycle
aforementioned
branch
Prior art date
Application number
TW110142180A
Other languages
English (en)
Other versions
TW202301052A (zh
Inventor
小川知剛
長川大介
Original Assignee
日商三菱電機股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日商三菱電機股份有限公司 filed Critical 日商三菱電機股份有限公司
Publication of TW202301052A publication Critical patent/TW202301052A/zh
Application granted granted Critical
Publication of TWI830085B publication Critical patent/TWI830085B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3005Arrangements for executing specific machine instructions to perform operations for flow control
    • G06F9/30058Conditional branch instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

計數器變數檢索部(121)係由控制程式找到計數器變數。取模運算檢索部(122)係由前述控制程式,找到對前述計數器變數的取模運算。分支指令檢索部(123)係由前述控制程式,找到對前述取模運算的模數的條件分支指令。輸出入變數抽出部(124)係由前述條件分支指令的分支目標區塊抽出輸出入變數。對象機器特定部(125)係特定輸出入所被抽出的輸出入變數的值的對象機器。通訊周期決定部(126)係決定所被特定出的對象機器的通訊周期。

Description

通訊周期決定裝置、通訊周期決定方法及通訊周期決定程式產品
本揭示係關於用以決定藉由控制程式所控制的機器的通訊周期的技術者。
控制系統一般係具備:控制裝置、及對象機器。控制裝置係執行控制程式。控制裝置與對象機器係藉由FA網路而相連接。 FA係工廠自動化的簡稱。
在對象機器係有例如遠端輸入機器及遠端輸出機器等。 遠端輸入機器係將開關的狀態或感測器的狀態輸入至控制裝置。 遠端輸出機器係按照控制機器的輸出來驅動螺線管及燈。 以下若沒有問題,係將遠端輸入機器與遠端輸出機器總括稱為遠端輸出入機器。
此外,控制系統係具備設定裝置。設定裝置係對控制裝置設定例如控制程式或關於FA網路的動作的資訊。資訊係被使用者所輸入。 設定裝置係視需要而連接於控制裝置。
控制程式係記述使用者所希望的控制動作的程式。 在控制程式係排列指定處理的對象、處理結果的輸出目的端及處理的內容的指令列。 在控制機器係連同控制程式一起被供予I/O變數列表。I/O係輸出入的簡稱。 I/O變數係在控制程式內所使用的變數,I/O變數係與遠端輸出入機器相對應。 在I/O變數列表係按每個I/O變數,記載I/O變數、與相對應的遠端輸出入機器。
在FA網路係具有使用分時通訊技術的定周期通訊功能者。 在使用分時通訊技術的定周期通訊功能中,網路的通訊頻寬被分時,且設置具有預先決定的時間長的通訊周期的時框,進行預先決定的內容的通訊。 未進行定周期通訊時,其他種類的通訊可利用網路。 I/O變數的值係使用定周期通訊予以更新。
定周期通訊係由控制程式的執行獨立進行。 在定周期通訊中,由遠端輸入機器所取得的輸入資料被保存在控制裝置的內部的暫時記憶裝置,藉由控制程式,參照該輸入資料的值作為I/O變數的值。此外,藉由控制程式所操作的I/O變數的值係被保存在暫時記憶裝置,且藉由定周期通訊而被送訊至遠端輸出機器。
若定周期通訊的周期比控制程式的假想為過短時,會發生在定周期通訊中,即使來自遠端輸入機器的輸入資料被保存在暫時記憶裝置,控制程式亦不參照輸入資料等現象。此外,發生未藉由控制程式予以操作的輸出資料藉由定周期通訊而被送訊至遠端輸出機器等現象。 如上所示之情形下,雖然控制並未發生不良情形,但是浪費網路頻寬。
另一方面,若實際進行的定周期通訊的周期比控制程式的假想為過長時,會發生控制程式參照舊的I/O變數的值的現象。此外,會發生藉由控制程式***作的I/O變數的值未被反映在遠端輸出機器的現象。 如上所示之情形下,在控制發生不良情形。
因此,定周期通訊的周期係必須設定為配合控制程式的假想的適當的值。 在習知技術中,配合通訊周期來設定控制程式的執行周期。
專利文獻1係揭示伺服系統。 在該伺服系統中,上位裝置與複數伺服放大器以同步型串列通訊手段相連接。在同步型串列通訊手段中,係以一定的通訊周期針對動作指令等進行資料交換。上位裝置係發揮控制裝置的作用。接著,在上位裝置中被執行的運算的周期與通訊周期的1/n倍(n為整數)同步。 [先前技術文獻] [專利文獻]
[專利文獻1]日本特開2008-176673號公報
[發明所欲解決的問題]
控制程式一般以一定周期反復執行。 在控制程式係有包含:每逢執行控制程式即被執行的處理、與控制程式被執行幾次之中僅被執行1次的處理的情形。 若按照控制程式內對I/O變數的處理的執行頻度,對與I/O變數相對應的機器設定適當的通訊周期,以定周期通訊進行交換的資料量即被刪減。 但是,針對I/O變數調查處理的執行頻度,而對與I/O變數相對應的機器設定適當的通訊周期,對使用者而言,負擔較大。
本揭示之目的在對控制程式被執行複數次之中被存取1次的對象機器求出適當的通訊周期。 [用以解決問題的手段]
本揭示的通訊周期決定裝置係具備: 計數器變數檢索部,其係由用以控制1個以上的對象機器的控制程式,找到用以對前述控制程式的執行次數進行計數的計數器變數; 取模運算檢索部,其係由前述控制程式,找到前述計數器變數為被除數、常數為除數的取模運算; 分支指令檢索部,其係由前述控制程式,找到將前述取模運算的模數與常數的一致作為分支條件的條件分支指令; 輸出入變數抽出部,其係由前述條件分支指令的分支目標區塊抽出輸出入變數; 對象機器特定部,其係在前述1個以上的對象機器之中特定被輸出入所被抽出的輸出入變數的值的對象機器;及 通訊周期決定部,其係若被抽出的輸出入變數僅在1個分支目標區塊作存取時,將對前述控制程式的執行周期乘以前述取模運算的除數所得的時間,決定為所被特定出的對象機器的通訊周期。 [發明功效]
藉由本揭示,可對控制程式被執行複數次之中被存取1次的對象機器求出適當的通訊周期。
在實施形態及圖面中,對相同要素或對應的要素係標註相同的符號。標註與已說明的要素相同的符號的要素的說明係適當省略或簡化。圖中的箭號係主要表示資料流程或處理流程。
實施形態1. 根據圖1至圖20,說明控制系統200。
***構成的說明*** 根據圖1,說明控制系統200的構成。 控制系統200的具體例為工廠自動化(FA)。
控制系統200係具備:控制裝置210、1個以上的對象機器220、及設定裝置230。 設定裝置230與控制裝置210係以網路201相連接。 控制裝置210與1個以上的對象機器220係以網路202相連接。網路202係採用分時方式的通訊回線。在控制裝置210與1個以上的對象機器220之間,係保證即時性。在圖1中,控制裝置210與2個對象機器(220A、220B)以菊鏈型相連接,惟控制裝置210與1個以上的對象機器220亦可以樹型或星型等其他形態相連接。 在1個對象機器220係連接感測器221、開關222、燈223及螺線管224等。
控制裝置210係具備:處理器、記憶體、輔助記憶裝置、通訊裝置、及輸出入介面等硬體的電腦。 控制裝置210係按照動作參數來執行控制程式,藉此控制1個以上的對象機器220。
1個以上的對象機器220的各個係藉由控制裝置210予以控制的機器。對象機器220A係被稱為遠端輸入裝置的機器,對象機器220B係被稱為遠端輸出裝置的機器。 對象機器220A係由感測器221與開關222的各個,取得表示狀態的狀態資料,將所取得的狀態資料輸入至控制裝置210。 對象機器220B係按照由控制裝置210被輸入的指令資料,驅動燈223與螺線管224的各個。
設定裝置230係在控制裝置210設定控制程式及動作參數的裝置。具體而言,設定裝置230係作為通訊周期決定裝置100來發揮功能。 通訊周期決定裝置100係決定1個以上的對象機器220的各個的通訊周期。通訊周期係動作參數之一。
根據圖2,說明通訊周期決定裝置100的構成。 通訊周期決定裝置100係具備:處理器101、記憶體102、輔助記憶裝置103、通訊裝置104、及輸出入介面105等硬體的電腦。該等硬體係透過訊號線而彼此相連接。
處理器101係進行運算處理的IC,控制其他硬體。例如,處理器101係CPU。 IC係Integrated Circuit(積體電路)的簡稱。 CPU係Central Processing Unit(中央處理單元)的簡稱。
記憶體102係揮發性或非揮發性的記憶裝置。記憶體102亦稱為主記憶裝置或主記憶體。例如記憶體102為RAM。被記憶在記憶體102的資料係視需要而被保存在輔助記憶裝置103。 RAM係Random Access Memory(隨機存取記憶體)的簡稱。
輔助記憶裝置103係非揮發性的記憶裝置。例如,輔助記憶裝置103係ROM、HDD或快閃記憶體。被記憶在輔助記憶裝置103的資料係視需要被載入於記憶體102。 ROM係Read Only Memory(唯讀記憶體)的簡稱。 HDD係Hard Disk Drive(硬碟驅動機)的簡稱。
通訊裝置104係接收器及發送器。例如,通訊裝置104係通訊晶片或NIC。通訊周期決定裝置100的通訊係使用通訊裝置104來進行。 NIC係Network Interface Card(網路介面卡)的簡稱。
輸出入介面105係連接輸入裝置及輸出裝置的埠。例如,輸出入介面105係USB端子,輸入裝置係鍵盤及滑鼠,輸出裝置係顯示器。通訊周期決定裝置100的輸出入係使用輸出入介面105來進行。 USB係Universal Serial Bus(通用串列匯流排)的簡稱。
處理器101係具備受理部110、決定部120、及設定部130等要素。決定部120係具備:計數器變數檢索部121、取模運算檢索部122、分支指令檢索部123、輸出入變數抽出部124、對象機器特定部125、及通訊周期決定部126等要素。該等要素係以軟體來實現。
在輔助記憶裝置103係記憶有用以作為受理部110、決定部120、及設定部130來使電腦發揮功能的通訊周期決定程式。通訊周期決定程式係被載入於記憶體102,藉由處理器101來執行。 在輔助記憶裝置103係另外記憶有OS。OS的至少一部分係被載入於記憶體102,藉由處理器101來執行。 處理器101係一邊執行OS,一邊執行通訊周期決定程式。 OS為Operating System(作業系統)的簡稱。
通訊周期決定程式的輸出入資料係被記憶在記憶部190。 記憶體102係作為記憶部190來發揮功能。但是,輔助記憶裝置103、處理器101內的暫存器及處理器101內的快取記憶體等記憶裝置亦可取代記憶體102或連同記憶體102一起作為記憶部190來發揮功能。
通訊周期決定裝置100亦可具備替代處理器101的複數處理器。
通訊周期決定程式係可電腦可讀取地記錄(儲存)在光碟或快閃記憶體等非揮發性的記錄媒體。 通訊周期決定程式亦可載入於電腦程式產品(亦僅稱為程式產品)。 電腦程式產品並非侷限於外觀形式之物,為載入有電腦可讀取程式者。
***動作的說明*** 通訊周期決定裝置100的動作的順序係相當於通訊周期決定方法。此外,通訊周期決定裝置100的動作的順序係相當於藉由通訊周期決定程式所為之處理的順序。
根據圖3,說明通訊周期決定方法。 在步驟S110中,受理部110係受理控制程式191、及輸出入變數列表192。 例如,使用者將控制程式191輸入至通訊周期決定裝置100,且受理部110受理所被輸入的控制程式191。
控制程式191係具有如以下所示之特徵。 (1)控制程式191係未違反文法及規約地予以記述。 (2)控制程式191的執行周期係與成為基本的通訊周期相等。將成為基本的通訊周期稱為「定周期通訊周期」,以「T」表示。 (3)控制程式191係在內部未包含無窮迴圈。該特徵(3)係與特徵(2)相關連。 (4)在控制程式191中,分支係由「分支指令」、「開始指令」、及「結束指令」所構成。分支指令係判定分支條件之成否的指令。開始指令意指分支目標區塊的開始。結束指令意指分支目標區塊的結束。 (5)在控制程式191係序列式記述有1個以上的指令。因此,「第n個指令」係單義特定控制程式191之中的一處。「n」係正整數。
輸出入變數列表192係按每個輸出入變數,表示與輸出入變數相對應的對象機器220。 與輸出入變數相對應的對象機器220係被輸出入輸出入變數的值。
在圖4中顯示控制程式191之例。 在控制程式191係排列有指定處理的對象、處理結果的輸出目的端、及處理的內容的指令列。
在圖5中顯示輸出入變數列表192之例。 輸出入變數列表192係按每個輸出入變數,示出輸出入變數、對象機器220、及變數類別之組。 對象機器220之欄係除了對象機器220的名稱之外,示出輸入輸出入變數的值的輸出入介面的名稱。 變數類別係輸出入變數的類別(輸入或輸出)。
在步驟S120中,計數器變數檢索部121係找到控制程式191之中的計數器變數。 計數器變數係用以對控制程式191的執行次數進行計數的變數。
根據圖6及圖7,說明步驟S120的順序。 在步驟S1211中,計數器變數檢索部121係在暫時變數i設定初期值1,在暫時變數f設定初期值0。
在步驟S1212至步驟S1216中,計數器變數檢索部121係使用暫時變數f來判定控制程式191之中的第i個指令是否為僅被執行1次的指令。 分支的開始指令及分支的結束指令並非為僅被執行1次的指令。
在步驟S1212中,計數器變數檢索部121係由控制程式191選擇第i個指令。 接著,計數器變數檢索部121係判定第i個指令是否為分支的開始指令。亦即,計數器變數檢索部121係判定第i個指令是否意指分支目標區塊的開始。 若第i個指令為分支的開始指令,處理係進至步驟S1213。 若第i個指令非為分支的開始指令,處理係進至步驟S1214。
在步驟S1213中,計數器變數檢索部121係在暫時變數f的值加算1。 步驟S1213之後,處理係進至步驟S1214。
在步驟S1214中,計數器變數檢索部121係判定第i個指令是否為分支的結束指令。亦即,計數器變數檢索部121係判定第i個指令是否意指分支目標區塊的結束。 若第i個指令為分支的結束指令,處理係進至步驟S1215。 若第i個指令非為分支的結束指令,處理係進至步驟S1216。
在步驟S1215中,計數器變數檢索部121係由暫時變數f的值減算1。 步驟S1215之後,處理係進至步驟S1216。
在步驟S1216中,計數器變數檢索部121係判定暫時變數f的值是否為0。 若暫時變數f的值為0,處理係進至步驟S1217。 若暫時變數f的值非為0,處理係進至步驟S1241。
在步驟S1217中,計數器變數檢索部121係判定第i個指令是否為加算指令。 若第i個指令為加算指令,處理係進至步驟S1218。 若第i個指令非為加算指令,處理係進至步驟S1241。
在步驟S1218中,計數器變數檢索部121係判定第i個指令是否為變數X與常數的加算指令。變數X為任意變數。 若第i個指令為變數X與常數的加算指令,處理係進至步驟S1221。 若第i個指令非為變數X與常數的加算指令,處理係進至步驟S1241。
在步驟S1221中,計數器變數檢索部121係在暫時變數j設定初期值1。
在步驟S1222中,計數器變數檢索部121係判定第j個指令是否變更變數X的值。 若第j個指令變更變數X的值,處理係進至步驟S1223。 若第j個指令未變更變數X的值,處理係進至步驟S1224。
在步驟S1223中,計數器變數檢索部121係將暫時變數j的值與暫時變數i的值作比較。 若暫時變數j的值與暫時變數i的值相等,處理係進至步驟S1224。 若將暫時變數j的值與暫時變數i的值不同,處理係進至步驟S1241。
在步驟S1224中,計數器變數檢索部121係判定第j個指令是否為控制程式191的最後指令。 若第j個指令為控制程式191的最後指令,處理係進至步驟S1231。 若第j個指令非為控制程式191的最後指令,處理係進至步驟S1225。
在步驟S1225中,計數器變數檢索部121係在暫時變數j的值加算1。 步驟S1225之後,處理係進至步驟S1222。
在步驟S1231中,計數器變數檢索部121係將第i個指令之中的變數X作為計數器變數而追加在計數器變數列表193。
在圖8中顯示計數器變數列表193之例。 計數器變數列表193係示出1個以上的計數器變數。「D1」與「D2」的各個係計數器變數名。
返回至圖7,由步驟S1241繼續說明。 在步驟S1241中,計數器變數檢索部121係判定第i個指令是否為控制程式191的最後指令。 若第i個指令為控制程式191的最後指令,處理即結束。 若第i個指令非為控制程式191的最後指令,處理係進至1242。
在步驟S1242中,計數器變數檢索部121係在暫時變數i的值加算1。 步驟S1242之後,處理係進至步驟S1212。
返回至圖3,繼續說明。 藉由步驟S120,取得計數器變數列表193。 其中,若預先定義有用以將控制程式191的執行次數進行計數的變數,計數器變數檢索部121係該變數亦加在計數器變數列表193。
在步驟S130中,取模運算檢索部122係由控制程式191找到對計數器變數的取模運算。 對計數器變數的取模運算係計數器變數為被除數、常數為除數的取模運算。 取模運算係用以求出模數的運算(指令)。
根據圖9,說明步驟S130的順序。 在步驟S131中,取模運算檢索部122係在暫時變數i設定初期值1。
在步驟S132中,取模運算檢索部122係由控制程式191選擇第i個指令。 接著,取模運算檢索部122係判定第i個指令是否為取模運算。 若第i個指令為取模運算,處理係進至步驟S133。 若第i個指令非為取模運算,處理係進至步驟S136。
在步驟S133中,取模運算檢索部122係判定第i個指令之中的除數P是否為常數。 若第i個指令之中的除數P為常數,處理係進至步驟S134。 若第i個指令之中的除數P非為常數,處理係進至步驟S136。
在步驟S134中,取模運算檢索部122係判定第i個指令之中的被除數是否為計數器變數。 亦即,取模運算檢索部122係判定第i個指令之中的被除數是否為計數器變數列表193所示之變數。 若第i個指令之中的被除數為計數器變數,處理係進至步驟S135。 若第i個指令之中的被除數非為計數器變數,處理係進至步驟S136。
在步驟S135中,取模運算檢索部122係將作為第i個指令的取模運算的資訊追加在模數變數列表194。 具體而言,取模運算檢索部122係將計數器變數(被除數)的名稱與模數變數的名稱與除數與運算位置之組追加在模數變數列表194。 模數變數係代入模數的變數。 運算位置係控制程式191之中的取模運算的位置。設定暫時變數i的值作為運算位置。
在圖10中顯示模數變數列表194之例。 模數變數列表194係示出計數器變數(被除數)、模數變數、除數、及運算位置,作為取模運算的資訊。
返回至圖9,由步驟S136繼續說明。 在步驟S136中,取模運算檢索部122係判定第i個指令是否為控制程式191的最後指令。 若第i個指令為控制程式191的最後指令,處理即結束。 若第i個指令非為控制程式191的最後指令,處理係進至步驟S137。
在步驟S137中,取模運算檢索部122係在暫時變數i的值加算1。 步驟S137之後,處理係進至步驟S132。
返回至圖3,繼續說明。 藉由步驟S130,取得模數變數列表194。
在步驟S140中,分支指令檢索部123係由控制程式191找到對模數的條件分支指令。 對模數的條件分支指令係針對在步驟S130中所找到的取模運算的模數,將模數與常數的一致作為分支條件的條件分支指令。
根據圖11及圖12,說明步驟S140的順序。 在步驟S1411中,分支指令檢索部123係在暫時變數i設定初期值1。
在步驟S1412中,分支指令檢索部123係由模數變數列表194取得第i個資訊。 具體而言,分支指令檢索部123係取得計數器變數名(X)、模數變數名(Y)、除數P、及運算位置J。 接著,分支指令檢索部123係在暫時變數j設定運算位置J作為初期值。
在步驟S1413中,分支指令檢索部123係由控制程式191選擇第j個指令。 接著,分支指令檢索部123係判定第j個指令是否為條件分支指令。 若第j個指令為條件分支指令,處理係進至步驟S1414。 若第j個指令非為條件分支指令,處理係進至步驟S1451。
在步驟S1414中,分支指令檢索部123係判定第j個指令之中的分支條件是否為模數變數Y與常數N的一致。 若第j個指令之中的分支條件為模數變數Y與常數N相一致,處理係進至步驟S1421。 若第j個指令之中的分支條件非為模數變數Y與常數N相一致,處理係進至步驟S1451。
在步驟S1421中,分支指令檢索部123係在暫時變數j的值加算1。
在步驟S1422中,分支指令檢索部123係由控制程式191選擇第j個指令。 接著,分支指令檢索部123係判定第j個指令是否為對在步驟S1413中所找到的條件分支指令的開始指令。 亦即,分支指令檢索部123係判定第j個指令是否意指分支目標區塊的開始。 若第j個指令為對在步驟S1413中所找到的條件分支指令的開始指令,處理係進至步驟S1431。 若第j個指令非為對在步驟S1413中所找到的條件分支指令的開始指令,處理係進至步驟S1421。
在步驟S1431中,分支指令檢索部123係在暫時變數k設定暫時變數j的值。
在步驟S1432中,分支指令檢索部123係在暫時變數j的值加算1。
在步驟S1433中,分支指令檢索部123係由控制程式191選擇第j個指令。 接著,分支指令檢索部123係判定第j個指令是否為對在步驟S1413中所找到的條件分支指令的結束指令。 亦即,分支指令檢索部123係判定第j個指令是否意指分支目標區塊的結束。 若第j個指令為對在步驟S1413中所找到的條件分支指令的結束指令,處理係進至步驟S1441。 若第j個指令非為對在步驟S1413中所找到的條件分支指令的結束指令,處理係進至步驟S1432。
在步驟S1441中,分支指令檢索部123係將模數分支區塊的資訊追加在模數分支區塊列表195。 模數分支區塊係對在步驟S1413中所找到的條件分支指令的分支區塊。 具體而言,分支指令檢索部123係在模數分支區塊列表195中追加計數器變數(被除數)的名稱X、模數變數的名稱Y、除數P、運算位置J、常數N、開始位置k、及結束位置j之組。 常數N係稱為比較常數。 開始位置k係控制程式191之中的分支目標區塊的開始位置。 結束位置j係控制程式191之中的分支目標區塊的結束位置。
在圖13中顯示模數分支區塊列表195之例。 模數分支區塊列表195係示出計數器變數(被除數)、模數變數、除數、運算位置、比較常數、開始位置、及結束位置,作為模數分支區塊的資訊。
返回至圖12,由步驟S1451繼續說明。 在步驟S1451中,分支指令檢索部123係在暫時變數j的值加算1。
在步驟S1452中,分支指令檢索部123係由控制程式191選擇第j個指令。 接著,分支指令檢索部123係判定第j個指令是否為控制程式191的最後指令。 若第j個指令為控制程式191的最後指令,處理係進至步驟S1453。 若第j個指令非為控制程式191的最後指令,處理係進至步驟S1413。
在步驟S1453中,分支指令檢索部123係判定第i個資訊是否為模數變數列表194的最後資訊。 若第i個資訊為模數變數列表194的最後資訊,處理即結束。 若第i個資訊非為模數變數列表194的最後資訊,處理係進至步驟S1454。
在步驟S1454中,分支指令檢索部123係在暫時變數i的值加算1。 步驟S1454之後,處理係進至步驟S1412。
返回至圖3,繼續說明。 藉由步驟S140,取得模數分支區塊列表195。
在步驟S150中,輸出入變數抽出部124係由條件分支指令的分支目標區塊抽出輸出入變數。 此時,輸出入變數抽出部124係判定在分支目標區塊是否有跳越指令。接著,若在分支目標區塊無跳越指令,輸出入變數抽出部124係抽出輸出入變數。
對象機器特定部125係特定與所被抽出的輸出入變數相對應的對象機器220。 所被特定的對象機器220係輸出入所被抽出的輸出入變數的值的對象機器220。
根據圖14及圖15,說明步驟S150的順序。 在步驟S1511中,輸出入變數抽出部124係在暫時變數i設定初期值1。
在步驟S1512中,輸出入變數抽出部124係由模數分支區塊列表195取得第i個資訊。 具體而言,輸出入變數抽出部124係取得計數器變數名(X)、常數N、開始位置、及結束位置。 接著,輸出入變數抽出部124係在暫時變數k設定開始位置,且在暫時變數j設定結束位置。
在步驟S1513中,輸出入變數抽出部124係由控制程式191選擇第k個指令。 接著,輸出入變數抽出部124係判定第k個指令是否為伴隨執行指令跳越的指令。 若第k個指令為伴隨執行指令跳越的指令,處理係進至步驟S1551。 若第k個指令非為伴隨執行指令跳越的指令,處理係進至步驟S1514。
在步驟S1514中,輸出入變數抽出部124係在暫時變數k的值加算1。
在步驟S1515中,輸出入變數抽出部124係將暫時變數k的值與暫時變數j的值相比較。 若暫時變數k的值與暫時變數j的值相等,處理係進至步驟S1521。 若暫時變數k的值與暫時變數j的值不同,處理係進至步驟S1513。
在步驟S1521中,輸出入變數抽出部124係由模數分支區塊列表195取得第i個開始位置。 接著,輸出入變數抽出部124係在暫時變數k設定第i個開始位置。
在步驟S1522中,輸出入變數抽出部124係由控制程式191選擇第k個指令。 接著,輸出入變數抽出部124係判定輸出入變數列表192所示之輸出入變數是否在第k個指令之中包含作為運算元。 若輸出入變數列表192所示之輸出入變數在第k個指令之中包含作為運算元,處理係進至步驟S1531。 若輸出入變數列表192所示之輸出入變數在第k個指令之中未包含作為運算元,處理係進至步驟S1541。
在步驟S1531中,對象機器特定部125係參照輸出入變數列表192,特定與第k個指令之中的輸出入變數相對應的對象機器220。 接著,對象機器特定部125係將模數分支存取目標的資訊追加在模數分支存取目標列表196。 具體而言,對象機器特定部125係將計數器變數(被除數)的名稱X、模數變數的名稱Y、除數P、運算位置J、常數N、開始位置k、結束位置j、及存取目標之組追加在模數分支存取目標列表196。 存取目標意指與第k個指令之中的輸出入變數相對應的對象機器220的名稱。
在圖16中顯示模數分支存取目標列表196。 模數分支存取目標列表196係示出計數器變數(被除數)、模數變數、除數、運算位置、比較常數、開始位置、結束位置、及存取目標,作為模數分支存取目標的資訊。
返回至圖15,由步驟S1541繼續說明。 在步驟S1541中,輸出入變數抽出部124係在暫時變數k的值加算1。
在步驟S1542中,輸出入變數抽出部124係將暫時變數k的值與暫時變數j的值相比較。 若暫時變數k的值與暫時變數j的值相等,處理係進至步驟S1551。 若暫時變數k的值與暫時變數j的值不同,處理係進至步驟S1522。
在步驟S1551中,輸出入變數抽出部124係判定第i個資訊是否為模數分支區塊列表195的最後資訊。 若第i個資訊為模數分支區塊列表195的最後資訊,處理即結束。 若第i個資訊非為模數分支區塊列表195的最後資訊,處理係進至步驟S1552。
在步驟S1552中,輸出入變數抽出部124係在暫時變數i的值加算1。 步驟S1552之後,處理係進至步驟S1512。
返回至圖3,繼續說明。 藉由步驟S150,取得模數分支存取目標列表196。
在步驟S160中,通訊周期決定部126係決定各對象機器220的通訊周期。 此時,通訊周期決定部126係判定輸出入變數是否僅在1個分支目標區塊予以存取。接著,若輸出入變數僅在1個分支目標區塊予以存取,通訊周期決定部126係將對控制程式191的執行周期乘以取模運算的除數所得的時間,決定為對應輸出入變數的對象機器220的通訊周期。此外,通訊周期決定部126係將剩下的對象機器220的通訊周期決定為控制程式191的執行周期。
具體而言,通訊周期決定部126係如以下所示決定各對象機器220的通訊周期。「T」係表示成為基本的定周期通訊周期。定周期通訊周期T係與控制程式191的執行周期相等。 通訊周期決定部126係特定僅示出在模數分支存取目標列表196之中的1個資訊的對象機器220,由所被特定出的對象機器220的資訊取得除數P。接著,通訊周期決定部126係將所被特定出的對象機器220的定周期通訊周期決定為「T×P」的值。 通訊周期決定部126係將剩下的對象機器220的定周期通訊周期決定為「T」。
在步驟S170中,設定部130係藉由與控制裝置210進行通訊,在控制裝置210設定控制程式191與各對象機器220的通訊周期。
***實施形態1的效果*** 藉由實施形態1,可對控制程式191被執行P次之中被存取1次的對象機器220求出適當的通訊周期。
***實施形態的補足*** 根據圖17及圖18,說明定周期通訊。 在FA網路係有具有使用分時通訊技術的定周期通訊功能者。 在使用分時通訊技術的定周期通訊功能(參照圖17)中,將網路的通訊頻寬作分時,設置具有預先決定的時間長的通訊周期的時框,且進行預先決定的內容的通訊。 未進行定周期通訊時,其他種類的通訊可利用網路。 輸出入變數的值係使用定周期通訊予以更新。
定周期通訊係由控制程式的執行獨立進行(參照圖18)。 在定周期通訊中,由遠端輸入機器所取得的輸入資料被保存在控制裝置的內部的記憶體,且該輸入資料的值藉由控制程式被參照作為輸出入變數的值。此外,藉由控制程式所操作的輸出入變數的值係被保存在記憶體,且藉由定周期通訊而被送訊至遠端輸出機器。
根據圖19及圖20,補足控制程式。 控制程式一般以一定周期反覆執行。 在控制程式係有包含:每逢執行控制程式即被執行的處理、與控制程式被執行幾次之中僅1次被執行的處理的情形。
在圖19中顯示控制程式的流程圖之一例。 例如,若控制程式被執行,處理A必定被執行。相對於此,處理B(1)係僅在將變數n的值除以P時的模數為1之時被執行。此外,處理B(2)係僅在將變數n的值除以P時的模數為2時被執行。此外,處理B(P-1)係僅在將變數n的值除以P時的模數為(P-1)之時被執行。此外,處理B(P)係僅在將變數n的值除以P時的模數為0時被執行。 變數n的值係每逢控制程式被執行,即被各加算1。此時,處理B(1)~B(P)係分別每被執行P次控制程式即被執行1次。
在圖20中顯示遠端輸出入機器的構成之例。 假定有遠端輸出入機器A、及遠端輸出入機器B(1)~B(P)。處理A係處理遠端輸出入機器A的輸出入變數。同樣地,處理B(1)係處理遠端輸出入機器B1的輸出入變數,處理B(2)係處理遠端輸出入機器B(2)的輸出入變數,處理B(P)係處理遠端輸出入機器B(P)的輸出入變數。 此時,遠端輸出入機器A的輸出入變數係藉由處理A予以參照或操作。接著,遠端輸出入機器A的輸出入變數係必須每次執行控制程式時即被更新。 另一方面,遠端輸出入機器B(1)~B(P)的輸出入變數係藉由處理B(1)~B(P)予以參照或操作。接著,遠端輸出入機器B(1)~B(P)的輸出入變數係必須每逢控制程式被執行P次即被更新。 亦即,關於遠端輸出入機器B(1)~B(P)為適當的定周期通訊的周期可謂為關於遠端輸出入機器A為適當的定周期通訊的周期的P倍。 因此,若遠端輸出入機器B(1)~B(P)的通訊周期被設定為遠端輸出入機器A的通訊周期的P倍,刪減在定周期通訊作交換的資料量。
實施形態2. 關於使模數分支存取目標列表196之中的複數資訊所示之對象機器220的定周期通訊周期比定周期通訊周期T為更長的形態,根據圖21,說明主要將與實施形態1不同之處。
***構成的說明*** 控制系統200的構成及通訊周期決定裝置100的構成係與實施形態1中的構成相同。
***動作的說明*** 根據圖21,說明通訊周期決定方法。 步驟S210至步驟S250係與實施形態1中的步驟S110至步驟S150相同。 步驟S260係與實施形態1中的步驟S160一部分不同。 步驟S270係與實施形態1中的步驟S170相同。 以下說明步驟S260。
在步驟S260中,通訊周期決定部126係決定各對象機器220的通訊周期。 此時,通訊周期決定部126係判定輸出入變數是否在2個以上的分支目標區塊作存取。接著,若輸出入變數在2個以上的分支目標區塊作存取,通訊周期決定部126係根據控制程式191的執行周期、取模運算的除數、及對應2個以上的分支目標區塊的2個以上的分支條件的2個以上的常數,來決定對應輸出入變數的對象機器220的通訊周期。
具體而言,通訊周期決定部126係如以下所示決定各對象機器220的通訊周期。「T」係表示成為基本的定周期通訊周期。定周期通訊周期T係與控制程式191的執行周期相等。
通訊周期決定部126係特定僅被示出於模數分支存取目標列表196之中的1個資訊的對象機器220。將所特定的對象機器220稱為對象機器(1)。 通訊周期決定部126係由對象機器(1)的資訊取得除數P。 通訊周期決定部126係將對象機器(1)的定周期通訊周期決定為「T×P」的值。
通訊周期決定部126係特定模數分支存取目標列表196之中的複數資訊所示之對象機器220。將所特定的對象機器220稱為對象機器(2)。 通訊周期決定部126係判定對象機器(2)的複數資訊所示之複數模數變數是否為相同。若對象機器(2)的複數資訊所示之複數模數變數為相同,將對象機器(2)稱為對象機器(2A)。關於對象機器(2A),比較常數N有k個,除數為「P」。 通訊周期決定部126係對根據依升序作排列的k個比較常數(N 1,N 2,…,N k)的數列S的要素S i,判定數列R的全部要素R i是否為正整數。若數列R的全部要素R i為正整數,將對象機器(2A)稱為對象機器(2B)。 通訊周期決定部126係如以下所示決定對象機器(2B)的定周期通訊周期C C
[數1]
[數2]
[數3]
通訊周期決定部126係將剩下的對象機器220的定周期通訊周期決定為「T」。
***實施形態2的效果*** 在前述的實施形態1中,決定出僅被記載於模數分支存取目標列表196的1行的對象機器220的定周期通訊周期。 但是,有可對模數分支存取目標列表196的複數行所記載的對象機器220,使定周期通訊周期比控制程式191的執行周期更長的情形。 對於如上所示之情形,藉由實施形態2,可對模數分支存取目標列表196的複數行所記載的對象機器220,決定比控制程式191的執行周期為更長的定周期通訊周期。
實施形態3. 針對考慮設定常數的變數的形態,主要根據圖22至圖24,說明與實施形態1及實施形態2不同之處。
***構成的說明*** 控制系統200的構成係與實施形態1中的構成相同。
根據圖22,說明通訊周期決定裝置100的構成。 通訊周期決定裝置100係另外具備編輯部140。 通訊周期決定程式係另外使電腦作為編輯部140發揮功能。
***動作的說明*** 根據圖23,說明通訊周期決定方法。 在步驟S310中,受理部110係除了控制程式191與輸出入變數列表192之外,受理指定變數列表197。 指定變數列表197係指定變數的列表。 指定變數係設定常數的變數,藉由使用者來指定。
在圖24中顯示指定變數列表197之例。 指定變數列表197係按每個指定變數,示出指定變數與常數。
通訊周期決定裝置100亦可具備用以支援指定變數列表197的作成的圖形使用者介面。
返回至圖23,由步驟S320繼續說明。 在步驟S320中,編輯部140係根據指定變數列表197,編輯控制程式191。 具體而言,編輯部140係由控制程式191找到各指定變數,且將控制程式191之中的各指定變數置換為常數。
在步驟S330至步驟S370中係使用編輯完畢的控制程式191。
步驟S330至步驟S380係與實施形態1的步驟S120至步驟S170或實施形態2的步驟S220至步驟S270相同。
***實施形態3的效果*** 在前述的實施形態1中,係有以指令的運算元及比較的對象為常數作為條件的處理。 但是,有硬將發揮相當於常數的作用的值作為變數來作成控制程式191,且該變數的值依控制程式191的起頭或其他的定義而被固定為特定的值的情形。 對於如上所示之情形,藉由實施形態3,若使用者個別指定出已代入應處理作為常數的值的變數時,可將該等變數與常數同樣地進行處理。
實施形態4. 針對考慮固定分支結果的分支指令的形態,根據圖25至圖28,說明主要將與實施形態1及實施形態2不同之處。
***構成的說明*** 控制系統200的構成係與實施形態1中的構成相同。
根據圖25,說明通訊周期決定裝置100的構成。 通訊周期決定裝置100係另外具備編輯部150。 通訊周期決定程式係另外使電腦作為編輯部150發揮功能。
***動作的說明*** 根據圖26,說明通訊周期決定方法。 在步驟S410中,控制裝置210係除了控制程式191與輸出入變數列表192之外,受理指定分支列表198。 指定分支列表198係指定分支指令的列表。 指定分支指令係固定分支結果的分支指令,藉由使用者來指定。
在圖27中顯示指定分支列表198之例。 指定分支列表198係按每個指定分支指令,示出分支指令場所與固定分支結果。 分支指令場所係控制程式191之中的指定分支指令的場所。 固定分支結果係被固定的分支結果。
通訊周期決定裝置100亦可具備用以支援指定分支列表198的作成的圖形使用者介面。
返回至圖26,由步驟S420繼續說明。 在步驟S420中,編輯部150係根據指定分支列表198,編輯控制程式191。 具體而言,編輯部150係由控制程式191找到各指定分支指令,且將控制程式191之中的各指定分支指令的分支結果固定而無效化。
在步驟S430至步驟S470中係使用編輯完畢的控制程式191。
步驟S430至步驟S480係與實施形態1的步驟S120至步驟S170或實施形態2的步驟S220至步驟S270相同。
***實施形態4的效果*** 在圖28與圖29的各個中顯示控制程式的流程圖之例。 在圖28中,控制程式係具有非定常狀態所具備的分支指令,只要緊急停止開關不會形成為OFF,即不執行控制處理。 在如上所示之控制程式並沒有僅被執行1次的指令,計數器變數列表成為清空。若計數器變數列表成為清空,實施形態並無法適用。 對如上所示之現象,藉由實施形態4,將藉由使用者所指定出的分支指令的分支結果固定為1個。結果,所被指定出的分支指令實質上無效化。 在圖28中將所謂「緊急停止開關形成為OFF嗎?」的分支指令的分支結果固定為「No」,藉此實質上可將控制程式表示如圖29所示。
***實施形態4的補足*** 實施形態4亦可與實施形態3組合。亦即,亦可通訊周期決定裝置100具備編輯部140、及編輯部150,控制程式191藉由編輯部140與編輯部150予以編輯。
***實施形態的補足*** 根據圖30,說明通訊周期決定裝置100的硬體構成。 通訊周期決定裝置100係具備處理電路109。 處理電路109係實現受理部110、決定部120、設定部130、編輯部140、及編輯部150的硬體。 處理電路109亦可為專用硬體,亦可為執行被儲存在記憶體102的程式的處理器101。
若處理電路109為專用硬體,處理電路109係例如單一電路、複合電路、經程式化的處理器、經並列程式化的處理器、ASIC、FPGA或該等的組合。 ASIC為Application Specific Integrated Circuit(特殊應用積體電路)的簡稱。 FPGA為Field Programmable Gate Array(現場可程式閘陣列)的簡稱。
通訊周期決定裝置100亦可具備替代處理電路109的複數處理電路。
在處理電路109中,亦可以專用硬體實現一部分功能,而以軟體或韌體實現剩下的功能。
如上所示,通訊周期決定裝置100的功能係可以硬體、軟體、韌體或該等的組合來實現。
各實施形態係較佳形態之例示,並非為意圖限制本揭示之技術範圍者。各實施形態亦可部分實施,亦可與其他形態組合實施。使用流程圖等來作說明的順序亦可適當變更。
通訊周期決定裝置100亦可以2台以上的裝置予以實現。 作為通訊周期決定裝置100的要素的「部」亦可改讀為「處理」、「工序」、「電路」或「電路系統(circuitry)」。
100:通訊周期決定裝置 101:處理器 102:記憶體 103:輔助記憶裝置 104:通訊裝置 105:輸出入介面 109:處理電路 110:受理部 120:決定部 121:計數器變數檢索部 122:取模運算檢索部 123:分支指令檢索部 124:輸出入變數抽出部 125:對象機器特定部 126:通訊周期決定部 130:設定部 140:編輯部 150:編輯部 190:記憶部 191:控制程式 192:輸出入變數列表 193:計數器變數列表 194:模數變數列表 195:模數分支區塊列表 196:模數分支存取目標列表 197:指定變數列表 198:指定分支列表 200:控制系統 201:網路 202:網路 210:控制裝置 220,220A,220B:對象機器 221:感測器 222:開關 223:燈 224:螺線管 230:設定裝置
圖1係實施形態1中的控制系統200的構成圖。 圖2係實施形態1中的通訊周期決定裝置100的構成圖。 圖3係實施形態1中的通訊周期決定方法的流程圖。 圖4係顯示實施形態1中的控制程式191之例的圖。 圖5係顯示實施形態1中的輸出入變數列表192之例的圖。 圖6係實施形態1中的步驟S120的流程圖。 圖7係實施形態1中的步驟S120的流程圖。 圖8係顯示實施形態1中的計數器變數列表193之例的圖。 圖9係實施形態1中的步驟S130的流程圖。 圖10係顯示實施形態1中的模數變數列表194之例的圖。 圖11係實施形態1中的步驟S140的流程圖。 圖12係實施形態1中的步驟S140的流程圖。 圖13係顯示實施形態1中的模數分支區塊列表195之例的圖。 圖14係實施形態1中的步驟S150的流程圖。 圖15係實施形態1中的步驟S150的流程圖。 圖16係顯示實施形態1中的模數分支存取目標列表196之例的圖。 圖17係用以說明實施形態1中的定周期通訊的圖。 圖18係用以說明實施形態1中的定周期通訊的圖。 圖19係用以針對實施形態1中的控制程式進行補足的圖。 圖20係用以針對實施形態1中的控制程式進行補足的圖。 圖21係實施形態2中的通訊周期決定方法的流程圖。 圖22係實施形態3中的通訊周期決定裝置100的構成圖。 圖23係實施形態3中的通訊周期決定方法的流程圖。 圖24係顯示實施形態3中的指定變數列表197之例的圖。 圖25係實施形態4中的通訊周期決定裝置100的構成圖。 圖26係實施形態4中的通訊周期決定方法的流程圖。 圖27係顯示實施形態4中的指定分支列表198之例的圖。 圖28係顯示實施形態4中的控制程式的流程圖之例的圖。 圖29係顯示實施形態4中的控制程式的流程圖之例的圖。 圖30係實施形態中的通訊周期決定裝置100的硬體構成圖。
100:通訊周期決定裝置
101:處理器
102:記憶體
103:輔助記憶裝置
104:通訊裝置
105:輸出入介面
110:受理部
120:決定部
121:計數器變數檢索部
122:取模運算檢索部
123:分支指令檢索部
124:輸出入變數抽出部
125:對象機器特定部
126:通訊周期決定部
130:設定部
190:記憶部

Claims (10)

  1. 一種通訊周期決定裝置,其係具備: 計數器變數檢索部,其係由用以控制1個以上的對象機器的控制程式,找到用以對前述控制程式的執行次數進行計數的計數器變數; 取模運算檢索部,其係由前述控制程式,找到前述計數器變數為被除數、常數為除數的取模運算; 分支指令檢索部,其係由前述控制程式,找到將前述取模運算的模數與常數的一致作為分支條件的條件分支指令; 輸出入變數抽出部,其係由前述條件分支指令的分支目標區塊抽出輸出入變數; 對象機器特定部,其係在前述1個以上的對象機器之中特定被輸出入所被抽出的輸出入變數的值的對象機器;及 通訊周期決定部,其係若被抽出的輸出入變數僅在1個分支目標區塊作存取時,將對前述控制程式的執行周期乘以前述取模運算的除數所得的時間,決定為所被特定出的對象機器的通訊周期。
  2. 如請求項1之通訊周期決定裝置,其中,前述通訊周期決定部係將前述1個以上的對象機器之中的剩下的對象機器的通訊周期決定為前述執行周期。
  3. 如請求項1之通訊周期決定裝置,其中,前述輸出入變數抽出部係判定在前述分支目標區塊是否有跳越指令,若在前述分支目標區塊無前述跳越指令,即抽出前述輸出入變數。
  4. 如請求項1之通訊周期決定裝置,其中,前述通訊周期決定部係若所被抽出的輸出入變數在2個以上的分支目標區塊作存取時,根據前述執行周期與前述除數與前述2個以上的分支目標區塊所對應的2個以上的分支條件的2個以上的常數,決定所特定出的對象機器的通訊周期。
  5. 如請求項4之通訊周期決定裝置,其中,前述通訊周期決定部係對根據依升序作排列的前述2個以上的常數N 1~N k的數列S的要素S i,判定數列R的全部要素R i是否為正整數,若全部要素R i為正整數,決定所被特定出的對象機器的通訊周期C C, 前述要素S i與前述要素R i與前述通訊周期C C的各個為: [數11] [數12] [數13]
  6. 如請求項1至5中任一項之通訊周期決定裝置,其中,具備:編輯部,其係由前述控制程式找到被指定作為設定常數的變數的指定變數,將前述控制程式之中的前述指定變數置換為前述指定變數所設定的前述常數,藉此編輯前述控制程式, 使用編輯完畢的前述控制程式,來決定前述所被特定出的對象機器的通訊周期。
  7. 如請求項1至5中任一項之通訊周期決定裝置,其中,具備:編輯部,其係由前述控制程式找到被指定作為固定分支結果的分支指令的指定分支指令,以固定前述控制程式之中的前述指定分支指令的分支結果的方式編輯前述控制程式, 使用編輯完畢的前述控制程式,來決定前述所被特定出的對象機器的通訊周期。
  8. 如請求項1至5中任一項之通訊周期決定裝置,其中,具備: 第1編輯部,其係由前述控制程式找到被指定作為設定常數的變數的指定變數,將前述控制程式之中的前述指定變數置換為前述指定變數所設定的前述常數,藉此編輯前述控制程式;及 第2編輯部,其係由前述控制程式找到被指定作為固定分支結果的分支指令的指定分支指令,以固定前述控制程式之中的前述指定分支指令的分支結果的方式編輯前述控制程式, 使用編輯完畢的前述控制程式,來決定前述所被特定出的對象機器的通訊周期。
  9. 一種通訊周期決定方法,其係由用以控制1個以上的對象機器的控制程式,找到用以對前述控制程式的執行次數進行計數的計數器變數, 由前述控制程式,找到前述計數器變數為被除數、常數為除數的取模運算, 由前述控制程式,找到將前述取模運算的模數與常數的一致作為分支條件的條件分支指令, 由前述條件分支指令的分支目標區塊抽出輸出入變數, 在前述1個以上的對象機器之中特定被輸出入所被抽出的輸出入變數的值的對象機器, 若被抽出的輸出入變數僅在1個分支目標區塊作存取時,將對前述控制程式的執行周期乘以前述取模運算的除數所得的時間,決定為所被特定出的對象機器的通訊周期。
  10. 一種通訊周期決定程式產品,其係用以使電腦執行以下處理的通訊周期決定程式產品: 計數器變數檢索處理,其係由用以控制1個以上的對象機器的控制程式,找到用以對前述控制程式的執行次數進行計數的計數器變數; 取模運算檢索處理,其係由前述控制程式,找到前述計數器變數為被除數、常數為除數的取模運算; 分支指令檢索處理,其係由前述控制程式,找到將前述取模運算的模數與常數的一致作為分支條件的條件分支指令; 輸出入變數抽出處理,其係由前述條件分支指令的分支目標區塊抽出輸出入變數; 對象機器特定處理,其係在前述1個以上的對象機器之中特定被輸出入所被抽出的輸出入變數的值的對象機器;及 通訊周期決定處理,其係若被抽出的輸出入變數僅在1個分支目標區塊作存取時,將對前述控制程式的執行周期乘以前述取模運算的除數所得的時間,決定為所被特定出的對象機器的通訊周期。
TW110142180A 2021-06-28 2021-11-12 通訊周期決定裝置、通訊周期決定方法及通訊周期決定程式產品 TWI830085B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/024381 WO2023275942A1 (ja) 2021-06-28 2021-06-28 通信周期決定装置、通信周期決定方法および通信周期決定プログラム
WOPCT/JP2021/024381 2021-06-28

Publications (2)

Publication Number Publication Date
TW202301052A TW202301052A (zh) 2023-01-01
TWI830085B true TWI830085B (zh) 2024-01-21

Family

ID=84691023

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110142180A TWI830085B (zh) 2021-06-28 2021-11-12 通訊周期決定裝置、通訊周期決定方法及通訊周期決定程式產品

Country Status (6)

Country Link
US (1) US20240086295A1 (zh)
JP (1) JP7317269B2 (zh)
CN (1) CN117546104A (zh)
DE (1) DE112021007633T5 (zh)
TW (1) TWI830085B (zh)
WO (1) WO2023275942A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048203A (ja) * 2004-08-02 2006-02-16 Matsushita Electric Ind Co Ltd サーボ制御装置
JP2008176673A (ja) * 2007-01-22 2008-07-31 Matsushita Electric Ind Co Ltd サーボシステム
WO2016189689A1 (ja) * 2015-05-27 2016-12-01 三菱電機株式会社 プログラム生成装置、プログラム生成方法及びプログラム生成プログラム
CN209085657U (zh) * 2017-08-02 2019-07-09 强力物联网投资组合2016有限公司 用于与化工生产工艺有关的或工业环境的数据收集***
WO2021005691A1 (ja) * 2019-07-08 2021-01-14 三菱電機株式会社 制御装置、プログラム監視方法及びプログラム
JP2021027512A (ja) * 2019-08-07 2021-02-22 ファナック株式会社 同期方法、及び制御装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048203A (ja) * 2004-08-02 2006-02-16 Matsushita Electric Ind Co Ltd サーボ制御装置
JP2008176673A (ja) * 2007-01-22 2008-07-31 Matsushita Electric Ind Co Ltd サーボシステム
WO2016189689A1 (ja) * 2015-05-27 2016-12-01 三菱電機株式会社 プログラム生成装置、プログラム生成方法及びプログラム生成プログラム
CN209085657U (zh) * 2017-08-02 2019-07-09 强力物联网投资组合2016有限公司 用于与化工生产工艺有关的或工业环境的数据收集***
CN110073301A (zh) * 2017-08-02 2019-07-30 强力物联网投资组合2016有限公司 工业物联网中具有大数据集的数据收集环境下的检测方法和***
WO2021005691A1 (ja) * 2019-07-08 2021-01-14 三菱電機株式会社 制御装置、プログラム監視方法及びプログラム
JP2021027512A (ja) * 2019-08-07 2021-02-22 ファナック株式会社 同期方法、及び制御装置

Also Published As

Publication number Publication date
DE112021007633T5 (de) 2024-02-22
TW202301052A (zh) 2023-01-01
CN117546104A (zh) 2024-02-09
WO2023275942A1 (ja) 2023-01-05
US20240086295A1 (en) 2024-03-14
JPWO2023275942A1 (zh) 2023-01-05
JP7317269B2 (ja) 2023-07-28

Similar Documents

Publication Publication Date Title
DE3587277T2 (de) System fuer die umgehungssteuerung beim pipelinebetrieb eines computers.
JPH0622035B2 (ja) ベクトル処理装置
TWI830085B (zh) 通訊周期決定裝置、通訊周期決定方法及通訊周期決定程式產品
JPS63142431A (ja) パイプライン制御方式
EP1389748A2 (en) Numerical controller
JPS5819953A (ja) マイクロプログラム制御方式
WO2022201506A1 (ja) プログラム作成支援システムおよびプログラム作成支援プログラム
JPS6116112B2 (zh)
JP2808548B2 (ja) 現在状態から後続状態へのプロセッサ作動状態移行制御装置
JPH0254600B2 (zh)
US20060036796A1 (en) Method and apparatus for setting a primary port on a PCI bridge
JPS6116111B2 (zh)
CN110968412A (zh) 一种任务执行方法、***及存储介质
JPH04195527A (ja) 計算機システム
JPH0693206B2 (ja) ロ−ダコマンド処理装置
JPH023216B2 (zh)
JPH02257284A (ja) データ処理装置
JPS60176144A (ja) レジスタフアイル装置
JPH0250742A (ja) 情報処理装置
JPH04283804A (ja) プログラマブル・コントローラ
JPS58139258A (ja) 情報検索装置
JPH01158571A (ja) 論理回路変換装置
JPH05150813A (ja) プログラマブルコントローラ
JPS59133649A (ja) デ−タフロ−計算機
JPS61121134A (ja) 割込み制御方式