CN102621960A - 一种基于ARM-Linux的编译型PAC - Google Patents
一种基于ARM-Linux的编译型PAC Download PDFInfo
- Publication number
- CN102621960A CN102621960A CN2012100911617A CN201210091161A CN102621960A CN 102621960 A CN102621960 A CN 102621960A CN 2012100911617 A CN2012100911617 A CN 2012100911617A CN 201210091161 A CN201210091161 A CN 201210091161A CN 102621960 A CN102621960 A CN 102621960A
- Authority
- CN
- China
- Prior art keywords
- pac
- interface
- linux
- unit
- plc
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明涉及可编程自动化控制器(ProgrammableAutomation Control,PAC),特别涉及一种基于ARM和Linux的集成PLC功能、触摸屏、SQLite数据库、ModBus通讯等功能的新型一体式编译型PAC。硬件包括处理器单元、显示触摸屏单元、输入单元、输出单元、存储单元、通讯单元,软件包括Linux操作系统、PAC运行系统、Qt界面、SQLite数据库、通讯等。通讯单元包括RJ45网口与ModBus现场总线,具有良好的可扩展性。触摸监控界面与PLC的运行相对独立,并支持梯形图、指令表与C语言混合编程,直接编译为ARM可执行的文件,相比解释型PLC运行速度提高5-10倍。其开发效率及价格相比传统的PLC加人机界面加组态软件的开发方式都拥有更大的竞争力,能给用户提供广阔的应用空间。
Description
技术领域
本发明涉及可编程自动化控制器(Programmable Automation Control,PAC),特别涉及一种基于ARM和Linux的集成PLC功能、触摸屏、SQLite数据库、ModBus通讯等功能的新型一体式编译型PAC。
背景技术
人机界面HMI(Human Machine Interface又称用户界面),是系统和用户之间进行交互和信息交换的媒介,可连接可编程序控制器(PLC)、变频器、直流调速器、仪表等工业控制设备,利用显示屏显示,通过输入单元(如触摸屏、键盘、鼠标等)写入工作参数或输入操作命令,实现人与机器信息交互的数字设备。
可编程逻辑控制器PLC(Programmable Logic Controller)是一种数字运算操作的电子系统,专为在工业环境应用而设计的,分为解释型和编译型。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程,是工业控制的核心部分。
Modbus协议是应用于电子控制器上的一种标准、开放的协议,以支持多种电气接口,如RS-232、RS-485等。此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它已经成为一通用工业标准,有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。
PLC经过几十年的发展,在工业自动化中得到了广泛应用。然而开发系统编程语言和运行系统软硬件体系结构不能兼容且封闭而不开放等弊端却制约了其发展。同时,工业上20%高端应用早已超出了传统PLC所能提供的功能。随着标准IEC61131-3的推广及软PLC理论的成熟,可编程自动控制器PAC(Programmable Automation Controller)应运而生。它既可以满足工业控制系统对于开放性和柔性的要求,又可以满足用户的20%高端应用对循环速率、控制算法、数据处理、网络通讯、及稳定性和可靠性的要求。但是,市场上还未发现价格合理的有此类功能的控制器。
发明内容
为实现上述技术目的,本发明采用如下技术方案,一种基于ARM和Linux的集成PLC功能、触摸屏、SQLite数据库、ModBus通讯等功能的新型一体式编译型PAC。其中,显示触摸屏单元,以Qt作为界面,与输入单元共同构成人机界面HMI,向用户提供对设备的监控操作;
处理器单元,由友善之臂公司的mini2440ARM开发板运行Linux操作系统,一方面由内置的软PLC核执行用户编辑的程序,进行控制,另一方面通过显示单元、输入单元与用户做人机交互,得到并设置控制参数、反映控制过程;通过输入单元得到输入量,经处理后通过输出单元输出来控制与之相连的各类设备;编译型PAC的开发过程是先用C语言或者梯形图、指令表语言将PLC的指令和功能块编写成函数库,然后再用C语言写一个框架代码,用户编写完程序后,上位机编译器将生成一个指令表文件,将所有指令的函数替代,再调用C编译器,最后生成相应的二进制文件;
存储单元,用于提供系统运行所需的存储空间,并向用户提供保存数据及用户程序的空间;
通讯单元,用于在处理器单元与各类设备传递数据,并用于下载用户程序;
其不同之处在于,通讯口包括串口、RJ45网口及modbus现场总线接口,以连接各类现场总线设备。
为进一步实现上述技术目的,所述处理器单元采用友善之臂公司的mini2440ARM开发板;该开发板扩展有以太网接口、音频接口、SD接口、液晶屏接口,软件以linux作为操作系统,Qt作为界面,Sqlite作为数据库,软PLC核与Qt界面相对独立;所述存储单元采用128MB闪存FLASH。
为进一步实现上述技术目的,所述输入单元为两部分,包括16路光耦输入转换电路及2路AD输入电路,所述输出单元为两部分,包括16路光耦继电器输出转换电路和一路PWM输出电路。外部输入的开关量经过光电隔离后连接到ARM的输入口,通过CPU处理后由继电器或晶体管电路输出。
在本发明中,触摸屏和液晶显示器LCD构成HMI接口,向用户提供对设备的监控操作。Modbus总线主要用于连接各种工业设备,如I/O模块、伺服模块等。S3C2440处理器的USB Host可以连接键盘、鼠标、U盘等其他USB设备。USB client主要用于Linux系统与上位机之间的数据传输,即数据和程序的上传下载。RJ45接口可以连接以太网。音 频口提供声音输入与输出。SD卡扩展接口用于外接SD以传输数据库数据等。
本发明的有益效果是,相比传统控制器开发所使用的PLC加触摸屏加组态软件的开发方式,本发明的功能和效率有极大的优势,且系统成本不到其1/3。系统以裁剪的Linux2.6作为操作系统,稳定性高。ARM地址与数据总线接口引出,理论上能支持256点数,工作于主频400MHz的S3C2440内置软PLC核,其实时性能满足工业环境绝大多数的逻辑及计算任务要求。Qt作为界面,Qt的天然的组态编程方式使得界面开发极为容易,以面向嵌入式SQLite为数据库,加上拥有丰富的外设:USB Host、USB client、音频、100M以太网、SD卡接口等,使得本PAC有良好的可扩展性,并提供在系统编辑程序功能。此外本方案的输入输出接口硬件设计加入大量的保护电路,使其抗干扰能力进一步加强。因此采用这种结构的PAC能给用户广阔的应用空间。在拥有良好的性能的情况下,其价格相比传统控制器开发所使用的PLC加触摸屏加组态软件的开发方式拥有更大的竞争力。
附图说明
图1是本发明的结构模块图。
图2是本发明优选实施例的结构模块图。
图3是本发明优选实施例的软件结构图。
图4是本发明优选实施例的工作流程图。
具体实施方式
下面结合附图对本发明的技术方案作进一步详细说明。
对照附图1及附图2,本发明为一种基于ARM和Linux的集成PLC功能、触摸屏、SQLite数据库、ModBus通讯等功能的新型一体式PAC,硬件包括处理器单元、显示触摸屏单元、输入单元、输出单元、存储单元、通讯单元,软件包括Linux操作系统、PAC运行系统、Qt界面、SQLite数据库、通讯等。
PAC运行系统是PAC的核心,完成输入处理、程序执行、输出处理、通讯、数据库等工作,实现系统的控制功能。本编译型PAC预先将指令编译为ARM可执行的代码,减少了指令查找散转过程,执行效率高。对照附图3,软件结构主要包括系统程序和应用程序。系统程序包括Linux操作系统和PAC系统程序。前者完成系统的任务调度、存储分配、 时钟管理、中断管理、为用户提供驱动、网络、数据库、界面交互等扩展功能,后者提供软PLC运行环境和一些功能子函数。本发明选用Linux2.6.32.2作为操作系统,整个映像文件仅有1.5MB。PLC通常使用的编程语言主要有梯形图(LD)和指令表(STL)两种语言,本系统应用程序可以由二者或与C语言混合编写。运行环境位于用户程序和操作系统之间,是软PLC的一个包含IO、内存、端口寄存器、辅助寄存器、定时器计数器等的硬件抽象层,与硬件平台无关,可以在不同平台的PAC之间移植。用户程序指令通过运行环境传达给操作系统,操作系统通过驱动程序完成对外设的操作。
编译型PAC的运行系统有系统初始化、通讯、扫描输入、下载程序、加载用户程序、扫描输出、系统自检等模块组成。对照附图4,系统初始化首先是Uboot和Linux的初始化,其次是申请程序区和数据区的空间,如X区、Y区、M区、T区、C区、S区等。然后系统创建系统管理线程、任务执行线程、时钟线程和界面线程,建立软PLC的运行环境。依然按照传统PLC,PAC有三种工作模式:调试、运行和停止。在调试模式下,扫描串口下载BIN文件存储到用户程序区;在运行模式下,直接加载用户程序,完成控制功能:先保存程序指针,然后利用汇编的跳转命令跳转到用户程序区。用户程序执行完后,再恢复程序指针,PAC执行其他模块。最后等运行结束,通过共享内存向执行进程发送关闭信息,当执行进程收到该信息的时候,就会自动停止运行、注销线程、释放资源并退出。
软PLC的寄存器主要是程序区和数据区相应寄存器,包括X输入端口寄存器、Y输出端口寄存器、M辅助寄存器、T定时器寄存器、C计数器寄存器等。直接在头文件定义即可。本系统中实现的指令包含:基本指令、数学运算、数据移位指令、数据比较指令、数据选择指令、数据类型转换、字符串处理、堆栈、定时器、计数器、模数转换、通讯及其他与复杂算法相关的功能块等,每个功能块都以子函数形式定义。
由于Qt天然的跨平台、简洁的开发方式以及原生支持扩展组态,本PAC系统移植Qtopia2.2.0作为界面,一定程度上可以替代组态软件的作用。界面主要包括语句表的编辑模块、参数设置、系统监控等模块。
本发明所提供的一种基于ARM和Linux的编译型可编程自动化控制器的设计方案,与其他现有技术相互比较时,更具备下列优点:
1.本发明是可将指令表与C语言混合程序编译成ARM可直接执行的机器码,由于该 机器码内包于ARM主程序内,就使得本系统的循环扫描时间不会受限于通信接口的传输速度,如此可有效提升系统的响应能力;
2.本发明通过简单的硬件架构及软件设计,在低成本的效益概念下,即可大幅提升系统的执行反应效能。
以上对本发明的描述为本发明的一个实施例,是说明性的,而非限制性的,本专业技术人员理解,在权利要求限定的精神与范围之内可对其进行许多修改、变化或等效,但是它们都应视为落入本发明的保护范围之内受到制约。
Claims (7)
1.一种基于ARM和Linux的集成PLC功能、触摸屏、SQLite数据库、ModBus通讯等功能的新型一体式编译型PAC,硬件包括处理器单元、显示触摸屏单元、输入单元、输出单元、存储单元、通讯单元,软件包括Linux操作系统、PAC运行系统、Qt界面、SQLite数据库、通讯等。
2.其中,显示触摸屏单元,以Qt作为界面,与输入单元共同构成人机界面HMI,向用户提供对设备的监控操作;
处理器单元,由ARM开发板运行Linux操作系统,一方面由内置的软PLC核执行用户编辑的程序,进行控制,另一方面通过显示单元、输入单元与用户做人机交互,得到并设置控制参数、反映控制过程;通过输入单元得到输入量,经处理后通过输出单元输出来控制与之相连的各类设备;
存储单元,用于提供系统运行所需的存储空间,并向用户提供保存数据及用户程序的空间;
通讯单元,用于在处理器单元与各类设备传递数据,并用于下载用户程序;
其特征在于,通讯口包括串口、RJ45网口及modbus现场总线接口,以连接各类现场总线设备。
3.根据权利要求1所述的PAC,其特征在于,所述处理器单元采用友善之臂公司的mini2440ARM开发板;该开发板扩展有以太网接口、音频接口、SD接口、液晶屏接口,软件以linux作为操作系统,Qt作为界面,Sqlite作为数据库,软PLC核与Qt界面相对独立;所述存储单元采用128MB闪存FLASH。
4.根据权利要求1所述的PAC,其特征在于,所述输入单元为两部分,包括16路光耦输入转换电路及2路AD输入电路,所述输出单元为两部分,包括16路光耦继电器输出转换电路和一路PWM输出电路;外部输入的开关量经过光电隔离后连接到ARM的输入口,通过CPU处理后由继电器或晶体管电路输出。
5.根据权利要求1所述的PAC,其特征在于,所述PAC支持的IEC61131-3编程方式为梯形图、指令表。
6.根据权利要求1所述的PAC,其特征在于,所述PAC支持的高级语言为C语言,并且支持指令表与C语言混合编程。
7.根据权利要求1所述的PAC,其特征在于,所述PAC开发过程是先用C语言或者梯形图、指令表语言将PLC的指令和功能块编写成函数库,用户编写完程序后,上位机编译器将生成一个指令表文件,将所有指令的函数替代,再调用C编译器,最后生成相应的二进制文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100911617A CN102621960A (zh) | 2012-03-31 | 2012-03-31 | 一种基于ARM-Linux的编译型PAC |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100911617A CN102621960A (zh) | 2012-03-31 | 2012-03-31 | 一种基于ARM-Linux的编译型PAC |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102621960A true CN102621960A (zh) | 2012-08-01 |
Family
ID=46561925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100911617A Pending CN102621960A (zh) | 2012-03-31 | 2012-03-31 | 一种基于ARM-Linux的编译型PAC |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102621960A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823435A (zh) * | 2014-02-08 | 2014-05-28 | 滁州市西控电子有限公司 | 一种基于软PLC的SuperView系统 |
CN107678393A (zh) * | 2017-08-30 | 2018-02-09 | 广东工业大学 | 一种基于软plc的智能喷涂控制系统及方法 |
CN108334035A (zh) * | 2017-12-21 | 2018-07-27 | 苏州谷夫道自动化科技有限公司 | 一种数控系统编程方法 |
CN108628773A (zh) * | 2017-03-22 | 2018-10-09 | 北京迪文科技有限公司 | 一种多功能智能模组装置以及实现方法 |
CN111026382A (zh) * | 2019-12-13 | 2020-04-17 | 深圳市杰美康机电有限公司 | 混合编程方法、终端设备及计算机可读存储介质 |
CN111459102A (zh) * | 2020-03-10 | 2020-07-28 | 深圳市燃气集团股份有限公司 | 一种燃气行业安全智能工业控制系统及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101446255A (zh) * | 2008-12-29 | 2009-06-03 | 联合汽车电子有限公司 | 燃油导轨总成压力脉动测试仪及测试方法 |
CN101849215A (zh) * | 2007-10-21 | 2010-09-29 | 通用电气智能平台有限公司 | 用于满足运动控制系统中的结束条件的方法和系统 |
CN201788391U (zh) * | 2010-06-09 | 2011-04-06 | 北方工业大学 | 一种智能可编程控制器 |
CN102305455A (zh) * | 2011-10-12 | 2012-01-04 | 上海风翼空调设备有限公司 | 智能型贯流换气通风控制系统及其控制装置和控制方法 |
JP2012043228A (ja) * | 2010-08-19 | 2012-03-01 | Panasonic Electric Works Sunx Co Ltd | Pac及びそれを備えたpacシステム |
-
2012
- 2012-03-31 CN CN2012100911617A patent/CN102621960A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101849215A (zh) * | 2007-10-21 | 2010-09-29 | 通用电气智能平台有限公司 | 用于满足运动控制系统中的结束条件的方法和系统 |
CN101446255A (zh) * | 2008-12-29 | 2009-06-03 | 联合汽车电子有限公司 | 燃油导轨总成压力脉动测试仪及测试方法 |
CN201788391U (zh) * | 2010-06-09 | 2011-04-06 | 北方工业大学 | 一种智能可编程控制器 |
JP2012043228A (ja) * | 2010-08-19 | 2012-03-01 | Panasonic Electric Works Sunx Co Ltd | Pac及びそれを備えたpacシステム |
CN102305455A (zh) * | 2011-10-12 | 2012-01-04 | 上海风翼空调设备有限公司 | 智能型贯流换气通风控制系统及其控制装置和控制方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823435A (zh) * | 2014-02-08 | 2014-05-28 | 滁州市西控电子有限公司 | 一种基于软PLC的SuperView系统 |
CN108628773A (zh) * | 2017-03-22 | 2018-10-09 | 北京迪文科技有限公司 | 一种多功能智能模组装置以及实现方法 |
CN107678393A (zh) * | 2017-08-30 | 2018-02-09 | 广东工业大学 | 一种基于软plc的智能喷涂控制系统及方法 |
CN108334035A (zh) * | 2017-12-21 | 2018-07-27 | 苏州谷夫道自动化科技有限公司 | 一种数控系统编程方法 |
CN111026382A (zh) * | 2019-12-13 | 2020-04-17 | 深圳市杰美康机电有限公司 | 混合编程方法、终端设备及计算机可读存储介质 |
CN111026382B (zh) * | 2019-12-13 | 2024-01-16 | 深圳市杰美康机电有限公司 | 混合编程方法、终端设备及计算机可读存储介质 |
CN111459102A (zh) * | 2020-03-10 | 2020-07-28 | 深圳市燃气集团股份有限公司 | 一种燃气行业安全智能工业控制系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102621960A (zh) | 一种基于ARM-Linux的编译型PAC | |
CN100514234C (zh) | 基于pc机的开放式数控系统 | |
CN101937232B (zh) | 基于多路数据总线的嵌入式实时仿真与故障模拟系统 | |
CN103744342B (zh) | 一种基于双核处理器的pac实时控制系统 | |
CN204667101U (zh) | 一种变频器控制器 | |
CN102323786B (zh) | Arm+fpga组成的定时器装置及其实现方法 | |
CN101872184A (zh) | 可编程控制器的顺序控制图编程及控制方法 | |
CN103941650A (zh) | 逻辑与运动集成控制器 | |
CN101226385A (zh) | 开放式软数控系统的软plc模块 | |
CN103760810B (zh) | 一种远程遥测终端控制器 | |
CN105137800A (zh) | 一种基于sopc技术的plc协同控制装置 | |
CN102722126A (zh) | 基于ARM-Wince的四辊卷板机控制系统 | |
CN104268074A (zh) | 一种基于dcs系统应用软件在线调试方法 | |
CN101876825B (zh) | 小型plc的人机界面装置 | |
WO2024131553A1 (zh) | 工业控制软件开发方法、装置和计算设备 | |
CN205003526U (zh) | 一种基于sopc技术的plc协同控制装置 | |
CN114594937A (zh) | 一种程序组态方法和系统 | |
CN102566512A (zh) | 基于图编程的轴承切削自动生产线专用控制电路及系统 | |
CN104238438A (zh) | 一种plc通用平台及其设计方法 | |
CN201749350U (zh) | 小型plc的人机界面装置 | |
CN203909545U (zh) | 一种远程遥测终端控制器 | |
CN110308697A (zh) | 基于Codesys的运动控制系统及控制方法 | |
Zhang et al. | The design and implementation of virtual machine system in embedded softplc system | |
CN102722142A (zh) | 基于图编程的轴承切削自动生产线专用控制系统 | |
CN202351658U (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 | ||
DD01 | Delivery of document by public notice |
Addressee: Li Bin Document name: Notification that Application Deemed to be Withdrawn |
|
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120801 |