可编程控制器的制作方法

文档序号:6275952阅读:294来源:国知局

专利名称::可编程控制器的制作方法
技术领域
:本发明涉及可编程控制器,尤其涉及处于从属关系的系统控制。常规可编程控制器(以下称PC),例如日本专利公开平1-50923号公报所公开,在每个控制部件设有阶段计数、逻辑演算、数据演算指令以及计时指令等,用以判断是否已置位或者已复位该阶段状态,再用该阶段特别规定的每个控制部件加以控制。然而,在对某阶段(上位阶段)有从属关系的系统阶段(下位阶段)加以控制的情形中,例如复位该上位阶段时,也复位该下位阶段,因此须有各自的对下位阶段复位的指令。由于下位阶段号码的无规则性,呈离散状态且数目也很多,因此,在记述指令时容易产生错误。并且存在单纯看程序无法辨别其从属关系的问题。本发明是为解决先有技术缺点而提出的,其目的在于提供一种可以简单产生对下位阶段的控制命令,亦可简单地把握其从属关系,并且可简单地实现多层结构的PC。本发明包括有可分别存储各阶段以及宏模块状态数据的阶段表;存储输入输出数据的I/0表;存储阶段用主复位标志的寄存器;存储演算结果的结果寄存器;存储用户程序的程序存储部;分析、执行用户程序的演算控制部。上述程序存储部是存储上位层程序以及第1下位层的宏模块程序,该上位层程序至少含有以下所述(A)以及(B)的各指令,该第1下位层的宏模块程序含有以下所述(C),(D)以及(E)。(A)指令包括阶段指令SG及各种指令组,其中阶段指令SG记载阶段号码,并且求出与阶段用主复位标志的反转信号相当的阶段状态的逻辑“与”;各种指令组记载于各阶段指令SG之后,当相应的阶段状态置位时,就执行其程序。(B)为宏阶段指令MSG,记载有阶段号码以及宏模块号码,并且求出将阶段用主复位标志的反转信号与该阶段状态的逻辑“与”,将该求出结果,设定在该阶段状态,同时亦设定宏模块的状态。(C)为宏标志指令MLBL,记载在模块程序的开始部分,当置位该宏模块状态时,除复位阶段用主复位标志外,同时亦设定其后面记载的阶段指令SG的状态。(D)为宏结束指令MEND,记载在宏模块程序最后部分,当置位该结果寄存器时,也复位该宏模块的状态。(E)为上述(A)的指令组,记载在上述宏模块指令MLBL与宏结束指令MEND之间。另,本发明其他形式的PC中,第1下位层宏模块程序含有上述(B)的程序,第2下位层宏模块的程序为含有上述(C)、(D)以及(E)的程序。利用上述第1下位层宏模块的程序,可以控制第3宏模块的状态。亦就是可获得由第1下位层宏模块所控制的第2下位层的宏模块。因此,程序具有三层结构。并且,本发明的其他形式的PC与第2下位层的宏模块的程序内容相同,把多个下位层的宏模块程序存储在程序存储部,以形成任意层的多层结构,该多个下位层由相对为上位层的程序实施其自身的状态控制。上述PC第1下位层的宏模块的程式中宏模块状态受上位层的程序所控制,且利用第1下位层的宏模块状态,可以控制阶段用主复位标志。例如利用设定该宏模块的状态,可复位该宏模块的阶段用主复位标志,并且可演算控制该寄模块程序。该上位层与第1下位层宏模块程序的关系,如同第1下位层宏模块程序与第2下位层宏模块程序的关系。可任意构成该关系,并且可容易地构成多层结构。又,本发明其他形式的PC是在各个层的程序中设置多个宏阶段指令MSG,利用该MSG控制其下位层的宏模块的程序,从而本发明又可把下位层宏模块的程序当作子例程来调用。以上所述的本发明是由多层结构构成,其下位层是利用阶段指令、阶段用主复位标志,宏阶段指令,宏标志指令以及宏结束指令等用于控制宏模块单元;并且按照该上位层的宏阶段指令来控制该上位层,故可简单地实施多层结构,其多层结构关系亦容易把握。图1为本发明一实施例PC硬件构成方块图,图2为其动作流程图。图3为用户程序的部分图,该用户程序存储在图1中的用户程序存储部,图4的流程图用于表示图3程序的动作,图5为执行图3用户程序时,其各寄存器的状态,图6以及图7流程图表示本发明其他实施例。图1为说明按照本发明实施例构成的PC的方框图。在图中,10是用作演算处理的演算控制部,12为程序计数器,它对演算控制部10的指令进行计数。14为程序存储部,用于存储用户程序,并可利用程序计数器12的计数值,将指定地址的程序读入演算控制部10。16为存储I/O状态的I/O表,用于存储输入数据iO,i1......以及输出数据Q1,Q2。18为存储内部中继状态(Relaystatus)的内部中继表,用于存储例如暂时性数据等。20为阶段表(Stagetable),用于存储各阶段(Stage)以及各宏模块的状态。22为存储各种数据的寄存器。24为RR寄存器,用于暂时存储演算控制部10的演算结果。26为1位寄存器,用于存储阶段用主复位标志。28为输入端口,用于将输入的数据经由演算控制部10存储在I/O表16。30为输出端口,用于将I/O表16的输出数据经由演算控制部10输出该数据。图2为图1的PC动作的流程图。对演算控制部10处理进行初始设置,该初始设置用于复位阶段用主复位标志(以下简称SGRST),然后处理输入传输。输入传输的处理是输入模块(未在图上表示)的输入数据经由I/O端口28输入到I/O表16,全部输入数据输入在I/O表16中。其次,演算控制部10按次序从程序存储部14读出由程序计数器12所指定地址的程序,并作分析并且依据该分析结果进行各种演算处理。依据例如I/O表16的输入数据或数据寄存器22的数据,作演算处理,再将该演算结果存储在I/O表16或内部中继表18。完成全部用户程序演算处理后,演算控制部10接着处理输出传送。输出传输是将存储在I/O表16的输出数据经由输出端口30,输入至输出模块(图上未表示)。反复处理上述的输入传输、命令执行以及输出传输,直到出现结束指令。有关上述演算执行的程序分析以及演算处理要对各种程序加以处理。以下将说明本发明的特殊程序。(A)阶段指令SG,iSG例SGS10求出SGRST的反转信号与相应阶段状态ST的逻辑“与”,求出结果设置在该状态ST上。本例就是设定在阶段S10的状态ST上。iSG命令,是将相当的阶段状态ST在图2中的初始设定时,预先设置为[1],在执行指令时与SG动作相同。(B)宏阶段指令MSG例MSGS11M100(1)求出SGRST的反转信号与相应阶段状态ST的逻辑“与”,用该求出结果设置状态ST。本例为设置阶段S11的状态ST。(2)把所设置的状态ST内容设置在宏模块的状态ST上。本例是将阶段S11的状态ST内容设置在宏模志块M100的状态ST。(C)宏标记指令MLBL例MLBLM100相应宏模块状态ST设置为[1]时,复位SGRST,并且其次所述的阶段指令SG的阶段状态ST设为[1]。另,相应宏模块的状态ST被复位时,SGRST设为[1]。(D)宏结束指令MENDRR24设为[1]时,复位相应宏模块状态ST。图3列出存储在程序存储部14的用户程序一部分,图4为用户程序概念图示。(1)iSGS10;利用iSG指令,初始将阶段S10状态ST设为[1],求出SGRST的反转逻辑与逻辑“与”,把该求出结果设在S10的状态ST上。加电后的初始设定时,SGRST被复位,因此,将S10状态ST设为[1]。(2)LDi0;利用LD指令,将I/O表16的输入数据存储在RR24。(3)JMPS11;即在JMP指令,RR24被复位时,是不作任何处理的。RR24中设定[1]时,复位JMP指令所属的阶段状态ST(指S10的状态),并且将JMP指令的操作数的阶段状态ST(指S11的状态)置位为[1]。上述处理,假使i0设为[1]时,RR24也会被设在[1],因此JMP指令为有效,并且阶段S10状态被复位,而阶段S11的状态ST也被置为[1]。(4)MSGS11M100阶段S11的状态ST被设为[1],又SGRT亦被复位,因此,SGRST的反转信号与阶段S11之状态ST逻辑“与”就变成[1],结果阶段S11的状态ST为被设为[1]。而且,依据阶段S11的状态ST的内容[1],宏模块M100的状态ST设为[1]。而,SGRST的反转信号与阶段S11的阶段ST的逻辑“与”为时,阶段S11的状态ST被置位,更且,宏模块M100的状态ST亦被置位。以下执行顺序程序,并省略说明后面程序部分的处理,下面将说明图3右侧的宏模块程序。(5)MLBLM100宏模块M100的状态ST在[1]之间变化,因此置位SGRST,记录在下一地址的阶段S100的状态ST为置成[1]。这样就可以处理阶段S100以下的部分,该处理方式与上述情况相同,省略其说明。宏模块M100的状态ST被复位时,SGRST也被置位。SGRST被置位时,SG100以下的状态ST亦被置位,因此,记录在下一地址的阶段命令SG100以下的命令不被执行。本例是阶段S100~阶段S102的阶段命令不被执行。(6)MENDRR24置位为[1]时,复位宏模块的状态ST。这样便完成宏模块的处理。本例在执行其前面的指令[LDi4]时,置位I/O表16的输入数据i4为[1],在该状态下复位宏模块的状态ST。图5为执行图3程序时输入数据及各部数据,下面将详细说明各扫描内容。(1)扫描(1);依据iSGS10的指令,在初始设置即将阶段S10的状态ST预置为为[1]。此时尚未输入数据。(2)扫描(2)当I/O表16的输入数据i0置位为[1]时,执行[JMPS11]指令,状态S10的状态ST为被复位,阶段S11的状态ST亦被置位为[1],因此,可处理[MSGS11M100]的指令。利用该处理,可置位宏模块M100的状态ST为[1]。又,依据[MLBLM100]指令,置位阶段S100的状态ST为[1]。(3)扫描(3)在扫描时,阶段S11以及S100的状态ST置位为[1],又宏模块M100的状态ST仍然置位为[1]。该状态下,若I/O表16的输入数据i2置位为[1]时,依下述方式处理。阶段S11的状态ST以及宏模块M100的状态ST仍然置位为[1],而,i2置位为[1],利用[LDi2],把RR24设置成[1]。利用[JMPS101]指令,复位阶段S100的状态ST,亦置位阶段S101的状态ST为[1]。依据[OUTQ11]指令,RR24的内容为输出至内部中继表18的输出数据Q11,该Q11被置位为[1]。(4)扫描(4)复位I/O表16的输入数据i2,当i3设为[1]时,阶段S11的状态ST仍在置位状态,又宏模块M100状态ST亦仍在置位状态,又宏模块M100状态ST亦仍在置位状态,执行[LDi2]指令,以复位RR24。又,i3置位为[1]。故利用[LDi3]指令,置RR24为[1],利用[JMPS102]复位阶段S101的状态ST,亦设置阶段S102的状态ST为[1]。(5)扫描(5)利用SG100[1]间的变化,以复位RR24,利用[OUTQ11]指令复位Q11。(6)扫描(6)当设定输入数据i4时,利用[LDi4]以置位RR24为[1]。依上述方式执行[MEND]指令,以复位该宏模块M100的状态ST。(7)扫描(7)置位阶段S11的状态为[1]时,利用上述扫描,置位宏模块M100的状态ST为,因此,利用[LDNM100]指令置位RR24为[1],利用[JMPS12]命令复位阶段S11的状态ST,因此阶段S12的状态被置为[1]。本扫描的[MLBLM100]指令的执行,使M100的状态[1]之间变化,使SGRST被置位为[1]。因此,无法进行宏模块的阶段S100以下的各阶段的演算处理。利用上位层宏模块[MSGS11M100]指令等,置位或复位宏模块M100的状态ST,利用上述复位或置位STRST,以控制宏模块的起动或停止。上述之实施例为2层结构,本实施例适用于多层结构。图6为本发明其他实施例的概念图。本实施例由(n+1)层结构形成,例如利用最上位的[MSGS11M100]指令,置位宏模块M100的状态ST为[1],依据该设定,执行较下层的宏模块M100的演算动作,又,复位宏模块M100的状态ST,依据该设定禁止宏模块M100的演算动作。在该宏模块M100中,利用[MSGS103M200]指令,置位宏模块M200的状态ST为[1],依据该设定,执行较下层的宏模块M200的演算动作,又,复位宏模块M200的状态ST,依据该复位,禁止宏模块M200的演算动作。依上述内容,相对地位于上位层的宏模块可以控制位于下位层的宏模块的演算动作,在图6实例中,复位阶段S11的状态ST时,可复位宏模块M100的状态ST,该情况是下层宏模块的状态为全部被复位,因此无法作演算处理。图7为本发明其他实施例的概念图。在该实施例中,宏模块M100可当作子例程来调用。当阶段S11的状态置位为[1]时,亦可以置位宏模块M100的状态ST为[1],这样就可以作宏模块M100的演算处理。又,相反地,当复位阶段S11的状态ST时,亦可复位宏模块M100的状态ST,这样便可禁止宏模块M100的演算处理,该处理方式亦适用于阶段S13。权利要求1.一种可编程控制器包括有用于分别存储各阶段以及宏模块的状态数据的阶段表,用于存储输入输出数据的I/0表,存储阶段用主复位标志的寄存器,存储演算结果的结果寄存器,存储用户程序的程序存储部,分析、执行用户程序的演算控制部,上述程序存储部存储上位层程序以及第1下位层的宏模块程序,该上位层程序至少含有下列(A)以及(B)的各指令,该第1下位层宏模块程序至少含有下列(C),(D)以及(E),(A)阶段指令SG该阶段指令SG记载阶段号码,并且求出阶段用主复位标志的反转信号与相应阶段状态的逻辑“与”,各种指令组该各种指令组记载于各阶段指令SG之后,当相应阶段状态被置位时,即执行该程序,(B)宏阶段指令MSG该宏模阶段指令MSG记载阶段号码以及宏模块号码,并且求出阶段主复位标志的反转信号与该阶段状态的逻辑“与”,用该结果置位该阶段状态,同时,亦置位宏模块的状态,(C)宏标志指令MLBL,该宏模标志指令MLBL记载在宏模块程序的开始,当该宏模块的状态被置位时,复位阶段用主复位标志,并且,亦置位下列记载的阶段指令SG的状态,(D)宏结束指令MEND宏结束指令MEND记载在宏模块程序的最后,当结果寄存器被置位时,亦复位该宏模块状态,(E)上述(A)的指令组该指令组记载在上述宏模标志指令MLBL与宏结束指令MEND之间。2.如权利要求1所述可编程控制器,其特征在于上述第1下位层的宏模块程序为含有上述(B)的程序,因此亦含有上述(C)、(D)以及(E)的各程序,利用上述第1下位层宏模块程序,把第2下位层的宏模块程序存储在程序存储部,而该第2下位层宏模块程序系本身的宏模块状态受到控制。3.如权利要求2所述可编程控制器,其特征在于具有与上述第2下位层程序相同内容,把多个下位层的宏模块程序存储在上述程序存储部,该多个下位层宏模块程序系由相对地成为上位层的程序实施其本身的状态控制。4.如权利要求1所述可编程控制器,其特征在于所述上位层或下位层的宏模块程序含有上述(B)的多个程序。5.如权利要求2所述可编程控制器,其特征在于所述上位层或下位层的宏模块程序包含上述(B)的多个程序。全文摘要一种可编程控制器是用阶段指令、阶段用主复位标志、宏阶段指令、宏标志指令以及宏结束指令等以宏模块为单位控制下位层;并且,根据上位层的宏阶段指令控制该宏模块。这种控制器可简单地实施多层结构,其多层结构的关系得以容易掌握。文档编号G05B19/05GK1061478SQ91102519公开日1992年5月27日申请日期1991年4月9日优先权日1990年11月6日发明者河边胜则,丰冈克二申请人:光洋电子工业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1