PLC梯形图逻辑量并行处理方法.pdf

上传人:1*** 文档编号:65741 上传时间:2018-01-22 格式:PDF 页数:14 大小:571.47KB
返回 下载 相关 举报
摘要
申请专利号:

CN201410308525.1

申请日:

2014.06.26

公开号:

CN104077112A

公开日:

2014.10.01

当前法律状态:

公开

有效性:

审中

法律详情:

公开

IPC分类号:

G06F9/38; G05B19/05

主分类号:

G06F9/38

申请人:

邵振翔

发明人:

邵振翔

地址:

315012 浙江省宁波市海曙区机场路1988号浙江工商职院笃行303

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

本发明涉及一种大幅度提高可编程控制器(又称PLC)特别是大型高速可编程控制器的梯形图执行速度或者说缩短梯形图循环扫描周期的硬、软件方法。已有的可编程控制器内的微处理器或微控制器用一位逻辑量传送、运算的方法循环扫描执行指令串,以实现梯形图功能,因没有充分利用微处理器或微控制器多位逻辑量运算能力,运算资源浪费,所以对梯形图的循环扫描周期长,执行速度慢。本发明对梯形图中的逻件变量采用多位逻辑量双向同时并行直接传送、多位逻辑量同时并行运算及增设梯形图垂直线段或运算加速电路,使梯形图的执行速度成倍提高。附图是一种梯形图垂直线段或运算加速电路(只是一个片断)。

权利要求书

1.  一种由微控制器或微处理器组成的可编程控制器实现梯形图功能的方法,其特征在于对梯形图中的逻件变量采用双向多位逻辑量同时并行直接传送。

2.
  一种由微控制器或微处理器组成的可编程控制器实现梯形图功能的方法,其特征在于对梯形图中的逻件变量采用多位逻辑量同时并行运算。

3.
  如权利要求1所述的由微控制器或微处理器组成的可编程控制器,其特征在于具有寄存器与位变量存储区之间多条可双向传递位变量的独立传送通道及为这些多个位变量独立传送提供位地址的并行输出存储区。

4.
  如权利要求2所述的由微控制器或微处理器组成的可编程控制器,其特征在于它含有梯形图垂直线段或运算加速电路。

5.
  如权利要求4所述的由微控制器或微处理器组成的可编程控制器,其特征在于它的第一种梯形图垂直线段或运算加速电路是按照垂线左边行的逻辑1沿垂直线段向垂线右边上、下相邻行传递的特点构成,如图4所示。

6.
  如权利要求4所述的由微控制器或微处理器组成的可编程控制器,其特征在于它的第二种梯形图垂直线段或运算加速电路是按照垂线左边行的逻辑1沿垂直线段向垂线右边上、下相邻行传递的特点并把整个电路分成若干个块构成,块间有一边相邻块传递输入的信号和向另一边相邻块传递输出的信号,块内及块间的逻辑关系如公式(9)~(13)所示,这两组电路块的对应输出再相或就是垂直线段或运算的输出。

7.
  一种微处理器或微控制器,其特征在于具有寄存器与位变量存储区之间多条可双向传递位变量的独立传送通道及为这些多个位变量独立传送提供位地址的并行输出存储区。

说明书

PLC梯形图逻辑量并行处理方法
所属技术领域
涉及一种大幅度提高可编程控制器(又称PLC)特别是大型高速可编程控制器的梯形图执行速度或者说缩短梯形图循环扫描周期的硬、软件方法。
背景技术
已有的可编程控制器系统是把梯形图解析(编译或解释)成处理单个逻辑变量的指令串,可编程控制器运行时,控制器内的微处理器或微控制器用一位逻辑量传送、运算(即串行处理)的方法循环扫描执行指令串,以实现梯形图功能。
以三菱PLC梯形图为例,这里把水平方向的PLC元件(如X、Y、M、C、T)和水平连线称为行,把垂直方向的PLC元件和水平连线称为列,两列之间可能有不同数量和长短的垂直连线。梯形图最后一列用于放置输出继电器Y,这里把最后一列称作输出列。一般的梯形图是由PLC元件与水平的连线组成水平行及水平行之间的可能含有的垂直连线构成,如图1、图3的梯形图。先分析一下PLC梯形图的含义,PLC梯形图是一种直观的图形化的程序,它的图形结构模仿继电线路,以便于使用者编程。如果把梯形图最左和最右的两根竖线及连接PLC元件的水平连线和垂直线段看成导线,把PLC元件(如X、Y、M、C、T)看作开关,在最左和最右的两根竖线加上电压,如果这个电压经过开关和导线施加到了处于梯形图最后一列的任何输出继电器Y上,那么这个输出继电器的实际输出端就导通。与实际电压传递不同的是,规定加在梯形图最左竖线上的电压只能沿开关和导线从左向右,及向上、向下传递,通向处于梯形图最后一列的任何输出继电器的左端,而不能从右向左传递,这是为使梯形图便于编译。从逻辑量上看,相当于把逻辑量1加在梯形图最左竖线上,这个逻辑量1经过由PLC元件(如X、Y、M、C、T)组成的开关,和由连接PLC元件的水平连线和垂直线段构成的通路,从左向右,及向上、向下传递,通向处于梯形图最后一列的任何一个输出继电器的左端,哪一个输出继电器的左端传递到了逻辑量1,这个输出元件的实际输出端就导通。这也可以形象地看作有足够多的逻辑量1从梯形图最左竖线开始,沿一切可能的由PLC元件(如X、Y、M、C、T)组 成的开关,及把连接PLC元件的水平连线和垂直线段视作导线所构成的路径,从左向右,及向上、向下传递,通向处于梯形图最后一列的任何一个输出继电器的左端,哪一个输出元件的左端传递到了逻辑量1,这个输出继电器的实际输出端就导通,这种现象可形象地称为逻辑量1向右及沿垂直线段向上、下传递。
从逻辑关系看,梯形图垂直线段所表达的逻辑关系是,只要梯形图垂直线段从左边传入的逻辑量有一处为1,那么垂直线段所到之处向右边传出的逻辑量都为1,这就是说向垂线右边各行传出的逻辑量都相同,并等于垂线左边各行传入的逻辑量的逻辑或。
逻辑量沿梯形图水平方向从左经PLC元件或水平连线向右传出,PLC元件或水平连线右边传出的逻辑量是PLC元件或水平连线左边传入的逻辑量和PLC元件或水平连线的开关状态的逻辑量的逻辑与。水平连线的开关状态的逻辑量总是1。
从非常简单直观的梯形图如图1开始说起,以PLC的内部控制芯片用8位的MCS-51单片机为例(用8位机是为叙述方便考虑,工作原理与微处理器或微控制器的位数无关,而且微处理器或微控制器的位数增多,本发明的效果会更好),图2是PLC实际输入、输出端口与内部的51单片机的接线图。对图1梯形图已有的梯形图功能的实现方法用51单片机的汇编语言表达如下:


大括号内的指令循环执行。
可见,这种梯形图功能的一位逻辑量传送、运算的实现方法没有充分利用微处理器或微控制器多位逻辑量运算能力,运算资源浪费,因而梯形图的循环扫描周期长,执行速度慢。
发明内容
为克服PLC梯形图的循环扫描周期长,执行速度相对较慢的缺点,本发明提出梯形图新的硬、软件实现方法,大幅度缩短了梯形图的循环扫描周期,执行速度成倍提高。
本发明解决其技术问题所采用的技术方案是:
对梯形图中的逻件变量采用多位逻辑量双向同时并行直接传送、多位逻辑量同时并行运算及增设梯形图垂直线段或运算加速电路。即利用微处理器或微控制器所具有的把两组多个逻辑量独立并行运算的能力(如51单片机汇编指令ANL A,B,这条指令就实现了ACC中的各个位与B寄存器中的对应位分别独立进行逻辑与运算,也即实现了ACC中的各个位与B寄存器中的对应位同时并行运算),增加每次逻辑与运算的逻辑量数量,添加并行处理的梯形图垂直线段或运算加速电路以加快梯形图中垂直线段的逻辑或关系的处理,增设累加器ACC(及B寄存器)与位变量存储区之间多条可双向传递位变量的独立传送通道及为这些多个位变量独立传送提供位地址的并行输出存储区,加快逻辑量传送,把实现梯形图功能的一位逻辑量传送、运算的方法改进为实现梯形图功能的多位逻辑量同时并行传送、多位逻辑量同时并行运算的方法。
本发明的有益效果是,
大大地缩短了梯形图的循环扫描周期,即大幅度提高了梯形图的执行速度。
附图说明
图1是一个非常简单的梯形图。
图2是一个16进8出的PLC,其实际输入、输出端口与内部的51单片机引脚的连接图。
图3是一个行间含有垂直线段的梯形图。
图4为第一种梯形图垂直线段或运算加速电路(只是它的一个片断,只包含从垂线左边三行通向垂线的逻辑变量和这三行内的垂线变量及从垂线向垂线右边三行输出的逻辑变量)。
图5为位变量存储区向累加器ACC和寄存器B的各个位的8条独立传送通道中都串入的用于选择相同逻辑还是相非逻辑传送输出的数据选择电路,箭头为逻辑信号流动方向。
下面结合附图对本发明作进一步说明。
同样对图1梯形图、用51单片机,并行逻辑运算方法如下:


