CN1046987A - 可编程控制器 - Google Patents

可编程控制器 Download PDF

Info

Publication number
CN1046987A
CN1046987A CN90102324A CN90102324A CN1046987A CN 1046987 A CN1046987 A CN 1046987A CN 90102324 A CN90102324 A CN 90102324A CN 90102324 A CN90102324 A CN 90102324A CN 1046987 A CN1046987 A CN 1046987A
Authority
CN
China
Prior art keywords
processor
program
order
command
plate
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN90102324A
Other languages
English (en)
Inventor
米泽正明
长谷川圣
河田泰纪
松岡康二
門脇隆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yokogawa Electric Corp
Original Assignee
Yokogawa Electric Corp
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
Priority claimed from JP1104052A external-priority patent/JPH02281365A/ja
Priority claimed from JP1129707A external-priority patent/JPH02307151A/ja
Priority claimed from JP1275512A external-priority patent/JPH03136103A/ja
Priority claimed from JP1275513A external-priority patent/JPH03136105A/ja
Application filed by Yokogawa Electric Corp filed Critical Yokogawa Electric Corp
Publication of CN1046987A publication Critical patent/CN1046987A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • 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/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/052Linking several PLC's
    • 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

包含顺序控制程序的可编程控制器适于在有效地控制各工业生产线的工厂自动化或在控制多个工序的生产过程自动化领域内高速度高效率地把信息输入输出到各种现场智能设备。为此,本发明提供了一种改进了的跟一个执行顺序控制程序的1位处理器和一个普通的处理器相联的切换系统。

Description

本发明一般地涉及到一种包含有一个顺序控制程序的可编程控制器,它用于在有效地控制各工业生产线的工厂自动化(FA)领域或在控制多个工序的生产过程自动化(PA)领域中把信息输入和输出到各种现场智能设备。
本发明特别地涉及到对一种切换系统的改进,该切换系统跟一个执行顺序控制程序的1位处理器和一个普通的处理器相联。与此相应作了改进的还有:用户任意地指定一个基本进程的功能,对一组用于把信号输送到各现场设备和从其接收信号的I/O板进行控制的功能,以及放置在其中的顺序控制程序的易编制性。
通常,在可编程控制器的CPU板上装有一个典型的通用处理器(例如16位微处理器68000等)并把其作为第一处理器,还装有一个专门用来执行数值量或逻辑量的算术运算的处理器(如68000系列等)并将它作为第二处理器。这些处理器的运行根据储存在一个程序存储器中的顺序控制程序进行切换。
图1例示了一个模件,其中第一和第二处理器交替地运行,从同一个程序存储器中读出。
在图1所示的模件中,把第一处理器CPU1设想为一个典型的通用处理器(如16位微处理器68000),第二处理器BPU2设想为是一个专门用来执行数值量或逻辑量的算术运算的处理器(如68000系列),它们通过一个信息总线b连到一个程序存储器3。注意,在某些情况下,第二处理器BPU2又称为1位处理器。
在程序存储器3中储存着作为处理器CPU1的程序命令的机器语言指令。处理器CPU1顺序地读这些机器语言指令以进行处理。当读出的指令应由处理器BPU2执行时,处理器CPU1就对处理器BPU2发出一个命令以进行一次运算或数据准备。接着,从程序存储器3读出的各指令将依次发送给处理器BPU2以便把控制执行权给予BPU2。
这种先有技术的可编程控制器使用了处理器CPU1和BPU2的组合,从设计方面看造成了一定的麻烦,即在系统设计阶段就必须事先把储存在程序存储器3中的各机器语言指令分别指配给处理器CPU1和BPU2。
另一方面,目前常用的命令是跟CPU1所固有的机器语言指令无关地设计的解释程序型命令(解释程序命令),一般倾向于把这些解释程序命令存放在程序存储器3中。
一个使用解释程序型命令的装置除了能自由地设定由处理器CPU1执行的命令外还能够自由地设定由处理器BPU2执行的命令。没有必要在处理器CPU1的设计阶段把各命令分别指配给CPU1和BPU2。根据从程序存储器3中读出的命令的内容就可以定出是处理器CPU1还是BPU2,因此可以提高实用效率及扩充要由处理器BPU2执行的命令。
然而,在既使用机器语言指令,又使用解释程序型命令的情况下,当BPU2运行时,处理器CPU1也必须依次地从程序存储器3中读出程序命令,并把这些命令供给BPU2。这又导致一个费时的程序传输的问题。
在使用解释程序型命令的场合,处理器CPU1必须对读出的命令进行解释,确定由那一个处理器执行。特别是在处理器CPU1和BPU2频繁地切换的装置中,造成额外的时间开支。
本发明的主要目的是提供一种便于对处理器CPU1和BPU2进行切换并且加速总体进程的可编程控制器,从而避免前述的问题。
根据本发明的一个方面,提出了一种可编程控制器,它不仅可以改善CPU板的内部结构,也可以改善诸如通用的算术运算、信息处理、控制操作、跟一个连到主机一边的计算机系统进行通讯有关的基本程序处理以及顺序控制程序处理等的效率。
根据本发明的另一个方面,提出了一种可编程控制器,它改进了把数据传输到一组I/O卡的功能,以便可靠地高速传输数据。这些I/O卡跟CPU板相连,并把信号传送到现场的设备和从其接收信号。
根据本发明的又一个方面,提出了一种可编程控制器,它可以简化顺序控制程序的建立过程,也可以检测可编程控制器本身运行的异常和顺序控制程序开发中的异常。
在后面结合各附图的讨论中将可以清楚看出本发明的其他目的和优点。其中:
图1为表示一个先有技术的可编程控制器的框图;
图2为根据本发明制作的可编程控制器的一个实施例的框图;
图3示出一个程序存储器3中的内容以解释图2所示的装置的工作;
图4为一框图,例示根据本发明制作的可编程控制器的另一实施例;
图5(a)和5(b)各说明图4所示的装置的工作;
图6为一种装置的框图,它对图4所示的实施例的结构作了部分改动;
图7(a)和7(b)各说明图6所示的装置的工作;
图8为根据本发明制作的可编程控制器的又一个实施例的框图;
图9(a)和9(b)表明图8所示的第一和第二程序存储器区31和32中的内容;
图10(a)和10(b)一起说明一种装置,它对图8所示的实施例的一些部件作了改动;
图11表示一个根据本发明制作的可编程控制器的处理器板及一个I/O板的结构;
图12表示一个解释根据本发明制作的可编程控制器的工作的梯形程序图;
图13与之相配合解释根据本发明制作的可编程控制器中CPU1和BPU2的工作;
图14描述了一个使用可编程控制器的系统;
图15表示根据本发明制作的可编程控制器中基本进程和顺序控制进程之间的关系;
图16为从主机对根据本发明制作的可编程控制器处理语言的流程图;
图17为根据本发明制作的可编程控制器的标准I/O驱动程序的原理图;
图18表示在根据本发明制作的可编程控制器的标准I/O驱动程序中建立过程定义表的一种方式;
图19为表示根据本发明制作的可编程控制器的标准I/O驱动程序访问I/O板的过程的流程图;
图20和21是说明根据本发明制作的可编程控制器的I/O板和CPU板之间数据传输的时序图;
图22表示在根据本发明制作的可编程控制器中所包含的一个异常情况记录模块的结构;
图23表示图22所述的异常情况记录模块给出的一段信息在主机的CRT上显示的样子;
图24表示一个已经把由编程工具产生的各种注解加上了的梯级工序;
图25为表示本发明的编程工具和把步骤号相应的注解显示出来的功能的框图;
图26表示跟图25有关的一个功能内部的注解文件;
图27为跟图25有关的一种功能内部的工序/注解对照表;
图28表示根据图25所示功能在编程工具的CRT上显示的图象转换;
图29为根据本发明制作的可编程控制器的一个处理例的流程图;
图30表示对根据本发明制作的可编程控制器进行梯级工序编程时用的各功能块;
图31表示怎样建立一个梯级工序;
图32表示梯级工序的各信号名跟地址的对应关系;
图33表示怎样把详细的地址指配给图32中的梯级工序中的各信号名;
图34(a)到34(c)分别表示一个用模块方法建立的梯形程序图;
图35表示几个可编程控制器执行系列顺序控制程序的情况;以及
图36表示控制图35所示系统的基本程序的一个例子。
在图2中,画出了根据本发明制作的可编程控制器的一个实施例的框图。
本实施例的方案的特点在于增设了一个跟信息总线b分开的控制线L,因此能在处理器CPU1和BPU2之间发送和接收信号。
处理器CPU1和BPU2用控制线L将起动信号和在程序存储器3中的读出地址通知对方。
程序存储器3既用来存储处理器BPU2的顺序基本程序,也存储前述的解释程序型命令。具体地说,顺序控制程序由顺序基本命令和顺序应用命令组成,前者以机器语言写成,用于1位算术运算,而后者以解释程序的格式写成,用于数值间的比较和数据处理,顺序控制程序按照顺序存放在程序存储器3中。
现在,参照表示程序存储器3的内部安排的图3着重说明这种装置的工作。
参照图3,可以认为应用命令1至4是处理器CPU1用的解释程序型命令,而基本命令1至4是处理器BPU2用的机器语言命令。
先是处理器CPU1工作,它按照箭头A所示的次序从程序存储器3中依次读出应用命令1和2。处理器CPU1解释并执行这些命令。
下一步,CPU1读在地址X1处的基本命令1(箭头B)并解释这一命令。如果处理器CPU1判断这是一条BPU2的命令,就把基本命令1在程序存储器3中的地址X1通过控制线L发送给BPU2,同时启动处理器BPU2。
结果,处理器BPU2获得了信息总线b的使用权,并且根据从CPU1处接收到的程序存储器3内的地址X1按箭头C所示的方向执行基本命令1至4。
这时,BPU2不像先有技术装置那样通过CPU1接收基本命令,而是由它自己从程序存储器3中直接读取基本命令1至4。
基本命令是处理器BPU2所固有的指令,所以处理器BPU2执行这些命令时不必经过解释。
接着,处理器BPU2在地址X2处读到应用命令3并判断这条命令应该由CPU1执行(箭头D)。处理器BPU2同样也通过控制线L把应用命令3在程序存储器中的地址X2发送给CPU1,并启动CPU1。
由于这一步骤,处理器CPU1又获得了信息总线b的使用权,然后根据地址X2从程序存储器3中读出并执行该操作(箭头E)。
这样,处理器CPU1和BPU2通过控制线L发送和接收启动信号和程序存储器的地址并交替地工作。尤其是BPU2不通过CPU1而是直接从程序存储器3读取命令,因此能够进行高速处理。
如上所述,处理器BPU2在执行基本命令时不需解释性操作,因此这段时间可忽略不计。
下面翻到图4,该图表示根据本发明制作的可编程控制器的另一个实施例。在该实施例中,CPU1通过一个第一信息总线b1连到BPU2,而BPU2接着又通过第二信息总线b2连到程序存储器3。
处理器BPU2包含一个连到在程序存储器3一侧的信息总线b2上的程序命令送出电路22,以及一个存着一条对CPU1而言代表“不执行”的伪指令的伪指令产生电路23。程序命令送出电路22还包括一个用来选择程序命令读入电路21或伪指令产生电路23的切换电路24。
类似于图2所示的实施例,在本实施例中程序存储器3也存放着解释程序型命令和BPU2的基本命令。
根据本发明如此制作的装置的运行过程将参照图5(a)和5(b)加以说明。
图5(a)表示由CPU1执行命令时的情况。
处理器BPU2判断在地址Y1处读得的命令1应归于CPU1并且在专用处理器2内把切换电路24转向程序命令读入电路21。读出的命令1通过程序命令送出电路22从BPU2传送到处理器CPU1,接着CPU1开始工作。
即使在CPU1工作期间程序存储器3的读出地址仍是由BPU2产生的。
转向图5(b),该图表示由BPU2执行命令时的情况。
处理器BPU2判断在地址Y2处读得的命令2应该由它自己执行,于是通过切换电路24把伪指令产生电路23连到程序指令送出电路22。这样,BPU2根据由它自己产生的读出地址从程序存储器3中读得命令并执行该命令,而根据由BPU2给出的代表“不执行”的伪指令N,CPU1不作任何操作。
用这种方法,在CPU1和BPU2之间作平稳的切换,使从程序存储器3中读出的命令能可靠地传送到CPU1或BPU2,而不会引起时间的无效开支。
在图4所示的例子中,处理器BPU2位于CPU1和程序存储器3之间。然而,可以作另一种相当的安排,即把CPU1放在中间,并要在CPU1上安装跟程序命令读入电路21、程序指令送出电路22、伪指令产生器23和切换电路24等相应的线路。
在本例中,总是由位于中间的处理器来产生关于程序存储器3的地址。所以,即使切换了要执行命令的处理器,中间的处理器总是处在使程序推向前进的地位,因此可以忽略发送和接收关于程序存储器3的地址所需的时间。
现在看图6,在该图所示的装置中由CPU1这边产生的地址可以送到图4所示的实施例中的程序存储器3去。
在本例中,处理器BPU2还包括一个把CPU1产生并送到信息总线b1的地址读进来的地址读入电路25、一个把程序存储器3的读出地址传送到信息总线b2的地址传送电路26和一个切换电路27。切换电路27用于把地址传送电路26连到地址读入电路25或连到一个装在专用处理器2中的地址产生电路28。
下面将结合图7(a)和7(b)详细说明本实施例的工作。
图7(a)表示当由CPU1执行命令时的情况。包含在BPU2中的切换电路24连到程序命令读入电路21,而切换电路27连到地址读入电路25。一个由CPU1产生的地址Z1通过BPU2传送到程序存储器3,而与之相应的命令1通过BPU2传送到CPU1。
图7(b)表示当由BPU2执行命令时的情况。这时,包含在BPU2中的切换电路24连到伪指令产生电路23,而切换电路27连到地址产生电路28。处理器BPU2按照由其内部产生的地址Y3读出并执行命令2,而CPU1从BPU2处读得伪指令N后不作任何操作。
在图6所说明的方案中,CPU1可以访问程序存储器3的任何位置,这有利于执行跳转命令或类似的命令。
按照图4或图6所示的实施例,处理器CPU1和BPU2根据从程序存储器3中读得的命令交替地工作。特别是BPU2直接从程序存储器3中读出命令,因此可以进行高速的处理。
因为可以把基本命令规定为BPU2所固有的指令,在由BPU2执行命令时不需要进行解释,所以这段时间可以忽略不计。
在图8中例示了根据本发明制作的可编程控制器的另一个实施例。
在该实施例中,CPU1通过信息总线b1连到第一程序存储器区31,该区中只存放应用命令。BPU2通过信息总线b2连到第二程序存储器区32,在该区中只存放基本命令。有一个第一输出端口41连到信息总线b1,而第二输出端口42连到信息总线b2。输出端口41和42的输出送到一个信号合成单元43,由它向CPU1和BPU2发出起动或停止工作的指令。
图9(a)和9(b)表示出程序存储器区31和32中的内容。
程序存储器区31用于存放应用命令1到5以及一条通知BPU2开始工作的应用命令OUT,而在程序存储器区32中存放了基本命令1至4以及一条通知CPU1开始工作的基本命令OUT。
下面将着重说明本实施例的工作过程。
一开始,假定处理器CPU1工作着。
这时,信号合成单元43向CPU1发出一个运行指令。而向BPU2发出一个停止运行的指令。
处理器CPU1依次从程序存储器区31读出应用命令1和2并执行这些命令。接着,CPU1读得一条向BPU2发出运行指令的应用命令OUT并把这条命令传送到输出端口41。
信号合成单元43从输出端口41作一读出并识别出应用命令OUT,这时CPU1接收到一个停止运行的指令而给BPU2一个开始运行的指令。
结果,BPU2启动,从程序存储器区32读出一条基本命令,然后执行之。执行了基本命令2之后,又读出基本命令OUT。基本命令OUT被传送到输出端口42。
信号合成单元43从输出端口42读出并识别出基本命令OUT。然后,信号合成单元43向BPU2发出一个停止运行的指令并向CPU1发出一个开始运行的指令。
于是,CPU1恢复运行。
这样,信号合成单元43对CPU1和BPU2进行平稳的切换。
图10(a)和10(b)一起表示一个基本上跟图8所示的实施例类似的例子,其中输出端口41和42以及信号合成单元43一起连到一个信息总线b。
在这个例子中,程序存储器3的结构为图10(b)所示,其中预先设置了一个只存放应用命令的区段A1和一个只存放基本命令的区段A2。
这一实施例的工作过程跟图8所示的装置的工作过程完全一样。
如上所述,根据从图8所示的实施例中的程序存储器区31和32或者从图10所示的实施例中的程序存储器内的区段A1和A2读出的命令。,处理器CPU1和BPU2交替地工作。特别是,BPU2从其中直接读出专用的命令,因此可以进行高速的处理。
因为基本命令是BPU2所固有的命令,在由BPU2执行命令的时候不需要进行解释,所以这段时间可以忽略不计。
根据本发明的上面所述部分,图11给出了一个用各种线路实际制成的可编程控制器的例子。
参照图11,在一块CPU板100中,CPU1、BPU2和程序存储器3都连到信息总线b。更具体地说,CPU1是一个诸如MC68000或类似型号的微处理器,用以从总体上控制CPU板100。微处理器CPU1跟BPU2并行地放置,都连到信息总线b,CPU1用于执行顺序应用命令。CPU门阵列5是一个控制定时信号输出的组件,使CPU1能够高效率地执行命令。
BPU2由一个门阵列构成,用来高速处理可认为是1位处理命令的顺序基本命令,BPU2通过一个命令总线(没有画出)直接连到程序存储器(RAM128KB),后者存放诸如梯形程序之类的顺序控制程序。
信息总线b包括一个地址总线,一个数据总线和一个控制总线。
由CPU1执行的控制整个CPU板的各种命令存放在一个ROM(256KB)6中。一个数据存储器(RAM64KB)7是CPU1的工作区,其中还存放一个以后将要提及的基本程序。为连接到各I/O板C1和C2的I/O总线bb设置了一个I/O接口(I/F)8。虽然在图中只连了两块板,实际上I/O板的数目可随系统的组成而增加。
连到信息总线b上的还有一个具有定时器功能的实时时钟产生单元9、一个用于通讯的通讯缓冲器(RAM32KB)10以及一个连接通讯缓冲器10并作为对主机总线B的接口的主机接口11。此外,还有一个跟编程工具通讯用的RS232C端口。
有数个I/O板连到I/O总线bb,这些I/O板分为两类,即通用寄存器/接口型I/O板C1和包含一个微处理器的命令/接口型I/O板C2,后者用来进行通讯以把命令发送给主可编程控制器及从它那里接收命令。
寄存器/接口型I/O板C1主要由一个面对总线bb的接口C11和一个面对外部触点的接口C12组成。带有微处理器的I/O板C2由一个面对总线bb的接口C21、一个微处理器C22(例如8位CPU)、一个数据存储器C23(如RAM8KB)以及一个面对外部的接口C24组成。
下面将说明此CPU板100的特点。
它在结构方面的特点在于BPU2不是通过信息总线b而只是通过命令总线(未画出)对程序存储器3进行直接访问。下面按照图12和13说明CPU板100的工作过程。
在图12中,作为顺序控制程序的一个例子画出了一个梯形程序图。图13表示跟该梯形程序相应的一串程序命令。
在顺序控制开始的时候,CPU1启动BPU2,BPU2又从程序存储器3中读出一串程序命令,然后执行一条规定为顺序基本命令的加载命令“LD”。
接着,BPU2执行一条AND命令、一条OR命令、一条OUT命令和一条LD命令。如果读出的程序命令是应由CPU1执行的应用命令(1),CPU1就从BPU2那里取过控制执行权,包括占用地址总线和数据总线的权力。然后,由CPU1执行应用命令(1)。当处理完应用命令(1)后,CPU1通知BPU2执行完毕,于是BPU2又读出下一条命令。如果下一个应用命令(2)仍应由CPU1执行,BPU2再一次把执行权交给CPU1。
BPU2将要读的下一条程序命令是加载命令“LD”,于是由BPU2自己执行这一命令。
如上所述,总是由执行顺序基本命令的BPU2来读一串程序命令。如果所读出的命令属于应由CPU1执行的顺序应用命令,CPU1就从BPU2那里接过控制执行权。在这种情况下,因为在程序命令串中多半是顺序基本命令,这样就提高了由BPU2处理的速度。CPU1只在执行完指令后把结束信号送回给BPU2。
如果BPU2读得的程序命令是一个在系统中没有定义的错误命令,预先规定BPU2向CPU1提供一个和该错误命令的形式相当的伪指令。设计这条伪指令时已注意到不致由于CPU1照原样执行错误命令而对系统造成不利的影响。当CPU1这样地开始进行顺序控制时,BPU2从程序存储器3读出程序命令并开始执行之。此后,BPU2直接从程序存储器3读得程序命令,因此CPU1不必逐条地读出程序命令及确定控制执行权。
在图14中表示可编程控制器的一个例子,它包括CPU板100和数个I/O板,它适用于工厂自动化领域。
在图14所示的系统中,一个可编程控制器U1控制一个机械零件加工系统S1,而另一个可编程控制器U2通过对一个机械零件装配系统S2输入或输出信号对其进行控制。可编程控制器U1和U2通过总线B跟一个带有打印机P的桌上计算机DTC通讯,从而可将系统的状况通知操作员。要注意,桌上计算机DTC可根据情况通过一通讯线A由一台中型或大型主机MC实行管理。
具体地说,可编程控制器U1和U2对系统S1和S2进行各种顺序控制操作,例如触点I/O过程,马达驱动/停止过程,一个零件定位过程和电灯点亮/熄灭过程等。
下面将着重说明可编程控制器U1的工作。
可编程控制器U1包括图11所示的CPU板100和插在单元内部插槽中的一些I/O板C1和C2,它们都连到一个总线(I/O总线bb)。此外还有一个电源板PS和一个参与跟其他可编程控制器U2通讯的扩展板EX。
基于这种结构,一个跟机械零件加工系统S1相配的顺序控制程序加载到可编程控制器U1的CPU板100中,由其根据从I/O板给出的信息执行一顺序算术运算。各控制信号也通过I/O板传送到机械零件加工系统S1,由S1执行一个所要求的顺序操作。
上述顺序控制程序,即本例中的一个梯形程序是在一个编程工具即一个桌上计算机上以屏幕编辑的方式编成并传送到CPU板100中去。
可编程控制器U2有跟可编程控制器U1差不多相同的结构和工作方式。
下面,较详细地说明在CPU板100中的程序处理和在I/O板方面的处理情况。
CPU1执行顺序控制,同时执行一些典型的操作,例如跟主机的多个数据的通讯、通用的算术运算、信息处理以及控制操作等。用基本语言建立了一个基本程序。下面将说明执行基本程序和执行顺序控制程序之间的关系。
图15为一个表示顺序控制进程SQ和基本进程BAS作并行运行的原理图。
顺序控制进程SQ是要执行图12和13所示的一串程序命令,而基本进程BAS跟一个前面已提及的由用户任意建立的数据读出程序或者跟一个基本程序(如通讯程序)有关。一个执行权切换处理单元ES、一个定时器T和一个任务调度程序TS的功能在CPU板100内由软件设定。任务调度程序的功能是确定基本程序中的几个进程的执行优先级。然而,这种功能跟本发明的工作没有直接关系。通常有几百甚至几千个顺序控制程序命令串,执行一个循环所需要的时间随所控制的系统的组态不同而有很大差别,可达几十ms或几百ms。
现在假设已有一个系统,其中在定时器T内预置了10ms。
顺序控制进程SQ的第一步是执行一条加载命令“LD”。接着,执行一条“与”命令AND、一条“或”命令OR和一条输出命令OUT,这时10ms的时间过了。于是,假定一个“时间已到”信号作为一中断信号从定时器T发送到执行权切换控制单元ES。CPU1输入这个中断信号,但这时控制执行权仍旧归BPU2所有。因此,CPU1不能响应这个“时间已到”中断。
顺序控制进程继续往前走,BPU2执行到加载命令“LD”。下面,一直到控制执行权转给CPU1并且开始执行应用命令(1)后,CPU1才接收一个10ms的“时间已到”中断信号。于是,执行权切换处理单元ES把交由CPU1执行的进程从顺序控制进程SQ转为基本进程BAS,CPU1开始按照任务调度程序TS的调度开始处理基本程序BAS。
这时,顺序控制进程SQ暂停执行。
此后,定时器T又进入“时间已到”状态,并发出一个10ms中断信号。这时,在CPU1内的执行权切换处理单元ES把基本进程的当前状态暂时保存在数据存储器7中,并重新恢复原来暂停的顺序控制进程SQ的运行。
当顺序控制进程SQ完成时,不管10ms时间是否已到,顺序控制进程SQ立即通知执行权切换处理单元ES进程已结束,CPU1就开始基本进程BAS。
如上所述,在运行时,顺序控制进程SQ和基本进程BAS之间每10ms切换一次,这样,从外面看来,似乎顺序控制进程SQ和基本进程BAS是同时执行的。这样,多进程工作成为可行的。
注意,在定时器T中设置的时间并不只限于10ms,而是可以根据系统的组态任意地设置。
另一方面,某些系统结构并不需要并行运行顺序控制进程和基本进程。在一些情况下,根据系统的变动,只要运行顺序控制进程或运行基本进程。在这种场合,前述的CPU板100中包含了一个执行图16所示的流程图的程序,相应的做法如下。
在打开电源后,就做自检,然后检查是否已从主机方面指定了进程所用的语言。如果所用的语言是一顺序语言,就在数据存储器7中建立一个处理顺序语言所必须的系统表。如果指定了基本语言,则在数据存储器7中建立一个处理基本语言所必须的系统表。如果顺序语言和基本语言都被指定,则在数据存储器7中建立处理顺序语言和基本语言所必须的系统表。
这样,使程序建立相应于所指定的语言的系统表,这种方法便于从主机(例如一个桌上计算机)方面指定进程语言。
参看图17,下面将着重说明设置在CPU板100中并且能够适应多种类型I/O板的标准I/O驱动程序。
在CPU板100中的操作系统OS从一个用户程序UP(例如装在CPU板100中的一个基本程序)接收一个对I/O板的访问请求a1或者从I/O板接收一个对CPU板100的中断请求a2。从用户程序UP发出的访问请求a1启动一个I/O请求接收过程(1),而对CPU板100的中断请求a2启动一个中断请求接收过程(2)。
根据本发明,标准I/O驱动程序SD在系统启动的时候对于各个插在相应插槽中的I/O板分别产生过程定义表TBL1、TBL2、…、TBLn。当发生I/O请求接收过程(1)或中断请求接收过程(2)时,参照这些过程定义表TBL开始准备访问。
当启动这过程时,先判断所要访问的I/O板是属于寄存器/接口型还是命令/接口型的,然后相应地执行一个主处理过程。寄存器/接口型主处理过程和命令/接口型主处理过程的内容跟常规的处理过程的内容是一样的。图11中所示的普通I/O板C1可以作为寄存器/接口型I/O板的代表,而图11中所示的带有一个微处理器以发送和接收命令的I/O板C2可以作为命令/接口型I/O板的代表。
I/O请求接收过程(1)和中断请求接收过程(2)的公共操作被归入一个公共处理程序,无论I/O板的接口属于什么类型都执行这一公共处理程序。此外,还为需要一个跟标准过程不同的处理过程的I/O板准备了一个特殊处理程序。在启动时从I/O板作向上的加载,把这特殊处理程序跟标准I/O驱动程序连接起来。在系统启动时,这一特殊处理程序的地址已被设置在过程定义表TBL中了。
下面将参照图18说明生成过程定义表TBL的方法。
当第一次执行CPU板100的I/O请求接收过程时,读入I/O板的各种信息和板的代号,从而对各个板分别产生过程定义表TBL。
首先,从I/O板来的多个信息中作为参数确定通道的数目(端口数)及是否要作输出。
如果所述I/O板属于命令/接口型的,则在表中设置各命令寄存器的地址。如果需要特殊处理,则在表中设置特殊处理程序的地址。
如果I/O板属于寄存器/接口型的,则在表中设置各寄存器的地址。
最后,如果表已建立起来,则相应的标帜就被置为ON,以便执行多种请求过程。
对于系统中所有各I/O板都进行了上述操作后,在标准I/O驱动程序SD中的各过程定义表也就设置好了。
下面将结合图19的流程图说明怎样进入已建立了过程定义表的标准I/O驱动程序SD。
一启动访问,即数据传输的准备过程,CPU板100的标准I/O驱动程序SD就查阅所涉及的I/O板的过程定义表TBL,核查该I/O板的通道数(端口数)及是否有输出,再鉴别接口的类型。
如果是属于命令/接口类型,则再查阅过程定义表TBL得到一个输出缓冲器地址,再进行数据变换。把要输出的数据送入输出缓冲器。又查阅过程定义表TBL,得到一个命令寄存器的地址,把输出命令送出。这以后就等待从I/O板发来的中断。接收到中断后,就立即发出一个返回状态信号。
如果所涉及的I/O板是寄存器/接口类型的,则查阅过程定义表TBL得到输出数据寄存器的地址,再核查它是不是一个数据I/O接口。如果是数据I/O接口,则把1-位数据转换成全字长的数据,得到屏蔽数据。然后把数据写入到输出数据寄存器中。这个把数据写入输出数据寄存器的过程是公共的。
为了准备上述标准I/O驱动程序SD,要把多个I/O板装入系统中。即使这样,仍要对每一块I/O板生成过程定义表,并且根据过程定义表来实现对I/O板的访问。这样,不必对每块I/O板分别提供驱动程序。只要用一个标准I/O驱动程序就可以承担对所有I/O板的访问而不会引起性能的变坏。只要有一个标准I/O驱动程序就可以使用各种I/O板,这使以后在开发I/O驱动程序方面不必再做什么工作。这种方法也减少了存放I/O驱动程序用的存储器容量。而且,把各种I/O板的接口标准化为寄存器型和命令型两种,这样用户就可以随意地设计I/O板并把它纳入整个系统。
下面将参照图20和21说明从硬件方面把数据传送到I/O板的方法,这些I/O板通过I/O总线bb连到CPU板100。
参看框图11,为CPU板100对I/O总线bb的I/O接口8以及I/O板C1和C2的接口C11和C12分别配备了选通信号产生装置,在出现数据传输请求时它们在I/O总线bb的控制线上产生选通信号STB。具体地说,在用门阵列组成的I/O接口8和接口C11和C12中增设了一些逻辑部件,它们和数据传输请求相结合每个传输帧向I/O总线bb发送选通信号STB
时序图20表示I/O板响应CPU板100的数据传输请求把数据传送给CPU板100的情况。
当从CPU板100提出数据传输请求时,CPU板100向I/O总线bb发送一个控制帧Fφ中给定了各个字节使能位,这些字节使能位根据传输方式位(标识是读还是写操作)来允许读写并且说明数据的长度(2或4字节)和数据的类型(数据还是控制信号)。控制帧FO在选通信号STB“L”的第一个跃变沿SO成为有级。
接着,CPU板100发送地址帧F1和F2,它们各由2字节帧组成,以保证256KB的地址空间。这些地址帧F1和F2各在选通信号STB“L”的最近一次跃变沿S1和S2时成为有效。
直到此时为止的T1期间包括了从CPU板100方面所做的操作。
在接收到帧F0、F1和F2后,I/O板判断在T1期间内它自己是否被选中。如果被选中了,I/O板就执行一个数据传输准备过程。
被选中的I/O板在T3期间向I/O总线bb发送数据帧F3和F4。在本情况中,数据为2字节的。同时,I/O板还发送选通信号STB“L”。数据帧F3和F4各在选通信号STB的最近一次跃变沿S3和S4时成为有效。
最后,I/O板跟选通信号STB“L”一起发送一个状态帧F5。一字节的状态帧F5可以看作是所述I/O板的内部状态信号,它用来表示各种状态,例如数据正常传送、错误状态和板上故障状态等。
注意,帧信号FRM以其最后一次跃变沿表示第一帧,而以其第一个跃变沿表示最后一帧,帧信号是用来检测成帧中的错误。在数据传输周期内,一个数据方向指定信号DDIR在其为“H”的时候表示一帧从CPU板100向I/O板一边的传输,而在其为“L”的时候表示一帧从I/O板向CPU板的传输。信号FRM和DDIR都发送到I/O总线bb的控制线上。
时序图21表示从CPU板100向I/O板传送数据的情况。
在T4期间从CPU板100输出控制帧F0、地址帧F1和F2以及数据帧F3和F4,同时还有选通信号STB“L”。当I/O板在T5期间完成了所要求的操作后,I/O板在T6期间送回一个状态帧F5和选通信号STB“L”。
根据上面结合图20和21说明的数据传输方式,CPU板100或I/O板在每次传送各帧时也发送选通信号STB“L”,并以此使相关的各帧成为有效。因此,各帧是以同步的方式传送的。在图20的情况中,从整个数据传输周期来看,T1和T3期间过程的传送是异步的。在图21的情况中,T4和T6期间过程的传送也是异步的。这样,就可以实现同步传送方法和异步传送方法的混合。
图22表示一个记录可编程控制器的故障历史的功能。可编程控制器包括一些异常检测电路,例如一个检测电源是否被切断的电源断路检测电路21、一个检测内部温度异常用的高温异常检测电路22以及一个检测在可编程控制器内执行的软件失控的软件异常检测电路23等。如果这些异常检测电路中的任何一个产生一个异常检测信号,这个检测信号就输入到一个中断产生电路24,由它在CPU1中产生一个中断。
接收了中断信号后,CPU1从正常过程25进入一个发生异常中断处理过程26。
另一方面,CPU1中有一个定时器TT,它在发生异常中断处理过程26开始时把引起的异常的类型跟异常出现的时刻联系起来。CPU1将发生的异常按时间顺序排队,而一个辅助存储单元27以文件的形式记录这些异常情况。辅助存储单元27还牵涉到使用数据存储器7。
如果此后从主机方面提出要求,CPU1就开始一个异常历史读出过程28,读出辅助存储单元27的内容并把它们传送到主机去。这种安排使可以用主机一边的CRT显示单元和一个打印机以如图23所示的格式把异常发生的条件输出到外界来。它也便于分析所产生的异常的详细情况、错误发生的时间,并采取相应的措施。
接着,我们将说明一种在本发明的可编程控制器中确定在执行梯形程序期间出现错误的一梯级工序或者一想要找的梯级工序的方法。
可编程控制器通过如RS232C或RS422跟一个编程工具相连。如图24所示,在梯形程序的编写格式中常常把各种注解加到相应的梯级工序去。具体地说,在梯形程序中,第一步先写上程序名称“TEST”,然后是标题“试验工序”、各梯级工序的步骤号、相应于数个梯级工序的工序注解“紧急情况停机工序”以及相应于该梯级工序每一行的一些次级注解“运行条件、运行状态、……”。
在可编程控制器中存放着上述执行控制进程的梯形程序。然而,如果在顺序控制进程期间发生了异常,编程工具要读出程序中所有各步并把它们在CRT上显示出来以便确定故障的位置。但另一方面,一个梯形程序可能有几千步,而CRT上显示的图象只有几十行,很难从CRT的显示中找出所要的梯级工序。通常,要打印出所有的梯级工序,并把程序清单带到现场以确定跟程序中的梯级工序相应的实际电路。然而,这种确定梯级工序的方法实用性很差。
在根据本发明制作的可编程控制器中,用下述方法来确定。
图25为一种装置的框图,其中有一个编程工具连到可编程控制器的CPU板100。为了简单起见,在CPU板100中只画了CPU1、一个RS232C口10、RAM7以及一个信息总线b。连到CPU板100的RS232C端口上去的编程工具包括一个显示单元PTCRT、一个键盘PTKB、一个主存储器PTM1以及一个辅助存储器PTM2。
如前所述,在编程工具中按照控制顺序编辑各梯级工序,编辑的结果暂时存放在一个顺序控制程序映象文件IMF中。所产生的梯形程序又通过RS232口10送回到RAM7。这时,一个把各梯级工序跟各种注解对应起来的工序/注解对照表跟梯形程序一起送回。工序/注解对照表CCT用来建立各工序中的注解位置(步骤号)跟在后面将要提及的注解文件CF中的注解位置的对应关系。借助于这种工序/注解对照表CCT,即使程序修改了,仍能保持梯级工序及其注解之间的对应关系。
用这种方法,CPU1装入了顺序控制程序SQP和工序/注解对照表CCT。
在编程工具的辅助存储器PTM2中存放了一个注解文件CF,梯形工序的步骤号和加到该工序的注解的内容彼此对应起来并存入注解文件CF。
图26示出了注解文件CF的内容。图27表示工序/注解对照表的内容。注解文件CF可以不放在编程工具中,而放在CPU板的RAM7中,此外,还可以增加一个把步骤号跟次级注解对应的注解文件。
现在,参照图28说明在编程工具上找出梯级工序的特定位置的过程。编程工具先读入注解文件CF和工序/注解对照表CCT,并做好事先准备以在CRT显示单元上依次显示图S1、S2、S3和S4。
在编程工具的CRT显示单元上显示的第一个图是一个工序监督菜单S1,从该图中选取一“工序注解显示”S2。于是,在CRT上以列表形式显示一个工序注解清单。再从工序注解清单显示S2中选择一个所要的注解显示S3,然后,包括在该工序注解中的所有次级注解都显示出来。若按照次级注解选取某一工序显示图S4,则跟该次级注解相对应的梯级工序就被显示出来。
也就是说,为了从如图24所示的梯形程序中指定某一梯级工序,要显示一个工序注解的清单,从中选出所要的工序注解,再指定跟包括在该工序注解中某一次级注解相对应的梯级工序,就能把某一特定的梯级工序在CRT上显示出来。
注意,工序显示图S4也可以从工序监督菜单S1或工序注解清单S2中直接选出。对各种显示图都可以作页面更新上卷或页面更新监督。
如上所述,在根据本发明制作的可编程控制器中,设置了注解文件和工序/注解对照表并可被读出。附加到各梯级工序的各种注解跟各梯级工序相联系,以备在CRT上作分级显示。因此,可以立即检测到一个要找的梯级工序。
上述方案在调整工序或发生错误时容易找到所要的梯级工序。下面将着重说明生成梯形程序方法的改进以及在调试过程中的操作(的改进)。
通常,采用梯形程序的顺序控制进程由一个处理例程执行,后者包括一个公共过程(如自检)、一个对I/O板上的I/O寄存器进行刷新的过程、已生成的梯形程序的执行以及对立设备的服务过程。
根据本发明制作的可编程控制器,如图29所示,在建立顺序控制程序时还没有安装I/O板,就在公共过程之后不再执行和调试I/O刷新过程。这样,就可以在没有I/O板的情况下按照从一个如编程工具这类的调试设备发出的指令进行调试。
原理图30示出在根据本发明制作的可编程控制器中梯形程序的编程功能。图中的各方框表示根据本发明制作的可编程控制器的各软件功能块。
图30中所示的多个功能块的工作方式如下。
工序编辑功能201用来编辑梯级工序各个工序部件,在设计梯级工序时程序员用这种功能以跟设备名类似的信号名的形式描述各工序部件的地址。信号定义功能202用来建立一个表格以确定各工序部件的地址和信号名的先期对应关系。编释功能203参照梯级工序中的信号名、由信号定义功能202给出的与之相应的地址以及从地址自动产生功能204给出的信号,把一程序以执行文件的形式发送到顺序处理单元205。地址自动产生功能204自动地把详尽的地址指配给由信号定义功能202给出的各信号名。
下面将实际地说明用这些功能生成梯形程序的过程。
编程工具和工序编辑功能201一起给出了如图31所示的一个梯级工序。这时该工序的各个部件,如一个继电器、一个输出单元等以一些信号名如SW1和COIL1等表示出来。而在信号定义功能202中,各信号名SW1、COIL1、COIL2、IRL1、TIM1、CNT1和REG1等先被对应到地址X、X、Y、Y、I、T、C和D等,其中符号X为代表一个输入的地址、Y是输出地址、I是一个内部继电器地址、T代表一个定时器、C代表一个计数器、D代表一个数据寄存器。
详尽的地址不是在编译功能203被指配给梯级工序的各个部件,而是在地址自动产生功能204中完成的。具体地说,如果为工序部件SW1设置的不是详尽的地址Xxxx而只是一般的地址X,就把详尽的地址Xoo1指配给它。这时,详尽地址的号码是从加在梯级工序部件的信号名后面的最小号码开始依以增加的。其结果示于图33中。即地址Xoo1指配给信号名SW1,地址Xoo2指配给信号名SW2。
由编译功能得到执行文件格式的程序,虽然这程序的进程是在顺序控制单元中完成的,但它的调试可以用来装上I/O板的CPU板100来实现,因为在如图29所示的处理程序中,如果在调试阶段没有装上I/O板,则I/O刷新过程可以跳过不做。以后再根据调试的结果在有必要时把详尽的地址加进去。
因此,可以自动地把信号名跟详尽的地址对应起来,不必担心个别的梯级工序部件的地址,这又便于设计顺序控制程序。总之,没有I/O板就能够进行调试,而且在跟顺序控制程序相应的继电器板等设计完毕之前就能够考验梯形程序的运行。
根据本发明制作的顺序控制器按下面要说明的方法按各步骤把程序分解成一些程序块来对有几千个步骤的梯形流程图进行编程。图34(a)到34(c)示出了编程的方法。
图34(a)到34(c)表示梯形流程图的一部分,即步骤1、2和5。
起始命令“ACT    PROG1.2”和停止命令“INACT    PROG1.1”是本发明中新定义的命令,它们被放在步骤1的最后一小步处。这样,当步骤1的控制运行走到这最后一小步时,代表步骤2的梯形程序块PROG1.2就启动,而代表步骤1的梯形程序块PROG1.1结束,这样就进入步骤2的控制运行。
在梯形程序块PROG1.2的最后一小步放了一个梯形程序块PROG1.2的停止命令“INACT    PROG1.2”和步骤3到5的引动命令“ACT    PROG1.3”、“ACT    PROG2.1”和“ACT    PROG3.1”。步骤3到5将同时起动。
在步骤5中还监视着步骤3和4的结束。当检测到步骤3、4和5都停止了,就响应停止命令“INACT    PROG3.1”和“ACT    PROG1.1”使运行返回到步骤1,即顺序控制进程的开始步骤。
这样,定义了梯形程序的起始命令“ACT”和停止命令“INACT”,因此可以把顺序控制程序的几千条命令分割成几个程序块并行地进行程序编制。此外,各擦形程序可以彼此通知起动或停止,这样就能够把分割成几个程序块的梯形程序装载到数个CPU板上实现顺序控制。
在图35中表示出一个例子,其中装载着基本程序进程的CPU板101和只装载梯形程序进程的CPU板102到104结合起来控制着在实际控制线L上的控制对象M。
注意,梯形程序LD1和LD2装在连着一组I/O板C10的CPU板102中;梯形程序LD3到LD5装在连着一组I/O板C20的CPU板103中;以及梯形程序LD6装在连着一组I/O板C30的CPU板104中。
图36表示装在CPU板101中的基本程序的一个例子。
梯形程序LD1到LD6可以看作是对于控制对象M的一系列顺序控制程序,这些梯形程序有前述的块结构并且被独立地编制。
CPU板101中的基本程序的功能是对各个梯形程序发出起动命令和从它们接收结束命令。
在开始运行时,CPU板101继装在CPU板102中的梯形程序LD1之后启动梯形程序LD2。在这些程序结束之后,又根据当时顺序控制进程的结果执行梯形程序LD3或LD4。在程序LD3或LD4完成后,基本程序立即并行地启动装在CPU板103中的梯形程序LD5和装在CPU板104中的梯形程序LD6。
根据所例示的系统,在顺序控制程序中一系列的顺序控制操作被分割成一些程序块,这种顺序控制程序被数个可编程控制器处理和执行。这样,就能够做到高效率的顺序控制。
如上所述,根据本发明制作的可编程控制器能够改善顺序控制过程的速度,并且当系统要改动时容易重新设计。于是能实现具有高的处理效率的可编程控制器。
虽然在前面已经参照各附图详细地说明了几个例示的本发明的实施例,但应该理解到本发明并不仅仅严格地限于这些实施例。熟悉本领域技术的人可以进行各种变动和改进仍不偏离本发明的实质和涉及范围。

Claims (13)

1、一种可编程控制器,它包括:
一个第一处理器;
一个第二处理器;
一个用以存放一解释程序型程序命令和一基本命令的程序存储器;
一个信息总线,所述第一处理器、第二处理器和所述程序存储器通过该总结相互连接;以及
一个位于所述第一处理器和第二处理器之间的控制线,所述第一处理器和第二处理器通过该控制线实现信号的双向传输,其特征是,如果有执行权的所述-处理器判断所述命令应该由所述的另一处理器执行,所述的一处理器就将所述程序命令在所述程序存储器中的地址通过所述控制线通知所述的另一处理器并使之启动,而应该执行所述基本命令的所述处理器直接从所述程序存储器中读取所述基本命令并执行之。
2、一种可编程控制器,它包括:
一个第一处理器;
一个第二处理器;
一个程序存储器;
一个第一信息总线,所述第一处理器通过该总线连到用以存放一解释程序型程序命令和一基本命令的所述程序存储器;以及
一个第二信息总线,所述第二处理器通过该总线连到所述第一处理器,其中,当所述第一处理器运行时,所述第一处理器从所述程序存储器读取所述程序命令以便执行该程序命令,同时也向所述第二处理器发出一个伪命令,而如果所述第一处理器判断所述程序命令应由所述第二处理器执行,就向第二处理器提供所述程序命令而不是所述的伪命令。
3、一种可编程控制器,它包括:
一个第一处理器;
一个第二处理器;
一个第一程序存储器区,它用以存放一由所述第一处理器执行的程序命令和一通知所述第二处理器执行的命令;
一个第二程序存储器区,它用以存放一由所述第二处理器执行的程序命令和一通知所述第一处理器执行的命令;以及
一个信号合成装置,它用来输入所述的通知所述第二处理器执行的命令和所述的通知所述第一处理器执行的命令,以及用来通知所述的一处理器开始运行并通知所述的另一处理器停止运行。
4、一种可编程控制器,它包括:
一组用于对一控制对象发送和接收多个信息的I/O板;以及
一个通过所述I/O板组向所述控制对象发送控制信号的处理器板,所述处理器板包括:
一个控制整个系统并执行在一顺序控制程序和一基本程序中的部分命令的处理器,该基本程序进行通用的算术运算、信息处理或者如启动所述顺序控制程序和发出结束命令等控制操作;
一个跟存放着所述顺序控制程序的程序存储器直接相连的1位处理器,它用于执行依次从所述程序存储器中读出的命令并且当所述读出的命令为应由所述处理器执行的顺序应用命令时将所述命令传递给所述处理器;
一个暂时存放数据用的数据存储器;
一个存放一自检程序的固定存储器;
一个参与跟主机进行通讯的通讯接口;
一个把所述处理器板连到一I/O总线的I/O接口,发送和接收多个信息用的I/O板就通过该总线接入;和
一个使所述处理器、所述1位处理器、所述数据存储器、所述固定存储器、所述通讯接口和所述I/O接口互相连接起来的内部总线。
5、如权利要求(4)中所述的可编程控制器,其中:当启动时在所述处理器板内装有一个I/O驱动程序,该I/O驱动程序读得I/O板的标识号、所述板的接口类型、通道数、命令寄存器地址和缓冲器地址或者数据寄存器地址以及当需要进行某种特殊处理时指向所述特殊处理过程的地址,以建立一个过程定义表并以表格的形式储存起来,该I/O驱动程序还在作数据输出处理时参考所述过程定义表。
6、如权利要求(4)中所述的可编程处理器,其中:在所述处理器板和所述I/O板组内有一些选通信号产生装置;当起动一个数据传送周期时,所述请求数据传送的板每个传输帧都发出选通信号使所述有关帧成为有效;接收到所述数据传送请求的所述板发出一个数据帧和一个状态帧或在发出状态帧时也发出所述选通信号;于是结束所述数据传送周期。
7、如权利要求(4)中所述的可编程控制器,其中:配备了跟异常情况的种类数相一致的异常情况检测电路,所述处理器把异常检测信号作为一个中断信号来接收并将由一内部定时器给出的时间数据和检测到的异常情况的内容以表格的形式储存起来。
8、如权利要求(4)中所述的可编程控制器,其特征是:在一个顺序控制处理程序中的一个I/O刷新过程可以被跳过,在建立所述梯形级工序时把信号名指配给所述工序部件并且根据一个预先定好的信号名-地址对照表把信号名和地址对应起来,以及把跟所述信号名对应的详尽地址从标有最小号码的所述地址开始顺序地赋给在编译时还没有指配有所述详尽地址的所述信号名。
9、如权利要求(4)中所述的可编程控制器,其特征在于:在对所述梯形程序进行编程时将一系列顺序控制操作分割成一些对应于几个步骤的程序块,在每一所述程序块的最后一个子步骤的所述梯级工序中设置一条用以规定接着要执行的所述程序块的命令和一条用以使所述本程序块的进程停止的命令,以及按程序块来建立和执行所述梯形程序。
10、如权利要求(4)中所述的可编程控制器,其特征在于:建立了一个注解文件和一个工序/注解对照表,该注解文件用于存放附加于以一种梯形语言形成的所述梯形程序中所述各梯级工序的注解和所述该梯级工序的步骤号使所述注解跟所述步骤号对应起来,在该工序/注解对照表中所述该梯级工序的所述步骤号跟所述注解文件中的注解号对应起来;以及由一编程工具读出所述工序注解、所述步骤号和所述梯级工序。
11、一种用于通过周期性地切换所执行的顺序进程和各种基本进程来完成一CPU进程的可编程控制器,它包括:
一个设置了所述基本进程每次最大允许处理时间的定时器,它也用来计算所述顺序进程每次的处理时间;以及
一个执行权切换处理单元,它用于在所述定时器中设置一个所述处理时间值以按照所述定时器的计数值来确定所述基本进程的所述处理时间并在所述顺序进程和所述基本进程之间进行切换。
12、一种可编程控制器,它包括:
一个按照一种指定的语言运行的CPU;
运行所述CPU所需要的各种部件;
一种能够从外面指定至少一种或更多的要执行的语言的设置装置;以及
一种用以按照由所述设置手段指定的所述语言生成一个最佳执行环境的生成装置。
13、一种可编程控制器,它包括:
一个用以处理一种基本语言的处理器板;
至少一个或更多的顺序语言处理专用的处理器板,用以存放一个或更多的专用于所述顺序语言处理的模块式顺序控制程序;以及
装备在所述顺序语言处理专用的所述处理器板低端的一组I/O板,用以对一控制对象发送或接收控制信息,其特征是:处理所述基本语言的所述处理器板把一启动指令和一结束指令通知在所述顺序语言处理专用的所述处理器板中的每一个所述模块式顺序控制程序。
CN90102324A 1989-04-24 1990-04-23 可编程控制器 Pending CN1046987A (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP1104052A JPH02281365A (ja) 1989-04-24 1989-04-24 情報処理装置
JP89-104052 1989-04-24
JP1129707A JPH02307151A (ja) 1989-05-23 1989-05-23 プロセッサ・システム
JP89-129707 1989-05-23
JP89-275513 1989-10-23
JP1275512A JPH03136103A (ja) 1989-10-23 1989-10-23 シーケンサ
JP1275513A JPH03136105A (ja) 1989-10-23 1989-10-23 ラダー・シーケンス制御装置
JP89-275512 1989-10-23

Publications (1)

Publication Number Publication Date
CN1046987A true CN1046987A (zh) 1990-11-14

Family

ID=27469177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN90102324A Pending CN1046987A (zh) 1989-04-24 1990-04-23 可编程控制器

Country Status (7)

Country Link
US (1) US5553297A (zh)
KR (2) KR940002324B1 (zh)
CN (1) CN1046987A (zh)
DE (1) DE4011278A1 (zh)
FR (1) FR2646254B1 (zh)
GB (1) GB2232514B (zh)
NL (1) NL9000984A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100445909C (zh) * 2004-12-29 2008-12-24 斗山英维高株式会社 可用程序进行plc接口处理的机床控制装置及处理方法
CN102096390A (zh) * 2011-01-30 2011-06-15 深圳市合信自动化技术有限公司 可编程逻辑控制器、程序编译器、编译系统及方法
CN102414672A (zh) * 2009-07-20 2012-04-11 密克罗奇普技术公司 可编程异常处理等待时间
CN103529749A (zh) * 2013-10-29 2014-01-22 威海麦科电气技术有限公司 一种plc可编程控制器的梯形图程序开发系统及方法
CN103608118A (zh) * 2011-06-21 2014-02-26 西门子公司 用于从包含矿石颗粒磁颗粒凝聚物的悬浮液中获取非磁性矿石的方法
CN103970087A (zh) * 2013-01-30 2014-08-06 发那科株式会社 动作程序生成装置

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2848060B2 (ja) * 1991-10-24 1999-01-20 株式会社日立製作所 プログラマブルコントローラおよびシーケンス制御方法
JPH08123515A (ja) * 1994-10-25 1996-05-17 Fanuc Ltd シーケンス・プログラムの表示方式
JP3868541B2 (ja) * 1996-07-16 2007-01-17 東芝機械株式会社 ダイカスト機の制御装置
US20040194101A1 (en) * 1997-08-21 2004-09-30 Glanzer David A. Flexible function blocks
US7146230B2 (en) * 1996-08-23 2006-12-05 Fieldbus Foundation Integrated fieldbus data server architecture
US6424872B1 (en) 1996-08-23 2002-07-23 Fieldbus Foundation Block oriented control system
US5963446A (en) * 1996-08-27 1999-10-05 Steeplechase Software, Inc. Extended relay ladder logic for programmable logic controllers
JPH10240522A (ja) * 1997-02-26 1998-09-11 Matsushita Electric Works Ltd 演算装置
US6999824B2 (en) * 1997-08-21 2006-02-14 Fieldbus Foundation System and method for implementing safety instrumented systems in a fieldbus architecture
US6157970A (en) * 1997-09-24 2000-12-05 Intel Corporation Direct memory access system using time-multiplexing for transferring address, data, and control and a separate control line for serially transmitting encoded DMA channel number
US6104875A (en) * 1997-12-18 2000-08-15 Honeywell Inc. Method for field programming an industrial process transmitter
US6272398B1 (en) 1998-09-21 2001-08-07 Siebolt Hettinga Processor-based process control system with intuitive programming capabilities
DE19946096A1 (de) * 1999-09-27 2001-04-12 Mannesmann Vdo Ag Steuergerät, insbesondere für ein Kraftfahrzeug
JP2001265412A (ja) * 2000-03-15 2001-09-28 Omron Corp プログラマブルコントローラ
US20050240286A1 (en) * 2000-06-21 2005-10-27 Glanzer David A Block-oriented control system on high speed ethernet
CH696253A5 (de) * 2000-12-29 2007-02-28 Sticht Fertigungstech Stiwa Anlagen-Betriebsleiteinrichtung für eine Fertigungs- und/oder Montageeinrichtung.
JP4783527B2 (ja) 2001-01-31 2011-09-28 株式会社ガイア・システム・ソリューション データ処理システム、データ処理装置およびその制御方法
JP4865960B2 (ja) * 2001-06-25 2012-02-01 株式会社ガイア・システム・ソリューション データ処理装置およびその制御方法
US6993674B2 (en) 2001-12-27 2006-01-31 Pacific Design, Inc. System LSI architecture and method for controlling the clock of a data processing system through the use of instructions
WO2004093641A2 (en) 2003-04-16 2004-11-04 Drexel University Acoustic blood analyzer for assessing blood properties
EP1582948B1 (en) * 2004-03-31 2009-06-24 Omron Corporation Development aid device
TWI279711B (en) 2005-08-19 2007-04-21 Mitac Technology Corp Dual-processor multimedia system, and method for fast activation of the multimedia system
JP2007156824A (ja) * 2005-12-05 2007-06-21 Nec Electronics Corp プロセッサシステム、タスク制御方法
US7489977B2 (en) * 2005-12-20 2009-02-10 Fieldbus Foundation System and method for implementing time synchronization monitoring and detection in a safety instrumented system
US8676357B2 (en) * 2005-12-20 2014-03-18 Fieldbus Foundation System and method for implementing an extended safety instrumented system
US20090083719A1 (en) * 2007-09-20 2009-03-26 Delta Electronics, Inc. Method of compiling machine code program for programmable logic controller
JP5155646B2 (ja) * 2007-12-13 2013-03-06 アイシン高丘株式会社 熱間プレス成形装置及び熱間プレス成形方法
US20090302588A1 (en) * 2008-06-05 2009-12-10 Autoliv Asp, Inc. Systems and methods for airbag tether release
WO2010014033A1 (en) * 2008-07-31 2010-02-04 Ge Healthcare Bio-Sciences Ab Separation device
JP5454783B2 (ja) * 2009-03-13 2014-03-26 オムロン株式会社 Plcのプログラミングにおける変数名の入力支援方法、plcのプログラミングにおける変数名の入力支援装置、及びコンピュータプログラム
JP5937637B2 (ja) * 2014-04-30 2016-06-22 ファナック株式会社 シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置
DE112014003085T5 (de) * 2014-07-14 2016-03-17 Mitsubishi Electric Corporation SPS-System und Vorrichtung zur Unterstützung von Datenerzeugung für arithmetische Ausdrücke
JP6122054B2 (ja) * 2015-03-13 2017-04-26 ファナック株式会社 ラダープログラムの分岐回路抽出表示機能を有するモニタ装置
JP6325500B2 (ja) * 2015-09-17 2018-05-16 ファナック株式会社 Cncの動作状況をコメント中に追加表示可能なラダー図モニタ装置
CN106762414B (zh) * 2016-11-23 2020-05-22 北京华电天仁电力控制技术有限公司 一种用于风力发电机组变桨控制系统的板式可编程控制器

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303990A (en) * 1976-07-01 1981-12-01 Gulf & Western Industries, Inc. Programmable controller using microprocessor
JPS54114687A (en) * 1978-02-27 1979-09-06 Toyoda Mach Works Ltd Sequence controller
DE2932394A1 (de) * 1978-08-24 1980-02-28 Texas Instruments Inc Intelligente, programmierbare prozessteueranordnung
DE3236302A1 (de) * 1982-09-30 1984-04-05 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
JPS59119405A (ja) * 1982-12-27 1984-07-10 Hitachi Ltd 複数台運転可能なシ−ケンスコントロ−ラ
DE3302929A1 (de) * 1983-01-28 1984-08-02 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
DE3302940A1 (de) * 1983-01-28 1984-08-02 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung mit wort- und bitprozessor
JPS59172008A (ja) * 1983-03-22 1984-09-28 Mitsubishi Electric Corp 数値制御装置
US4750110A (en) * 1983-04-18 1988-06-07 Motorola, Inc. Method and apparatus for executing an instruction contingent upon a condition present in another data processor
DE3323824A1 (de) * 1983-07-01 1985-01-03 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
EP0134386A2 (en) * 1983-08-05 1985-03-20 Ten X Technology, Inc. Method and apparatus for executing object code instructions compiled from a high-level language source
US4862351A (en) * 1983-09-01 1989-08-29 Unisys Corporation Method of executing called activities via depictor-linked low level language microcode, hardware logic, and high level language commands; and apparatus for same
US4742443A (en) * 1985-03-28 1988-05-03 Allen-Bradley Company Programmable controller with function chart interpreter
US4942552A (en) * 1986-11-20 1990-07-17 Allen-Bradley Company, Inc. Method and apparatus for saving and performing industrial control commands
US4972365A (en) * 1987-05-01 1990-11-20 Allen-Bradley Company, Inc. Executing downloaded user programs in a programmable controller
DE3720006A1 (de) * 1987-06-15 1988-12-29 Siemens Ag Datenverarbeitungsanlage mit einem bitprozessor und einem wortprozessor
US4858101A (en) * 1987-08-26 1989-08-15 Allen-Bradley Company, Inc. Programmable controller with parallel processors
US4937777A (en) * 1987-10-07 1990-06-26 Allen-Bradley Company, Inc. Programmable controller with multiple task processors
US5287548A (en) * 1988-02-29 1994-02-15 Allen-Bradley Company, Inc. Programmable controller having a stored program with both machine language instructions and source code data
US4985831A (en) * 1988-10-31 1991-01-15 Evans & Sutherland Computer Corp. Multiprocessor task scheduling system
US5068778A (en) * 1988-11-28 1991-11-26 Reliance Electric Industrial Company Industrial control system device
US5068821A (en) * 1989-03-27 1991-11-26 Ge Fanuc Automation North America, Inc. Bit processor with powers flow register switches control a function block processor for execution of the current command

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100445909C (zh) * 2004-12-29 2008-12-24 斗山英维高株式会社 可用程序进行plc接口处理的机床控制装置及处理方法
CN102414672A (zh) * 2009-07-20 2012-04-11 密克罗奇普技术公司 可编程异常处理等待时间
CN102096390A (zh) * 2011-01-30 2011-06-15 深圳市合信自动化技术有限公司 可编程逻辑控制器、程序编译器、编译系统及方法
CN102096390B (zh) * 2011-01-30 2014-04-09 深圳市合信自动化技术有限公司 可编程逻辑控制器、组态程序编译器及方法
CN103608118A (zh) * 2011-06-21 2014-02-26 西门子公司 用于从包含矿石颗粒磁颗粒凝聚物的悬浮液中获取非磁性矿石的方法
CN103970087A (zh) * 2013-01-30 2014-08-06 发那科株式会社 动作程序生成装置
CN103970087B (zh) * 2013-01-30 2016-03-02 发那科株式会社 动作程序生成装置
US9676101B2 (en) 2013-01-30 2017-06-13 Fanuc Corporation Operating program writing system
CN103529749A (zh) * 2013-10-29 2014-01-22 威海麦科电气技术有限公司 一种plc可编程控制器的梯形图程序开发系统及方法
CN103529749B (zh) * 2013-10-29 2017-07-25 威海麦科电气技术有限公司 一种plc可编程控制器的梯形图程序开发系统及方法

Also Published As

Publication number Publication date
GB2232514B (en) 1993-09-01
KR940002339B1 (ko) 1994-03-23
GB9006947D0 (en) 1990-05-23
GB2232514A (en) 1990-12-12
KR940002324B1 (ko) 1994-03-23
KR900016842A (ko) 1990-11-14
FR2646254B1 (fr) 1996-10-31
US5553297A (en) 1996-09-03
FR2646254A1 (fr) 1990-10-26
DE4011278A1 (de) 1990-10-25
NL9000984A (nl) 1990-11-16

Similar Documents

Publication Publication Date Title
CN1046987A (zh) 可编程控制器
CN1293465C (zh) Gui显示装置及光标或gui组件动画显示处理方法
CN1252144A (zh) 一可编程组件中可构元件的自同步方法
CN1484147A (zh) 实现自动开关机测试的系统及方法
CN1292360C (zh) 一种实现自动读写内部集成电路设备的装置和方法
CN1906583A (zh) 信息处理设备、中断处理控制方法、以及计算机程序
CN1760836A (zh) 信息处理系统、信息处理方法和程序
CN1102934A (zh) 增量连接系统
CN1233016A (zh) 具有事件相关矢量选择的历境控制器和采用其的处理器
CN101051301A (zh) 用于操作计算机处理器阵列的方法和装置
TW201339773A (zh) 序列程式除錯支援裝置
CN101078999A (zh) 一种实现数据备份和恢复的方法及系统
CN1869952A (zh) 指令执行设备、调试方法、调试设备以及调试程序
CN100347682C (zh) 自动化测试构建方法
CN101065725A (zh) 命令供给装置
CN1811632A (zh) 一种数控代码编译器以及基于其建立数控系统软件的方法
CN1506809A (zh) 模拟装置、模拟方法及程序
CN1862511A (zh) 一种软件单元的测试方法
CN1206951A (zh) 复制控制器及其故障恢复方法
CN1229728C (zh) 具有会话管理和分布式管理功能以及相应的操作管理机制的web应用系统
CN1924746A (zh) 微型燃汽轮机的数据采集监视控制装置及方法
CN1604582A (zh) 支持工业通信协议的现场智能单元及其操作方法
CN1303532C (zh) 冗余切换控制方法及电路
CN1233015A (zh) 具有节能模式自动进入的历境控制器以及采用其的处理器
CN1150479C (zh) 数字控制装置的程序生成支援装置

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication