CN102298516B - 一种plc梯形图硬件处理器 - Google Patents
一种plc梯形图硬件处理器 Download PDFInfo
- Publication number
- CN102298516B CN102298516B CN2011102801871A CN201110280187A CN102298516B CN 102298516 B CN102298516 B CN 102298516B CN 2011102801871 A CN2011102801871 A CN 2011102801871A CN 201110280187 A CN201110280187 A CN 201110280187A CN 102298516 B CN102298516 B CN 102298516B
- Authority
- CN
- China
- Prior art keywords
- row
- ladder diagram
- data
- controller
- instruction
- 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.)
- Active
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明公开了一种PLC梯形图硬件处理器,用于对PLC梯形图进行硬解析,包括:指令译码单元、行指引控制器、列元件寄存器、多路选择器、元件输入状态控制器、元件结合状态控制器、行之间或关系寄存器、与逻辑运算单元、列输出中间状态控制器、或逻辑运算单元。采用本发明实现了对梯形图指令的解析。
Description
技术领域
本发明属于工业控制专用硬件处理器设计领域,涉及一种PLC梯形图硬件处理器。
背景技术
PLC作为通用工业控制计算机,因其简单易懂、操作方便、可靠性高、通用灵活、体积小、使用寿命长等一系列优点,在工业领域应用广泛。它接口容易,编程语言易于为工程技术人员接受。梯形图语言的图形符号与表达方式和继电器电路图相当接近,只用PLC的少量开关量逻辑控制指令就可以方便地实现继电器电路的功能。
目前PLC产品主要来自欧姆龙、施耐德、NEC等外国公司,国内还没有高水平的PLC设备厂商。通过对国外先进的PLC产品进行分析,发现制约我国PLC产品发展的因素一方面是成本上缺乏竞争力,另一方面是缺乏核心技术,很难设计出高性能的PLC,形成系列化的产品型谱。
PLC产品一般包括背板、CPU模块和扩展模块。CPU模块是PLC的核心模块,负责完成PLC的程序控制、数据处理、通信等任务。在CPU模块中,梯形图语言的编码、解析、执行是最核心的技术,其处理的性能和可靠性直接关系到整个PLC的性能与可靠性。
根据梯形图语言的解析方式不同,一般分为软解析和硬解析两种。软解析就是利用C语言等高级语言模拟梯形图的工作过程,在通用处理器上完成梯形图的解析过程。硬解析是设计专用的梯形图解析硬件处理器。硬解析方式实现了与通用处理器的并行处理,其处理速率一般比软解析方式高一个数量级以上。同时,硬解析方式容易实现冗余、现场保护等可靠性技术。因此,硬解析方式一般用在高端PLC产品,软解析方式一般用在低端PLC产品。现阶段国内还 没有查到采用硬解析方式实现梯形图解析的产品,本发明在技术上具有先进性。
发明内容
本发明的技术解决问题是:克服现有技术的不足,提供了一种PLC梯形图硬件处理器。采用本发明实现了对梯形图指令的解析。
本发明的技术解决方案是:
一种PLC梯形图硬件处理器,用于对PLC梯形图进行硬解析,包括:指令译码单元、行指引控制器、列元件寄存器、多路选择器、元件输入状态控制器、元件结合状态控制器、行之间或关系寄存器、与逻辑运算单元、列输出中间状态控制器、或逻辑运算单元;
指令译码单元,对输入的梯形图页面数据中的指令位进行译码,当获得页开始标志时,产生页开始标志指令,并输出到多路选择器;当获得列开始标志时,产生列开始标志指令,并输出到行指引控制器;
行之间或关系寄存器,按列接收输入的梯形图页面数据,并存储梯形图页面中每列数据间的或关系;
列元件寄存器,接收输入的梯形图页面数据,并按列存储位于每列梯形图数据中元件的有无状态;
多路选择器,判断接收到的页开始标志指令,若页开始标志指令有效,则多路选择器将梯形图页面数据第一列的数据输出到元件输入状态控制器;若页开始标志指令无效,则多路选择器将来自于或逻辑运算单元的数据输出到元件输入状态控制器;
行指引控制器,根据接收到的列开始标志指令,按行读取存储于列元件寄存器中每行元件的有无状态;并将读取的元件有无状态输出到元件结合状态控制器;
元件输入状态控制器和元件结合状态控制器分别将接收到的数据输出到与逻辑运算单元进行与操作后,将获得的结果数据输出到列输出中间状态控制器;
列输出中间状态控制器,将输入的数据进行存储,将存储完的一列数据输 出到或逻辑运算单元;,
或逻辑运算单元,对接收到的一列数据按照行之间或关系寄存器中对应列上的行之间或关系对结果数据进行或运算后,将获得的结果数据输出到多路选择器。
本发明与现有技术相比具有如下优点:
1.提高了梯形图处理的绝对速度
梯形图指令完全采用硬件方式进行解析、执行和处理,跟用软件方式相比,通过采用多路并行处理、流水线设计等硬件电路设计方法,硬件方式下梯形图处理速度比软件解析方式至少提高了一个数量级以上。
2.提高了PLC整个CPU模块处理速度
PLC的CPU模块包括通用处理器和梯形图硬件处理器两个处理单元。通用处理器一般用来完成PLC的通信控制、软件调度、中断处理等功能,PLC梯形图处理器用来完成梯形图的解析、执行和处理。与软件梯形图解析方式下由通用CPU进行梯形图解析相比,梯形图硬件处理器通过与通用处理器并行处理,能够提高整个PLC系统的处理速率。
3.提高了PLC的可靠性和安全性
软件解析方式下,梯形图解析软件和CPU模块的软件为一个整体,其运行的可靠性严重依赖于整个CPU模块软件的设计。当CPU模块软件运行出现时,PLC输出很可能会进入不确定状态,影响使用的安全性和可靠性。通过采用梯形图硬件处理器方式,能够实现梯形图处理与CPU的状态隔离,即使CPU软件运行异常,梯形图处理器也可以维持正确的状态。
附图说明
图1为LadderPU梯形图基本接点和线圈示意图;
图2为LadderPU梯形图执行顺序示意图;
图3为本发明结构图。
具体实施方式
本发明通过对国际上常用的梯形图语言代码进行分析,完成LadderPU程序的编码设计;优化梯形图处理方式,完成了LadderPU架构设计和梯形图程序解析路径设计;针对梯形图程序不同类型接点(常开接点、常闭接点)和线圈(常开线圈、常闭线圈、置位线圈、复位线圈、上升沿线圈、下降沿线圈),完成处理电路设计;针对梯形图功能模块需要,完成功能模块处理电路设计。另外,根据工业领域高可靠控制需求,开展了现场保护电路设计,保证在系统在出现灾难性故障后,可以快速恢复。
1.梯形图指令编码
根据梯形图基本组成和命令,本发明的梯形图编码指令如下表1所示。表中数据的高位(D13~D15)用来表示编码梯形图的指令类型,例如“000”为常开接点的指令编码,“001”为常闭接点的指令编码等。另外,利用D12~D15为“1111”时,表示页开始标志的指令码,即用来表示一页梯形图指令的开始。利用D13~D15为“101”时,表示列开始标志的指令码,即用来表示梯形图程序中一列指令的开始。
LadderPU梯形图指令编码
功能块扩展指令
表1
2.LadderPU梯形图不同类型接点和线圈详细设计
梯形图的基本接点和线圈主要包括以下7种,如图1所示,对应地址存储器中的值用来表明基本接点和线圈的状态,0表示默认状态,1表示相反状态。
-||-为常开接点,一般用来表示默认情况下断开的开关,当输入为1,开关状态为1时,输出为1;当输入或者开关状态为0时,输出为0;
-|/|-为常闭接点,一般用来表示默认情况下接通的开关,输入为1,开关状态为0时,输出为1;否则,输出为0;
-()-为线圈,一般用来表示灯泡等受控单元,当输入为1时,线圈状态为1,否则为0.
-(S)-置位线圈,与复位线圈配合使用,当置位线圈输入为1时,线圈状态为1,并且置位线圈保持为1的状态,直到复位线圈将线圈状态清0;
-(R)-复位线圈,与置位线圈配合使用,当复位线圈输入为1时,线圈状态为0,并且复位线圈保持为0的状态,直到置位线圈将线圈状态置1;
-(↑)-为上升脉冲输出,当输入为上升沿时,线圈状态为1,其余情况线圈状态不变;
-(↓)-为下降脉冲输出,当输入为下降沿时,线圈状态为1,其余情况线圈状态不变;
为保证功能块处理电路的灵活性,本发明支持功能块接口电路扩展。
3.梯形图解析路径设计
因为LadderPU是以图的方式去执行,为使梯形图结构更为清晰,将梯形图程序分成了不同的网络(也常称之为页),如图2所示。每个页内部为一个基本的梯形图程序,一个大的程序由若干个页构成。每个页又分成n纵列,每个列又由m行组成。硬件的解析就是以列为基本单位。
在图3所示的梯形图中,程序执行的起始点为左上角位于第一行和第一列 的点,然后按照先按行再按列的顺序,跟随图3中的箭头方向执行程序,图3所示的梯形图页面执行完成后,转至下一个网络。
本发明借鉴高性能PLC中硬件设计思路,页与页之间采用串行方式执行,在页内采用了一种纵向扫描方式进行梯形图的解析。此种扫描方式,在同一梯形图页内采用纵向的扫描方式,因其结构的特点,同一列的与或操作可以在一个指令周期内操作完毕,相当于在同一页之中是并行执行的,扫描方式与物理的电器图原理吻合。LadderPU硬件的解析就是以列为基本单位,每个列均由三个步骤来完成解题:
(1)决定各列的连接状态;
(2)决定各列的电导通状态;
(3)决定下一栏各列的输入电导通状态;
在上述(1)中,通过对该接点的开关状态和接点对应的变量的状态决定。在(2)中,则利用在(1)中得到的结果与当前列(1)的结构相“与”而得。在(3)中,则依据各列的相互之间的关系(“或”操作)以及(2)的结果运算而得。
4.PLC梯形图硬件处理器设计
梯形图程序以页开始指令为第一条指令,然后依次执行每一列程序。每一列程序中,第一条指令是列开始指令,主要用来指示该列中哪行有梯形图元件以及相邻两行之间是否有或的关系。根据梯形图解析路径设计,LadderPU以列为单位,完成梯形图解析,实现方式如图所示3所示。
在图3中,本发明包括:指令译码单元、行指引控制器、列元件寄存器、多路选择器、元件输入状态控制器、元件结合状态控制器、行之间或关系寄存器、与逻辑运算单元、列输出中间状态控制器、或逻辑运算单元。
各模块或单元对梯形图页面解析的流程如下:
(1)指令译码单元完成指令取指和译码,置列开始标志和页开始标志;
(2)列元件寄存器将梯形图每列中元件的有无状态进行保存,行之间或关 系寄存器将一列梯形图元件相邻两行之间或得关系按列进行保存;
(3)当输入梯形图第一列时,指令译码单元解析得到的“页开始标志”为有效,有效的“页开始标志”输出给多路选择器,多路选择器将当前列的初始输入值写入元件输入状态控制器;否则,多路选择器将接收由或逻辑运算单元产生的上一列的输出值。多路选择器将接收到的数据写入元件输入状态控制器;
(4)行指引控制器按行读取存储于列元件寄存器中存储的列元件有无状态并输出给元件输入状态控制器,元件输入状态控制器根据一列中每行的元件有无状态,将输入的数据输出给与逻辑运算单元,同时元件结合状态控制器将存储的每列中各行的元件结合状态一同输出到与逻辑运算单元。
(5)与逻辑运算单元将元件输入状态控制器和元件结合状态控制器输入的数据进行相与操作,并将计算结果写入列输出中间状态控制器;
(6)在行指引控制器的控制下,重复步骤(4)~(5)完成对梯形图中一列数据的处理后,列输出中间状态控制器将存储的一列数据输出给或逻辑运算单元。
(7)或逻辑运算单元将列输出中间状态控制器的输出和行之间或关系寄存器的输出进行或运算后将结果数据即为当前列的输出值返回到多路选择器;
(8)重复(1)~(7),完成所有列的运算。
(9)线圈为梯形图程序中每一行的结束标志,当检测到线圈标志时,根据线圈的输入,置线圈的状态,并将线圈状态写入到内存中。
本发明未详细说明部分属本领域技术人员公知常识。
Claims (1)
1.一种PLC梯形图硬件处理器,用于对PLC梯形图进行硬解析,其特征在于包括:指令译码单元、行指引控制器、列元件寄存器、多路选择器、元件输入状态控制器、元件结合状态控制器、行之间或关系寄存器、与逻辑运算单元、列输出中间状态控制器、或逻辑运算单元;
指令译码单元,对输入的梯形图页面数据中的指令位进行译码,当获得页开始标志时,产生页开始标志指令,并输出到多路选择器;当获得列开始标志时,产生列开始标志指令,并输出到行指引控制器;
行之间或关系寄存器,按列接收输入的梯形图页面数据,并存储梯形图页面中每列数据间的或关系;
列元件寄存器,接收输入的梯形图页面数据,并按列存储位于每列梯形图数据中元件的有无状态;
多路选择器,判断接收到的页开始标志指令,若页开始标志指令有效,则多路选择器将梯形图页面数据第一列的数据输出到元件输入状态控制器;若页开始标志指令无效,则多路选择器将来自于或逻辑运算单元的数据输出到元件输入状态控制器;
行指引控制器按行读取存储于列元件寄存器中存储的列元件有无状态并输出给元件输入状态控制器,元件输入状态控制器根据一列中每行的元件有无状态,将输入的数据输出给与逻辑运算单元,同时元件结合状态控制器将存储的每列中各行的元件结合状态一同输出到与逻辑运算单元,与逻辑运算单元进行与操作后,将获得的结果数据输出到列输出中间状态控制器;
列输出中间状态控制器,将输入的数据进行存储,将存储完的一列数据输出到或逻辑运算单元;
或逻辑运算单元,对接收到的一列数据按照行之间或关系寄存器中对应列上的行之间或关系对结果数据进行或运算后,将获得的结果数据输出到多路选择器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102801871A CN102298516B (zh) | 2011-09-20 | 2011-09-20 | 一种plc梯形图硬件处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102801871A CN102298516B (zh) | 2011-09-20 | 2011-09-20 | 一种plc梯形图硬件处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102298516A CN102298516A (zh) | 2011-12-28 |
CN102298516B true CN102298516B (zh) | 2013-11-20 |
Family
ID=45358957
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102801871A Active CN102298516B (zh) | 2011-09-20 | 2011-09-20 | 一种plc梯形图硬件处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102298516B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102650861B (zh) * | 2012-05-04 | 2015-04-15 | 深圳市矩形科技有限公司 | 一种plc梯形图代码硬解题方法 |
CN102736551B (zh) * | 2012-06-20 | 2015-11-25 | 深圳市矩形科技有限公司 | 一种plc梯形图代码软解题方法 |
CN103593321B (zh) * | 2013-10-16 | 2016-05-04 | 北京航天自动控制研究所 | 一种支持梯形图功能块指令扩展的双核plc系统 |
CN110888392A (zh) * | 2019-12-19 | 2020-03-17 | 江苏三蜂机器人有限公司 | 一种基于梯形图语言的逻辑控制器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1302400A (zh) * | 1999-05-04 | 2001-07-04 | 密克罗奇普技术公司 | 指令集可以配置的微控制器 |
CN1422406A (zh) * | 2000-02-24 | 2003-06-04 | 斯坦利·M·海杜克 | 借助并行定序器的数字电路实现 |
EP1116129B1 (de) * | 1998-09-23 | 2007-06-13 | Infineon Technologies AG | Konfigurierbarer hardware-block |
CN101303580A (zh) * | 2008-06-24 | 2008-11-12 | 杭州义益自动化有限公司 | 支持多种cpu构造plc控制器的实现方法 |
CN201408498Y (zh) * | 2009-04-30 | 2010-02-17 | 北京邮电大学 | 一种计算机硬件实验装置 |
-
2011
- 2011-09-20 CN CN2011102801871A patent/CN102298516B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1116129B1 (de) * | 1998-09-23 | 2007-06-13 | Infineon Technologies AG | Konfigurierbarer hardware-block |
CN1302400A (zh) * | 1999-05-04 | 2001-07-04 | 密克罗奇普技术公司 | 指令集可以配置的微控制器 |
CN1422406A (zh) * | 2000-02-24 | 2003-06-04 | 斯坦利·M·海杜克 | 借助并行定序器的数字电路实现 |
CN101303580A (zh) * | 2008-06-24 | 2008-11-12 | 杭州义益自动化有限公司 | 支持多种cpu构造plc控制器的实现方法 |
CN201408498Y (zh) * | 2009-04-30 | 2010-02-17 | 北京邮电大学 | 一种计算机硬件实验装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102298516A (zh) | 2011-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102298516B (zh) | 一种plc梯形图硬件处理器 | |
CN105975252B (zh) | 一种处理指令的流水线的实现方法、装置及处理器 | |
CN102298352B (zh) | 高性能可编程控制器专用处理器体系结构及其实现方法 | |
CN104471529B (zh) | 用以扩展软件分支目标提示的方法及设备 | |
CN103218029B (zh) | 一种超低功耗处理器流水线结构 | |
CN106055308A (zh) | 用于低能加速器处理器架构的设备 | |
CN102576318A (zh) | 集成电路、计算机系统、控制方法 | |
CN104503931A (zh) | 一种多路模拟信号采集方法 | |
CN203520080U (zh) | 一种通用变频器实时控制器 | |
CN102938653A (zh) | 一种利用图形处理器gpu实现的并行rs译码方法 | |
CN104461468A (zh) | 基于处理器指令快速完成的精确异常维护方法及装置 | |
CN102306141A (zh) | 一种描述动态可重构阵列配置信息的方法 | |
CN100511179C (zh) | 带特殊功能寄存器断点的增强型微处理器片上动态跟踪方法 | |
CN103593321A (zh) | 一种支持梯形图功能块指令扩展的双核plc系统 | |
CN105824603B (zh) | 一种基于cisc指令集的流水线取指和译码方法 | |
CN103440225A (zh) | 一种可重构单指令多进程的多核处理器及方法 | |
WO2014004736A4 (en) | A method or apparatus to perform footprint-based optimization simultaneously with other steps | |
CN101499325A (zh) | 一种具有可变纠错能力的非易失性存储系统及方法 | |
CN106951212B (zh) | 一种极化码解码器中f、g运算单元的硬件架构 | |
CN101847090B (zh) | 一种rfid智能卡专用微控制器 | |
CN202720631U (zh) | 基于单/双发射指令集的微处理器指令处理系统 | |
US9927787B2 (en) | Method and system for managing distributed computing in automation systems | |
CN203901398U (zh) | 五轴联动水切割机旋转轴回零装置 | |
CN106708780A (zh) | 面向simt架构统一染色阵列的低复杂度分支处理电路 | |
CN103809933A (zh) | 可重新配置的指令编码方法、执行方法及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |