本发明涉及plc技术领域,尤其是一种利用codesys虚轴实例化脉冲轴的方法。
背景技术:
codesys是一种功能强大的plc软件编程工具,它支持iec61131-3标准il、st、fbd、ld、cfc、sfc六种plc编程语言,用户可以在同一项目中选择不同的语言编辑子程序,功能模块等。codesys支持各种标准总线,ethercat,canopen,profibus等等。codesys只是一个标准的编程软件,硬件功能需要各个厂家根据codesys提供的接口自己开发调试,这样就对软硬件结合设计提出了很高的要求。
目前市面上大部分支持codesys的plc控制器,大部分只是利用了codesys的标准总线功能,类似脉冲输出pwm调制输出功能基本都不具备,在一些需要大功率的伺服驱动,且大功率带总线的功能伺服驱动器价格比较昂贵的场合,就失去了性价比。。
因此,急需一种方案解决上述问题。
技术实现要素:
本发明针对现有技术的不足,提出一种利用codesys虚轴实例化脉冲轴的方法,利用codesys中的虚轴中的轴位置,轴的控制周期,轴状态等信息,通过映射mapping到硬件控制器中fpga的脉冲定时器中去,以达到发脉冲和pwm调制的功能需求。
为了实现上述发明目的,本发明提供以下技术方案:
一种利用codesys虚轴实例化脉冲轴的方法,包括如下步骤:
s101定义设备描述文件,并将该设备扫描文件导入到codesys软件的设备库;
s102在工程中添加脉冲设备和虚轴设备;
s103在脉冲设备的选项中依次映射虚轴的当前位置寄存器、当前状态寄存器、当前控制周期寄存器;
s104在工程中添加虚轴的启动功能块、运动功能块、停止功能块;
s105启动所述启动功能模块,fpga根据映射过来的脉冲寄存器信息数据固化在内部的程序,并将所述数据转换成脉冲给驱动器完成定位控制功能。
优选的,所述设备描述文件为xml文件,包括脉冲当前位置,当前控制周期,当前轴的状态。
有益效果
本发明所提出一种利用codesys虚轴实例化脉冲轴的方法,解决了现有方案利用总线控制伺服驱动器,成本高,使用复杂,对编程人员要求高,要理解总线中对象字典的概念。利用codeysy中的虚轴,绑定实例轴,编程同样也是利用codesys提供的标准函数接口完成,降低了开发难度,也节省了成本。兼容所有的3s标准的函数接口,包括凸轮表,数控控制,机器人控制,特别是在伺服大功率场合,优势明显,可以大大降低设备成本,提高设备厂家的在市场中的竞争力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1为本发明所述一种利用codesys虚轴实例化脉冲轴的方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明利用codesys中的虚轴中的轴位置,轴的控制周期,轴状态等信息,通过映射mapping(对象关系映射(objectrelationalmapping,简称orm)是通过使用描述对象和数据库之间映射的元数据,将面向对象语言程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另外一种形式。)到硬件控制器中fpga(fpga(fieldprogrammablegatearray)是在pal、gal等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点)的脉冲定时器中去,以达到发脉冲和pwm(脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或mos管栅极的偏置,来实现晶体管或mos管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。)调制的功能需求。
如图1所示,一种利用codesys虚轴实例化脉冲轴的方法,包括如下步骤:
步骤(1)定义设备描述文件,并将该设备扫描文件导入到codesys软件的设备库;
步骤(2)在软件自带的工程中添加脉冲设备和虚轴设备;
步骤(3)在脉冲设备的选项中依次映射虚轴的当前位置寄存器、当前状态寄存器、当前控制周期寄存器;
步骤(4)在工程中添加虚轴的启动功能块、运动功能块、停止功能块;
步骤(5)启动所述启动功能模块,fpga根据映射过来的脉冲寄存器信息数据固化在内部的程序,并将所述数据转换成脉冲给驱动器完成定位控制功能。
具体的,步骤(1)中所述设备描述文件为xml文件,包括脉冲当前位置,当前控制周期,当前轴的状态。
所述步骤(5)中,fpga中有定义好的定时器程序,在收到映射过来的脉冲寄存器位置信息的时候,把位置信息转换成脉冲信息发送到伺服驱动器,以达到位置控制器的目的。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
1.一种利用codesys虚轴实例化脉冲轴的方法,其特征在于:包括如下步骤:
定义设备描述文件,并将该设备扫描文件导入到codesys软件的设备库;
在工程中添加脉冲设备和虚轴设备;
在脉冲设备的选项中依次映射虚轴的当前位置寄存器、当前状态寄存器、当前控制周期寄存器;
在工程中添加虚轴的启动功能块、运动功能块、停止功能块;
启动所述启动功能模块,fpga根据映射过来的脉冲寄存器信息数据固化在内部的程序,并将所述数据转换成脉冲给驱动器完成定位控制功能。
2.根据权利要求1所述一种利用codesys虚轴实例化脉冲轴的方法,其特征在于:所述设备描述文件为xml文件,包括脉冲当前位置、当前控制周期、当前轴的状态。