CN205003526U - 一种基于sopc技术的plc协同控制装置 - Google Patents
一种基于sopc技术的plc协同控制装置 Download PDFInfo
- Publication number
- CN205003526U CN205003526U CN201520703874.3U CN201520703874U CN205003526U CN 205003526 U CN205003526 U CN 205003526U CN 201520703874 U CN201520703874 U CN 201520703874U CN 205003526 U CN205003526 U CN 205003526U
- Authority
- CN
- China
- Prior art keywords
- module
- plc
- niosii
- host computer
- control device
- 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
Abstract
本实用新型涉及基于SOPC技术的PLC协同控制装置,该装置包括硬件系统和软件系统两部分;硬件系统包括上位机和下位机,下位机由Nios?II软核处理器模块、存储器模块和外围模块组成,其中Nios?II软核处理器模块由CPU模块、TIMER0模块、TIMER1模块、UART模块和JTAG模块组成,软件系统包括嵌入式uC/OS-II实时操作系统、上位机软件、下位机软件和虚拟软核PLC;本实用新型具有很强的可修改性和可移植性;由于添加了uC/OS-II实时操作系统保证了系统运行的实时性,并且能够根据特定的需要编写自定义IP核,自由添加所需要的特定功能,同时方便的增加或减少I/O端口的数量,使系统更具可拓展和维护性。
Description
技术领域
本实用新型涉及一种工控可编程逻辑嵌入式软核PLC装置,尤其涉及一种基于SOPC技术的协同PLC实现工业自动化控制的装置。
背景技术
由于传统硬件PLC技术对外封闭,各个生产厂商的PLC硬件平台各不相同,支持的PLC语言也不相同,而且相互之间通信的协议和总线也完全不同。因此,随着计算机技术的发展,人们已经逐渐认识到硬件PLC的通用性、兼容性和拓展性不好正在制约着PLC的快速发展。同时,随着卷烟工业新一轮的技改,大量新型烟草制丝设备从德国HAUNI、意大利Garbuio等国外烟机设备公司引进,设备厂家对于关键设备的PLC程序采取了技术封锁甚至加密等手段。因此,对于烟机功能改进,需要寻求一种新的解决方案来突破传统PLC内部程序封锁以及外部通用性、兼容性差等问题。
过去,逻辑控制器系统的开发多基于ASIC设计的硬件平台,而近年来出现的可编程片上系统(SOPC)解决方案得到了业界广泛的重视并迅速发展。SOPC不仅仅使PCB设计更为简单,而且设计更灵活,开发更高效。它的特点在于其可编程性,即利用现场可编程门阵列(FPGA)器件的可编程性进行SOC(systemonchip)设计。SOPCBuilder为每一个元件提供一个向导,利用该向导很容易定制元件功能,且通过该向导能够非常方便地在一个设计中加入NiosII软核处理器、外设接口等。为了将微处理器核、外围设备、存储器和其它IP核相互连接起来,SOPCBuilder能够自动生成片上总线和总线仲裁器等所需的逻辑。SOPCBuilder在一个工具中实现了嵌入式系统各个方面的开发,包括软件的设计和验证,因此运用SOPC技术可以在FPGA上便捷、快速定制各种复杂逻辑控制,并将传统PLC中逻辑移植或转移到FPGA器件上实现。
发明内容
本实用新型的目的在于提供一种基于SOPC技术的PLC协同控制装置。将基于SOPC技术的FPGA作为虚拟PLC来协助传统硬件PLC完成自动化控制,解决传统PLC单一控制的缺点,通过SOPC定制各种功能与传统PLC实时通讯达到双核协同时控制同一设备的目的。
为了实现上述的目的,本实用新型采用了以下的技术方案:
一种基于SOPC技术的PLC协同控制装置,该装置包括硬件系统和软件系统两部分;所述的硬件系统包括上位机和下位机,所述的上位机运行在PC机上,完成编写PLC程序以及编译成目标代码以及代码传输工作;所述的下位机使用AlteraFPGA(EP2c35F672c6)NiosII嵌入式软处理器为硬件平台,与上位机之间通过RS232协议进行通信;所述的下位机由NiosII软核处理器模块、存储器模块和外围模块组成,其中NiosII软核处理器模块由CPU模块、TIMER0模块、TIMER1模块、UART模块和JTAG模块组成,对FPGA配置时,通过SOPCBuilder系统综合软件设定NiosII软核参数,并设置TIMER0模块、TIMER1模块、UART模块和JTAG模块相关参数,自动分配各模块基地址和指定NiosII处理器的复位地址与异常中断地址,生成相应的NiosII系统,UART模块通过使用RS232协议可实现上位机与FPGA的传输以及PLC梯图文件的串口通信,JTAG模块通过转换电路将RS232协议转换成RS485协议,再通过CP341卡实现与PLC通讯。
作为优选,所述的CPU模块选用基于RISC技术的32位嵌入式处理器NiosII模块。
作为优选,所述的存储器模块选用掉电数据不丢失的FLASH存储器。
作为优选,所述的外围模块包括一个LCD字符型液晶显示屏、4个LED灯、两个开关。LCD用来显示PLC虚拟机的运行状态,而LED与两个开关则用来实现PLC的功能。
作为优选,所述的嵌入式uC/OS-II实时操作系统是一种基于优先级的可抢先硬实时内核。
本实用新型由于选用NiosII软核处理器模块为核心并利用SOPC技术进行构建,具有很强的可修改性和可移植性;由于添加了uC/OS-II实时操作系统保证了系统运行的实时性,并且能够根据特定的需要编写自定义IP核,自由添加所需要的特定功能,同时方便的增加或减少I/O端口的数量,使系统更具可拓展和维护性;又由于FPGA具有较高的密度,能够集成很大的系统,因此又增加了系统的可靠性。
附图说明
图1为本实用新型的结构示意图。
图2为本实用新型协同PLC控制示意图。
图3为本实用新型系统结构示意图。
图4为本实用新型硬件组成示意图。
图5为本实用新型软件组成示意图。
图6为本实用新型虚拟软核PLC任务调度示意图。
图7为本实用新型虚拟软核PLC运行时序图。
具体实施方式
下面结合附图对本实用新型的具体实施方式做一个详细的说明。
如图1,基于SOPC技术的PLC协同控制装置包括硬件系统1和软件系统2两部分;所述的硬件系统1包括上位机3和下位机4;所述的下位机4由NiosII软核处理器模块5、存储器模块6和外围模块7组成,其中NiosII软核处理器模块5由CPU模块8、TIMER0模块9、TIMER1模块10、UART模块11、JTAG模块12组成;所述的软件系统2包括嵌入式uC/OS-II实时操作系统13、上位机软件14、下位机软件15、虚拟软核PLC16。
如图2,所述的基于SOPC技术的PLC协同控制装置就是在不改变原有PLC程序、硬件接线前提下,通过现场总线访问PLC内部资源,并将自身控制逻辑运算结果再次通过现场总线传回PLC,最终实现双核协同控制。
如图3,所述的上位机3运行在PC机上,完成编写PLC程序以及编译成目标代码以及代码传输等工作。
所述的下位机4使用AlteraFPGA(EP2c35F672c6)NiosII嵌入式软处理器为硬件平台,与上位机3之间通过RS232协议进行通信。
如图4,所述的CPU模块8选用基于RISC技术的32位嵌入式处理器NiosII模块5。对FPGA配置时,通过SOPCBuilder系统综合软件设定NiosII软核参数,在常用外围设备及接口组件中选择TIMER0(计时器)模块9、TIMER1(定时器)模块10、UART模块11、JTAG模块12以及UART(RS-232)等模块,并设置相关参数,自动分配各模块基地址和指定NiosII处理器的复位地址与异常中断地址,生成相应的NiosII系统。UART接口通过使用RS232协议可实现PC机与FPGA的传输以及PLC梯图文件的串口通信等功能。JTAG12接口通过转换电路将RS232协议转换成RS485协议,再通过CP341卡实现与PLC通讯。基于SOPC技术的优势将很多资源集中在FPGA中,使系统的扩展与升级更加容易,只需在FPGA中添加相应功能的模块即可。对于自定义外设,可以通过VHDL硬件语言编写IP核,在SOPCBuilder中添加这个自定义组件,并通过标准Avalon总线连接。
所述的存储器模块6选用掉电数据不丢失的FLASH存储器来存储应用程序及要保存的数据参数;选用读写速度较高的SDRAM存储器来给uC/OS-II操作系统和应用程序提供运行空间并缓存中间处理数据。
所述的外围模块7包括一个LCD字符型液晶显示屏、4个LED灯、两个开关。LCD用来显示PLC虚拟机的运行状态,而LED与两个开关则用来实现PLC的功能。
如图5,所述的嵌入式uC/OS-II实时操作系统是一种基于优先级的可抢先硬实时内核。Altera公司提供的实时操作系统uC/OS-II,其作为NiosII系统的一部分,在硬件系统创建完成之后,开展一个基于NiosII处理器的MicroC/OS-II软件设计过程,并使用IDE对所有的RTOS模块进行配置。具体操作可以通过单击MicroC/OS-II下配置选项,为每一个选项检查所能选择的选项进行设置,例如最大任务、计时器功能、时间戳功能、消息邮箱等。
所述的上位机程序在PC机上执行,主要负责编译PLC梯形图并传输梯形图文件。通常在工控系统中可以通过使用总线、TCP/IP、串口传输等协议完成上位机与下位机(PLC虚拟机)的通讯。本设计采用VC++6.0MFC添加一个对话框到上位机的PLC编译系统应用程序中,通过添加MSComm控件以RS232通讯协议为基础,实现传输PLC文件给PLC虚拟机执行的功能。
所述的下位机设计通过设计NiosIIIDE完成。下载硬件设计中QuartusII最终生成配置文件到FPGA中,而后可以在NiosIIIDE下建立工程,编辑调试下位机程序。在新建的工程中,NiosIIIDE会根据SOPCBuilder对应系统配置自动生成一个定制的硬件抽象层(hardwareabstractionlayer,HAL)系统库,为程序和底层硬件的通信提供接口驱动程序,同时还提供一个可移植的uC/OS-II的实时操作系统环境,如此能够使编写的应用程序具有实时性,而uC/OS-II中也可直接调用HALAPI函数,如此就很方便使用C/C++语言设计程序。
所述的虚拟软核PLC是模拟实际计算机进行工作的软件系统,同真实计算机一样,它拥有自己的中央处理器、指令系统、存储器组织、输入输出等,可以接受指令系统的指令,完成计算或数据处理等任务。虚拟软核PLC是完成PLC程序代码解释、执行机制的核心部分。其主要负责接受上位机发送的类PLC逻辑程序命令,控制任务解释器的执行。由于虚拟软核PLC运行在uC/OS-II占先式内核实时系统中,任务解释器在PLC虚拟机中循环取得代码指令并执行相应的操作,实现PLC程序对外部设备的控制功能。针对工控PLC控制系统实时性的要求,将虚拟软核PLC顺序程序分为快逻辑任务和慢逻辑任务两部分,快逻辑仅仅用来负责短脉冲信号,这些信号主要包括急停、复位、外部减速和给迸暂停等,而慢逻辑则只处理一般信号。两个逻辑任务的管理和调度通过uC/OS-II实时系统内核完成。其中快逻辑程序每8毫秒执行一次,因而快逻辑程序应尽可能短。分割慢逻辑程序时为执行快逻辑程序,其中当分割数为n时,一个循环的执行时间为8n毫秒。由于两者的执行周期不同,而执行顺序逻辑程序过程中要保证输入输出缓存区的数据一致,因此可以分别为快逻辑和慢逻辑建立单独的逻辑队列缓存区。
如图6,运行系统的逻辑任务调度通过定义一个全局数组方式进行数据通信。调用计时器记录执行一次扫描的开始时间和结束时间,每当执行时间间隔为8ms,唤醒uC/OS-II实时系统的定时中断函数,调用内核级任务调度器,进行下一次快逻辑扫描,同时保存慢逻辑数据于慢逻辑缓存区中。由于uC/OS-II任务调度的时间取决于系统的时钟节拍,与应用程序中的任务无关,所以能够保证任务的实时性。
如图7,所述的虚拟软核PLC的工作方式与传统的软PLC基本相同,即通过打开UART串口,读入PLC执行文件,存入指定内存模块中,用户加载PLC逻辑目标代码之后,通过Task_routine()线程函数读取目标代码信息、分配系统资源并初始化相应变量,然后通过refresh_routine()线程函数读取相应配置信息,周期性的顺序扫描逻辑任务并执行基本逻辑指令与功能指令。uC/OS-II通过使用内核OSTimeDlyHMSM()延迟函数循环交替执行这两个线程,保证每个线程的执行周期。PLC虚拟机系统在每个扫描周期中,通过硬件抽象层,读入外部I/O设备寄存器的状态,然后调用refresh_routine()线程中的RefreshIO()函数,更新硬件抽象层中与该寄存器相对应的变量区的状态,最后通过硬件抽象层(HAL)提供的标准接口将系统内部的逻辑运行结果更新到外部开关设备。
以上所述仅为本实用新型的较佳实施例,凡依本实用新型申请专利范围所作的均等变化与修饰,皆应属本实用新型专利的涵盖范围。本实用新型的使用范围不仅局限于烟草工业控制,可拓展其他功能应用于更复杂的工业控制领域。在非精密控制领域,也可以将本实用新型独立作为PLC使用。
Claims (4)
1.一种基于SOPC技术的PLC协同控制装置,其特征在于:该装置包括上位机(3)和下位机(4),所述的上位机(3)运行在PC机上,完成编写PLC程序以及编译成目标代码以及代码传输工作;所述的下位机(4)使用AlteraFPGA(EP2c35F672c6)NiosII嵌入式软处理器为硬件平台,与上位机(3)之间通过RS232协议进行通信;所述的下位机(4)由NiosII软核处理器模块(5)、存储器模块(6)和外围模块(7)组成,其中NiosII软核处理器模块(5)由CPU模块(8)、TIMER0模块(9)、TIMER1模块(10)、UART模块(11)和JTAG模块(12)组成,对FPGA配置时,通过SOPCBuilder系统综合软件设定NiosII软核参数,并设置TIMER0模块(9)、TIMER1模块(10)、UART模块(11)和JTAG模块(12)相关参数,自动分配各模块基地址和指定NiosII处理器的复位地址与异常中断地址,生成相应的NiosII系统,UART模块(11)通过使用RS232协议可实现上位机(3)与FPGA的传输以及PLC梯图文件的串口通信,JTAG模块(12)通过转换电路将RS232协议转换成RS485协议,再通过CP341卡实现与PLC通讯。
2.根据权利要求1所述的一种基于SOPC技术的PLC协同控制装置,其特征在于,CPU模块(8)选用基于RISC技术的32位嵌入式处理器NiosII模块(5)。
3.根据权利要求1所述的一种基于SOPC技术的PLC协同控制装置,其特征在于,存储器模块(6)选用掉电数据不丢失的FLASH存储器。
4.根据权利要求1所述的一种基于SOPC技术的PLC协同控制装置,其特征在于,外围模块(7)包括一个LCD字符型液晶显示屏、4个LED灯、两个开关,LCD用来显示PLC虚拟机的运行状态,而LED与两个开关则用来实现PLC的功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201520703874.3U CN205003526U (zh) | 2015-09-11 | 2015-09-11 | 一种基于sopc技术的plc协同控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201520703874.3U CN205003526U (zh) | 2015-09-11 | 2015-09-11 | 一种基于sopc技术的plc协同控制装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN205003526U true CN205003526U (zh) | 2016-01-27 |
Family
ID=55160404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201520703874.3U Active CN205003526U (zh) | 2015-09-11 | 2015-09-11 | 一种基于sopc技术的plc协同控制装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN205003526U (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109190407A (zh) * | 2018-09-11 | 2019-01-11 | 网御安全技术(深圳)有限公司 | 一种高性能加解密运算能力扩展方法及系统 |
CN109255259A (zh) * | 2018-09-11 | 2019-01-22 | 网御安全技术(深圳)有限公司 | 一种高安全加解密运算能力扩展方法及系统 |
CN109298312A (zh) * | 2018-09-06 | 2019-02-01 | 国营芜湖机械厂 | 基于sopc和软件替代技术的某型机载电路板测试装置及方法 |
CN109478052A (zh) * | 2016-08-01 | 2019-03-15 | 西门子股份公司 | 确定应用程序的执行时间 |
-
2015
- 2015-09-11 CN CN201520703874.3U patent/CN205003526U/zh active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109478052A (zh) * | 2016-08-01 | 2019-03-15 | 西门子股份公司 | 确定应用程序的执行时间 |
US10901794B2 (en) | 2016-08-01 | 2021-01-26 | Siemens Aktiengesellschaft | Determining an execution time of an application program |
CN109478052B (zh) * | 2016-08-01 | 2022-07-12 | 西门子股份公司 | 确定应用程序的执行时间的方法和装置 |
CN109298312A (zh) * | 2018-09-06 | 2019-02-01 | 国营芜湖机械厂 | 基于sopc和软件替代技术的某型机载电路板测试装置及方法 |
CN109190407A (zh) * | 2018-09-11 | 2019-01-11 | 网御安全技术(深圳)有限公司 | 一种高性能加解密运算能力扩展方法及系统 |
CN109255259A (zh) * | 2018-09-11 | 2019-01-22 | 网御安全技术(深圳)有限公司 | 一种高安全加解密运算能力扩展方法及系统 |
CN109255259B (zh) * | 2018-09-11 | 2020-08-04 | 网御安全技术(深圳)有限公司 | 一种高安全加解密运算能力扩展方法及系统 |
CN109190407B (zh) * | 2018-09-11 | 2020-08-04 | 网御安全技术(深圳)有限公司 | 一种高性能加解密运算能力扩展方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105137800A (zh) | 一种基于sopc技术的plc协同控制装置 | |
CN205003526U (zh) | 一种基于sopc技术的plc协同控制装置 | |
CN101344899B (zh) | 一种片上系统的仿真测试方法及仿真测试系统 | |
US8473269B1 (en) | System-level hardware and software development and co-simulation system | |
CN101937205B (zh) | 新型便携式plc编程装置 | |
CN107861716B (zh) | 软件定义型控制系统及控制方法 | |
CN107341053A (zh) | 异构多核可编程系统及其内存配置和计算单元的编程方法 | |
CN102279766B (zh) | 并行模拟多个处理器的方法及系统、调度器 | |
CN110271009B (zh) | 基于plc仿机器人指令实现机械手示教功能方法 | |
CN102087609B (zh) | 多处理器平台下的动态二进制翻译方法 | |
CN104317236A (zh) | 基于软plc技术的无线传感器网络控制终端 | |
CN201583832U (zh) | 新型便携式plc编程装置 | |
CN103941650B (zh) | 逻辑与运动集成控制器 | |
CN103823467A (zh) | 具备运动规划功能的工业机器人示教规划器的控制方法 | |
CN102681465A (zh) | 具备运动规划功能的工业机器人示教规划器及其控制方法 | |
CN104750603A (zh) | 一种多核dsp软件仿真器及其物理层软件测试方法 | |
CN101303580A (zh) | 支持多种cpu构造plc控制器的实现方法 | |
CN105068860A (zh) | 一种基于ARM的Linux采煤机管理主机系统 | |
CN104698950A (zh) | 一种外围设备控制方法、微控制器、上位机及系统 | |
CN102096725A (zh) | 一种基于fpga的仿真器 | |
CN116822135A (zh) | 实时仿真平台系统及仿真系统构建方法 | |
CN102681941A (zh) | 一种可扩展的嵌入式仿真测试系统 | |
CN103942092A (zh) | 一种支持LabView图形化编程的HLA协同仿真方法 | |
CN102331961A (zh) | 并行模拟多个处理器的方法及系统、调度器 | |
CN208588917U (zh) | 一种基于arm+dsp+fpga的工业机器人运动控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |