一种PLC浮点数和定点数相互转换控制系统及方法技术方案

技术编号:24088259 阅读:22 留言:0更新日期:2020-05-09 06:57
本发明专利技术属于PLC控制技术领域,公开了一种PLC浮点数和定点数相互转换控制系统及方法,中央控制器端口,用于通过数据总线、地址总线、控制总线控制外部存储控制器和浮点数算数运算模块;外部存储控制器,用于将操作数通过内部数据通道线传输出给寄存器堆模块、数据分配模块、队列模块、累加器模块和浮点运算模块;浮点数算数运算模块,用于进行单精度浮点数的运算。本发明专利技术提高浮点数和定点数相互转换的效率,具有较高转换精度;采用ARM‑FPGA架构的小型PLC,以ARM为控制中心,运用FPGA高速的并行运算性能,将浮点、定点数相互转换的控制逻辑单元植入到FPGA处理器中,克服单一模块的缺点,具有较高的转换精度和效率。

A control system and method of PLC floating-point and fixed-point conversion

【技术实现步骤摘要】
一种PLC浮点数和定点数相互转换控制系统及方法
本专利技术属于PLC控制
,尤其涉及一种PLC浮点数和定点数相互转换控制系统及方法。
技术介绍
目前,最接近的现有技术:PLC用于工业控制系统时,需要进行大量复杂的数据处理和控制算法的运算,可以应用定点数运算,也可以应用浮点数运算,浮点运算比定点运算具有高的有效精度,计数范围宽等特点,现在微处理器指令执行的速度已大大提高,对于复杂控制、控制精度及动态范围都要求比较高的控制模块,大多都采用浮点数运算。在一般的实际控制模块中,尤其在模拟量和数字量需要相互转换的时候,中间数据往往需要进行浮点、定点数相互转换的处理,这样为了便于采集和观测数据的实时变化,而单一模块的浮点、定点运算单元满足不了复杂控制需求,需要专门的控制方法进行高效率、高精度的数据处理。综上所述,现有技术存在的问题是:(1)现有的PLC浮点、定点单一模块存在局限性,满足不了复杂控制需求。(2)现有工业控制领域浮点、定点数转换精度低。
技术实现思路
针对现有技术存在的问题,本专利技术提供了一种PLC浮点数和定点数相互转换控制系统及方法。本专利技术是这样实现的,一种PLC浮点数和定点数相互转换控制系统,所述PLC浮点数和定点数相互转换控制系统包括:中央控制器端口,用于通过数据总线、地址总线、控制总线控制外部存储控制器和浮点数算数运算模块;外部存储控制器,用于将操作数通过内部数据通道线传输出给寄存器堆模块、数据分配模块、队列模块、累加器模块和浮点运算模块;浮点数算数运算模块,用于进行单精度浮点数的运算。进一步,所述浮点数算数运算模块包括:调配控制模块,用于根据时序把浮点数和定点数转换指令和浮点操作数调配到数据分配模块中;根据控制要求将浮点数转定点数模块转换得到的定点数传输给定点数转浮点数模块,提供定点数来源,确保转换模块操作数来源多样化;结果标志寄存模块,用于将调配控制模块的结果寄存;数据分配模块,有来自寄存器堆寻址到的浮点操作数,又有来自调配控制模块发送的指令和浮点操作数,调配浮点操作数到定点转浮点模块和浮点转定点模块,实现浮点数和定点数的相互转换;累加寄存器,用于存储数据分配模块分配过来的第一个浮点运算操作数;队列模块,接收并暂存数据分配模块分配过来的第二个浮点操作数至最后一个浮点操作数;浮点运算模块,进行算术运算并为浮点数转定点数模块提供浮点操作数来源。本专利技术的另一目的在于提供一种运行所述的PLC浮点数和定点数相互转换控制系统的PLC浮点数和定点数相互转换控制方法,所述PLC浮点数和定点数相互转换控制方法包括:第一步,中央控制器发送指令字通过系统数据总线选中多操作数单精度浮点数算术运算模块后,按照操作符的顺序组织操作数进行运算,每次运算的中间结果存储在累加寄存器中可以作为下一次运算的浮点操作数参与运算;第二步,配控制模块通过内部总线查询到运算结束将结果标志信号传输给结果标志寄存器;第三步,标志信号通过系统总线通知中央控制器,运算的最终结果可以根据中央控制器的需要读走,同时为浮点转定点模块提供浮点操作数;第四步,通过定点数转浮点数转换成浮点数传输到系统总线上。进一步,所述PLC浮点数和定点数相互转换控制方法还包括:调配控制模块通过内部控制总线发送指令字查询浮点数转换定点数的转换状态,转换完成后的定点数根据中央控制器需求由系统总线发送读信号读走,同时转换后的结果为定点数转浮点数模块提供定点数来源;调配控制模块将指令字和数据识别分配给浮点运算模块进行单精度浮点数的运算,通过浮点转定点模块将单精度浮点数转换成定点数,转换的定点数再通过定点数转浮点数模块转换成浮点数,整个过程中由调配控制模块通过内部控制总线发送指令字,查询定点数转换浮点数的转换状态,转换完成后的浮点数,根据中央控制器需求由系统总线发送读信号读走。进一步,所述PLC浮点数和定点数相互转换控制方法还包括:首先PC上位机模块录入浮点数和定点数转换指令的梯形图源程序或者指令表,将其转换成多操作数的二进制指令编码,通过串行总线USB转控制器局域网络CAN装置下载到ARM中,实现PLC源程序的下载并进行静态编译和动态编译,生成FPGA能识别的ARM_FPGA二进制编码,同时ARM通过IO端口向FPGA的双口RAM写入浮点数和定点数转换指令,FPGA中央控制器通过双口RAM,读取到指令和操作数。进一步,一部分转换指令和操作数由中央控制器模块经系统总线传输到调配控制模块,由调配控制模块根据时序把浮点数和定点数转换指令和浮点操作数调配到数据分配模块中,数据分配模块中既有来自寄存器堆寻址到的浮点操作数,又有来自调配控制模块发送的指令和浮点操作数,调配浮点操作数到定点转浮点模块和浮点转定点模块,实现浮点数和定点数的相互转换,其次累加寄存器用于存储数据分配模块分配过来的第一个浮点运算操作数,队列模块接收并暂存数据分配模块分配过来的第二个浮点操作数至最后一个浮点操作数,浮点运算模块进行算术运算并为浮点数转定点数模块提供浮点操作数来源,调配控制模块根据控制要求将浮点数转定点数模块转换得到的定点数传输给定点数转浮点数模块。进一步,一部分指令和操作数由中央控制器模块经系统总线传输到外部存储控制器模块,外部存储控制器模块只将操作数通过内部数据通道线传输出给寄存器堆模块、数据分配模块、队列模块、累加器模块和浮点运算模块。进一步,ARM和FPGA之间通信由FSMC总线,指令传输到FPGA中执行的过程中,中央控制器模块、多操作数单精度浮点数算术运算模块、外部存储控制器模块并行执行。本专利技术的另一目的在于提供一种实现所述PLC浮点数和定点数相互转换控制方法的信息数据处理终端。本专利技术的另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的PLC浮点数和定点数相互转换控制方法。综上所述,本专利技术的优点及积极效果为:本专利技术充分应用FPGA并行执行的功能,FPGA执行浮点、定点数相互转换的过程不影响用户程序的执行,只是操作数的来源准备和转换结果将占用执行时间,浮点数的来源有系统数据总线、寄存器堆、累加寄存器和外部存储器四种通道方式。本专利技术中央控制器发送指令字通过系统数据总线选中多操作数单精度浮点数算术运算模块后,按照操作符的顺序组织操作数进行运算,每次运算的中间结果存储在累加寄存器中可以作为下一次运算的浮点操作数参与运算,调配控制模块通过内部总线查询到运算结束将结果标志信号传输给结果标志寄存器,最后标志信号通过系统总线通知中央控制器,运算的最终结果可以根据中央控制器的需要读走,同时为浮点转定点模块提供浮点操作数,最后通过定点数转浮点数转换成浮点数传输到系统总线上,提高了数据的处理速度和效率。本专利技术通过模块化建模思想和verilog编写程序,在FPGA处理器上面实现32位浮点、定点转换,可以解决浮点、定点单一模块局限性和复杂控制领域数据精度不高的问题。本发本文档来自技高网...

【技术保护点】
1.一种PLC浮点数和定点数相互转换控制系统,其特征在于,所述PLC浮点数和定点数相互转换控制系统包括:/n中央控制器端口,用于通过数据总线、地址总线、控制总线控制外部存储控制器和浮点数算数运算模块;/n外部存储控制器,用于将操作数通过内部数据通道线传输出给寄存器堆模块、数据分配模块、队列模块、累加器模块和浮点运算模块;/n浮点数算数运算模块,用于进行单精度浮点数的运算。/n

【技术特征摘要】
1.一种PLC浮点数和定点数相互转换控制系统,其特征在于,所述PLC浮点数和定点数相互转换控制系统包括:
中央控制器端口,用于通过数据总线、地址总线、控制总线控制外部存储控制器和浮点数算数运算模块;
外部存储控制器,用于将操作数通过内部数据通道线传输出给寄存器堆模块、数据分配模块、队列模块、累加器模块和浮点运算模块;
浮点数算数运算模块,用于进行单精度浮点数的运算。


2.如权利要求1所述的PLC浮点数和定点数相互转换控制系统,其特征在于,所述浮点数算数运算模块包括:
调配控制模块,用于根据时序把浮点数和定点数转换指令和浮点操作数调配到数据分配模块中;根据控制要求将浮点数转定点数模块转换得到的定点数传输给定点数转浮点数模块,提供定点数来源,确保转换模块操作数来源多样化;
结果标志寄存模块,用于将调配控制模块的结果寄存;
数据分配模块,有来自寄存器堆寻址到的浮点操作数,又有来自调配控制模块发送的指令和浮点操作数,调配浮点操作数到定点转浮点模块和浮点转定点模块,实现浮点数和定点数的相互转换;
累加寄存器,用于存储数据分配模块分配过来的第一个浮点运算操作数;
队列模块,接收并暂存数据分配模块分配过来的第二个浮点操作数至最后一个浮点操作数;
浮点运算模块,进行算术运算并为浮点数转定点数模块提供浮点操作数来源。


3.一种运行权利要求1所述的PLC浮点数和定点数相互转换控制系统的PLC浮点数和定点数相互转换控制方法,其特征在于,所述PLC浮点数和定点数相互转换控制方法包括:
第一步,中央控制器发送指令字通过系统数据总线选中多操作数单精度浮点数算术运算模块后,按照操作符的顺序组织操作数进行运算,每次运算的中间结果存储在累加寄存器中可以作为下一次运算的浮点操作数参与运算;
第二步,配控制模块通过内部总线查询到运算结束将结果标志信号传输给结果标志寄存器;
第三步,标志信号通过系统总线通知中央控制器,运算的最终结果可以根据中央控制器的需要读走,同时为浮点转定点模块提供浮点操作数;
第四步,通过定点数转浮点数转换成浮点数传输到系统总线上。


4.如权利要求3所述的PLC浮点数和定点数相互转换控制方法,其特征在于,所述PLC浮点数和定点数相互转换控制方法还包括:调配控制模块通过内部控制总线发送指令字查询浮点数转换定点数的转换状态,转换完成后的定点数根据中央控制器需求由系统总线发送读信号读走,同时转换后的结果为定点数转浮点数模块提供定点数来源;
调配控制模块将指令字和数据识别分配给浮点运算模块进行单精度浮点数的运算,通过浮点转定点模块将单精度浮点...

【专利技术属性】
技术研发人员:谢四雄孙磊段明明胡聪郑景乐杨旭辉鲍依婷宋爱潘高强魏泽栋
申请(专利权)人:珠海格力电器股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1