Codesys的文件读取功能---G代码文件读取及运行

1、序言

前文已经介绍过Codesys软件可以将dxg格式的CAD文件直接读取出来转换成G代码,导入到软件可以使用的CNC程序,通过对该CNC程序的编程,可以实现将CAD图纸转成CNC指令并运行,参考博文地址:https://blog.csdn.net/qq_19979629/article/details/122602348

但是,在实际应用中,CAD图纸不但不是固定一成不变的,而且图纸的更新频率会比较高,因此,CAD图纸导入的功能局限性比较明显,那就是程序一旦做好,只能按照做好的图纸轨迹运行,而想要换图纸,就需要重新做程序。那么Codesys有没有通用的程序可以适应不同的图纸,答案当然是可以的,需要用到SMC_ReadNCFile功能块来实现文件读取功能

2、功能块介绍

SMC_ReadNCFile功能块用于从控制器文件系统中读取 NC-ASCII-文件,以便于被 SMC_NCDecoder使用。通过这个功能块可以实现在运行系统中读取一个CNC程序,该功能块只能识别ASCII码文件,在应用中,需要先将dxf格式的CAD文件先导出成ASCII码文件,可以用Codesys软件实现转换,功能块示意图如下:

该功能块常用引脚及功能如下:

a、bExecute,类型开关量BOOL,作用:输入,激活功能块,上升沿启动;

b、sFileName,类型字符串STRING(255),作用:输入,是导入文件的文件路径;

c、bExecuteDecoder,类型开关量BOOL,作用:输出,脉冲触发信号,启动解码器;

d、ncprog,类型CNC格式SMC_CNC_REF,作用:输出,读出文件转换CNC程序输入解码器;

其他引脚功能,有需要的读者可以参考codesys帮助文件学习。

3、文件转换功能

codesys可以将CAD文件转成CNC文件,同时也可以将CNC文件导出成ASCII文件,以供SMC_ReadNCFile功能块读取,在CNC列表,选择将程序写入到ASCII文件,功能使用如图:

 一般保存成CNC格式即可;注意目前Codesys软件的功能,字符串变量可能还无法识别中文,因此文件路径不能存在中文,建议ASCII文件放在根目录,且文件名也不能有中文。

本文导出3个CNC文件,分别实现圆内接三角形,圆外切正方形以及五角星的轨迹,导出文件名分别为3.cnc,4.cnc,5.cnc,保存在F:\upan文件夹下,轨迹图形及G代码如图所示

4、程序编写

程序参考codesys自带的示例,创建轴不再介绍,本例使用两个POU口程序,G代码文件读取采用ST编译方式,轴运行使用CFC编译模式,编程如下:

4.1、空闲等待程序

 4.2、文件读取解码转换程序

xStart启动文件读取,开始读取文件,解码,路径预处理功能,程序如下:

 4.3、轴运行程序

新增一个POU程序,插补器运行,逆解,轴控制使用CFC模式编译,参考其他G代码程序,如图所示

 

 4.4、变量表

 G代码读取程序变量表与轴控制变量表分别如下:

 4.5、可视化界面

本文要根据不同的文件,仿真不同的运行轨迹,在可视化界面提前做好轨迹曲线,仿真时可直观查看,同时添加两个按钮,开启插补运行,添加文件切换及内容显示文本,变量连接不再过多描述,如有问题,可参考本博客其他可视化仿真文章学习,画面如图所示:

 文件切换思路,定义三个字符串变量,分别对应3个文件路径,点以下按钮,切换一个文件路径,依次循环,(可以参考其他控制器的导入方式,使用固定文件名及路径替换),程序如图 

 5、仿真运行

3个图形通过切换按钮实现切换,仿真运行结果如下

文件1圆内接三角形流程

文件2圆外切正方形流程

文件3五角星流程

 6、综述

通过以上运行和仿真试验,我们可以通过Codesys软件编程,实现在程序中导入不同G代码文件的功能,当然此功能无法直接将CAD图纸文件直接导入,目前只能识别ASCII文件。

本文所涉及的程序代码使用的软件版本为V3.5.14.10,可在以下地址下载:

