CN103226340A - 可编程逻辑控制器及实现方法 - Google Patents
可编程逻辑控制器及实现方法 Download PDFInfo
- Publication number
- CN103226340A CN103226340A CN2013101318017A CN201310131801A CN103226340A CN 103226340 A CN103226340 A CN 103226340A CN 2013101318017 A CN2013101318017 A CN 2013101318017A CN 201310131801 A CN201310131801 A CN 201310131801A CN 103226340 A CN103226340 A CN 103226340A
- Authority
- CN
- China
- Prior art keywords
- journal file
- plc
- programmable logic
- logic controller
- unit
- 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
Links
Images
Abstract
本发明提供了一种可编程逻辑控制器,包括用于存储用户程序的第一存储单元、用于执行所述第一存储单元中的用户程序的程序执行单元、用于监控连接的设备的状态的设备监控单元;该可编程逻辑控制器还包括日志维护单元和第二存储单元,其中:所述日志维护单元,用于创建日志文件并将程序执行单元的执行状态信息及设备监控单元监控的设备状态信息写入日志文件;所述第二存储单元,用于存储日志文件。本发明还提供一种对应的方法。本发明通过将程序执行状态信息和设备状态信息记录到日志文件,从而便于快速准确的定位和分析故障。
Description
技术领域
本发明涉及可编程逻辑控制器领域,更具体地说,涉及一种可编程逻辑控制器日志系统及实现方法。
背景技术
可编程逻辑控制器(PLC)是一种在工业环境下执行数字运算操作的电子装置,其以微处理器技术为基础,综合了计算机技术、自动化技术以及通讯技术。在可编程逻辑控制器运行时,主处理器接收并存储从编程器键入的用户程序和数据;检查电源、存储器、I/O以及警戒定时器的状态,并诊断用户程序中的语法错误;并且主处理器以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释执行后,将运算结果送入I/O映象区或数据寄存器内。等所有的用户程序执行完毕之后,主处理器将I/O映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行,直到停止运行。
目前,PLC是现代工业控制的三大支柱之一,在冶金、化工、交通、电力等领域得到了广泛的应用。然而,PLC实际工作的工业生产现场环境往往十分恶劣,例如高温高湿、干扰源众多(如大功率用电设备的起动或停止引起电网电压的波动形成低频干扰,电焊机、大型加工机床、电机的电刷等通过电磁耦合产生的工频干扰等),这些都会影响PLC的正常工作,导致PLC出现内部运行故障。
此外,PLC基本都是运行在无人监控状态,因此出现故障后,故障的定位和分析比较困难。
发明内容
本发明要解决的技术问题在于,针对上述可编程逻辑控制器故障定位和分析困难的问题,提供一种可编程逻辑控制器及实现方法。
本发明解决上述技术问题的技术方案是,提供一种可编程逻辑控制器,包括用于存储用户程序的第一存储单元、用于执行所述第一存储单元中的用户程序的程序执行单元、用于监控连接的设备的状态的设备监控单元;该可编程逻辑控制器还包括日志维护单元和第二存储单元,其中:所述日志维护单元,用于创建日志文件并将程序执行单元的执行状态信息及设备监控单元监控的设备状态信息写入日志文件;所述第二存储单元,用于存储日志文件。
在本发明所述的可编程逻辑控制器中,所述日志维护单元通过运行于嵌入式实时操作系统上的FAT16/FAT32文件系统管理日志文件。
在本发明所述的可编程逻辑控制器中,所述日志维护单元将每一写入日志文件的信息分别标记为普通信息、警告信息和错误信息中的一个,且该日志维护单元写入日志文件的每一信息中包括时间信息。
在本发明所述的可编程逻辑控制器中,所述日志维护单元在日志文件大于指定值时关闭该日志文件,并创建一个新的日志文件及将程序执行单元的执行状态信息及设备监控单元监控的设备状态信息写入该新的日志文件。
在本发明所述的可编程逻辑控制器中,所述第二存储单元为SD卡。
本发明还提供一种可编程逻辑控制器实现方法,包括以下步骤:
(a)创建日志文件,所述日志文件存储于第二存储单元;
(b)执行第一存储单元中的用户程序及监控连接的设备的状态;
(c)将执行用户程序时的执行状态信息及设备监控时的设备状态信息写入所述日志文件。
在本发明所述的可编程逻辑控制器实现方法中,所述步骤(a)和(c)中,通过运行于嵌入式实时操作系统上的FAT16/FAT32文件系统维护日志文件。
在本发明所述的可编程逻辑控制器实现方法中,所述步骤(c)中将每一写入日志文件的信息标记为普通信息、警告信息和错误信息中的一个,且每一写入日志文件的信息中包括时间信息。
在本发明所述的可编程逻辑控制器实现方法中,所述步骤(c)之后包括:判断所述日志文件是否大于指定值,并在该日志文件大于指定值时关闭该日志文件,然后返回步骤(a)。
在本发明所述的可编程逻辑控制器实现方法中,所述第二存储单元为SD卡。
本发明的可编程逻辑控制器及实现方法,通过将程序执行状态信息和设备状态信息记录到日志文件,通过该日志文件,可快速准确的定位和分析故障。此外,本发明将可编程逻辑控制器工作过程中的各种信息分为普通信息、警告信息和错误信息,更加便于故障分析。
附图说明
图1是本发明可编程逻辑控制器第一实施例的示意图。
图2是图1中主控制器的功能模块图。
图3是本发明可编程逻辑控制器实现方法实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1、2所示,是本发明的可编程逻辑控制器实施例的示意图。本实施例中的可编程逻辑控制器包括主控制器10、硬件通信接口40、动态存储器30、静态存储器60、第一存储器20、第二存储器50,其中硬件通信接口40、动态存储器30、静态存储器60、第一存储器20、第二存储器50分别连接到主控制器10。
上述主控制器10可采用ARM Cortex-A架构,其指令速度可达到720M,并具有MMU和D-CACHE、I-CACHE。动态存储器30可采用DDR2/3动态存储器,用于在可编程逻辑控制器运行过程中存放操作系统程序、输入输出缓冲区(I/O映像区)、定时器、计数器、内部继电器等。通过提高主控制器10及动态存储器30的性能,可使本发明的可编程逻辑控制器轻松运行嵌入式实时操作系统。
第一存储器20用于存储用户程序,该第一存储器20可采用串行存储器,例如SPI DataFlash,其通过SPI接口与主控制器10连接。第二存储器50用于存储日志文件,具体可采用大容量SD卡等,其通过诸如SD卡接口连接到主控制器10。静态存储器60采用NorFlash,其用于存储嵌入式实时操作系统程序及硬件驱动程序(例如网口驱动、USB接口驱动、SD卡驱动、CAN控制器驱动、串口驱动、SPI驱动、I2C驱动、Timer驱动等)。在本发明的可编程逻辑控制器开始运行时,通过主控制器10从该静态存储器60载入硬件驱动程序及嵌入式实时操作系统程序,从而使用户程序运行于嵌入式实时操作系统之上。
本实施例中的主控制器10包括程序执行单元11、设备监控单元13以及日志维护单元12,其中上述程序执行单元11、设备监控单元13以及日志维护单元12可由集成到主控制器10的软件实现(具体可由运行于嵌入式实时操作系统之上应用软件实现)。在实际应用中,上述程序执行单元11、设备监控单元13以及日志维护单元12也可由分别运行不同软件的多个控制芯片实现。
设备监控单元13用于监控连接到(通过硬件通信接口40)可编程逻辑控制器的各个设备(输入装置)的状态和数据,并分别送入动态存储器30的I/O映像区存储。上述硬件通信接口40包括以下接口中的一个或多个:RS232串行通信接口、CAN网络通信接口、TCP/IP以太网通信接口、USB通信接口、GPRS无线通信接口,从而使该可编程逻辑控制器可采用以下通信方式中的一种或多种连接到不同设备:RS232串行通信、CAN网络通信、TCP/IP以太网通信、USB通信、GPRS无线通信等。
程序执行单元11用于执行用户程序。具体地,该程序执行单元11从第一存储器20逐条读取用户程序,经过命令解释执行后,将运算结果送入动态存储器30的I/O映像区或数据寄存器内。等所有用户程序执行完毕,程序执行单元11将动态存储器30的I/O映像区的各输出状态或输出寄存器内的数据传输到相应的设备(输出装置)。
日志维护单元12用于创建存储于第二存储器50中的日志文件并将程序执行单元11的执行状态信息及设备监控单元13所监控的设备状态信息写入日志文件。该日志维护单元12可通过基于嵌入式实时操作系统的FAT16/FAT32文件系统进行日志维护,从而通过PC(个人电脑)拷贝并分析日志信息,不需要任何格式转换。
特别地,上述日志维护单元12在建立日志文件后,通过建立日志文件系统任务,从程序执行单元11和设备监控单元13获取工作过程中的日记(例如用于程序运算结果、向设备输出运算结果)、警告(例如设备温度过高等)、故障(例如设备电压异常)等信息并记录到日志文件。
此外,日志维护单元12可将每一写入日志文件的信息分别标记为普通信息、警告信息和错误信息(其中错误信息代表故障记录,出现故障时需要重点分析此类型信息)中的一个,并将上述不同信息分门别类的记录于各自的文件。为了区分信息类型,方便检阅,日志维护单元12可采用以下格式将信息记录到日志文件:
“loglevel:hour-minute-second-millisecond:logdata”
其中loglevel表示日志类型,包括普通(Normal)、警告(warm)、错误(error)三个级别,logdata为信息内容,hour-minute-second-millisecond则是信息产生的时间点。
为了防止随着日志信息的记录导致庞大的日志文件,可使日志维护单元12在日志文件大小大于指定值时(如64M)关闭和保存该日志文件,同时创建另一新的日志文件,其中创建的日志文件的名称可包括创建时刻的时间信息,例如可采用以下格式:“年-月-日-时-xxxlog.txt”。在新的日志文件创建之后,日志维护单元12将从程序执行单元11和设备监控单元13获取的信息存储到该新的日志文件。
如图3所示,是本发明可编程逻辑控制器实现方法实施例的示意图。该方法包括以下步骤:
步骤S31:可编程逻辑控制器的主控制器创建日志文件,上述日志文件存储于第二存储单元。该步骤中,主控制器可通过基于嵌入式实时操作系统的FAT16/FAT32文件系统进行日志文件创建。创建的日志文件的名称可包括创建时刻的时间信息,例如可采用以下格式:“年-月-日-时-xxxlog.txt”。
上述主控制器可采用ARM Cortex-A架构,其在可编程逻辑控制器启动后,从静态存储器(例如NorFlash)载入硬件驱动程序及嵌入式实时操作系统程序,从而使用户程序运行于嵌入式实时操作系统之上。上述第二存储单元可采用SD卡。
步骤S32:执行第一存储单元中的用户程序及监控连接的设备的状态。上述第一存储器用于存储用户程序,该第一存储器可采用串行存储器,例如SPIDataFlash,其通过SPI接口与主控制器连接。
在监控设备状态时,主控制器通过硬件通信接口获得连接到可编程逻辑控制器的各个设备(输入装置)的状态和数据,并分别送入动态存储器的I/O映像区存储。
在执行用户程序时,主控制器从第一存储器逐条读取用户程序,经过命令解释执行后,将运算结果送入动态存储器的I/O映像区或数据寄存器内。等所有用户程序执行完毕,主控制器程将动态存储器的I/O映像区的各输出状态或输出寄存器内的数据传输到相应的设备(输出装置)。
步骤S33:主控制器将执行用户程序时的执行状态信息及设备监控时的设备状态信息写入日志文件。该步骤中,可通过基于嵌入式实时操作系统的FAT16/FAT32文件系统进行日志维护,从而通过PC(个人电脑)拷贝并分析日志信息,不需要任何格式转换。
并且,主控制器在将信息写入日志文件时,可将每一写入日志文件的信息分别标记为普通信息、警告信息和错误信息(其中错误信息代表故障记录,出现故障时需要重点分析此类型信息)中的一个,并将上述不同信息分门别类的记录于各自的文件。为了区分信息类型,方便检阅,可采用以下格式将信息记录到日志文件:
“loglevel:hour-minute-second-millisecond:logdata”
其中loglevel表示日志类型,包括普通(Normal)、警告(warm)、错误(error)三个级别,logdata为信息内容,hour-minute-second-millisecond则是信息产生的时间点。
在上述方法中,为了防止随着日志信息的记录导致庞大的日志文件,可步骤S33之后增加一个步骤:判断日志文件是否大于指定值(如64M),并在日志文件大于指定值时关闭和保存该日志文件,同时返回步骤S31,创建另一新的日志文件。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种可编程逻辑控制器,包括用于存储用户程序的第一存储单元、用于执行所述第一存储单元中的用户程序的程序执行单元、用于监控连接的设备的状态的设备监控单元;其特征在于:该可编程逻辑控制器还包括日志维护单元和第二存储单元,其中:所述日志维护单元,用于创建日志文件并将程序执行单元的执行状态信息及设备监控单元监控的设备状态信息写入日志文件;所述第二存储单元,用于存储日志文件。
2.根据权利要求1所述的可编程逻辑控制器,其特征在于:所述日志维护单元通过运行于嵌入式实时操作系统上的FAT16/FAT32文件系统管理日志文件。
3.根据权利要求1或2所述的可编程逻辑控制器,其特征在于:所述日志维护单元将每一写入日志文件的信息分别标记为普通信息、警告信息和错误信息中的一个,且该日志维护单元写入日志文件的每一信息中包括时间信息。
4.根据权利要求1或2所述的可编程逻辑控制器,其特征在于:所述日志维护单元在日志文件大于指定值时关闭该日志文件,并创建一个新的日志文件及将程序执行单元的执行状态信息及设备监控单元监控的设备状态信息写入该新的日志文件。
5.根据权利要求1所述的可编程逻辑控制器,其特征在于:所述第二存储单元为SD卡。
6.一种可编程逻辑控制器实现方法,其特征在于:包括以下步骤:
(a)创建日志文件,所述日志文件存储于第二存储单元;
(b)执行第一存储单元中的用户程序及监控连接的设备的状态;
(c)将执行用户程序时的执行状态信息及设备监控时的设备状态信息写入所述日志文件。
7.根据权利要求6或7所述的可编程逻辑控制器实现方法,其特征在于:所述步骤(a)和(c)中,通过运行于嵌入式实时操作系统上的FAT16/FAT32文件系统维护日志文件。
8.根据权利要求6或7所述的可编程逻辑控制器实现方法,其特征在于:所述步骤(c)中将每一写入日志文件的信息标记为普通信息、警告信息和错误信息中的一个,且每一写入日志文件的信息中包括时间信息。
9.根据权利要求6所述的可编程逻辑控制器实现方法,其特征在于:所述步骤(c)之后包括:判断所述日志文件是否大于指定值,并在该日志文件大于指定值时关闭该日志文件,然后返回步骤(a)。
10.根据权利要求6所述的可编程逻辑控制器实现方法,其特征在于:所述第二存储单元为SD卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101318017A CN103226340A (zh) | 2013-04-16 | 2013-04-16 | 可编程逻辑控制器及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101318017A CN103226340A (zh) | 2013-04-16 | 2013-04-16 | 可编程逻辑控制器及实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103226340A true CN103226340A (zh) | 2013-07-31 |
Family
ID=48836827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101318017A Pending CN103226340A (zh) | 2013-04-16 | 2013-04-16 | 可编程逻辑控制器及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226340A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018040968A1 (zh) * | 2016-08-31 | 2018-03-08 | 福建联迪商用设备有限公司 | 一种便于跟踪和定位支付终端故障的方法及装置 |
CN110309158A (zh) * | 2018-04-13 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 日志文件的滚动异常判断方法、装置及可读介质 |
CN112000061A (zh) * | 2020-09-01 | 2020-11-27 | 南通诺德瑞海洋工程研究院有限公司 | 一种基于plc的船舶油污水监测排放系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1193773A (zh) * | 1996-12-17 | 1998-09-23 | Lg产电株式会社 | 具有电源故障补偿功能的plc及电源故障补偿方法 |
JPH11134008A (ja) * | 1997-10-27 | 1999-05-21 | Honda Motor Co Ltd | プログラマブルコントローラ |
CN101072124A (zh) * | 2007-06-22 | 2007-11-14 | 中兴通讯股份有限公司 | 一种获取日志的方法 |
CN101162391A (zh) * | 2006-10-12 | 2008-04-16 | 欧姆龙株式会社 | 可编程控制器 |
CN101937205A (zh) * | 2009-11-13 | 2011-01-05 | 广西工学院 | 新型便携式plc编程装置 |
CN102362232A (zh) * | 2009-03-23 | 2012-02-22 | 三菱电机株式会社 | A/d变换装置以及可编程控制器系统 |
CN102419567A (zh) * | 2011-12-16 | 2012-04-18 | 深圳市合信自动化技术有限公司 | 一种可编程逻辑控制器及其预警方法 |
CN102737102A (zh) * | 2011-04-01 | 2012-10-17 | Ls产电株式会社 | Plc数据日志模块以及在其中存储数据的方法 |
CN102859453A (zh) * | 2011-04-18 | 2013-01-02 | 三菱电机株式会社 | 可编程逻辑控制器 |
-
2013
- 2013-04-16 CN CN2013101318017A patent/CN103226340A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1193773A (zh) * | 1996-12-17 | 1998-09-23 | Lg产电株式会社 | 具有电源故障补偿功能的plc及电源故障补偿方法 |
JPH11134008A (ja) * | 1997-10-27 | 1999-05-21 | Honda Motor Co Ltd | プログラマブルコントローラ |
CN101162391A (zh) * | 2006-10-12 | 2008-04-16 | 欧姆龙株式会社 | 可编程控制器 |
CN101072124A (zh) * | 2007-06-22 | 2007-11-14 | 中兴通讯股份有限公司 | 一种获取日志的方法 |
CN102362232A (zh) * | 2009-03-23 | 2012-02-22 | 三菱电机株式会社 | A/d变换装置以及可编程控制器系统 |
CN101937205A (zh) * | 2009-11-13 | 2011-01-05 | 广西工学院 | 新型便携式plc编程装置 |
CN102737102A (zh) * | 2011-04-01 | 2012-10-17 | Ls产电株式会社 | Plc数据日志模块以及在其中存储数据的方法 |
CN102859453A (zh) * | 2011-04-18 | 2013-01-02 | 三菱电机株式会社 | 可编程逻辑控制器 |
CN102419567A (zh) * | 2011-12-16 | 2012-04-18 | 深圳市合信自动化技术有限公司 | 一种可编程逻辑控制器及其预警方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018040968A1 (zh) * | 2016-08-31 | 2018-03-08 | 福建联迪商用设备有限公司 | 一种便于跟踪和定位支付终端故障的方法及装置 |
CN110309158A (zh) * | 2018-04-13 | 2019-10-08 | 腾讯科技(深圳)有限公司 | 日志文件的滚动异常判断方法、装置及可读介质 |
CN110309158B (zh) * | 2018-04-13 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 日志文件的滚动异常判断方法、装置及可读介质 |
CN112000061A (zh) * | 2020-09-01 | 2020-11-27 | 南通诺德瑞海洋工程研究院有限公司 | 一种基于plc的船舶油污水监测排放系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104698978B (zh) | 一种基于虚拟化技术的数控系统远程监控及调试方法 | |
CN101719309B (zh) | 智能led显示屏运行状态监控系统和监控方法 | |
JP2018097663A (ja) | 制御システム、制御プログラムおよび制御方法 | |
CN110943870B (zh) | 一种智能站全景数据监测分析系统及方法 | |
CN204143226U (zh) | 一种生产线数据采集系统 | |
CN103019125B (zh) | 多任务实时数据处理系统及数据记录和数据分析的方法 | |
CN103226340A (zh) | 可编程逻辑控制器及实现方法 | |
CN101403905A (zh) | 机床数据采集系统 | |
CN101876825A (zh) | 小型plc的人机界面装置 | |
CN104333593A (zh) | 运动控制器远程控制方法、故障诊断方法及远程控制系统 | |
CN103684917A (zh) | 一种多目标机系统监视系统及方法 | |
CN202583833U (zh) | 基于物联网技术的多电机智能伺服系统 | |
CN104656565A (zh) | 一种可自由配置的智能io装置 | |
CN203151411U (zh) | 多电机智能伺服系统 | |
CN103401371A (zh) | 基于实时数据库的制丝电机设备诊断运维系统 | |
CN104047879A (zh) | 透平压缩机组诊断控制系统及方法 | |
CN203365649U (zh) | 一种带故障诊断仪的锂电池监控系统 | |
CN201749350U (zh) | 小型plc的人机界面装置 | |
CN1821972A (zh) | 用于响应控制模块故障的方法 | |
CN202433728U (zh) | 矿用通风机运行状态在线监测系统 | |
CN202886912U (zh) | 伺服驱动器智能监控系统 | |
CN206619125U (zh) | 一种基于usb的离线诊断系统 | |
CN106707948A (zh) | 一种采煤机变频牵引单元计算机监控系统 | |
CN105045180A (zh) | 一种电子设备健康状态采集系统 | |
JP4811685B2 (ja) | 制御用コントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130731 |
|
RJ01 | Rejection of invention patent application after publication |