首页> 中国专利> 产生和存储用于可编程控制器的、由指令构成的应用程序的方法和可编程控制器的操作方法

产生和存储用于可编程控制器的、由指令构成的应用程序的方法和可编程控制器的操作方法

摘要

一种用于产生和存储用于可编程控制器的、由指令构成的应用程序的方法,在处理应用程序时首先读出配属给输出信号的操作码和配属给该操作码的功能参数。对每个功能参数,分别根据该功能参数是引用一个输入信号还是引用另一指令,或者暂存输入信号或者向其它指令转移并且处理其操作码和功能参数。当至少一个输出信号的所有指令的全部功能参数尚未完全输入完时,则阻止应用程序的存储及有效标识。

著录项

  • 公开/公告号CN1196128A

    专利类型发明专利

  • 公开/公告日1998-10-14

    原文格式PDF

  • 申请/专利权人 西门子公司;

    申请/专利号CN96196852.4

  • 发明设计人 海科·坎姆勒;迈克尔·希塞尔;

    申请日1996-08-23

  • 分类号G05B19/05;

  • 代理机构柳沈知识产权律师事务所;

  • 代理人侯宇

  • 地址 联邦德国慕尼黑

  • 入库时间 2023-12-17 13:17:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-10-19

    未缴年费专利权终止 IPC(主分类):G05B19/05 授权公告日:20021030 终止日期:20150823 申请日:19960823

    专利权的终止

  • 2002-10-30

    授权

    授权

  • 1998-10-28

    实质审查请求的生效

    实质审查请求的生效

  • 1998-10-14

    公开

    公开

说明书

本发明涉及一种用于产生和存储一种用于可编程控制器的、由指令构成的应用程序的方法,其中在处理应用程序时可编程控制器由生产过程的输入信号推导出生产过程的输出信号,本发明还涉及一种用于可编程控制器的相应的操作方法。

这种方法是公知的。

本发明的目的在于提出新的方法。

该产生和存储方法的目的的解决方案如下,应用程序的指令分别由一操作码和配属给操作码的功能参数构成,功能参数或者引用输入信号或者引用另一指令,并且该方法具有下述步骤:

a)在产生应用程序时,对每个输出信号从配属给各个输出信号的指令开始问询待处理的指令,其中对下述步骤进行处理:

b)问询并暂存有待处理的操作码;

c)确定功能参数的数量;

d)顺序地询问功能参数;

e)如果功能参数是一个输入信号,则暂存对输入信号的引用;

f)如果功能参数是一个新的操作码,则暂存对一新指令的引用,向该新指令转移并暂存另一操作码并重复进行用于新指令的步骤c)至f);

g)只有当至少当时的输出信号的所有指令完全被询问后,才将暂存的操作码和暂存的功能参数存储在剩磁存储器中以及标识为有效。

而且根据操作方法,应用程序的指令分别由一操作码和配属给操作码的功能参数构成,其中功能参数或者引用一输入信号或者引用另一指令。本发明的步骤如下:

a)在周期的处理过程中,从配属给输出信号的指令开始,对每个指令进行下述步骤处理;

b)读出配属给指令的操作码和配属给该指令的功能参数;

c)对每个功能参数检查该功能参数是否引用另一指令;

d)如果功能参数引用一输入信号,则该输入信号被暂存;

e)如果功能参数引用另一指令,则转向另一指令并用另一指令重复进行步骤b)至e);

f)当所有功能参数处理完毕后,则推导出配属给指令的输出信号。

下面将对照实施例对本发明的其它优点和细节加以说明。其中:

图1为编程机和可编程控制器的结构,

图2为编程机的用户接口,

图3为编程举例。

如图1所示,编程机1具有一个处理器2,该处理器通过母线系统3与固定值存储器4、写读存储器5以及接口6、7和8连接。在固定值存储器4中存储有处理器2的操作系统,写读存储器5用作编程机1的操作存储器。利用输入单元9,例如一个键盘通过接口6可将数据输入到编程机1内。同样利用接口7可将数据显示在显示单元10上。编程机利用通信接口8通过图中用虚线所示的通信连接11与可编程控制器12通联。

可编程控制器12同样具有一个处理器13,该处理器用于处理应用程序。应用程序由大量的待处理的指令构成并存储在电可擦和写入的固定值存储器14中。根据待处理的应用程序,处理器13通过控制器15和过程接口16访问图中未示出的技术过程或生产装置17。处理器从此处将输入信号读入,将输入信号存储在写读存储器18中并接着利用应用程序推导出输出信号。输出信号同样被存储在写读存储器18中并接着通过控制器15和过程接口16输出给生产过程17。另外,可编程控制器12具有一个至编程机的接口19。处理器13、存储器14、18、控制器15以及通信接口19同样通过母线20相互连接在一起。

编程机1和可编程控制器12理论上是可以相互分隔开的设备。但最好是如图1所示的虚线和如图2所示,编程器1安装在可编程控制器件12内。但在上述两种情况下,编程机1可以通过接口8和19以及通信连接11访问固定值存储器14。其中可以将新的应用程序写入固定值存储器14中并对已有的应用程序读出、擦除或变更。

如图2所示,可编程控制器12具有螺接端子21至24、键盘25和液晶显示器26。可编程控制器12通过螺接端子21与24伏电源连接。分别通过两个螺接端子22,数字输出信号被输出给生产过程17。生产过程17的输入信号通过一螺丝夹23读入。接在螺丝夹22和23上的执行机构和传感器通过螺丝夹24与电源连接。所以螺丝夹22至24是过程接口16的组成部分。

液晶显示器26相当于编程机1的显示单元10。另外在运行时还可通过显示器26显示可编程控制器12的信号。即显示器26也起着监视单元的作用。采用键盘25可以直接将指令输入到编程机1和可编程控制器件12中。

应用程序通常由各个指令构成,其中每个指令分别由操作码和配属给操作码的功能参数构成。工作时,可编程控制器周期地处理下述指令序列:

-读入生产过程17的输入信号,

-根据应用程序推导出用于生产过程的输出信号,

-将输出信号输出给生产过程17。

此工作方式通常是公知的。

在产生应用程序时,由编程单元1顺序地询问输入单元9的有待处理的指令。为此从配属给第一输出信号的指令开始询问将处理哪个功能。也就是说,将在显示单元10上输出一相应的指令并等候,直至使用者通过输入单元9输入操作码。

一旦输入了操作码,该操作码被编程单元1暂存在写读存储器5中。接着编程单元1确定有多少个功能参数配属给该指令。在此,在编程机1内的内部配属与使用者可见的功能参数的数量是有区别的。在内部对所有操作码功能参数的数量都是相同的,在上述例中都是4。在外部则与此相反始终仅询问所需的功能参数数量。对此将举例进一步说明:

如果作为操作码输入用于“或”操作的码,的确询问四个参数。稍后在处理程序时也将考虑到这四个参数。如果与此相反,作为操作码选用了逻辑“非”,则仅向使用者询问一个参数,即取反的输入信号。其它的三个参数由编程机1独立进行填充并在执行程序时不加以考虑。

在对操作码询问并暂存在写读存储器5后,由编程单元1与输入单元9和显示单元10相配合还顺序地对功能参数加以询问和暂存。作为功能参数或者可输入一个输入信号,或者可输入另一个操作码。其中在每次输入功能参数时将立刻检查该参数是否是操作码。

如果功能参数不是操作码,而是一个输入信号,则该功能参数被中间存储并开始下一个功能参数。在此情况下,输入信号不仅系指来自生产过程17的输入信号,而且也指其数值已预知的信号。这种信号例如是常数0或常数1信号以及时钟信号。

如果与此相反,输入的是一个作为功能参数的新的操作码,则作为功能参数暂存的不是操作码,而是新的指令的地址。紧接着转移到该新指令并在此处暂存在此之前输入的操作码。接着重新确定功能参数的数量,并且询问功能参数和暂存。

对这些功能参数也立刻再次检查它们是输入信号,还是操作码。如果它们是新的操作码,则又重新立刻将新指令的地址作为功能参数加以存储并转移到该新指令。而且在此又将刚刚输入的操作码加以存储,确定需要多少功能参数并对功能参数进行询问和暂存。

这种对操作码和功能参数的交错询问一直进行下去,直到最后询问和暂存操作码的功能参数指向输入信号为止。如果所有的功能参数都指向输入信号,则完成了各个指令的输入。接着返回到前面的指令并且在此指令时必要时询问下一个功能参数并暂存,在此也在必要时转移到另一指令。

上述过程一直进行,直至所有推导输出信号所需的功能相互交织在一起,即每个指令的所有功能参数被输入。只有在此点实现后,才对配属给下一个输出信号的指令进行询问并且只要需要就重复进行该过程。采用此方式将顺序地对所有输出信号编程。

当然也可以由使用者随时中断应用程序的输入。但在此时不进行对输入和暂存的子程序的存储。在断开编程机1时将失去输入的数据。只有编程过程完全结束时,才能将被询问和暂存在写读存储器5内的应用程序存储在剩磁存储器14内。

-当对每个输出信号输入一个指令,并且

-当每个编程操作码的每个功能参数被覆盖时,则编程过程或应用程序的产生被视为完全结束。

图3示出一个简单的应用程序的例子。其中实线表示根据逻辑连接所需的连接。虚线则表示根据编程流程所需的附加连接,并且点划线表示由编程机1本身补充的连接。图3的编程例的输入过程如下:

首先编程机通过显示单元10和输入单元9询问,为推导第一输出A1的输出信号需采用哪个操作码。使用者接着通过输入单元输入,将实现“与”逻辑27。相应的操作码被存储在编程机1的写读存储器5内。接着依次对第一、第二和第三功能参数,即对“与”逻辑27的四个输入信号中的三个进行询问并暂存。

第一和第二输入参数是输入信号E1和E2。所以在输入这两个功能参数时立刻开始下一个功能参数。但在询问第三个功能参数时,与此相反使用者输入他想采取“非”逻辑。故作为第三功能参数的指令地址被暂存,在此指令上然后对“非”逻辑进行处理。

接着由编程机1向此指令转移并询问,哪个功能参数是“非”逻辑28(唯一)的功能参数。在此由使用者输入输入信号E3。编程机1对该功能参数进行暂存并用另外三个功能参数对指令加以补充,这三个功能参数分别为逻辑1。而且这三个功能参数被暂存在存储器5中。以此结束了“非”逻辑28的参数化。所以又返回“与”逻辑的其它参数的写入并询问第四个功能参数并暂存。由于依照图3例的“与”逻辑27仅具有三个有效的输入参数,故第四个输入通过使用者的相应的输入与逻辑1连接。

至此结束输出A1的编程并开始输出A2的编程。

首先询问并在使用者输入后进行皙存,用于产生输出信号A2的操作码是“或”逻辑29。接着依次询问“或”逻辑29的四个功能参数。

根据图3的编程例,输入作为第一个功能参数的输入E3的已编程的“非”逻辑。由于该逻辑已经编程完毕,故不再需要有关该功能参数的输入并且在暂存后立刻开始第二个功能参数。

第二和第三功能参数是(有效的)输入信号E2和E4,因而可以立刻开始第四个功能参数。

根据图3的编程例,“或”逻辑29也仅有三个输入信号。故第四个功能参数为常数0。

由于至此结束输出A2的编程,则开始输出A3。

根据所述的编程例,本来不需要采用输出A3和A4。故对于输出A3选用“非”逻辑30,该“非”逻辑与逻辑1连接。这样输出A3设在常数0上。对于输出A4与上述相同输入“非”逻辑31。另外,还可以将输出A3和A4直接与逻辑0连接。

由此产生的程序存储在存储器14中。此程序在下表中示出。

B1:FC      (AND)

    ADDR    (E1)

    ADDR    (E2)

    ADDR    (B5)

    ADDR    (“1”)

B2:FC      (OR)

    ADDR    (B5)

    ADDR    (E2)

    ADDR    (E4)

    ADDR    (“0”)

B3:FC      (NOT)

    ADDR    (“1”)

    ADDR    (“1”)

    ADDR    (“1”)

    ADDR    (“1”)

B4:FC      (NOT)

    ADDR    (“1”)

    ADDR    (“1”)

    ADDR    (“1”)

    ADDR    (“1”)

B5:FC      (NOT)

    ADDR    (E3)

    ADDR    (“1”)

    ADDR    (“1”)

    ADDR    (“1”)

在表1的左侧用B1至B5分别表示各指令的起始。但该数据仅用于说明并且不是存储的程序的组成部分。在真正的程序中FC表示操作码、ADDR表示地址。

这种程序由块构成,每个块有五个字节。第一个字节分别表示指令的操作码,另外四个字节表示四个功能参数。前面的四个指令B1至B4始终用于对四个输出信号的指令进行定义。从第五个指令B5开始则对指令进行存储,所述指令系在计算输出信号时必须间接追溯的指令。

应用程序的处理过程如下:将周期地对指令B1至B4加以处理。在处理指令B1至B4中的每个指令时首先读出配属给指令的操作码。接着顺序地读出配属给指令的功能参数。在读入每个功能参数时立刻检查该功能参数是否引用另一指令。当功能参数引用一输入信号时,则该输入信号被暂存。

如果功能参数与此相反引用的是另一指令,则立刻(即在读入其它的功能参数前)向该指令转移并读出配属给该指令的操作码和配属给该指令的功能参数。而且当操作码指示一新指令时,则在处理其它功能参数前,立刻处理该指令。在处理完一个指令的所有的功能参数后,则推导出配属给指令的输出信号,必要时返回到将调用的指令,并且将推导出的输入信号作为应用程序的继续处理的依据。

而且还将在此对照表中所示的程序对其原理做进一步的说明。

首先读出指令B1的操作码。接着读出引用输入E1和E2的功能参数。在读出第三个功能参数时向指令B5转移。将读出该指令的操作码和所有四个功能参数(由于所有四个功能参数都引用输入信号)并推导出配属给该指令B5的输出信号。用此输出信号然后返回指令B1并读出第四个功能参数。接着推导出输出信号A1并存储在写读存储器18中。

此后读出指令B2的操作码和第一功能参数。接着重新向指令B5转移,指令5的操作码和四个功能参数被读出并推导出指令B5的输出信号。接着返回指令B2并读出剩余的三个功能参数。接着推导出指令B2的输出信号。

最后还读出并处理指令B3的操作码和功能参数和推导出输出信号A3。同样对指令B4和由此产生的输出信号A4进行处理。

在推导出最后的输出信号A4之后,将推导出的输出信号A1至A4输出给生产过程17并重新读入输入信号E1至E4。接着开始一个推导输出信号A1至A4的新的周期。

替代所述的生成方法,另外还可以在单个输出信号完全编程后立刻将属于一个输出信号的指令存储在剩磁存储器14中。也就是说,当输出信号A1被完全编程后,例如可以立刻将指令B1和B5加以存储。

同样也可以将每个输入的操作码和每个输入的功能参数立刻存储在剩磁存储器14中。在此情况下必须在程序生成过程开始时在剩磁存储器14的一专门为此设置的存储区内设定,所有输出信号A1至A4的编程是无效的。例如可以将四个1比特存储元置于逻辑0上,以便说明对四个输出信号A1至A4编程是无效的。当输出信号A1至A4被有效编程后,这四个1比特存储元被置于逻辑1上。其中可以有选择地在整个应用程序生成后或在对每个输出信号的所有指令询问后单独对每个输出信号A1至A4进行有效标识。

对指令也不必非得按照表中的顺序进行存储。例如可以将所有用于推导输出信号A1的指令,在此是指令B1和B5,顺序地存储在存储器14中。用于推导输出信号A2至A4的指令B2至B4则接着存储在这些指令(B1和B5)的后面。在处理应用程序时,在此情况下将注视哪个地址是用于推导输出信号A1而调用的最高的地址。用于推导输出信号A2的指令则开始于下一个较高的地址。采用同样的方法,即对采用的最高的地址进行暂存,然后可以推导出用于推导输出信号A3和A4的指令设置在什么位置。但在实施本发明时,专业人员优选这种还是那种方式,可按其自己的意愿进行。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号