大括号内的指令循环执行。
需注意的是,上段程序中“()”内的指令对现有的51单片机是没有的。如果“()”内的指令能够在同一时间在多条传输通道的支持下并行完成,那么图1梯形图的执行速度就会提高。
为实现用多条传输通道支持“()”内的指令在同一时间并行完成,本发明提出的方法是:仍以51单片机为例,该单片机已经具有一条C与可寻址的位存储区之间位变量双向传送通道,如51单片机位变量传送指令MOV C,bit;MOV bit,C。传送位变量的出发处地址和目的处地址已含在指令中,如bit;及隐含在指令中,如C。这条双向传送通道连接C的这一端是固定的,另一端连接位存储区并可按bit值寻址。但要实现用多条传输通道支持“()”内的指令在同一时间并行完成,在硬件上(对8位的51单片机)需要具有独立的由ACC.0与可寻址的位存储区双向传送通道;由ACC.1与可寻址的位存储区双向传送通道;-----;由ACC.7与可寻址的位存储区双向传送通道;共8条。这8条双向传送通道的一端是分别固定在ACC.0---ACC.7的位地址上,另一端连接在可位寻址的位存储区。这8条双向独立传送通道的可位寻址的一端需要提供8个位地址,若要实现8条双向传输通道在同一时间并行完成8个位变量的传送,这8个位地址也必须同一时间并行提供,所以这8个位地址不能包含在指令中,因为多字节 指令只能分时读出,消耗时间。本发明的方法是,在51单片机的存储区中开辟一个特殊区域,该区域既可按普通的8位二进制数存取操作,也可按8个相邻的8位二进制数共8×8=64位同时并行输出,为8条双向独立传输通道在同一时间并行完成8个位变量的传送提供8个独立的8位地址。因此,这种方法需要在硬件上对原单片机结构进行有关方面的改造。64位并行输出区可以设一个象堆栈指针那样自动地址加减计数器,既可自动地址计数也可对地址计数器写入新值,可提高64位同时并行输出的速度。这64位同时并行输出数据线在单片机的内部,不会引起芯片引脚的增加。这个特殊的存储区域中的数据就是梯形图中PLC元件(如X、Y、M、C、T)即开关量的位地址,数据关系非常简单,在对梯形图编译扫描就可确定、写入。
实现了“()”内的多个位变量传送指令在多条独立传输通道支持下在同一时间并行执行,那么梯形图的位(逻辑)变量传送速度就会大大提高。象ANL A,B那样的接位字节逻辑与的51单片机机器指令加快了逻辑运算。所以,本发明的PLC梯形图逻辑量并行处理方法大大加快了图1梯形图的执行速度。如果梯形图行数增加,PLC内部控制芯片是32位、64位的微处理器或微控制器,如对硬件结构也进行类似的改造。那么梯形图的执行速度就会大大提高。
但图1梯形图太简单了,如图3含有垂直连线的梯形图更具普遍性,垂直线段所表达的逻辑关系其实是一种或运算,特别是同一列有多条垂直线段时,用程序软件处理需要占用较多的指令,花费较长时间。本发明设计了两种硬件电路来加快处理梯形图垂直连线所产生的逻辑关系。
设n为梯形图中的行号。对处于某两列之间的垂线,In为垂线左边第n行水平传入垂线的逻辑信号,有逻辑量1从这一行水平传入垂线,其值为1,否则为0,若这一行左边无连接,也为0。L(n-1)~n为第(n-1)行与第n行之间的垂线(有垂线为1,无垂线为0),(行数从0起数)若第0行与第1行无垂线,则表示垂线的二进制数的第0位为0;第1行与第2行有垂线,则表示该垂线的二进制数的第1位为1,……,所以这里垂线用7位二进制数表示;On为或运算加速电路第n行输出信号。
第一个梯形图垂直连线处理电路如图4,只是它的一个片断,只包含从垂线左边三行通向垂线的逻辑变量(In-1、In、In+1),这三行内的垂线变量(第 In-1行与第In行之间的垂线L(n-1)~n和第In行与第In+1之间的垂线Ln~(n+1),及从垂线向垂线右边三行输出的逻辑变量(On-1、On、On+1),完整的画法应该是8行。图4的最上边和最下边的未连接信号线是这3行中的最上行与上面相邻行的变量传递及最下行与下面相邻行的变量传递。若n-1为0,即对梯形图的第0行,它没有上方的相邻行,所以电路接受上方相邻行向下传递的入口可以接0,向上输出传递的出口可以空接;对梯形图的第7行,也是类似处理。
按前述,在51单片机的存储区中开辟一个特殊区域,该区域既可按普通的8位二进制数存取操作,也可按8个相邻的8位二进制数共8×8=64位二进制数同时并行输出,这个特殊的存储区域中的数据就是梯形图中PLC元件(如X、Y、M、C、T)的位地址,所以图3梯形图存储在这个特殊的区域中的数据如下
〖7EH,7EH,2H,7H,2H,1H,3H,0H,
7EH,6H,1H,5H,8H,9H,4H,2H,
7EH,7EH,7EH,3H,7FH,5H,7FH,7FH,
N2H,N1H,N0H,10H,16H,14H,12H,11H〗
需注意,位地址7EH中始终存放着逻辑0,位地址7FH中始终存放着逻辑1。上述第1行数就是图3梯形图第1列PLC元件的位地址;第2行数就是图3梯形图第2列PLC元件的位地址;第3行数就是图3梯形图第3列PLC元件的位地址;第4行数就是图3梯形图第4列(输出列)PLC元件的位地址。
再在普通的存储区域存放表示梯形图垂直线段的数据的数组如下,图3梯形图从左向右数第一条垂直线段在第4行与第5行之间和第5行与第6行之间有垂线,因此,表示这垂直连线的7位二进制数是0110000B,所以数组的第一个数是30H;从左向右数第二条垂直线段在第1行与第2行之间、第4行与第5行之间和第5行与第6行之间有垂线,因此,表示这垂直连线的二进制数是0110010B,所以数组的第二个数是32H。即数据如下
〖32H,30H〗;这里数组元素序列从右向左。
本发明的图3梯形图并行执行方法如下
{
1、MOV 20H,P0
2、MOV 21H,P1
3、(特殊存储区域并行输出表示第一列逻辑元件位地址的第一批数7EH,7EH,2H,7H,2H,1H,3H,0H,64位二进制数,为8条双向传输通道在同一时间并行提供8个独立的8位地址,完成8个位变量的一次传送,如把它们送入特殊寄存器B相应位中,这时B中的数值为B.7=0,B.6=0,B.5=X2,B.4=X7,B.3=X2,B.2=X1,B.1=X3,B.0=X0,若这时X2=1,X0=1,其余等于0,那么B=00101001B=29H。)
4、把代表第一条垂线的垂直线段数组中的第一个数据30H送入A;这是由于梯形图第一列元件与第二列元件之间有垂直线段,需要执行垂直线段逻辑或运算。
5、(把B中的各位数据与图4中的标有I的入口的对应位一一连接(即B.0与I.0,B.1与I.1,……,B.7与I.7一一连接),把A中的各位数据与图4中的标有L的入口的对应位一一连接(即ACC.0与L.0,ACC.1与L.1……ACC.6与L.6一一连接),输出的Q值各位就是梯形图垂直线段向右各行的输出,并自动存入B寄存器。)
6、(特殊存储区域并行输出表示第二列逻辑元件位地址的第二批数7EH,6H,1H,5H,8H,9H,4H,2H,64位二进制数,为8条双向传输通道在同一时间并行提供8个独立的8位地址,完成8个位变量的一次传送,如把它们送入特殊寄存器A中,这时A中的数值为ACC.7=0,ACC.6=X6,ACC.5=X1,ACC.4=X5,ACC.3=X10,ACC.2=X11,ACC.1=X4,ACC.0=X2,)
7、ANL B,A
8、把垂直线段数组中第二个数据即代表第二条垂线(共分两段)的30H送入A;
9、把B、A送图4垂直线段或运算加速电路执行逻辑运算;
10、(特殊存储区域并行输出表示第三列逻辑元件地址的第三批数7EH,7EH,7EH,3H,7FH,5H,7FH,7FH,64位二进制数,为8条双向传输通道在同一时间并行提供8个独立的8位地址,完成8个位变量的一次传送,如把它们送入特殊寄存器A中,这时A中的数值为ACC.7=0,ACC.6=0,ACC.5=0,ACC.4=X3,ACC.3=1,ACC.2=X5,ACC.1 =1,ACC.0=1)
11、ANL B,A
12、(特殊存储区域并行输出表示输出列逻辑元件地址的第四批数N2H,N1H,N0H,10H,16H,14H,12H,11H,64位二进制数,为8条双向传输通道在同一时间并行提供8个独立的8位地址,完成8个位变量的一次传送,把结果的位变量值送入暂存输出继电器逻辑值的各对应位地址中,梯形图无输出元件的行用Nx无效的位地址填入,使不对实际输出产生影响)
13、MOV P2,22H
}
从上面本发明提出的梯形图并行处理方法看出,共13步就实现了图3梯形的功能,梯形图执行时间明显缩短了,特别是用32位机或64位机,梯形图执行时间将大幅缩短,也即执行速度将大大加快,这对大型高速PLC更加有利。但增加了位变量双向传输通道及开辟了相应的位地址并行输出存储区,添加了垂直线段或运算加速电路,这是加快梯形图执行速度所付的硬件代价。微处理器或微控制器的位数总在不断增加,所需硬件代价也会越来越小,所以梯形图并行处理方法适合电子技术的发展趋势。梯形图的处理不必停留在一位逻辑量的处理方法上,而使微处理器或微控制器的其他的多数位都处于空闲状态。
第一种梯形图垂直线段或运算加速电路是是按照垂线左边行的逻辑1沿垂直线段向垂线右边上、下相邻行传递的特点,也即如果本位和邻位有一条垂线相连,本位输出的1就会传递给邻位,反过来也一样的原理而设计的。设n为信号在或运算加速电路中的位置,In为垂线左边n行传入垂线的逻辑信号(逻辑变量),L(n-1)~n为(n-1)位与n位之间的垂线信号(垂线变量)(有垂线为1,无垂线为0),On为垂线或运算加速电路输出信号,也即垂线向垂线右边n行传出的逻辑信号。那么相邻两行的关系可用逻辑公式表示为:
On=In+On-1&L(n-1)~n+On+1&L(n+1)~n   (1)
On+1=In+1+On&Ln~(n+1)+On+2&L(n+2)~(n+1)   (2)
但是上述公式含有隐患,如果相邻两位之间允许有向上、向下两边传递进来的两个输入信号,又有向上、向下两边传递出去的两个输出信号,这样的结 构会造成错误的自锁现象。这是因为:如果相邻两位之间有垂线信号,Ln~(n+1)=1,如果In硬件输入端出现毛刺、尖脉冲等偶然因素,那么除了本位On1,还因On&Ln~(n+1)=1,邻位接受了传递过来的这个1,在自身位On+1=1的同时又向刚传过来1的相邻位反传回来1;同样原因,又使On=1,再传递过去。这时相邻两位梯形图垂线左边信号硬件输入端可能都已为0,但输出已锁定在1了,这当然是错误的自锁现象。所以电路块之间逻辑1的传递只能是单向的,总电路应采用两路单向传递,再相或的结构,使电路既不自锁,又实现式(1)、式(2)的效果。若用Oa、Ob分别表示两路单向传递的输出信号,这样的电路结构也可用逻辑公式表示:
Oan=In+Oan-1&L(n-1)~n   (3)
Oan+1=In+1+Oan&Ln~(n+1)   (4)
Obn=In+Obn+1&Ln~(n+1)   (5)
Obn+1=In+1+Obn+2&L(n+1)~(n+2)   (6)
On=Oan+Obn   (7)
On+1=Oan+1+Obn+1   (8)
图4给出这种或运算加速电路的一个片断,一旦送入某个或门的逻辑信号量In为1,这个或门的本位输出就为1,1还会沿垂线信号向上、向下传递,与门把1的传递限制在垂线范围之内。这就实现了垂线范围之内的或运算。不同的垂线决定了各自的传递范围,无垂线的地方就直接输出。这种电路规模较小,但因逻辑信号量1是以串联的形式传递,时延较长。为减少时延,加快传递速度,也可再加或门和与门实现1的由上向下和由下向上的跨越式传递,这时,应把跨越范围内的垂线信号都接至与门输入端,使相邻传递和跨越式传递共存。
第二种梯形图垂直线段或运算加速电路是按照垂线左边行的逻辑1沿垂直线段向垂线右边上、下相邻行传递的特点并把整个电路分成若干个块构成,用并行、快传递的方法来提高电路的运算速度,这相当于快进位并行加法器的设计方法。为了防止电路规模过大,根据逻辑1相邻传递的特点把整个电路分成若干个块(如把8位的垂直线段或运算加速电路分为2块),块内按并行、单向、快传递设计;块间逻辑1的传递是串联的,各分块有从一边相邻块传递输入的 信号端CIN和向另一边相邻块传递输出的信号端COUT,。因为电路块之间逻辑1的传递是单向的,所以设计电路块内部的组合逻辑电路时,也只需考虑逻辑1的单向传递。这样对典型的一个电路块有9个输入信号:4行梯形图垂线左边逻辑信号I、4行梯形图垂线信号L、1个相邻块传递过来信号CIN;5个输出信号:4个垂直线段或运算输出信号O、1个向另一边相邻块传递输出的信号COUT。块内电路用一组与门和一组或门构成,先与后或。
电路块内部电路的逻辑公式为:
O1=I1+CIN   (9)
O2=I2+I1&L1~2+CIN&L1~2   (10)
O3=I3+I2&L2~3+I1&L1~2&L2~3+CIN&L1~2&L2~3   (11)
O4=I4+I3&L3~4+I2&L2~3&L3~4+I1&L1~2&L2~3&L3~4+CIN&L1~2&L2~3&L3~4   (12)
COUT=I4&L4~1′+I3&L3~4&L4~1′+I2&L2~3&L3~4&L4~1′+I1&L1~2&L2~3&L3~4&L4~1′+CIN&L1~2&L2~3&L3~4&L4~1   (13)
以上是基本逻辑公式,制作时可根据工艺特点作适当的变换。
用这样的2个块构成本位的输出和逻辑1的由上向下的传递;另用这样的2个块构成本位的输出和逻辑1的由下向上的传递。这两组每组2个块的对应输出再相或就是8位垂直线段或运算的输出(结果)。这是一种对电路时延和电路规模互相兼顾的办法。第二种电路虽然电路规模比第一种电路大,但时延较小。
一般地说,梯形图的实际行数很多,即使用32位机或64位机来处理也不可能一次并行处理完。用梯形图编译程序先把梯形图尽可能划分成行数既小于或等于微处理器或微控制器的位宽,如32位、64位,又包含尽量多行的无垂直线段与块外行相连的一个个块,然后用上述方法依次处理这种块即可。而超过微处理器或微控制器的位宽的梯形图大块的垂线处理可用垂直线段或运算加速电路象多字节加法那样用进位位来解决,因垂线处理的特殊性,为防止逻辑1循环自锁,应先后分批算出由上向下和由下向上的逻辑1在大块内的传递和本行的传递,再相或,才能向垂线右边行输出;其他的解决办法是如果垂直线段或运算加速电路象多字节加法那样用进位位一字接一字运算,因垂直线段或运算加速电路进位位与加法进位位不一样的是它们向上、下两个方向传递,上一字 垂直线段或运算加速电路进位位的顺向传递自动传入下一字的垂直线段或运算加速电路,逆向(向刚运算过的上一字)传递的进位位可按照只要是逻辑1,本字和逆向字边界垂线所达的范围向右输出都是1。本字的输出的逻辑1已经由本字的垂直线段或运算加速电路运算得到,逆向字的输出只要在这一垂线所达范围的各位逻辑或1,逻辑或1的原因是只修正垂线所达范围的各个位变量,而不对垂线所达范围外的已运算过的位变量产生影响。
梯形图的解析沿水平方向的并行逻辑运算以一个块中最靠后的运算元件或垂直线段位置为限,以后的水平连线不必再作运算,即可进行输出列处理。对一定的梯形图垂线分布是不变的,块内是否有垂线,是否要送梯形图垂直线段或运算加速电路;块内同一列最长垂线的长度多少,块内运算到哪一列结束等等,梯形图的解析程序在可编程控制器正式运行前就可认定,并体现在解析所得的循环扫描指令串中。对大于位宽的块的处理还可采用各种优化方法。
上述在51单片机的存储区中开辟一个特殊区域,该区域既可按普通的8位二进制数存取操作,也可按8个相邻的8位二进制数共8×8=64位同时并行输出,为8条双向传输通道在同一时间并行完成8个位变量的传送提供8个独立的8位地址。这8位二进制数的位地址寻址范围为256,考虑到梯形图中PLC元件(如X、Y、M、C、T)常以逻辑非的形式出现,所以可用7位二进制数表达位地址,寻址范围为128,用1位二进制数表达该PLC元件是否为逻辑非。可以在位变量存储区向寄存器ACC和B的各个位的8条独立传送通道中都串入一个把原逻辑信号分成相同逻辑和相非逻辑两路,用表达PLC元件是否为逻辑非的这1位二进制数选择是相同逻辑还是相非逻辑传送输出的数据选择电路,如图5,箭头为逻辑信号流动方向。其实,也不一定要求用7位二进制数表达位地址,表达位地址的二进制数的位数可根据实际需要而定。
如果梯形图输出元素不是输出继电器Y,而是应用指令FNCxxx,就可以根据是否有逻辑量1传入到应用指令的左端,即可决定是否执行该应用指令。
其实,这种逻辑量并行处理方法也可用于所有需要逻辑量处理并可以进行并行处理的微处理器或微控制器应用场合之中,以大大提高逻辑量处理速度。这种微处理器或微控制器将至少具有寄存器与位变量存储区之间多条可双向传递位变量的独立传送通道及为这些多个位变量独立传送提供位地址的并行输出存 储区。

PLC梯形图逻辑量并行处理方法.pdf_第1页
第1页 / 共14页
PLC梯形图逻辑量并行处理方法.pdf_第2页
第2页 / 共14页
PLC梯形图逻辑量并行处理方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《PLC梯形图逻辑量并行处理方法.pdf》由会员分享,可在线阅读,更多相关《PLC梯形图逻辑量并行处理方法.pdf(14页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104077112A43申请公布日20141001CN104077112A21申请号201410308525122申请日20140626G06F9/38200601G05B19/0520060171申请人邵振翔地址315012浙江省宁波市海曙区机场路1988号浙江工商职院笃行30372发明人邵振翔54发明名称PLC梯形图逻辑量并行处理方法57摘要本发明涉及一种大幅度提高可编程控制器又称PLC特别是大型高速可编程控制器的梯形图执行速度或者说缩短梯形图循环扫描周期的硬、软件方法。已有的可编程控制器内的微处理器或微控制器用一位逻辑量传送、运算的方法循环扫描执行指令串,以实现梯形图功。

2、能,因没有充分利用微处理器或微控制器多位逻辑量运算能力,运算资源浪费,所以对梯形图的循环扫描周期长,执行速度慢。本发明对梯形图中的逻件变量采用多位逻辑量双向同时并行直接传送、多位逻辑量同时并行运算及增设梯形图垂直线段或运算加速电路,使梯形图的执行速度成倍提高。附图是一种梯形图垂直线段或运算加速电路只是一个片断。51INTCL权利要求书1页说明书9页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书9页附图3页10申请公布号CN104077112ACN104077112A1/1页21一种由微控制器或微处理器组成的可编程控制器实现梯形图功能的方法,其特征在于对梯形图中的逻。

3、件变量采用双向多位逻辑量同时并行直接传送。2一种由微控制器或微处理器组成的可编程控制器实现梯形图功能的方法,其特征在于对梯形图中的逻件变量采用多位逻辑量同时并行运算。3如权利要求1所述的由微控制器或微处理器组成的可编程控制器,其特征在于具有寄存器与位变量存储区之间多条可双向传递位变量的独立传送通道及为这些多个位变量独立传送提供位地址的并行输出存储区。4如权利要求2所述的由微控制器或微处理器组成的可编程控制器,其特征在于它含有梯形图垂直线段或运算加速电路。5如权利要求4所述的由微控制器或微处理器组成的可编程控制器,其特征在于它的第一种梯形图垂直线段或运算加速电路是按照垂线左边行的逻辑1沿垂直线段。

4、向垂线右边上、下相邻行传递的特点构成,如图4所示。6如权利要求4所述的由微控制器或微处理器组成的可编程控制器,其特征在于它的第二种梯形图垂直线段或运算加速电路是按照垂线左边行的逻辑1沿垂直线段向垂线右边上、下相邻行传递的特点并把整个电路分成若干个块构成,块间有一边相邻块传递输入的信号和向另一边相邻块传递输出的信号,块内及块间的逻辑关系如公式913所示,这两组电路块的对应输出再相或就是垂直线段或运算的输出。7一种微处理器或微控制器,其特征在于具有寄存器与位变量存储区之间多条可双向传递位变量的独立传送通道及为这些多个位变量独立传送提供位地址的并行输出存储区。权利要求书CN104077112A1/9。

5、页3PLC梯形图逻辑量并行处理方法所属技术领域0001涉及一种大幅度提高可编程控制器又称PLC特别是大型高速可编程控制器的梯形图执行速度或者说缩短梯形图循环扫描周期的硬、软件方法。背景技术0002已有的可编程控制器系统是把梯形图解析编译或解释成处理单个逻辑变量的指令串,可编程控制器运行时,控制器内的微处理器或微控制器用一位逻辑量传送、运算即串行处理的方法循环扫描执行指令串,以实现梯形图功能。0003以三菱PLC梯形图为例,这里把水平方向的PLC元件如X、Y、M、C、T和水平连线称为行,把垂直方向的PLC元件和水平连线称为列,两列之间可能有不同数量和长短的垂直连线。梯形图最后一列用于放置输出继电。

6、器Y,这里把最后一列称作输出列。一般的梯形图是由PLC元件与水平的连线组成水平行及水平行之间的可能含有的垂直连线构成,如图1、图3的梯形图。先分析一下PLC梯形图的含义,PLC梯形图是一种直观的图形化的程序,它的图形结构模仿继电线路,以便于使用者编程。如果把梯形图最左和最右的两根竖线及连接PLC元件的水平连线和垂直线段看成导线,把PLC元件如X、Y、M、C、T看作开关,在最左和最右的两根竖线加上电压,如果这个电压经过开关和导线施加到了处于梯形图最后一列的任何输出继电器Y上,那么这个输出继电器的实际输出端就导通。与实际电压传递不同的是,规定加在梯形图最左竖线上的电压只能沿开关和导线从左向右,及向。

7、上、向下传递,通向处于梯形图最后一列的任何输出继电器的左端,而不能从右向左传递,这是为使梯形图便于编译。从逻辑量上看,相当于把逻辑量1加在梯形图最左竖线上,这个逻辑量1经过由PLC元件如X、Y、M、C、T组成的开关,和由连接PLC元件的水平连线和垂直线段构成的通路,从左向右,及向上、向下传递,通向处于梯形图最后一列的任何一个输出继电器的左端,哪一个输出继电器的左端传递到了逻辑量1,这个输出元件的实际输出端就导通。这也可以形象地看作有足够多的逻辑量1从梯形图最左竖线开始,沿一切可能的由PLC元件如X、Y、M、C、T组成的开关,及把连接PLC元件的水平连线和垂直线段视作导线所构成的路径,从左向右,。

8、及向上、向下传递,通向处于梯形图最后一列的任何一个输出继电器的左端,哪一个输出元件的左端传递到了逻辑量1,这个输出继电器的实际输出端就导通,这种现象可形象地称为逻辑量1向右及沿垂直线段向上、下传递。0004从逻辑关系看,梯形图垂直线段所表达的逻辑关系是,只要梯形图垂直线段从左边传入的逻辑量有一处为1,那么垂直线段所到之处向右边传出的逻辑量都为1,这就是说向垂线右边各行传出的逻辑量都相同,并等于垂线左边各行传入的逻辑量的逻辑或。0005逻辑量沿梯形图水平方向从左经PLC元件或水平连线向右传出,PLC元件或水平连线右边传出的逻辑量是PLC元件或水平连线左边传入的逻辑量和PLC元件或水平连线的开关状。

9、态的逻辑量的逻辑与。水平连线的开关状态的逻辑量总是1。0006从非常简单直观的梯形图如图1开始说起,以PLC的内部控制芯片用8位的MCS51单片机为例用8位机是为叙述方便考虑,工作原理与微处理器或微控制器的位数说明书CN104077112A2/9页4无关,而且微处理器或微控制器的位数增多,本发明的效果会更好,图2是PLC实际输入、输出端口与内部的51单片机的接线图。对图1梯形图已有的梯形图功能的实现方法用51单片机的汇编语言表达如下000700080009大括号内的指令循环执行。0010可见,这种梯形图功能的一位逻辑量传送、运算的实现方法没有充分利用微处理器或微控制器多位逻辑量运算能力,运算资。

10、源浪费,因而梯形图的循环扫描周期长,执行速度慢。发明内容0011为克服PLC梯形图的循环扫描周期长,执行速度相对较慢的缺点,本发明提出梯说明书CN104077112A3/9页5形图新的硬、软件实现方法,大幅度缩短了梯形图的循环扫描周期,执行速度成倍提高。0012本发明解决其技术问题所采用的技术方案是0013对梯形图中的逻件变量采用多位逻辑量双向同时并行直接传送、多位逻辑量同时并行运算及增设梯形图垂直线段或运算加速电路。即利用微处理器或微控制器所具有的把两组多个逻辑量独立并行运算的能力如51单片机汇编指令ANLA,B,这条指令就实现了ACC中的各个位与B寄存器中的对应位分别独立进行逻辑与运算,也。

11、即实现了ACC中的各个位与B寄存器中的对应位同时并行运算,增加每次逻辑与运算的逻辑量数量,添加并行处理的梯形图垂直线段或运算加速电路以加快梯形图中垂直线段的逻辑或关系的处理,增设累加器ACC及B寄存器与位变量存储区之间多条可双向传递位变量的独立传送通道及为这些多个位变量独立传送提供位地址的并行输出存储区,加快逻辑量传送,把实现梯形图功能的一位逻辑量传送、运算的方法改进为实现梯形图功能的多位逻辑量同时并行传送、多位逻辑量同时并行运算的方法。0014本发明的有益效果是,0015大大地缩短了梯形图的循环扫描周期,即大幅度提高了梯形图的执行速度。附图说明0016图1是一个非常简单的梯形图。0017图2。

12、是一个16进8出的PLC,其实际输入、输出端口与内部的51单片机引脚的连接图。0018图3是一个行间含有垂直线段的梯形图。0019图4为第一种梯形图垂直线段或运算加速电路只是它的一个片断,只包含从垂线左边三行通向垂线的逻辑变量和这三行内的垂线变量及从垂线向垂线右边三行输出的逻辑变量。0020图5为位变量存储区向累加器ACC和寄存器B的各个位的8条独立传送通道中都串入的用于选择相同逻辑还是相非逻辑传送输出的数据选择电路,箭头为逻辑信号流动方向。0021下面结合附图对本发明作进一步说明。0022同样对图1梯形图、用51单片机,并行逻辑运算方法如下0023说明书CN104077112A4/9页600。

13、240025大括号内的指令循环执行。0026需注意的是,上段程序中“”内的指令对现有的51单片机是没有的。如果“”说明书CN104077112A5/9页7内的指令能够在同一时间在多条传输通道的支持下并行完成,那么图1梯形图的执行速度就会提高。0027为实现用多条传输通道支持“”内的指令在同一时间并行完成,本发明提出的方法是仍以51单片机为例,该单片机已经具有一条C与可寻址的位存储区之间位变量双向传送通道,如51单片机位变量传送指令MOVC,BIT;MOVBIT,C。传送位变量的出发处地址和目的处地址已含在指令中,如BIT;及隐含在指令中,如C。这条双向传送通道连接C的这一端是固定的,另一端连接。

14、位存储区并可按BIT值寻址。但要实现用多条传输通道支持“”内的指令在同一时间并行完成,在硬件上对8位的51单片机需要具有独立的由ACC0与可寻址的位存储区双向传送通道;由ACC1与可寻址的位存储区双向传送通道;由ACC7与可寻址的位存储区双向传送通道;共8条。这8条双向传送通道的一端是分别固定在ACC0ACC7的位地址上,另一端连接在可位寻址的位存储区。这8条双向独立传送通道的可位寻址的一端需要提供8个位地址,若要实现8条双向传输通道在同一时间并行完成8个位变量的传送,这8个位地址也必须同一时间并行提供,所以这8个位地址不能包含在指令中,因为多字节指令只能分时读出,消耗时间。本发明的方法是,在。

15、51单片机的存储区中开辟一个特殊区域,该区域既可按普通的8位二进制数存取操作,也可按8个相邻的8位二进制数共8864位同时并行输出,为8条双向独立传输通道在同一时间并行完成8个位变量的传送提供8个独立的8位地址。因此,这种方法需要在硬件上对原单片机结构进行有关方面的改造。64位并行输出区可以设一个象堆栈指针那样自动地址加减计数器,既可自动地址计数也可对地址计数器写入新值,可提高64位同时并行输出的速度。这64位同时并行输出数据线在单片机的内部,不会引起芯片引脚的增加。这个特殊的存储区域中的数据就是梯形图中PLC元件如X、Y、M、C、T即开关量的位地址,数据关系非常简单,在对梯形图编译扫描就可确。

16、定、写入。0028实现了“”内的多个位变量传送指令在多条独立传输通道支持下在同一时间并行执行,那么梯形图的位逻辑变量传送速度就会大大提高。象ANLA,B那样的接位字节逻辑与的51单片机机器指令加快了逻辑运算。所以,本发明的PLC梯形图逻辑量并行处理方法大大加快了图1梯形图的执行速度。如果梯形图行数增加,PLC内部控制芯片是32位、64位的微处理器或微控制器,如对硬件结构也进行类似的改造。那么梯形图的执行速度就会大大提高。0029但图1梯形图太简单了,如图3含有垂直连线的梯形图更具普遍性,垂直线段所表达的逻辑关系其实是一种或运算,特别是同一列有多条垂直线段时,用程序软件处理需要占用较多的指令,花。

17、费较长时间。本发明设计了两种硬件电路来加快处理梯形图垂直连线所产生的逻辑关系。0030设N为梯形图中的行号。对处于某两列之间的垂线,IN为垂线左边第N行水平传入垂线的逻辑信号,有逻辑量1从这一行水平传入垂线,其值为1,否则为0,若这一行左边无连接,也为0。LN1N为第N1行与第N行之间的垂线有垂线为1,无垂线为0,行数从0起数若第0行与第1行无垂线,则表示垂线的二进制数的第0位为0;第1行与第2行有垂线,则表示该垂线的二进制数的第1位为1,所以这里垂线用7位二进制数表示;ON为或运算加速电路第N行输出信号。0031第一个梯形图垂直连线处理电路如图4,只是它的一个片断,只包含从垂线左边三说明书C。

18、N104077112A6/9页8行通向垂线的逻辑变量IN1、IN、IN1,这三行内的垂线变量第IN1行与第IN行之间的垂线LN1N和第IN行与第IN1之间的垂线LNN1,及从垂线向垂线右边三行输出的逻辑变量ON1、ON、ON1,完整的画法应该是8行。图4的最上边和最下边的未连接信号线是这3行中的最上行与上面相邻行的变量传递及最下行与下面相邻行的变量传递。若N1为0,即对梯形图的第0行,它没有上方的相邻行,所以电路接受上方相邻行向下传递的入口可以接0,向上输出传递的出口可以空接;对梯形图的第7行,也是类似处理。0032按前述,在51单片机的存储区中开辟一个特殊区域,该区域既可按普通的8位二进制数。

19、存取操作,也可按8个相邻的8位二进制数共8864位二进制数同时并行输出,这个特殊的存储区域中的数据就是梯形图中PLC元件如X、Y、M、C、T的位地址,所以图3梯形图存储在这个特殊的区域中的数据如下00337EH,7EH,2H,7H,2H,1H,3H,0H,00347EH,6H,1H,5H,8H,9H,4H,2H,00357EH,7EH,7EH,3H,7FH,5H,7FH,7FH,0036N2H,N1H,N0H,10H,16H,14H,12H,11H0037需注意,位地址7EH中始终存放着逻辑0,位地址7FH中始终存放着逻辑1。上述第1行数就是图3梯形图第1列PLC元件的位地址;第2行数就是图3。

20、梯形图第2列PLC元件的位地址;第3行数就是图3梯形图第3列PLC元件的位地址;第4行数就是图3梯形图第4列输出列PLC元件的位地址。0038再在普通的存储区域存放表示梯形图垂直线段的数据的数组如下,图3梯形图从左向右数第一条垂直线段在第4行与第5行之间和第5行与第6行之间有垂线,因此,表示这垂直连线的7位二进制数是0110000B,所以数组的第一个数是30H;从左向右数第二条垂直线段在第1行与第2行之间、第4行与第5行之间和第5行与第6行之间有垂线,因此,表示这垂直连线的二进制数是0110010B,所以数组的第二个数是32H。即数据如下003932H,30H;这里数组元素序列从右向左。004。

21、0本发明的图3梯形图并行执行方法如下004100421、MOV20H,P000432、MOV21H,P100443、特殊存储区域并行输出表示第一列逻辑元件位地址的第一批数7EH,7EH,2H,7H,2H,1H,3H,0H,64位二进制数,为8条双向传输通道在同一时间并行提供8个独立的8位地址,完成8个位变量的一次传送,如把它们送入特殊寄存器B相应位中,这时B中的数值为B70,B60,B5X2,B4X7,B3X2,B2X1,B1X3,B0X0,若这时X21,X01,其余等于0,那么B00101001B29H。00454、把代表第一条垂线的垂直线段数组中的第一个数据30H送入A;这是由于梯形图第一。

22、列元件与第二列元件之间有垂直线段,需要执行垂直线段逻辑或运算。00465、把B中的各位数据与图4中的标有I的入口的对应位一一连接即B0与I0,B1与I1,B7与I7一一连接,把A中的各位数据与图4中的标有L的入口的对应位一一连接即ACC0与L0,ACC1与L1ACC6与L6一一连接,输出的Q值各位就是梯形图垂直线段向右各行的输出,并自动存入B寄存器。说明书CN104077112A7/9页900476、特殊存储区域并行输出表示第二列逻辑元件位地址的第二批数7EH,6H,1H,5H,8H,9H,4H,2H,64位二进制数,为8条双向传输通道在同一时间并行提供8个独立的8位地址,完成8个位变量的一次。

23、传送,如把它们送入特殊寄存器A中,这时A中的数值为ACC70,ACC6X6,ACC5X1,ACC4X5,ACC3X10,ACC2X11,ACC1X4,ACC0X2,00487、ANLB,A00498、把垂直线段数组中第二个数据即代表第二条垂线共分两段的30H送入A;00509、把B、A送图4垂直线段或运算加速电路执行逻辑运算;005110、特殊存储区域并行输出表示第三列逻辑元件地址的第三批数7EH,7EH,7EH,3H,7FH,5H,7FH,7FH,64位二进制数,为8条双向传输通道在同一时间并行提供8个独立的8位地址,完成8个位变量的一次传送,如把它们送入特殊寄存器A中,这时A中的数值为AC。

24、C70,ACC60,ACC50,ACC4X3,ACC31,ACC2X5,ACC11,ACC01005211、ANLB,A005312、特殊存储区域并行输出表示输出列逻辑元件地址的第四批数N2H,N1H,N0H,10H,16H,14H,12H,11H,64位二进制数,为8条双向传输通道在同一时间并行提供8个独立的8位地址,完成8个位变量的一次传送,把结果的位变量值送入暂存输出继电器逻辑值的各对应位地址中,梯形图无输出元件的行用NX无效的位地址填入,使不对实际输出产生影响005413、MOVP2,22H00550056从上面本发明提出的梯形图并行处理方法看出,共13步就实现了图3梯形的功能,梯形图。

25、执行时间明显缩短了,特别是用32位机或64位机,梯形图执行时间将大幅缩短,也即执行速度将大大加快,这对大型高速PLC更加有利。但增加了位变量双向传输通道及开辟了相应的位地址并行输出存储区,添加了垂直线段或运算加速电路,这是加快梯形图执行速度所付的硬件代价。微处理器或微控制器的位数总在不断增加,所需硬件代价也会越来越小,所以梯形图并行处理方法适合电子技术的发展趋势。梯形图的处理不必停留在一位逻辑量的处理方法上,而使微处理器或微控制器的其他的多数位都处于空闲状态。0057第一种梯形图垂直线段或运算加速电路是是按照垂线左边行的逻辑1沿垂直线段向垂线右边上、下相邻行传递的特点,也即如果本位和邻位有一条。

26、垂线相连,本位输出的1就会传递给邻位,反过来也一样的原理而设计的。设N为信号在或运算加速电路中的位置,IN为垂线左边N行传入垂线的逻辑信号逻辑变量,LN1N为N1位与N位之间的垂线信号垂线变量有垂线为1,无垂线为0,ON为垂线或运算加速电路输出信号,也即垂线向垂线右边N行传出的逻辑信号。那么相邻两行的关系可用逻辑公式表示为0058ONINON1LN1NON1LN1N10059ON1IN1ONLNN1ON2LN2N120060但是上述公式含有隐患,如果相邻两位之间允许有向上、向下两边传递进来的两个输入信号,又有向上、向下两边传递出去的两个输出信号,这样的结构会造成错误的自锁现象。这是因为如果相邻。

27、两位之间有垂线信号,LNN11,如果IN硬件输入端出现毛说明书CN104077112A8/9页10刺、尖脉冲等偶然因素,那么除了本位ON1,还因ONLNN11,邻位接受了传递过来的这个1,在自身位ON11的同时又向刚传过来1的相邻位反传回来1;同样原因,又使ON1,再传递过去。这时相邻两位梯形图垂线左边信号硬件输入端可能都已为0,但输出已锁定在1了,这当然是错误的自锁现象。所以电路块之间逻辑1的传递只能是单向的,总电路应采用两路单向传递,再相或的结构,使电路既不自锁,又实现式1、式2的效果。若用OA、OB分别表示两路单向传递的输出信号,这样的电路结构也可用逻辑公式表示0061OANINOAN1。

28、LN1N30062OAN1IN1OANLNN140063OBNINOBN1LNN150064OBN1IN1OBN2LN1N260065ONOANOBN70066ON1OAN1OBN180067图4给出这种或运算加速电路的一个片断,一旦送入某个或门的逻辑信号量IN为1,这个或门的本位输出就为1,1还会沿垂线信号向上、向下传递,与门把1的传递限制在垂线范围之内。这就实现了垂线范围之内的或运算。不同的垂线决定了各自的传递范围,无垂线的地方就直接输出。这种电路规模较小,但因逻辑信号量1是以串联的形式传递,时延较长。为减少时延,加快传递速度,也可再加或门和与门实现1的由上向下和由下向上的跨越式传递,这时。

29、,应把跨越范围内的垂线信号都接至与门输入端,使相邻传递和跨越式传递共存。0068第二种梯形图垂直线段或运算加速电路是按照垂线左边行的逻辑1沿垂直线段向垂线右边上、下相邻行传递的特点并把整个电路分成若干个块构成,用并行、快传递的方法来提高电路的运算速度,这相当于快进位并行加法器的设计方法。为了防止电路规模过大,根据逻辑1相邻传递的特点把整个电路分成若干个块如把8位的垂直线段或运算加速电路分为2块,块内按并行、单向、快传递设计;块间逻辑1的传递是串联的,各分块有从一边相邻块传递输入的信号端CIN和向另一边相邻块传递输出的信号端COUT,。因为电路块之间逻辑1的传递是单向的,所以设计电路块内部的组合。

30、逻辑电路时,也只需考虑逻辑1的单向传递。这样对典型的一个电路块有9个输入信号4行梯形图垂线左边逻辑信号I、4行梯形图垂线信号L、1个相邻块传递过来信号CIN;5个输出信号4个垂直线段或运算输出信号O、1个向另一边相邻块传递输出的信号COUT。块内电路用一组与门和一组或门构成,先与后或。0069电路块内部电路的逻辑公式为0070O1I1CIN90071O2I2I1L12CINL12100072O3I3I2L23I1L12L23CINL12L23110073O4I4I3L34I2L23L34I1L12L23L34CINL12L23L34120074COUTI4L41I3L34L41I2L23L34。

31、L41I1L12L23L34L41CINL12L23L34L41130075以上是基本逻辑公式,制作时可根据工艺特点作适当的变换。0076用这样的2个块构成本位的输出和逻辑1的由上向下的传递;另用这样的2个块说明书CN104077112A109/9页11构成本位的输出和逻辑1的由下向上的传递。这两组每组2个块的对应输出再相或就是8位垂直线段或运算的输出结果。这是一种对电路时延和电路规模互相兼顾的办法。第二种电路虽然电路规模比第一种电路大,但时延较小。0077一般地说,梯形图的实际行数很多,即使用32位机或64位机来处理也不可能一次并行处理完。用梯形图编译程序先把梯形图尽可能划分成行数既小于或等。

32、于微处理器或微控制器的位宽,如32位、64位,又包含尽量多行的无垂直线段与块外行相连的一个个块,然后用上述方法依次处理这种块即可。而超过微处理器或微控制器的位宽的梯形图大块的垂线处理可用垂直线段或运算加速电路象多字节加法那样用进位位来解决,因垂线处理的特殊性,为防止逻辑1循环自锁,应先后分批算出由上向下和由下向上的逻辑1在大块内的传递和本行的传递,再相或,才能向垂线右边行输出;其他的解决办法是如果垂直线段或运算加速电路象多字节加法那样用进位位一字接一字运算,因垂直线段或运算加速电路进位位与加法进位位不一样的是它们向上、下两个方向传递,上一字垂直线段或运算加速电路进位位的顺向传递自动传入下一字的。

33、垂直线段或运算加速电路,逆向向刚运算过的上一字传递的进位位可按照只要是逻辑1,本字和逆向字边界垂线所达的范围向右输出都是1。本字的输出的逻辑1已经由本字的垂直线段或运算加速电路运算得到,逆向字的输出只要在这一垂线所达范围的各位逻辑或1,逻辑或1的原因是只修正垂线所达范围的各个位变量,而不对垂线所达范围外的已运算过的位变量产生影响。0078梯形图的解析沿水平方向的并行逻辑运算以一个块中最靠后的运算元件或垂直线段位置为限,以后的水平连线不必再作运算,即可进行输出列处理。对一定的梯形图垂线分布是不变的,块内是否有垂线,是否要送梯形图垂直线段或运算加速电路;块内同一列最长垂线的长度多少,块内运算到哪一。

34、列结束等等,梯形图的解析程序在可编程控制器正式运行前就可认定,并体现在解析所得的循环扫描指令串中。对大于位宽的块的处理还可采用各种优化方法。0079上述在51单片机的存储区中开辟一个特殊区域,该区域既可按普通的8位二进制数存取操作,也可按8个相邻的8位二进制数共8864位同时并行输出,为8条双向传输通道在同一时间并行完成8个位变量的传送提供8个独立的8位地址。这8位二进制数的位地址寻址范围为256,考虑到梯形图中PLC元件如X、Y、M、C、T常以逻辑非的形式出现,所以可用7位二进制数表达位地址,寻址范围为128,用1位二进制数表达该PLC元件是否为逻辑非。可以在位变量存储区向寄存器ACC和B的。

35、各个位的8条独立传送通道中都串入一个把原逻辑信号分成相同逻辑和相非逻辑两路,用表达PLC元件是否为逻辑非的这1位二进制数选择是相同逻辑还是相非逻辑传送输出的数据选择电路,如图5,箭头为逻辑信号流动方向。其实,也不一定要求用7位二进制数表达位地址,表达位地址的二进制数的位数可根据实际需要而定。0080如果梯形图输出元素不是输出继电器Y,而是应用指令FNCXXX,就可以根据是否有逻辑量1传入到应用指令的左端,即可决定是否执行该应用指令。0081其实,这种逻辑量并行处理方法也可用于所有需要逻辑量处理并可以进行并行处理的微处理器或微控制器应用场合之中,以大大提高逻辑量处理速度。这种微处理器或微控制器将至少具有寄存器与位变量存储区之间多条可双向传递位变量的独立传送通道及为这些多个位变量独立传送提供位地址的并行输出存储区。说明书CN104077112A111/3页12图1图2说明书附图CN104077112A122/3页13图3说明书附图CN104077112A133/3页14图4图5说明书附图CN104077112A14。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1