CN116736792B - 一种嵌入cnc系统中的逻辑控制编程方法与装置 - Google Patents
一种嵌入cnc系统中的逻辑控制编程方法与装置 Download PDFInfo
- Publication number
- CN116736792B CN116736792B CN202310955171.9A CN202310955171A CN116736792B CN 116736792 B CN116736792 B CN 116736792B CN 202310955171 A CN202310955171 A CN 202310955171A CN 116736792 B CN116736792 B CN 116736792B
- Authority
- CN
- China
- Prior art keywords
- logic control
- variables
- dynamic library
- control program
- cnc system
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012544 monitoring process Methods 0.000 claims abstract description 16
- 230000003993 interaction Effects 0.000 claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims abstract description 5
- 230000006870 function Effects 0.000 claims description 36
- 238000012545 processing Methods 0.000 claims description 15
- 230000003247 decreasing effect Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 2
- 238000003860 storage Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005461 lubrication Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4093—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
- G05B19/40937—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine concerning programming of machining or material parameters, pocket machining
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32161—Object oriented control, programming
-
- 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
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
本申请公开了一种嵌入CNC系统中的逻辑控制编程方法与装置,涉及计算机技术领域。该方法包括:程序编写和编译、程序传输、程序加载、数据交互、创建TCP服务、执行监测以及调试与排错。该装置包括编程软件和CNC系统,且该装置适用于上述的嵌入CNC系统中的逻辑控制编程方法。本申请的嵌入CNC系统中的逻辑控制编程方法与装置,将逻辑控制嵌入到CNC系统,降低了逻辑控制和CNC系统的数据交互难度,提高了数据交互效率,同时,降低了生产成本。
Description
技术领域
本申请涉及计算机技术领域,具体是一种嵌入CNC系统中的逻辑控制编程方法与装置。
背景技术
计算机数字控制(CNC)是一种通过特定程式代码对机床进行操作的技术,它能够通过插补运算、加减速控制、程式预读等方式处理程式设计指令。此外,逻辑控制则主要用于处理机床外部机械的辅助功能,如刀库、气缸、冷却和润滑等。传统的方法使用CNC系统和逻辑控制器这两种独立的设备共同控制机床,这种方法存在以下缺点或不足之处:对于机床厂商而言,购买两款设备需要更高的成本,由于需要两种设备进行控制,传统的方法在维护和管理方面会更为复杂,设备间需要具备稳定可靠的通讯机制,而这需要额外的成本和努力。
发明内容
本申请的目的在于提供一种嵌入CNC系统中的逻辑控制编程方法与装置,以解决上述背景技术中提出的现有技术中存在的。
为实现上述目的,本申请公开了以下技术方案:在第一方面,本申请公开了一种嵌入CNC系统中的逻辑控制编程方法,该方法包括以下步骤:
程序编写和编译:在编程软件中编写逻辑控制程序,并将该逻辑控制程序编译为动态库,所述动态库中存储有用于在线监看的数据信息,所述数据信息包括逻辑控制程序使用到的变量的数据类型和地址偏移,其中,所述逻辑控制程序使用到的变量包括局部变量和系统变量;
程序传输:所述编程软件通过网络将编译得到的所述动态库传输到CNC系统;
程序加载:所述CNC系统加载所述动态库;
数据交互:所述CNC系统通过所述动态库提供的接口函数设置通道号和共享内存的指针,并将所述共享内存中的地址和所述动态库对应的逻辑控制程序中使用到的系统变量一一对应,实现所述动态库对应的逻辑控制程序与所述CNC系统中其他模块的数据交互;
创建TCP服务:所述CNC系统通过所述动态库提供的接口函数对所述动态库对应的逻辑控制程序进行初始化,并创建TCP服务用于处理编程软件开启在线监看时的数据查询请求;
执行监测:所述CNC系统以固定周期调用动态库提供的接口函数,实现循环所述动态库对应的逻辑控制程序中的任务,并在每个周期结束后通过所述动态库提供的接口函数获取执行错误信息,并做出相应的处理;
调试与排错:所述编程软件与所述CNC系统建立TCP连接,实时监看所述动态库对应的逻辑控制程序内各变量的值,并进行调试和排错。
在一种实施方式中,所述CNC系统支持多个通道,所有通道共用BUS变量和COM变量,且所述CNC系统中除所述BUS变量和所述COM变量外的所有变量分别对应于一个所述通道,每个所述通道对应与一个独立的所述逻辑控制程序。
在一种实施方式中,所述系统变量的格式定义为:[N]M,其中,N为通道号,M为逻辑控制程序中的编号;并通过对IEC61131-3规范进行拓展,使所述系统变量的格式作为有效变量名称。
在一种实施方式中,在所述程序编写和编译中,所述编程软件将所述逻辑控制程序的全局变量与所述CNC系统的变量进行映射。
在一种实施方式中,所述CNC系统定义了多种系统变量,且所述系统变量存储于所述共享内存中,所述的与所述CNC系统的变量进行映射包括将所述逻辑控制程序的全局变量定义在所述共享内存中,所述共享内存中的变量内容为:
名称 | 数据类型 | 数量 | 说明 |
USR | 32位整型 | 10000 | 用户变量 |
SYS | 32位整型 | 30000 | 系统变量 |
REG | 32位整型 | 10000 | 临时变量 |
MCM | 32位整型 | 10000 | 机械参数 |
BUS | 32位整型 | 10000 | 总线参数 |
COM | 32位整型 | 80000 | 公共变量 |
I | bit | 2048 | 输入,I点 |
O | bit | 2048 | 输出,O点 |
C | bit | 2048 | 系统功能开关 |
S | bit | 2048 | 系统功能状态 |
A | bit | 8192 | 辅助Bit |
在一种实施方式中,在所述调试与排错中,通过兼容磨合策略对所述CNC系统运行所述动态库对应的逻辑控制程序时对应的各变量的值进行判断,所述兼容磨合策略具体包括:
预设一个递减的数据集作为允许差异系数ρ,该数据集内的数据包括ρ1、ρ2、……、ρn,其中,lim=ρ→0+,或ρn=0;
在一个所述固定周期内,对所述逻辑控制程序内各变量的值进行采集,并分别记载为Y1、Y2、……、YX,X为被记载的变量的个数;
基于所述动态库中的数据信息,获取被记载的变量对应的值y1、y2、……、yX;
计算在该固定周期内的实际差异系数η,
将实际差异系数η与允许差异系数ρ进行比对,当至少在当前固定周期和下一个固定周期内,变量对应的实际差异系数η与允许差异系数ρ满足η≤ρ时,判断所述CNC系统运行所述动态库对应的逻辑控制程序时该变量为准确变量,否则,该变量为错误变量,需要进行调试和排错。
在第二方面,本申请公开了一种嵌入CNC系统中的逻辑控制编程装置,包括CNC系统和编程软件;
所述编程软件配置为:用于对逻辑控制进行编程得到逻辑控制程序,并将该逻辑控制程序编译为动态库;所述动态库中存储有用于在线监看的数据信息,所述数据信息包括逻辑控制程序使用到的变量的数据类型和地址偏移,其中,所述逻辑控制程序使用到的变量包括局部变量和系统变量;
所述CNC系统与所述编程软件通过网络连接,所述CNC系统配置为:接收所述编程软件上传的所述动态库,并加载该动态库;还配置为:通过所述动态库提供的接口函数设置通道号和共享内存的指针,并将所述共享内存中的地址和所述动态库对应的逻辑控制程序中使用到的系统变量一一对应,实现所述动态库对应的逻辑控制程序与所述CNC系统中其他模块的数据交互;还配置为通过所述动态库提供的接口函数对所述动态库对应的逻辑控制程序进行初始化,并创建TCP服务用于处理编程软件开启在线监看时的数据查询请求;还配置为:以固定周期调用动态库提供的接口函数,实现循环所述动态库对应的逻辑控制程序中的任务,并在每个周期结束后通过所述动态库提供的接口函数获取执行错误信息,并做出相应的处理;
所述编程软件与所述CNC系统建立TCP连接,实时监看所述动态库对应的逻辑控制程序内各变量的值,并进行调试和排错。
在一种实施方式中,所述编程软件的编程方式包括LD编程、FBD和LD结合编程、ST编程和C语言编程。
在一种实施方式中,所述CNC系统支持多个通道,所有通道共用BUS变量和COM变量,且所述CNC系统中除所述BUS变量和所述COM变量外的所有变量分别对应于一个所述通道,每个所述通道对应与一个独立的所述逻辑控制程序。
在一种实施方式中,所述CNC系统定义了多种系统变量,且所述系统变量存储于所述共享内存中,所述共享内存中的变量内容为:
名称 | 数据类型 | 数量 | 说明 |
USR | 32位整型 | 10000 | 用户变量 |
SYS | 32位整型 | 30000 | 系统变量 |
REG | 32位整型 | 10000 | 临时变量 |
MCM | 32位整型 | 10000 | 机械参数 |
BUS | 32位整型 | 10000 | 总线参数 |
COM | 32位整型 | 80000 | 公共变量 |
I | bit | 2048 | 输入,I点 |
O | bit | 2048 | 输出,O点 |
C | bit | 2048 | 系统功能开关 |
S | bit | 2048 | 系统功能状态 |
A | bit | 8192 | 辅助Bit |
有益效果:本申请的嵌入CNC系统中的逻辑控制编程方法与装置,将逻辑控制嵌入到CNC系统,降低了逻辑控制和CNC系统的数据交互难度,提高了数据交互效率,同时,降低了生产成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中嵌入CNC系统中的逻辑控制编程方法的流程示意图;
图2为本申请实施例中嵌入CNC系统中的逻辑控制编程装置的结构框图。
具体实施方式
下面将对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本实施例在第一方面公开了如图1所示的一种嵌入CNC系统中的逻辑控制编程方法,该方法包括以下步骤:
S101-程序编写和编译:在编程软件中编写逻辑控制程序,并将该逻辑控制程序编译为动态库,所述动态库中存储有用于在线监看的数据信息,所述数据信息包括逻辑控制程序使用到的变量的数据类型和地址偏移,其中,所述逻辑控制程序使用到的变量包括局部变量和系统变量;
S102-程序传输:所述编程软件通过网络将编译得到的所述动态库传输到CNC系统;
S103-程序加载:所述CNC系统加载所述动态库;
S104-数据交互:所述CNC系统通过所述动态库提供的接口函数设置通道号和共享内存的指针,并将所述共享内存中的地址和所述动态库对应的逻辑控制程序中使用到的系统变量一一对应,实现所述动态库对应的逻辑控制程序与所述CNC系统中其他模块的数据交互;
S105-创建TCP服务:所述CNC系统通过所述动态库提供的接口函数对所述动态库对应的逻辑控制程序进行初始化,并创建TCP服务用于处理编程软件开启在线监看时的数据查询请求;
S106-执行监测:所述CNC系统以固定周期调用动态库提供的接口函数,实现循环所述动态库对应的逻辑控制程序中的任务,并在每个周期结束后通过所述动态库提供的接口函数获取执行错误信息,并做出相应的处理;
S107-调试与排错:所述编程软件与所述CNC系统建立TCP连接,实时监看所述动态库对应的逻辑控制程序内各变量的值,并进行调试和排错。
在本实施例中,编程软件(Finger C Series PLC Designer)对逻辑控制进行编程,该编程软件支持多种编程方式,包括:LD编程、FBD和LD结合编程、ST编程和C语言编程。其中LD编程和ST编程符合IEC61131-3国际标准规范。
在本实施例中,CNC系统中定义了多种系统变量,这些变量保存在表1所示的共享内存中。
表1
名称 | 数据类型 | 数量 | 说明 |
USR | 32位整型 | 10000 | 用户变量 |
SYS | 32位整型 | 30000 | 系统变量 |
REG | 32位整型 | 10000 | 临时变量 |
MCM | 32位整型 | 10000 | 机械参数 |
BUS | 32位整型 | 10000 | 总线参数 |
COM | 32位整型 | 80000 | 公共变量 |
I | bit | 2048 | 输入,I点 |
O | bit | 2048 | 输出,O点 |
C | bit | 2048 | 系统功能开关 |
S | bit | 2048 | 系统功能状态 |
A | bit | 8192 | 辅助Bit |
在本实施例中,CNC系统支持多个通道,BUS和COM变量是所有通道共用的,而其他变量则是每个通道独有的,每个通道都有一个独立的逻辑控制程序。为方便逻辑控制和CNC系统中其他模块进行数据交互,在编程软件中编程时可以直接使用系统变量进行读写操作,系统变量的格式为:[N]M,N为通道号,M为逻辑控制程序中的编号,如[3]SYS1010、[16]A100。其中通道号部分若省略,则通道号默认为当前逻辑控制程序所在的通道号,如:在第2通道中逻辑控制程序中的USR9000实际上表示[2]USR9000。
在IEC61131-3国际标准规范中,带有通道号的系统变量,如[3]SYS1010,是不符合变量命名规则的,在编程软件中对IEC61131-3规范进行了相应的扩展,使得诸如[3]SYS1010的表示方法可以作为一个有效变量名称。为了提高逻辑控制程序的可读性,FingerC Series PLC Designer可以将逻辑控制程序内的全局变量与CNC系统变量进行映射,也就是将全局变量定义在表1所示的共享内存中,读写该全局变量就等同于读写表1所示的共享内存。
作为本实施例的一种优选地实施方式,为了确保逻辑程序执行结果的准确性,考虑到各个设备的运行误差等,可以以一种“允许误差”的思维来对所述CNC系统运行所述动态库对应的逻辑控制程序时对应的各变量的值进行审视。但是,这种“允许的误差”,应该是随着有限次测试或实际运行的进行,而逐渐消失或忽略不计的。因此,在所述调试与排错中,通过兼容磨合策略对所述CNC系统运行所述动态库对应的逻辑控制程序时对应的各变量的值进行判断,所述兼容磨合策略具体包括:
预设一个递减的数据集作为允许差异系数ρ,该数据集内的数据包括ρ1、ρ2、……、ρn,其中,lim=ρ→0+,或ρn=0,为了提高排错和调试的准确性,最小的一个允许差异系数ρ设置为无限趋近于0或等于0的值,有利于提高变量校准的可靠性;
在一个所述固定周期内,对所述逻辑控制程序内各变量的值进行采集,并分别记载为Y1、Y2、……、YX,X为被记载的变量的个数;
基于所述动态库中的数据信息,获取被记载的变量对应的值y1、y2、……、yX;
计算在该固定周期内的实际差异系数η,
将实际差异系数η与允许差异系数ρ进行比对,当至少在当前固定周期和下一个固定周期内,即至少在连续两个固定周期内的比对结果中,变量对应的实际差异系数η与允许差异系数ρ满足η≤ρ时,判断所述CNC系统运行所述动态库对应的逻辑控制程序时该变量为准确变量,否则,该变量为错误变量,需要进行调试和排错。
通过兼容磨合策略的应用,排除了由于各种客观因素(如兼容性、数据读取完整性、数据传输完整性等等)等造成的运行出错带来的数据出错影响,确保了最终调试和排错结果的准确性和可靠性。
本实施例在第二方面公开了如图2所示的一种嵌入CNC系统中的逻辑控制编程装置,其适用于上述的嵌入CNC系统中的逻辑控制编程方法,该装置包括CNC系统和编程软件。
所述编程软件配置为:用于对逻辑控制进行编程得到逻辑控制程序,并将该逻辑控制程序编译为动态库;所述动态库中存储有用于在线监看的数据信息,所述数据信息包括逻辑控制程序使用到的变量的数据类型和地址偏移,其中,所述逻辑控制程序使用到的变量包括局部变量和系统变量。所述编程软件的编程方式包括LD编程、FBD和LD结合编程、ST编程和C语言编程。
所述CNC系统与所述编程软件通过网络连接,所述CNC系统配置为:接收所述编程软件上传的所述动态库,并加载该动态库;还配置为:通过所述动态库提供的接口函数设置通道号和共享内存的指针,并将所述共享内存中的地址和所述动态库对应的逻辑控制程序中使用到的系统变量一一对应,实现所述动态库对应的逻辑控制程序与所述CNC系统中其他模块的数据交互;还配置为通过所述动态库提供的接口函数对所述动态库对应的逻辑控制程序进行初始化,并创建TCP服务用于处理编程软件开启在线监看时的数据查询请求;还配置为:以固定周期调用动态库提供的接口函数,实现循环所述动态库对应的逻辑控制程序中的任务,并在每个周期结束后通过所述动态库提供的接口函数获取执行错误信息,并做出相应的处理。
所述编程软件与所述CNC系统建立TCP连接,实时监看所述动态库对应的逻辑控制程序内各变量的值,并进行调试和排错。
所述CNC系统支持多个通道,所有通道共用BUS变量和COM变量,且所述CNC系统中除所述BUS变量和所述COM变量外的所有变量分别对应于一个所述通道,每个所述通道对应与一个独立的所述逻辑控制程序。
所述CNC系统定义了多种系统变量,且所述系统变量存储于所述共享内存中,所述共享内存中的变量内容如表1所示。
在本申请所提供的实施例中,应该理解到,可以以硬件、软件、固件、中间件、代码或其任何恰当组合来实现这里描述的实施例。对于硬件实现,处理器可以在一个或多个下列单元中实现:专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、设计用于实现这里所描述功能的其他电子单元或其组合。对于软件实现,实施例的部分或全部流程可以通过计算机程序来指令相关的硬件来完成。实现时,可以将上述程序存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。计算机可读介质可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
最后应说明的是:以上所述仅为本申请的优选实施例而已,并不用于限制本申请,尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种嵌入CNC系统中的逻辑控制编程方法,其特征在于,该方法包括以下步骤:
程序编写和编译:在编程软件中编写逻辑控制程序,并将该逻辑控制程序编译为动态库,所述动态库中存储有用于在线监看的数据信息,所述数据信息包括逻辑控制程序使用到的变量的数据类型和地址偏移,其中,所述逻辑控制程序使用到的变量包括局部变量和系统变量;
程序传输:所述编程软件通过网络将编译得到的所述动态库传输到CNC系统;
程序加载:所述CNC系统加载所述动态库;
数据交互:所述CNC系统通过所述动态库提供的接口函数设置通道号和共享内存的指针,并将所述共享内存中的地址和所述动态库对应的逻辑控制程序中使用到的系统变量一一对应,实现所述动态库对应的逻辑控制程序与所述CNC系统中其他模块的数据交互;
创建TCP服务:所述CNC系统通过所述动态库提供的接口函数对所述动态库对应的逻辑控制程序进行初始化,并创建TCP服务用于处理编程软件开启在线监看时的数据查询请求;
执行监测:所述CNC系统以固定周期调用动态库提供的接口函数,实现循环所述动态库对应的逻辑控制程序中的任务,并在每个周期结束后通过所述动态库提供的接口函数获取执行错误信息,并做出相应的处理;
调试与排错:所述编程软件与所述CNC系统建立TCP连接,实时监看所述动态库对应的逻辑控制程序内各变量的值,并进行调试和排错。
2.根据权利要求1所述的嵌入CNC系统中的逻辑控制编程方法,其特征在于,所述CNC系统支持多个通道,所有通道共用BUS变量和COM变量,且所述CNC系统中除所述BUS变量和所述COM变量外的所有变量分别对应于一个所述通道,每个所述通道对应与一个独立的所述逻辑控制程序。
3.根据权利要求1所述的嵌入CNC系统中的逻辑控制编程方法,其特征在于,所述系统变量的格式定义为:[N]M,其中,N为通道号,M为逻辑控制程序中的编号;并通过对IEC61131-3规范进行拓展,使所述系统变量的格式作为有效变量名称。
4.根据权利要求3所述的嵌入CNC系统中的逻辑控制编程方法,其特征在于,在所述程序编写和编译中,所述编程软件将所述逻辑控制程序的全局变量与所述CNC系统的变量进行映射。
5.根据权利要求4所述的嵌入CNC系统中的逻辑控制编程方法,其特征在于,所述CNC系统定义了多种系统变量,且所述系统变量存储于所述共享内存中,所述的与所述CNC系统的变量进行映射包括将所述逻辑控制程序的全局变量定义在所述共享内存中,所述共享内存中的变量内容为:
6.根据权利要求1所述的嵌入CNC系统中的逻辑控制编程方法,其特征在于,在所述调试与排错中,通过兼容磨合策略对所述CNC系统运行所述动态库对应的逻辑控制程序时对应的各变量的值进行判断,所述兼容磨合策略具体包括:
预设一个递减的数据集作为允许差异系数ρ,该数据集内的数据包括ρ1、ρ2、……、ρn,其中,lim=ρ→0+,或ρn=0;
在一个所述固定周期内,对所述逻辑控制程序内各变量的值进行采集,并分别记载为Y1、Y2、……、YX,X为被记载的变量的个数;
基于所述动态库中的数据信息,获取被记载的变量对应的值y1、y2、……、yX;
计算在该固定周期内的实际差异系数η,
将实际差异系数η与允许差异系数ρ进行比对,当至少在当前固定周期和下一个固定周期内,变量对应的实际差异系数η与允许差异系数ρ满足η≤ρ时,判断所述CNC系统运行所述动态库对应的逻辑控制程序时该变量为准确变量,否则,该变量为错误变量,需要进行调试和排错。
7.一种嵌入CNC系统中的逻辑控制编程装置,其特征在于,包括CNC系统和编程软件;
所述编程软件配置为:用于对逻辑控制进行编程得到逻辑控制程序,并将该逻辑控制程序编译为动态库;所述动态库中存储有用于在线监看的数据信息,所述数据信息包括逻辑控制程序使用到的变量的数据类型和地址偏移,其中,所述逻辑控制程序使用到的变量包括局部变量和系统变量;
所述CNC系统与所述编程软件通过网络连接,所述CNC系统配置为:接收所述编程软件上传的所述动态库,并加载该动态库;还配置为:通过所述动态库提供的接口函数设置通道号和共享内存的指针,并将所述共享内存中的地址和所述动态库对应的逻辑控制程序中使用到的系统变量一一对应,实现所述动态库对应的逻辑控制程序与所述CNC系统中其他模块的数据交互;还配置为通过所述动态库提供的接口函数对所述动态库对应的逻辑控制程序进行初始化,并创建TCP服务用于处理编程软件开启在线监看时的数据查询请求;还配置为:以固定周期调用动态库提供的接口函数,实现循环所述动态库对应的逻辑控制程序中的任务,并在每个周期结束后通过所述动态库提供的接口函数获取执行错误信息,并做出相应的处理;
所述编程软件与所述CNC系统建立TCP连接,实时监看所述动态库对应的逻辑控制程序内各变量的值,并进行调试和排错。
8.根据权利要求7所述的嵌入CNC系统中的逻辑控制编程装置,其特征在于,所述编程软件的编程方式包括LD编程、FBD和LD结合编程、ST编程和C语言编程。
9.根据权利要求7所述的嵌入CNC系统中的逻辑控制编程装置,其特征在于,所述CNC系统支持多个通道,所有通道共用BUS变量和COM变量,且所述CNC系统中除所述BUS变量和所述COM变量外的所有变量分别对应于一个所述通道,每个所述通道对应与一个独立的所述逻辑控制程序。
10.根据权利要求7所述的嵌入CNC系统中的逻辑控制编程装置,其特征在于,所述CNC系统定义了多种系统变量,且所述系统变量存储于所述共享内存中,所述共享内存中的变量内容为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310955171.9A CN116736792B (zh) | 2023-08-01 | 2023-08-01 | 一种嵌入cnc系统中的逻辑控制编程方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310955171.9A CN116736792B (zh) | 2023-08-01 | 2023-08-01 | 一种嵌入cnc系统中的逻辑控制编程方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116736792A CN116736792A (zh) | 2023-09-12 |
CN116736792B true CN116736792B (zh) | 2024-04-05 |
Family
ID=87901436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310955171.9A Active CN116736792B (zh) | 2023-08-01 | 2023-08-01 | 一种嵌入cnc系统中的逻辑控制编程方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116736792B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117148779A (zh) * | 2023-10-10 | 2023-12-01 | 广州亿达科技有限公司 | 基于集成开发环境的自动控制系统设计方法和系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196738A (zh) * | 2007-12-28 | 2008-06-11 | 哈尔滨工业大学 | 基于pc机的开放式数控系统 |
CN101685301A (zh) * | 2009-07-29 | 2010-03-31 | 东华大学 | 复杂工况下数控机床嵌入式状态监控信息适配器及方法 |
CN102331733A (zh) * | 2010-07-14 | 2012-01-25 | 中国科学院沈阳计算技术研究所有限公司 | 基于片上可编程系统的数控系统逻辑控制器及其实现方法 |
WO2017177695A1 (zh) * | 2016-04-15 | 2017-10-19 | 华中科技大学 | 一种数控系统中应用的开发与集成方法及系统 |
CN107291046A (zh) * | 2017-06-29 | 2017-10-24 | 广东润星科技股份有限公司 | 数控系统辅助功能的控制系统和方法 |
CN108139735A (zh) * | 2015-10-13 | 2018-06-08 | 山特维克知识产权股份有限公司 | 机床的过程监测与自适应控制 |
CN109976260A (zh) * | 2019-04-18 | 2019-07-05 | 成都飞机工业(集团)有限责任公司 | 一种西门子810d数控系统的集成控制方法 |
CN111443963A (zh) * | 2018-12-27 | 2020-07-24 | 沈阳高精数控智能技术股份有限公司 | 一种可重构式的数控系统 |
CN112305997A (zh) * | 2020-11-02 | 2021-02-02 | 苏州浩智工业控制技术有限公司 | 一种基于多进程的多通道数控系统的控制方法及系统 |
CN113176763A (zh) * | 2021-03-19 | 2021-07-27 | 上海航天精密机械研究所 | 数字化生产线数控机床与机器人plc控制方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0414649D0 (en) * | 2004-06-30 | 2004-08-04 | Renishaw Plc | Generation of a CNC machine tool control program |
WO2020169186A1 (en) * | 2019-02-19 | 2020-08-27 | Siemens Aktiengesellschaft | Method and apparatus for cycle-based programming of a control program for a numerically controlled machine tool |
-
2023
- 2023-08-01 CN CN202310955171.9A patent/CN116736792B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101196738A (zh) * | 2007-12-28 | 2008-06-11 | 哈尔滨工业大学 | 基于pc机的开放式数控系统 |
CN101685301A (zh) * | 2009-07-29 | 2010-03-31 | 东华大学 | 复杂工况下数控机床嵌入式状态监控信息适配器及方法 |
CN102331733A (zh) * | 2010-07-14 | 2012-01-25 | 中国科学院沈阳计算技术研究所有限公司 | 基于片上可编程系统的数控系统逻辑控制器及其实现方法 |
CN108139735A (zh) * | 2015-10-13 | 2018-06-08 | 山特维克知识产权股份有限公司 | 机床的过程监测与自适应控制 |
WO2017177695A1 (zh) * | 2016-04-15 | 2017-10-19 | 华中科技大学 | 一种数控系统中应用的开发与集成方法及系统 |
CN107291046A (zh) * | 2017-06-29 | 2017-10-24 | 广东润星科技股份有限公司 | 数控系统辅助功能的控制系统和方法 |
CN111443963A (zh) * | 2018-12-27 | 2020-07-24 | 沈阳高精数控智能技术股份有限公司 | 一种可重构式的数控系统 |
CN109976260A (zh) * | 2019-04-18 | 2019-07-05 | 成都飞机工业(集团)有限责任公司 | 一种西门子810d数控系统的集成控制方法 |
CN112305997A (zh) * | 2020-11-02 | 2021-02-02 | 苏州浩智工业控制技术有限公司 | 一种基于多进程的多通道数控系统的控制方法及系统 |
CN113176763A (zh) * | 2021-03-19 | 2021-07-27 | 上海航天精密机械研究所 | 数字化生产线数控机床与机器人plc控制方法及系统 |
Non-Patent Citations (2)
Title |
---|
"基于EtherCAT总线的集散式电机软逻辑控制系统设计";程志远 等;《电气自动化》;20090515;第31卷(第3期);32-36 * |
"基于嵌入式机器码的软件PLC系统研究";黄仁杰 等;《工业控制计算机》;20080325;第21卷(第3期);40-41 * |
Also Published As
Publication number | Publication date |
---|---|
CN116736792A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116736792B (zh) | 一种嵌入cnc系统中的逻辑控制编程方法与装置 | |
JPH0588859A (ja) | 両立性検査方法、システムコンポーネント及びコンピユータシステム | |
US6088624A (en) | Industrial controller with flexible data structures | |
CN116542207A (zh) | 电路版图的生成方法、装置、设备及存储介质 | |
CN112445490A (zh) | 文件序列处理方法、装置、终端设备及存储介质 | |
CN116029080A (zh) | 芯片存储装置设计及验证方法、装置及电子设备 | |
CN109933345B (zh) | 一种控制器的无扰下装方法及相关装置 | |
CN113590581B (zh) | 数据传输方法、装置、设备及存储介质 | |
US9971321B2 (en) | Method for influencing a control program | |
CN114936054A (zh) | 一种车辆的调试工艺文件的生成方法及装置、轨道车辆 | |
CN109542086A (zh) | 一种数据标定方法 | |
US8554966B2 (en) | Method for data exchange | |
US8122205B2 (en) | Structured virtual registers for embedded controller devices | |
CN112825027A (zh) | 用于配置计算单元的存储器单元的方法 | |
CN114942745A (zh) | 电机控制器uds协议栈自动化配置方法 | |
CN111782558B (zh) | 一种变量内存映射处理方法 | |
CN112634964A (zh) | 电子控制单元的数据写入方法、装置、设备及存储介质 | |
CN114320620B (zh) | 转速控制方法、装置、设备及存储介质 | |
CN113241568B (zh) | 一种机电设备之间连接方法 | |
JPH04137153A (ja) | 接続経路のチェック方式 | |
CN117973339A (zh) | 工艺图表的确定方法和装置、存储介质及电子设备 | |
CN115113810A (zh) | 用于标定变量的方法、装置及车辆 | |
CN106991114B (zh) | 用于管理控制设备的非易失性存储器的方法和装置 | |
CN114185814A (zh) | 一种变量地址文件的生成方法和装置 | |
CN115310302A (zh) | 焊盘环设计方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |