CN114840462B - 一种基于Labview的3D控制驱动方法 - Google Patents
一种基于Labview的3D控制驱动方法 Download PDFInfo
- Publication number
- CN114840462B CN114840462B CN202210541579.7A CN202210541579A CN114840462B CN 114840462 B CN114840462 B CN 114840462B CN 202210541579 A CN202210541579 A CN 202210541579A CN 114840462 B CN114840462 B CN 114840462B
- Authority
- CN
- China
- Prior art keywords
- control
- labview
- establishing
- character string
- serial
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B29—WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
- B29C—SHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
- B29C64/00—Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
- B29C64/30—Auxiliary operations or equipment
- B29C64/386—Data acquisition or data processing for additive manufacturing
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B33—ADDITIVE MANUFACTURING TECHNOLOGY
- B33Y—ADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
- B33Y50/00—Data acquisition or data processing for additive manufacturing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Materials Engineering (AREA)
- Manufacturing & Machinery (AREA)
- Mechanical Engineering (AREA)
- Optics & Photonics (AREA)
- Computer Hardware Design (AREA)
- Numerical Control (AREA)
Abstract
本发明属于3D打印技术领域,具体涉及一种基于Labview的3D控制驱动方法,针对现有技术中缺少Marlin固件的Labview驱动程序,不能有效利用Marlin固件上电机驱动、温度控制与获取、限位开关状态获取、风扇速度控制这些功能。本发明,利用Labview实现了Marlin固件的串行通信,为Marlin固件上的其它硬件资源开发了初始化控件、定位方式控件、温度状态报告控件、获取限位开关状态控件、复位控件、发送Gcode命令控件、禁用步进电机控件、设置风扇速度控件、设置温度控件、移动控件和关闭控件。本发明提高了应用灵活性,节省了二次开发成本,为三维控制平台研究与工程应用人员的后续操作提供便利。
Description
技术领域
本发明涉及一种3D控制驱动方法,尤其涉及一种基于Labview的3D控制驱动方法。
背景技术
Marlin是一款开源3D打印机固件,目前市面上的桌面级3D打印机也都或多或少会有他的影子,Marlin的强大之处在于支持多种不同结构的3D打印机(如:xyz直角结构,coreXY、SCARA、三角洲等结构),支持多种硬件电路板,支持多种语言还附加了一些额外功能,如:自动调平等。正因为Marlin固件在3D打印系统中的强大功能且运行稳定,各种基于PC机3D打印软件也层出不穷,比如:Repetier-Host、replicatorG和SelfCAD等。基于C++的液晶控制面板也已相当成熟。但这些技术的二次开发可能性较小,缺乏灵活性,对Marlin固件上的各个功能没有形成单独的Labview控件或子VI以供其它Labview应用程序调用,也就无法实现与其它基于Labview通信的设备或仪器进行快速有效衔接和信息互通。
从目前公开的资料来看,针对通用串口的Labview编程应用已十分广泛,但是针对开源Marlin固件的Labview驱动程序编程还没有出现,不能有效利用Marlin固件上电机驱动、温度控制与获取、限位开关状态获取、风扇速度控制这些功能。
发明内容
针对背景技术中存在的问题,本发明提供一种基于Labview的3D控制驱动方法,该方法基于Marlin固件的硬件,及其固化软件在串口通信时的固有响应结束字符串,首先实现了利用Labview与该Marlin固件的串行通信,并生成串行读取子VI,以供开发固件上的其它功能时调用,在此基础上又相继针对该固件的其它功能,开发了初始化控件、温度状态报告控件、获取限位开关状态控件、复位控件、发送Gcode命令控件、禁用步进电机控件、设置风扇转速控件、设置温度控件和移动控件以实现对应功能,旨在提高Marlin固件及其相应控件和串行读取子VI的应用灵活性,节省二次开发成本,为三维控制平台的研究与工程应用人员提供有效的参考。
本发明解决上述技术问题提供以下技术方案:
一种基于Labview的3D控制驱动方法,包括以下步骤:
步骤1:利用串口助手或带解码功能的示波器,获取Marlin固件的响应结束字符串,建立串行读取子VI;
步骤2:初始化被选中的串口,基于串行读取子VI建立初始化控件;
步骤3:选择相对定位和绝对定位方式,基于串行读取子VI建立定位方式控件;
步骤4:获取数据用于前面板显示,基于串行读取子VI建立温度状态报告控件和获取限位开关状态控件;
步骤5:驱动Marlin固件上的各种硬件的控制功能,基于串行读取子VI建立复位空间、发送Gcode命令控件、禁用步进电机控件、设置风扇速度控件、设置温度控件和移动控件;
步骤6:关闭被选中串口,建立关闭控件。
采用该技术方案后,可实现多种或多个通信口之间的切换,从而达到多设备联合工作的目的。
作为优选,所述建立温度状态报告控件包括:
通过前面板向Labview的VISA模块发送M105指令,然后调用串行读取子VI读取Marlin固件的串口数据,接着分离经过串口接收到的字符串,分别匹配到测量打印头实测温度值、打印头设定温度值、热床实测温度值和热床设定温度值,将这些值的字符串组成四维字符串数组,再转换成数值数组,最后转换成束发送到前面板显示,建立温度状态报告控件。
采用该优选方案后,可单独编辑和调用此控件,实时直观了解多种设备的温度状态,便于实时设置温度。
作为优选,所述建立获取限位开关状态控件包括:
通过前面板向Labview的VISA模块发送M119获取限位开关状态指令,然后调用串行读取子VI读取Marlin固件的串口数据,将接收到的串口数据的数字表格字符串转换为一维字符串数组,找到预设坐标轴前的字符串和预设坐标轴后的字符串,进入预设坐标轴前的字符串对应的事件,将预设坐标轴后的字符串与自定义字符串“TRIGGERED”对比得到对比得到X、Y、Z三个方向限位开关的输入状态信息布尔值,按规定的束形式形成新的布尔值束后输出到前面板。
采用该优选方案后,可单独编辑和调用此控件,实时在前面板上观察三个或多个限位开关状态。
作为优选,所述建立复位控件包括:
检测前面板X、Y、Z方向控件的布尔变量,若X、Y、Z方向控件有任意一个未复位,则发送G28复位命令,接着调用串行读取子VI向Marlin固件发送复位消息,然后从获取限位开关状态后形成的新布尔值束中提取X、Y、Z三个方向限位开关的状态信息,若全部为真,则停止复位,以此建立复位控件。
采用该优选方案后,可单独编辑和调用此控件,同时获取三个或多个限位开关状态,实现自动复位。
作为优选,所述建立发送Gcode命令控件包括:
通过前面板向Labview的VISA模块发送Gcode命令,将Gcode命令字符串与换行符串连后写入Marlin固件的端口,等待10ms,调用需要ok字符串来停止的串行读取子VI,设置超时参数为30s,将读到的字符串存入读缓存中,点亮OK指示灯。
采用该优选方案后,可单独编辑和调用此控件,实时了解Gcode命令发送状态。
作为优选,所述建立禁用步进电机控件包括:
通过前面板向Labview的VISA模块发送M18禁用步进电机指令,将M18命令字符串与换行符连接后写入Marlin固件的端口,调用需要ok字符串来停止的串行读取子VI,设置超时参数为1s。
采用该优选方案后,可单独编辑和调用此控件,方便对一个或多个步进电机的开启和关闭。
作为优选,所述建立设置风扇转速控件包括:
在前面板设置风扇转速后,通过前面板向Labview的VISA模块发送M106S开启风扇指令,若设置的转速为零则发送M107停止风扇指令,接着将指令存入写缓冲区,调用串行读取子VI,若“Wait for OK”端为真,则向Marlin固件发送风扇转速消息,以此建立设置风扇转速控件。
采用该优选方案后,可单独编辑和调用此控件,方便对一个或多个风扇转速、开启和关闭的设置。
作为优选,所述建立设置温度控件包括:
在前面板选择被加热部件及其温度值,通过前面板向Labview的VISA模块发送M141S、M140S和M104S指令,M141S指令对应设置室温,M140S对应设置热床温度,M104S对应设置打印头温度,接着将指令存入写缓冲区,调用串行读取子VI,若“Wait for OK”端为真,则向Marlin固件发送温度设置消息,以此建立设置温度控件。
采用该优选方案后,可单独编辑和调用此控件,方便对一个或多个温控设备的温度进行设置。
作为优选,所述建立移动控件包括:
在前面板选择定位方式,并在X、Y、Z、E、F这5个方向上输入距离值,其中X、Y、Z代表三维坐标轴,E、F代表X=Y和X=-Y的方向,通过消息转换与字符匹配及字符串连接,接着将一维字符串数组存入写缓冲区,调用串行读取子VI,若“Wait for OK”端为真,则向Marlin固件发送移动消息,以此建立移动控件。
采用该优选方案后,可单独编辑和调用此控件,方便对一个或多个方向上被控装置的移动距离进行设置。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
1、本发明利用Labview实现了开源Marlin固件的串行通信,开发了串行读取子VI,以供开发固件上的其它功能时调用。
2、本发明通过调用串行读取子VI,还为Marlin固件上的其它硬件资源开发了初始化控件、定位方式控件、温度状态报告控件、获取限位开关状态控件、复位控件、发送Gcode命令控件、禁用步进电机控件、设置风扇速度控件、设置温度控件、移动控件和关闭控件。
3、由于本发明采用Labview图形化编程平台,它具有面向仪器功能的VISA模块,作为新一代通用仪器I/O标准,VISA具有与仪器硬件接口和具体计算机无关的特性,同时又由于Marlin固件的强大功能和开源特性,两者结合为3D运动控制设备的开发与优化提供了便利,节约了开发成本。
附图说明
图1为本发明的实现流程图。
图2为本发明串行读取子VI的程序流程图。
图3为本发明初始化控件的程序流程图。
图4为本发明定位方式控件的程序流程图。
图5为本发明温度状态报告控件的程序流程图。
图6为本发明获取限位开关状态控件的程序流程图。
图7为本发明复位控件的程序流程图。
图8为本发明发送Gcode命令控件的程序流程图。
图9为本发明禁用步进电机控件的程序流程图。
图10为本发明设置风扇转速控件的程序流程图。
图11为本发明设置温度控件的程序流程。
图12为本发明移动控件的程序流程图。
具体实施方式
为了使本发明实现的技术手段、特征与功效更容易被理解下面结合具体实施例和本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。
如图1-图12所示,本发明提供以下技术方案:
参照图1,本发明的具体实现步骤如下:
步骤1:串行读取子VI的程序流程图如图2所示,程序开始后由条件结构检查错误输入控件中有无错误产生;
若有错误,直接输出错误后结束,若没有错误,由设备输入控件输入设备端口号,并发送至设备的属性节点;
用字节属性取出字节数,紧接着读取相应的端口数据;
接下来同时进行以下三个任务:消息头或尾的判断、返回True、超时判断;
上述消息头或尾的判断的步骤包括,先读取并连接串口的字符串,再送入到读取缓存;
连接好的字符串去除首尾空白字符,之后判断前两个字符的大写是否为“OK”,或颠倒字符串后判断前两个字符的大写是否为“OK”,将以上两个“OK”判断结果做逻辑或运算;即判断字符串头或尾是否存在ok字符,若存在则逻辑或控件输出布尔值1并点亮LED灯,否则逻辑或控件输出布尔值0并关闭LED灯;同时逻辑或控件输出的布尔值作为“消息头或尾的判断”任务的输出。
上述“返回True”和“超时判断”两个任务输出的布尔值逻辑或之后,与“消息头或尾的判断”任务的输出做逻辑与操作。
上述“返回True”任务先通过条件结构判断进入“串口读取子VI”后,其“字符串读取循环结构”输出的是“True”还是“False”,默认为“False”,如果设备属性节点输出的字节数为零;如果设备属性节点输出的字节数不为零,则条件结构从False条件下产生布尔值1并返回到移位寄存器,即返回字符串读取循环结构的是“True”,不再默认为“False”。随后进入True条件下检测数据是否已传完,若设备属性节点输出的字节数≠0,则从True条件下直接输出布尔值0,若设备属性节点输出的字节数=0,则从True条件下输出布尔值1与上述“超时判断”任务中的输出布尔值相或,或的结果与上述“消息头或尾的判断”任务的输出布尔值相与,其结果作为“选择函数”的True值输出,作为是否停止字符串读取循环结构的依据之一。
上述“超时判断”用外循环内的时间减去内循环外的时间,再与设定时间比较(默认值设为10000ms),若大于设定时间测报错,并输出布尔值1,与上述“返回True”任务中设备属性节点输出的字节数是否为0所决定的True条件下输出的布尔值相或,或的结果除了与上述“消息头或尾的判断”任务的输出布尔值相与外,同时作为“选择函数”的False值输出,作为是否停止“字符串读取循环结构”的另一个依据。循环内的时间是指程序每次进入“字符串读取循环结构”开始传输数据时,循环内的一个时钟开始计时,循环外的时间是指进入“字符串读取循环结构”的时间,两个时间之差便是串口打开后,开始传输数据前的等待时间,若传输数据前的等待时间大于或等于默认值10000ms,则显示错误,程序结束;若传输时间小于默认值10000ms,则清除错误,程序结束。
上述“返回True”任务输出布尔值1,意味着数据传输完成,上述“超时判断”任务若输出布尔值1,则表示传输超时,此两个任务中的任何一个输出布尔值若为1,相或后仍为1;
上述“选择函数”的输出是由OK控件的值决定,如果OK控件的键按下,则“选择函数”的选择值为“True”,则必须同时满足既要在被传输的字符串中捕获到ok字符串,又要无新数据产生或超时报错,可停止“字符串读取循环结构”。如果OK键没按下,则只由新数据的产生或超时报错来停止“字符串读取循环结构”。循环结束后输出端口号,供其它控件使用,最终生成串行读取子VI。
步骤2:初始化控件的程序流程图如图3所示,先通过控件选择准备好的端口号,以默认方式打开与端口号相接的VISA,通过VISA清空源缓存,判断有没有错误产生,若有错误,关闭资源,清除错误,同时,通过Instr属性节点获得设备的初始化接口类型,与预先选定的接口类型比较,并设定等待获取的超时时间为10s,如果获取的类型与预先在“接口信息控件”中选定的串口字符串“Serial”相等则进入串口的连接,如果不相等,则在“接口信息控件”中选取对应的接口类型,由于此“接口信息控件”为枚举型接口信息控件,可以扩展为GPIB、TCP/IP和USB等接口,此发明针对Marlin固件只设计了对串口的通信,进入Ture条件后,通过Instr属性节点将开始和结束设定为相同的终止符0A,波特率设置为250000,以适应Marlin板,接下来清空接收与发送的缓存,再将接收和发送的缓存大小设置为4096,判断有无错误,若有直接输出错误和端口号,若无则进行串行读取,超时参数设置为3s且无需字符串首或尾的ok字符串来停止串行读取,停止串行读取后向对应的端口号缓存中写M27和换行符,要求报告SD打印状态,清除未知消息。最后再次串行读取,超时参数采用默认10s且需要字符串首或尾的ok字符串来停止读串口,结束后输出端口号和错误,供其它控件使用,同时生成初始化控件。
步骤3:定位控件的程序流程图如图4所示,先用G90(绝对尺寸)和G91(相对尺寸)构建二维字符串数组,通过索引数组控件用预选的数据类型来对数组进行索引,将索引出的值与换行符串连形成新的字符串,再通过被选的端口写入,最后调用需要ok字符串来停止串行读取子VI,并附2s延时参数,输出端口名和错误信息,供其它控件使用,生成定位控件。
步骤4:本发明的数据部分包括温度状态报告控件和获取限位开关状态控件:
(4.1)温度状态报告控件的程序流程图如图5所示,发送指令M105以换行符结束,将指令写入选择的端口号(端口号),等待10ms的响应时间,然后调用串行读取子VI,超时为默认时间10s,接着分离接收到的字符串,分别匹配到测量打印头的实测温度值、打印头设定温度值、热床实测温度值、热床设定温度值,将这些值的字符串组成四维字符串数组,再转换成数值数组,最后转换成束发送到前面板显示,同时输出端口号和错误信息,供其它控件使用,生成温度状态报告控件;
(4.2)获取限位开关状态的程序流程图如图6所示,发送指令M119以换行符结束,将指令写入选择的端口号,等待10ms的响应时间,然后调用串行读取子VI,超时为默认时间10s,将接收到的数字表格字符串转换为一维字符串数组,找到_min前的字符串(坐标轴),同时也找到_min后的字符串,进入_min前的字符串对应的事件,将_min后的字符串与TRIGGERED对比得到输入状态信息的布尔值,按规定的束形式形成新的束后输出到前面板,输出端口名和错误信息,供其它控件使用,同时生成获取限位开关状态控件。
步骤5:本发明的功能部分包括复位、发送Gcode、禁用步进电机、设置风扇速度、设置温度和移动6个控件:
(5.1)复位控件的程序流程图如图7所示,由前面板限位开关状态控件产生的X-Y-Z三个方向上的布尔值束,转换成布尔值数组,并从限位开关状态的属性节点获得控制参考号的一维数组,在“迭代循环”中取相应控制按钮的标签文本与相应布尔值循环匹配后以空格为分隔符,将字符串数组转换为电子表格字符串,再与空格连接成新的字符串,同时“迭代循环”依次取出数组中的布尔值,逐个相互逻辑与后若为真,则输出空字符常量,若为假,表明没有全部复位,则发送电子表格字符串,将空字符常量或电子表格字符串的串首加上G28复位命令,在串尾加上换行符命令后写到端口,最后调用需要ok字符串来停止的串行读取子VI,并附60s延时参数,输出端口名和错误信息,供其它控件使用,同时生成复位控件;
(5.2)发送Gcode命令控件的程序流程图如图8所示,将Gcode与换行符串连后写入选择的端口,等待10ms,调用需要ok字符串来停止的串行读取子VI,超时参数设置为30s,将读到的字符串存入读缓存中,点亮OK指示灯,输出端口名和错误信息,供其它控件使用,同时生成发送Gcode命令控件;
(5.3)禁用步进电机控件的程序流程图如图9所示,将命令M18字符串与换行符连接后写入端口,调用需要ok字符串来停止的串行读取子VI,超时参数设置为1s,输出端口名和错误信息,供其它控件使用,同时生成禁用步进电机控件;
(5.4)设置风扇转速控件的程序流程图如图10所示,将输入的风扇转速数字转换为十进制整数字符串,串接在M106S开启风扇指令字符串后,同时将预设的风扇速度与0比较,不为0则发送该串接字符串,为0测发送M107(关闭风扇),发送出的字符串再串接换行符后写入选择的端口,调用需要ok字符串来停止的串行读取子VI,超时参数设置为30min,输出端口名和错误信息,供其它控件使用,生成设置风扇转速控件;
(5.5)设置温度控件的程序流程图如图11所示,先选择被加热装置,包括打印头、热床、室温,后面再串接上相应的温度值字符串和换行符,写入选择的端口,其它控件或子VI若有错误产生,同时通过错误通道写入选择的端口,调用需要ok字符串来停止的串行读取子VI,超时参数设置为30min,输出端口名与错误信息,供其它控件使用,生成设置温度控件;
(5.6)移动控件的程序流程图如图12所示,距离束共5个元素,分别为X、Y、Z代表三维坐标轴的方向,E、F代表X=Y和X=-Y的方向,距离值字符串束转换为数组后依次输入字符串匹配迭代循环中后,将距离值数组与距离属性节点中取出的标签文本转换为字符串与浮点数的组合字符串,并将组合字符串中的所有逗号用句点替换,同时将距离值与零比较,若不等于零为真,则输出组合字符串,若不等于零为假,则输出空字符串,此处输出的字符串再串在循环回来的字符串后面形成新的字符串,直到5个距离值全部输出,对移动方式构建二维字符串数组,通过索引数组找到相应的命令字符串,分别有快速移动和线性移动,随后串上空格字符串,5个距离值字符串和换行符,将串连的字符串写入端口,等待10ms,调用需要ok字符串来停止的串行读取子VI,超时参数设置为30min,输出端口名和错误信息,供其它控件使用,生成移动控件。
步骤6:接收其它控件发来的端口号和错误,关闭端口,发出错误,供其它控件使用,生成结束控件。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (9)
1.一种基于Labview的3D控制驱动方法,其特征在于:包括以下步骤:
步骤1:利用串口助手或带解码功能的示波器,获取Marlin固件的响应结束字符串,建立串行读取子VI;
步骤2:初始化被连接Marlin固件的串口,基于串行读取子VI建立初始化控件;
步骤3:选择相对定位和绝对定位方式,基于串行读取子VI建立定位方式控件;
步骤4:获取连接Marlin固件的串口传输的数据用于前面板显示,基于串行读取子VI建立温度状态报告控件和获取限位开关状态控件;
步骤5:驱动Marlin固件上的各种硬件的控制功能,基于串行读取子VI建立复位控件、发送Gcode命令控件、禁用步进电机控件、设置风扇速度控件、设置温度控件和移动控件;
步骤6:关闭连接Marlin固件的串口,建立关闭控件。
2.根据权利要求1所述一种基于Labview的3D控制驱动方法,其特征在于:所述建立温度状态报告控件包括:
通过前面板向Labview的VISA模块发送M105指令,然后调用串行读取子VI读取Marlin固件的串口数据,接着分离经过串口接收到的字符串,分别匹配到测量打印头实测温度值、打印头设定温度值、热床实测温度值和热床设定温度值,将上述温度值的字符串组成四维字符串数组,将所述四维字符串数组转换成数值数组,最后将数值数组转换成束发送到前面板显示,建立温度状态报告控件。
3.根据权利要求1所述一种基于Labview的3D控制驱动方法,其特征在于:所述建立获取限位开关状态控件包括:
通过前面板向Labview的VISA模块发送M119指令,然后调用串行读取子VI读取Marlin固件的串口数据,将接收到的串口数据的数字表格字符串转换为一维字符串数组,找到预设坐标轴前的字符串和预设坐标轴后的字符串,进入预设坐标轴前的字符串对应的事件,将预设坐标轴后的字符串与自定义字符串“TRIGGERED”对比得到X、Y、Z三个方向限位开关的输入状态信息布尔值,按规定的束形式形成新的布尔值束后输出到前面板。
4.根据权利要求1所述一种基于Labview的3D控制驱动方法,其特征在于:所述建立复位控件包括:
检测前面板的X、Y、Z方向控件的布尔变量,若X、Y、Z方向控件有任意一个未复位,则发送G28复位命令,接着调用串行读取子VI向Marlin固件发送复位消息,然后从获取限位开关状态后形成的新布尔值束中提取X、Y、Z三个方向限位开关的状态信息,若全部为真,则停止复位,以此建立复位控件。
5.根据权利要求1所述一种基于Labview的3D控制驱动方法,其特征在于:所述建立发送Gcode命令控件包括:
通过前面板向Labview的VISA模块发送Gcode命令,将Gcode命令字符串与换行符串连后写入Marlin固件的端口,等待10ms,调用需要ok字符串来停止的串行读取子VI,设置超时参数为30s,将读到的字符串存入读缓存中,点亮OK指示灯。
6.根据权利要求1所述一种基于Labview的3D控制驱动方法,其特征在于:所述建立禁用步进电机控件包括:
通过前面板向Labview的VISA模块发送M18禁用步进电机指令,将M18命令字符串与换行符连接后写入Marlin固件的端口,调用需要ok字符串来停止的串行读取子VI,设置超时参数为1s。
7.根据权利要求1所述一种基于Labview的3D控制驱动方法,其特征在于:所述建立设置风扇转速控件包括:
在前面板设置风扇转速后,通过前面板向Labview的VISA模块发送M106S开启风扇指令,若设置的转速为零则发送M107停止风扇指令,接着将指令存入写缓冲区,调用串行读取子VI,若“Wait for OK”端为真,则向Marlin固件发送风扇转速消息,以此建立设置风扇转速控件。
8.根据权利要求1所述一种基于Labview的3D控制驱动方法,其特征在于:所述建立设置温度控件包括:
在前面板选择被加热部件及其温度值,通过前面板向Labview的VISA模块发送M141S、M140S和M104S指令,M141S指令对应设置室温,M140S对应设置热床温度,M104S对应设置打印头温度,接着将指令存入写缓冲区,调用串行读取子VI,若“Wait for OK”端为真,则向Marlin固件发送温度设置消息,以此建立设置温度控件。
9.根据权利要求1所述一种基于Labview的3D控制驱动方法,其特征在于:所述建立移动控件包括:
在前面板选择定位方式,并在X、Y、Z、E、F5个方向上输入距离值,其中X、Y、Z代表三维坐标轴,E、F代表X=Y和X=-Y的方向,通过消息转换与字符匹配及字符串连接,接着将一维字符串数组存入写缓冲区,调用串行读取子VI,若“Wait for OK”端为真,则向Marlin固件发送移动消息,以此建立移动控件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210541579.7A CN114840462B (zh) | 2022-05-17 | 2022-05-17 | 一种基于Labview的3D控制驱动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210541579.7A CN114840462B (zh) | 2022-05-17 | 2022-05-17 | 一种基于Labview的3D控制驱动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114840462A CN114840462A (zh) | 2022-08-02 |
CN114840462B true CN114840462B (zh) | 2023-05-30 |
Family
ID=82570601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210541579.7A Active CN114840462B (zh) | 2022-05-17 | 2022-05-17 | 一种基于Labview的3D控制驱动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114840462B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114953465B (zh) * | 2022-05-17 | 2023-04-21 | 成都信息工程大学 | 一种基于Marlin固件的3D打印方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104569812A (zh) * | 2014-12-22 | 2015-04-29 | 常州大学 | 驱动电机总成载荷综合测试仪 |
US9117039B1 (en) * | 2012-06-26 | 2015-08-25 | The Mathworks, Inc. | Generating a three-dimensional (3D) report, associated with a model, from a technical computing environment (TCE) |
CN108127765A (zh) * | 2018-02-09 | 2018-06-08 | 华北理工大学 | 基于labview的陶瓷材料3D打印机运动控制系统 |
CN108608639A (zh) * | 2017-11-02 | 2018-10-02 | 常熟理工学院 | 基于虚拟仪器的3d打印系统 |
CN108983640A (zh) * | 2018-06-27 | 2018-12-11 | 南京理工大学 | 一种基于LabVIEW的电动直线舵机控制系统及方法 |
CN111601564A (zh) * | 2018-03-08 | 2020-08-28 | 爱惜康有限责任公司 | 评估超声端部执行器的状态以及用于此的控制系统 |
CN112304647A (zh) * | 2019-07-30 | 2021-02-02 | 比亚迪股份有限公司 | 主动悬置的调试系统、基于调试系统的方法和车辆 |
-
2022
- 2022-05-17 CN CN202210541579.7A patent/CN114840462B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9117039B1 (en) * | 2012-06-26 | 2015-08-25 | The Mathworks, Inc. | Generating a three-dimensional (3D) report, associated with a model, from a technical computing environment (TCE) |
CN104569812A (zh) * | 2014-12-22 | 2015-04-29 | 常州大学 | 驱动电机总成载荷综合测试仪 |
CN108608639A (zh) * | 2017-11-02 | 2018-10-02 | 常熟理工学院 | 基于虚拟仪器的3d打印系统 |
CN108127765A (zh) * | 2018-02-09 | 2018-06-08 | 华北理工大学 | 基于labview的陶瓷材料3D打印机运动控制系统 |
CN111601564A (zh) * | 2018-03-08 | 2020-08-28 | 爱惜康有限责任公司 | 评估超声端部执行器的状态以及用于此的控制系统 |
CN108983640A (zh) * | 2018-06-27 | 2018-12-11 | 南京理工大学 | 一种基于LabVIEW的电动直线舵机控制系统及方法 |
CN112304647A (zh) * | 2019-07-30 | 2021-02-02 | 比亚迪股份有限公司 | 主动悬置的调试系统、基于调试系统的方法和车辆 |
Non-Patent Citations (1)
Title |
---|
"基于LABVIEW的扭矩弹簧测量系统研制";罗玉梅等;《制造业自动化》;第34卷(第7期);44-46,70 * |
Also Published As
Publication number | Publication date |
---|---|
CN114840462A (zh) | 2022-08-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1004072B1 (en) | Embedded graphical programming system | |
US7594226B2 (en) | Implementation of packet-based communications in a reconfigurable hardware element | |
CN114840462B (zh) | 一种基于Labview的3D控制驱动方法 | |
CN107391211B (zh) | 一种智能开关组的通用检测追溯系统及方法 | |
US20050197824A1 (en) | Object-oriented design method for the time-effective and cost-effective development of production-grade embedded systems based on a standardized system architecture | |
CN109976689B (zh) | 一种利用智能手机对分布式拼接处理器进行快速配置的方法与装置 | |
CN101771700A (zh) | 基于FPGA的Modbus协议通信节点 | |
CN100489777C (zh) | 智能平台管理接口韧体架构及其建立方法 | |
US9652370B2 (en) | Address range decomposition | |
CN102650568B (zh) | 一种灯具配光性能检测的Modbus协议自动测试方法 | |
US5553269A (en) | Apparatus for monitoring sensor information from diffeerent types of sources | |
CN112309313B (zh) | 模组控制器配置方法、装置及系统以及计算机可读存储介质 | |
CN106291337B (zh) | 一种用于扫描链测试中调整芯片模式的装置及方法 | |
JP5060021B2 (ja) | 様々なシリアルバスタイプをシミュレーションし、エミュレーションし、試験するための普遍的なアプローチ | |
CN112732502A (zh) | I2c信号的检测方法、检测装置、检测设备及存储介质 | |
CN115134427B (zh) | 通信协议协调方法、装置、计算机设备和存储介质 | |
CN110059395A (zh) | 一种红外成像自动聚焦fpga系统的可视化调试方法 | |
JP2004535112A (ja) | ネットワークを介したマシンビジョン・システムの構成 | |
CN114953465B (zh) | 一种基于Marlin固件的3D打印方法 | |
CN114091245A (zh) | 一种基于Simulink和低代码控制器的硬件在环教学实验方法 | |
CN110442986A (zh) | 一种基于cpld逻辑代码生成器管理服务器主板的方法 | |
CN110554966A (zh) | 一种驱动调试方法、行为分析方法及驱动调试系统 | |
CN112750066B (zh) | 一种用于图像目标检测的可扩展协处理器架构 | |
JP2653276B2 (ja) | キーボードシュミレータ | |
JP4546016B2 (ja) | データ通信システム、データ通信方法およびデータ通信プログラム |
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 |