发明内容
有鉴于此,本发明实施例提供一种可编程控制系统,以解决现有控制系统的CPU内核程序编程开发难题,及由此带来的研发成本高的问题。
为实现上述目的,本发明提供如下技术方案:
一种可编程控制系统,所述控制系统具有集成芯片结构,包括:
测量接入芯片管脚的模拟量信号和开关量信号,将所述模拟量信号和开关量信号转换为对应数据信息并输出的信号输入单元;
下载组态程序,输出所述组态程序的网络通信单元;
与所述网络通信单元相连,接收并解析所述组态程序,输出解析后的组态程序的组态程序解析单元;
分别与所述信号输入单元和所述组态程序解析单元相连,接收所述对应数据信息和所述解析后的组态程序,依据所述解析后的组态程序对所述对应数据信息进行处理,生成处理后信息并输出所述处理后信息的控制处理单元;
与所述控制处理单元相连,将所述处理后信息转换为对应的模拟量信号和开关量信号,从对应芯片管脚输出该模拟量信号和开关量信号的信号输出单元。
优选的,所述组态程序解析单元包括:解释解析子单元或编译解析子单元;
所述解释解析子单元,用于在不改动所述组态程序的情况下,对所述组态程序按句读取并解释执行;
所述编译解析子单元,用于在第一次执行所述组态程序时,将所述组态程序编译为本地机器代码并存储。
优选的,所述网络通信单元,还用于在不同控制系统的网络通信单元间进行信息交互;
所述控制处理单元还与所述网络通信单元相连,用于控制所述网络通信单元的数据通信,所述数据通信包括组态程序的下载和不同网络通信单元间的信息交互。
优选的,所述系统还包括:
分别与所述网络通信单元,所述组态程序解析单元和所述控制处理单元相连,存储所述组态程序和/或所述解析后的组态程序,及存储所述网络通信单元、所述组态程序解析单元和所述控制处理单元在运行过程中的产生的过程数据的数据存储单元。
优选的,所述网络通信单元还与所述组态程序解析单元,所述控制处理单元和所述数据存储单元相连,用于对所述组态程序解析单元,所述控制处理单元和所述数据存储单元的运行进行监控,及对所述数据存储单元存储的数据进行查询和配置。
优选的,所述数据存储单元还包括:
芯片信息存储子单元,用于存储控制系统的芯片信息,所述芯片信息包括所述控制处理单元支持的功能块和功能函数信息。
优选的,所述网络通信单元包含有以太网接口和/或通用异步接收/发送UART接口。
优选的,所述系统还包括:
分别与所述信号输入单元和所述信号输出单元相连,实时采集控制系统内的芯片环境温度,以对所述信号输入单元和所述信号输出单元进行温度补偿和监控的温度测量单元。
本发明还提供一种组态程序控制方法,包括:
测量接入控制系统的模拟量信号和开关量信号,将所述模拟量信号和开关量信号转换为对应数据信息,及,
下载组态程序,若所述控制系统支持所述组态程序需调用的功能块或功能函数,则依据预置的组态程序解析方式,解析所述组态程序;
依据所述解析后的组态程序,对所述对应数据信息进行处理;
将处理后的所述对应数据信息,转换为对应的模拟量信号和开关量信号并输出,以便对所述控制对象进行控制;
优选的,所述依据预置的组态程序解析方式,解析所述组态程序具体为:
在不改动所述组态程序的情况下,对所述组态程序按句读取并解释执行,或在第一次执行所述组态程序时,将所述组态程序编译为本地机器代码并存储。
基于以上技术方案,本发明实施例所提供的可编程控制系统具有集成芯片结构,信号输入单元,网络通信单元,组态程序解析单元,控制处理单元和信号输出单元全部集成在一个芯片中,舍弃了现有控制系统的复杂系统结构,在本发明实施例所提供控制系统基础上,使用者只需搭建简单的外围电路(如电源供电电路,通信线缆等)即可进行组态程序控制,实现简单或复杂的控制回路,避免了内核程序的多次开发;其次,本发明实施例所提供的控制系统以硬件的形式将具有组态程序解析功能的组态程序解析单元集成在了芯片中,相比现有控制系统采用软件形式,对组态程序进行解析的方式,本发明所提供的硬件式组态程序解析,提升了解析速度,提高了控制系统工作效率。本发明实施例所提供的控制系统,实现了控制系统的集成芯片结构化,降低了控制系统的系统结构复杂度,对控制系统的研发成本进行了控制,其次提高了组态程序解析速度,提高了控制系统工作效率。
具体实施方式
本发明实施例旨在提供一种芯片集成化的可编程控制系统,舍弃现有控制系统所使用的嵌入式处理器芯片配合复杂的外围处理模块和通信模块的系统结构,将控制系统所需的控制内核(具备组态程序解析功能)、处理内核(具备组态程序执行功能)和控制处理装置等全部集成在一个芯片中,降低控制系统的系统结构复杂度,通过一套处理内核程序的开发,即可满足控制系统需求。
基于以上发明宗旨,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种可编程控制系统的结构框图。参照图1,该控制系统具有集成芯片结构,该控制系统可以包括:信号输入单元100,网络通信单元200,数据存储单元300,组态程序解析单元400,控制处理单元500和信号输出单元600。
信号输入单元100,用于测量接入控制系统的模拟量信号和开关量信号,将所述模拟量信号和开关量信号转换为对应数据信息并输送给控制处理单元500;
信号输入单元100一端与本发明控制系统的芯片管脚相连,另一端与控制处理单元500相连,测量连接到控制系统的芯片管脚上的模拟量信号值或开关量信号,并将这些信号转换为对应的数据信息,以作为控制回路的输入提交给控制处理单元处理500。
所测量的模拟量信号和开关量信号包括:电压信号、电流信号、电阻信号、电容信号、触点型开关信号、电平型开关信号、频率信号、脉冲信号等,可根据本发明控制系统在实际应用上的不同或最终生产时的芯片型号,集成这些信号中的一种或多种;
接入控制系统的芯片管脚上的模拟量信号和开关量信号来自于控制现场的传感器、变送器、继电器开关等。
信号输入单元100的工作流程可以为:首先,实时扫描控制系统的芯片管脚上的输入信号是否在允许范围;其次,对信号进行如放大、缩小、差共模转换、电平调整等调理补偿工作,得到标准化易测量的信号;然后,进行模数转换、脉冲计数等信号测量工作,得到以数字量表达的准备测量值;根据测量值所在区间,实时调整输入单元的相关电路补偿参数(如增益),以进一步提高测量的精度;最后,将测量值连同测量单位传递给控制处理单元500。
信号输入单元100支持的模拟量信号包括电压信号、电流信号、电阻信号、电容信号,具体信号类型例如:0~5V直流电压信号、1V~5V直流电压信号、-10V~10V直流电压信号、0~20mA直流信号、4~20mA直流信号、E/J/K/N/T/B/S/R型热电耦信号、PT100/CU50型热电阻信号、热敏电阻信号等。支持的开关量信号包括触点型开关信号、电平型开关信号、频率信号、脉冲信号,具体信号类型例如:无源触点信号、有源触点信号、PNP/NPN型接近开关信号、0Hz~10000Hz脉冲信号等。对各种信号测量输入的具体电路实现方式,本发明不作限制。
网络通信单元200,用于下载组态程序,将所述组态程序发送给组态程序解析单元400;
网络通信单元200还与数据存储单元300,组态程序解析单元400和控制处理单元500相连,用于在不同控制系统的网络通信单元间进行信息交互,对控制系统各功能单元的运行进行监控,包括对数据存储单元300、组态程序解析单元400和控制处理单元500的运行进行监控,及对数据存储单元300存储的数据进行查询和配置;
具体的,网络通信单元200用于为控制组态程序的下载、控制运行的监控、与其它本发明控制系统或控制器的数据交互提供信息通道,网络通信单元200可根据最终生产的本发明控制系统的芯片型号和功能的不同,集成各种通信接口和协议的一种或多种,如SPI接口、IIC接口、UART接口、RS232接口、RS485接口、CAN接口、以太网接口、Profibus接口、EPA接口等。
网络通信单元200中RS232接口或以太网接口(如集成),用于基于IEC61131-3标准的控制组态程序的下载。基于IEC61131-3标准的组态程序,由应用人员在组态软件上完成编程,编程语言可以是IL、ST、LD、FBD和SFC。组态软件将各编程语言实现的程序统一转换为IL语言的组态程序,通过RS232接口或以太网接口(如集成)下载至本发明控制系统内部,可以存放在数据存储单元300中,再交由组态程序解析单元400解析,也可直接交由组态程序解析单元400解析。
数据存储单元300与网络通信单元200,组态程序解析单元400和控制处理单元500相连,用于存储所述组态程序和/或解析后的组态程序,及存储本发明控制系统各功能单元在运行过程中的产生的数据,包括网络通信单元200、组态程序解析单元400和控制处理单元500在运行过程中的产生的过程数据;
数据存储单元300主要负责及时地存储下载的组态程序和/或解析后的组态程序(如为编译型解析方式,还包括编译后的本地机器代码)、临时变量和SOE(Sequence Of Event,事件顺序记录)数据,数据存储单元300对控制系统各功能单元在运行过程中的产生的过程数据进行存储,实现了控制系统的历史数据记录,并可以通过网络通信单元200进行历史数据的查询和配置。数据存储单元300分为Flash存储区和Ram(Random access memory,随机存储)存储区,各存储区的大小直接影响控制系统所支持的控制复杂度。
芯片信息区为数据存储单元300中固化的一部分,芯片信息区内存储有芯片相关的信息,不可擦除和更改。芯片信息区包含有:芯片支持的输入输出类型和数量信息、网络通信接口类型和数量信息、芯片的组态程序解析方式信息、芯片支持的控制功能块和功能函数信息、芯片型号、芯片版本、厂商信息、出厂日期信息和唯一的32位芯片标签。芯片信息区设置有芯片信息存储子单元(未图示),用于存储控制系统信息,所述控制系统信息包括控制系统的控制处理单元500支持的功能块和功能函数信息。
组态程序解析单元400与网络通信单元200相连,用于解析所述组态程序,将解析后的组态程序发送给控制处理单元500;
组态程序解析单元400将通过网络通信单元200下载的基于IEC61131-3标准的组态程序进行解析,交给控制处理单元500运行处理。组态程序是以IL语言为基本结构的已编码文件,具体编码方式本发明不作限制。
组态程序解析单元400支持两种解析方式,具体可以由组态程序解析单元400的内置子单元进行,参照图2,图2为本发明实施例提供的组态程序解析单元400的结构框图,包括:
解释解析子单元401,用于在不改动所述组态程序的情况下,对所述组态程序按句读取并解释执行;
编译解析子单元402,用于在第一次执行所述组态程序时,将所述组态程序编译为本地机器代码并存储。
需要说明的是,组态程序解析单元400可内置上述两个子单元中的一个,也可同时内置上述两个子单元,即组态程序解析单元400可内置解释解析子单元401和/或编译解析子单元402。
组态程序解析单元400在解析过程中,可根据芯片信息存储子单元存储的芯片信息,判断组态程序调用的功能块或功能函数是否为控制处理单元500所支持的,可通过判断控制处理单元500是否集成有对应的功能块或功能函数进行。如不支持,则组态程序解析单元中止解析,并通过网络处理单元发送报警信息,如支持,则依据预置的组态程序解析方式,解析所述组态程序。
组态程序解析单元工作流程为:首先读取以IL语言为基本结构的组态文件;其次,根据芯片的组态程序解析方式信息进行选择,如为解释型的解析方式则按句进行组态文件的解析,如为编译型的解析方式则在按句解析的同时进行代码存储;在解析中,如遇“CAL”指令即调用功能和功能块指令,则判断所调用的功能函数和功能块是否为控制系统所集成,若是,依照预置的组态程序解析方式,解析所述组态程序,若否,则中止解析并通过网络处理单元200发送报警信息;最后,将解析后的指令代码交由控制处理单元500处理。
控制处理单元500分别与信号输入单元100和组态程序解析单元400相连,用于依据所述解析后的组态程序,对信号输入单元100输入的对应数据信息进行处理,生成处理后的信息,将处理后信息发送给信号输出单元600;
控制处理单元500还与网络通信单元200相连,用于控制网络通信单元200的数据通信,所述数据通信包括组态程序的下载和不同网络通信单元间的信息交互;
具体的,控制处理单元500负责程序运行和数据通信的控制,控制处理单元500从信号输入单元100采集得到需要的测量输入模拟量信号和开关量信号,并从组态程序解析单元400获取相应的操作指令,按指令对模拟量信号和开关量信号进处理。
控制处理单元500可集成IEC61131-3定义的标准功能函数包括数字运算功能ABS、SQRT、LOG、LN、EXP、SIN、COS、TAN、ASIN、ACOS、ATAN;算术运算功能ADD、SUB、MUL、DIV、MOD、EXPT、MOVE;位移与位运算功能SHL、SHR、ROR、ROL、AND、OR、XOR、NOT;选择功能SEL、MAX、MIN、LIMIT、MUX;比较功能GT、GE、LT、LE、EQ、NE;字符串操作功能LEN、LEFT、RIGHT、MID、CONTACT、INSERT、DELETE、RAPLACE、FIND。控制处理单元500还可集成IEC61131-3定义的标准功能块,包括双稳触发器、边沿触发器、定时器、计数器、通讯功能块。此外根据芯片型号的不同,控制处理单元500还可提供特殊的功能块和功能函数。
信号输出单元600与控制处理单元500相连,用于将所述处理后的信息转换为对应的模拟量信号和开关量信号,从对应管脚输出该对应的模拟量信号和开关量信号,以便对控制对象进行控制;
信号输出单元600完成的主要工作是在控制系统的芯片管脚上准确地输出控制处理单元500所要求的模拟量信号值或开关量信号,以便对控制对象进行控制,依据处理后的模拟量信号和开关量信号对控制对象进行控制可参照现有技术,本发明不再赘述。控制对象与现有控制系统的控制对象相同,包括工业机床、智能设备等。现说明下信号输出单元的工作流程:首先,接收来自控制处理单元的输出命令、输出信号值和单位,判断是否在控制系统所允许的输出范围内,如超出量程将提示报警;其次,将数字量表达的目标输出值进行数模转换、PWM(Pulse Width Modulation,脉冲宽度调制)输出等转换工作;如有必要,对信号进行如电压/电流转换、放大、滤波等调理补偿工作,得到目标输出信号;将输出信号反馈测量,监测其是否输出准确值;最后,在指定控制系统的芯片管脚上输出信号。
信号输出单元600支持的模拟量信号包括电压信号、电流信号,具体信号类型例如:0~5V直流电压信号、1V~5V直流电压信号、0~20mA直流信号、4~20mA直流信号等。支持的开关量信号包括电平型开关信号、脉冲信号、PWM信号等。对各种信号输出的具体电路实现方式,本发明不作限制。
在上述控制系统中,信号输入单元100支持的信号类型和数量信息可以在数据存储单元300固化的芯片信息区中永久保存,网络通信单元支持的通信协议和接口类型、数量信息在固化的芯片信息区中永久保存,数据存储单元各存储区的大小、读写权限等信息同样在固化的芯片信息区中永久保存,组态程序解析单元支持的解析方式等信息也在固化的芯片信息区中永久保存,控制处理单元提供的所有功能块和功能函数类型和数量信息也在固化的芯片信息区中永久保存,信号输出单元支持的信号类型和数量信息在固化的芯片信息区中永久保存。
本发明实施例所提供的控制系统,将信号输入单元,网络通信单元,组态程序解析单元,控制处理单元和信号输出单元全部集成在一个芯片中,舍弃了现有的嵌入式处理芯片的复杂结构,在本发明实施例所提供控制系统基础上,使用者不需要搭建外围的通信模块和处理模块,只需搭建简单的外围电路(如电源供电电路,通信线缆等)即可进行组态程序控制,实现简单或复杂的控制回路,避免了内核程序的多次开发。其次,本发明实施例所提供的控制系统以硬件的形式将具有组态程序解析功能的组态程序解析单元集成在了芯片中,相比现有控制系统采用软件形式,对组态程序进行解析的方式,本发明所提供的硬件式组态程序解析方法,提升了解析速度,提高了控制系统工作效率。本发明实施例所提供的控制系统,实现了控制系统的集成芯片结构化,降低了控制系统的系统结构复杂度,对控制系统的研发成本进行了控制,其次提高了组态程序解析速度,提高了控制系统工作效率。
图3为本发明实施例提供的一种控制系统的具体结构框图,为图1所示控制系统的具体化,参照图3。
信号输入单元100支持的模拟量信号输入有-6V~6V直流电压信号×8、0~200mV直流电压信号×2、1K~500K热敏电阻信号×1,在信号输入单元100内集成运算放大电路和阻/压转换电路,用于对输入信号进行调理补偿,并将调整后的电压值进行模数转换测量;支持的开关量信号有CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)电平开关信号、TTL(Transistor Transistor Logic,逻辑门电路)电平开关信号、1Hz~500KHz频率脉冲信号,输入通过GPIO(General Purpose Input Output,通用输入/输出)端口实现,最大可提供32路开关量信号输入;内置多个定时器/计数器映射到相应I/O端口,配合实现脉冲量的捕获和频率测量;电流、热电耦、热电阻、继电器开关信号等其它信号可以通过在芯片外搭建调理电路实现。
信号输出单元600支持的模拟量信号输出为0V~5V直流电压信号×4,通过集成的数模转换电路实现,并在输出端进行反馈测量;支持的开关量信号有电平开关信号、1Hz~500KHz频率脉冲信号、PWM信号,通过GPIO端口实现输出,最大可提供32路开关量信号输入;内置多个定时器/计数器以及PWM控制器映射到相应I/O端口;电流输出信号等其它信号通过在芯片外搭建调理电路实现。
本发明所提供的具有集成芯片结构的控制系统,还集成有温度测量单元,温度测量单元与信号输入单元和信号输入单元相连,用于实时采集芯片环境温度,以用于信号输入/输出单元的温度补偿和监控。
网络通信单元200包含有SPI接口×2、IIC接口×1、UART接口×2、Ethernet/EPA接口×1。通过UART接口并在芯片外搭建电平转换电路可以实现RS232和RS485协议,通过SPI接口可以扩展CAN、USB等通信接口。网络通信单元200内置固化接口的通信协议,并可以通过组态方式添加扩展接口的通信协议。
组态程序解析单元400和控制处理单元500均采用芯片内嵌32位处理器内核固化软件的方式实现,数据存储单元300提供512K的Flash存储空间和64K的Ram空间,其中256K的Flash空间和32K的Ram空间是为芯片用户提供的用户空间,用户只能通过组态软件编程下载,而无法修改数据存储单元中其它内容。
本实施例组态程序解析单元可采用解释型解析方式,组态程序通过RS232接口进行下载,并存放在用户空间中。
下面将对基于本发明控制系统的组态程序控制方法加以描述,图4为本发明实施例提供的一种组态程序控制方法的流程图,该方法可以包括:
步骤S100、测量接入控制系统的模拟量信号和开关量信号,将所述模拟量信号和开关量信号转换为对应数据信息,及,
下载组态程序,若所述控制系统支持所述组态程序需调用的功能块或功能函数,则依据预置的组态程序解析方式,解析所述组态程序;
信号输入单元100测量接入控制系统的模拟量信号和开关量信号,将所述模拟量信号和开关量信号转换为对应数据信息,网络通信单元200下载组态程序,控制处理单元500判断下载后的组态程序需调用的功能块或功能函数是否为本地集成芯片所支持的,具体可以查找控制处理单元500集成的功能块或功能函是否有下载后的组态程序需调用的,或通过调取芯片信息存储子单元所存储的芯片信息,将控制处理单元500集成的功能块或功能函数与下载后的组态程序需调用的功能块或功能函进行比对,从而判断控制处理单元500是否集成有下载后的组态程序需调用的功能块或功能函,当控制系统支持下载后的组态程序需调用的功能块或功能函数时,组态程序解析单元400解析所述组态程序。
步骤S200、依据所述解析后的组态程序,对所述对应信息进行处理;
控制处理单元500进行程序控制处理。
步骤S300、将处理后的所述对应数据信息,转换为对应模拟量信号和开关量信号并输出,以便对所述控制对象进行控制。
信号输出单元600进行处理后的模拟量信号和开关量信号的输出。
本发明实施例所提供的控制系统以硬件的形式将具有组态程序解析功能的组态程序解析单元集成在了芯片中,相对现有控制系统提升了解析速度,提高了控制系统工作效率。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。