https://download.csdn.net/download/qq_19979629/77734577

  • 4
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
### 回答1: Codesys是一款用于编程控制器的软件平台,支持多种编程语言和控制器型号。Codesys V3是该软件的最新版本,相比V2版本增加了许多新特性和功能。本篇文章的主题是Codesys V3的基础编程指南,共涉及到了P1至P5五个章节。 P1章节介绍了Codesys V3的基本概念和功能,包括编程方法、数据类型、变量等基础知识,还讲解了代码的组织结构和程序的执行流程等方面的内容。 P2章节主要介绍了Codesys V3的编程语言,包括Ladder Diagram(梯形图)、Function Block Diagram(功能块图)和Structured Text(结构化文本)三种基本语言,同时还针对不同编程语言的特点和内部结构进行了介绍。 P3章节中讲解了Codesys V3的数据存储与读写方法,包括内存区域的划分、数据类型的选择、变量的定义以及如何从外部设备(如PLC、传感器)读取数据,并进行处理和控制等方面的内容。 P4章节则介绍了Codesys V3的程序调试和测试方法,包括在线调试、离线模拟和虚拟化测试等多种方式,用于验证代码的正确性和性能,并进行故障诊断和修复。 最后,P5章节则是对前四章内容的实践案例,通过对机器人控制、工业自动化、流水线控制等多个场景的控制方法和实现过程的演示,帮助读者更好地理解和掌握Codesys V3的编程技术和应用方法。 总之,本篇编程指南涵盖了Codesys V3编程的基础知识和应用技术,适合有一定编程基础或对控制器编程感兴趣的读者参考。 ### 回答2: CodeSys V3是一种基于IEC 61131-3标准的编程软件,包括5个编程语言:Ladder Diagram(LD)、Function Block Diagram(FBD)、Structured Text(ST)、Instruction List(IL)和Sequential Function Chart(SFC)。本指南从P1到P5共5个步骤,详细介绍CodeSys V3的基础编程技巧。 在P1中,介绍了如何创建一个新工程,并通过了解CodeSys V3的用户界面来导航软件。然后,教授如何创建一个新程序并选择正确的硬件配置。在这个过程中,学习者会学到如何在不同编程语言和对象之间切换。 在P2中,学习者将学习如何创建变量并进行数据类型设置。这个步骤中的实际例子将帮助学生们理解如何将变量设置为输入输出,并将其与PLC的物理输入输出连接起来。 在P3中,学习者将熟悉编程语句,例如IF语句和WHILE循环,以及盒式图和结构化文本语言。在本章中,学习者将运用这些语句来编写简单的程序。 在P4中,学习者将实践如何创建函数块和函数。这将为学生提供思考如何使用编程语言组织PLC程序的机会,并深入了解多个变量和多个函数的交互。 在P5中,学习者将了解如何注释PLC编程以及在代码中添加跟踪。教师将解释如何使用CodeSys V3的功能来帮助学生更好地调试和理解PLC程序。 在这个指南中,学习者将掌握使用CodeSys V3编程所需的基础技能。在PLC编程中掌握CodeSys V3语言是非常重要的,因为它是SCADA系统的核心之一,广泛用于自动化领域。 ### 回答3: CODESYS V3是一种全新的编程平台,它针对于PLC进行编程开发,能够深入挖掘PLC的潜力,让PLC实现更加复杂和精准的控制功能CODESYS V3编程采用的是多语言编写,支持不同的PLC品牌,可扩展性很高。CODESYS V3为PLC用户提供了极为便捷的编程工具,使得编程操作更加简单直观,代码编写更加高效。 CODESYS V3编程指南P1-P5全面详尽地讲解了CODESYS V3的基础知识和编程技能。在本篇指南中,你将学到如何创建和配置PLC项目,如何使用不同种类的数据类型,如何定义变量和常量等基础知识。同时,您还将学会如何使用不同的编程语言,例如ST、LD、FBD等,以及如何进行程序调试和错误处理。 除此之外,CODESYS V3编程指南还介绍了一些高级编程技巧,例如模块化编程、函数库编写、面向对象编程等。这些技巧将使您的代码更加清晰、可维护性更高,从而提高您的开发效率和质量。 总之,CODESYS V3编程指南P1-P5全深入浅出地介绍了CODESYS V3编程的基础知识和技能,是PLC编程开发工程师不可或缺的学习资料。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tnt1314

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值