ARM+PLC的裁床数据处理系统研究:技术整合与应用探索
eeskill 2023-12-04


引言


随着经济发展和人民生活水平的提高,消费者对产品的需求和品质的要求不断提高[1]。这就需要产品的加工精度越来越高,并且加工周期越来越短。本设计中的裁床主要是针对服装等相关行业的软性材料裁剪,国内在该方面自动化程度不高,生产效率低,在劳动力成本不断提高的情况下,急切需要提高自动化程度。目前先进的CAD/CAM系统基本被国外的公司占据,较著名的公司有美国的Gerber公司和法国的力克公司,进口设备昂贵,维护维修成本高,中国的服装企业急需性价比高的裁床。


1 数据处理系统功能分析


数据处理系统主要包括PLT文件数据处理模块和通信模块。为了保证系统有较好的数据处理能力,系统以ARM CortexA8处理器为核心,嵌入式操作系统使用微软公司的Windows CE6.0。系统需要从移动存储设备获取PLT文件,目前主流的移动存储设备都是USB接口,因此需要系统具备USB通信功能。数据处理系统需要跟执行机构控制器PLC进行通信,由于数据量较大,采用TCP/IP通信比较合理,其功能框图如图1所示。



2 PLT文件解析及优化设计


PLT文件包含图形向量信息,原本是用于用户喷图打印的[2]。在本系统中,PLT文件被用来存放裁床裁片轮廓边界点的坐标信息和刀笔的操作信息。从存储设备中读取的文件数据量较大,包含很多命令。如果将这些数据直接传送到PLC,无疑会增加数据传输量,并且需要PLC增加数据处理和计算的过程,影响系统的实时性。因此,在数据处理系统中将PLT文件数据先进行处理,并且进行适当的优化,从而减少数据量,提高PLC处理的实时性。


2.1 PLT文件解析


数据处理系统读入的文件是PLT文件,PLT文件源自于HP公司,最初主要用于打印机指令文件。其命令用来描述2D图形信息,采用ASCII码来表示,其内容只包含图形的线条信息。而裁床在裁割过程中裁刀行走的路径也是由许多线段组成的,因此用PLT文件来描述和存储裁床裁片形状的信息是非常合适的。


PLT文件中的一条 PLT指令由命令加参数的方式组成,分号表示该条指令结束。一条指令可以有多个参数,参数之间以逗号分开。其常用指令如表1所列。



下面以裁割长方形裁片为例,说明裁床PLT文件的格式。设定裁床的左下角为坐标原点,长方形裁片位于原点的右上角,其坐标点如图2所示,则该图形在PLT文件中的数据应该为“IN; SP1; PU600, 600; PD600, 1 200; PD1 800, 1 200; PD1 800, 600; PD600, 600; PU; PG;”。PLT文件中的长度与实际的长度单位换算关系:40个PLT文件中的单位=1 mm。



由于执行机构控制器PLC的存储空间有限,数据处理系统应尽可能地减少数据总量。在实际的加工过程中,PLC需要的是加工过程中的坐标点值,只要上下位机之间制定合理的协议,就可以将PLT文件中的命令去除,直接将坐标点发送到PLC。这样既有利于节约下位机的存储空间,而且也能减少下位机的运算过程。上下位机约定每一个坐标值的x和y数值的长度都为16位二进制数。那么裁床最大的有效裁割长度和宽度为65 536/40=1 638.4 mm,足够普通的裁床使用。


2.2 PLT文件优化处理


裁床裁片的PLT文件主要有两种来源:一是通过工业相机采集服装样片的图像,经过图像处理提取样片轮廓的数字信息,并通过二次曲线拟合原始的边界点序列产生轮廓的矢量图,再将拟合曲线离散化并产生PLT文件[3];二是通过CAD软件产生。第一种来源的数据目的性强,因此会考虑到实际应用场合,尽可能地将数据精简;而由CAD软件产生的PLT文件并不一定会考虑文件的具体应用对精度的不同要求,产生的PLT文件一般是固定的。服装行业对精度的要求一般来说没有机械零件对精度的要求高。在裁床设备中,这些PLT文件中可能会存在大量的冗余数据,增加了数据总量。另外这些数据肯定相近的是坐标点,这会造成裁床在实际裁割过程中需要不断频繁地加减速,对设备刚度会提出较高的要求,对电机的性能也是不小的考验。


PLT文件的优化思路:通过三次B样条拟合由CAD产生的PLT文件中的坐标点,获得裁床裁片的轮廓曲线,并采用直线逼近法用微小线段拟合曲线,从而重新优化刀具加工点,减少数据量。


在实际编程实现B样条曲线时,多使用deBoor定义。将参数t固定在区间[tj,tj+1],则deBoor算法推导如下:




式(3)表示一条曲线P (t)从K 阶B样条表示到K-1阶B样条表示的递推公式。在程序中不断地调用该公式,可以得到拟合的曲线。


裁床的刀头在伺服电机的带动下容易实现直线段组成的路径,而不容易直接走曲线。因此将PLT文件中的数据通过上述算法重新拟合之后,还需要通过直线拟合的方式重新获取路径坐标点,在加工误差允许范围内,尽可能地减少数据量。直线拟合的思路如下:在曲线上有N个坐标点,用Kij(1<i,j<n)表示i点和j点形成的直线斜率。


① 求出第1点和第2点之间的斜率K12。


② 求出第1点和第j(j>2)点的斜率K1j,每求出一个K1j就跟K12进行比较。如果差值小于设定的误差值,则返回第二步继续求下一个K1j,否则进入第3步。


③ 回溯到j-1点的坐标值,此时用直线连接第1点和第j-1点形成的线段可满足精度要求。


④ 如果j-1<n,将j-1作为第1点,返回执行第1步,否则结束拟合。


拟合完成后,将形成优化后的PLT文件。此文件中的数据将作为发送到PLC和在人机界面上显示加工轨迹的数据。


2.3 裁片加工轨迹的显示


裁床控制系统的上位机人机界面中,一般都有显示裁片形状(加工轨迹)的功能。该功能的主要作用有两个:让操作者能方便快速地知道加载的PLT文件是否为当前需要加工的数据文件,避免由于选择错误的加工数据而造成材料浪费;裁片的排料对服装企业的材料利用率影响较大,通过裁片加工轨迹的显示,使用者能直观地知道此数据文件中的数据在排料方面是否合理。


数据处理系统采用的是WinCE 6.0嵌入式操作系统,在此系统中开发应用软件可以采用微软公司提供的Visual Studio 2005集成开发环境。在程序中将PLT文件的坐标值按比例转换后,通过MFC中的画直线函数,把各坐标点按照既定的规则用直线段连接,从而在人机界面中显示裁片加工轨迹。为了方便用户直观地了解裁片大致尺寸,在显示页面中加入了坐标尺。裁片显示界面及其测试效果如图3所示。



3 通信功能的实现


数据处理系统与外部的通信有两部分:一是从移动存储设备中获取包含裁片加工信息的USB通信;二是与下位机PLC之间的TCP/IP通信。


USB设备分为SLAVE(从设备)和HOST(主设备),只有当一台HOST与一台SLAVE连接时才能实现数据的传输[4]。简单地说,如果一个设备支持USB HOST,它就可以从另外一个USB设备中取得数据。裁床数据处理系统需要从外部移动存储设备中读取数据,因此必须具备HOST功能。


数据处理系统与下位机之间采用TCP/IP通信,根据实际数据收发的需要,程序中创建了两个端口号。端口号6000用于收发裁片信息数据,端口号6001用于收发设置的参数以及相关监控信息等。上位机软件作为客户端,要根据PLC的通信端口配置设置IP和端口号。PLC作为服务器端,打开端口并等待上位机连接,连接成功后等待接收数据。如果收到的是裁片信息数据,则保存数据;如果接收到的是设置参数的数据,则根据约定的通信协议来作相应的转换和处理。具体通信协议如下:


① 工作参数设置头标志:“PR”,设定的参数数据长度不定,以分号来判断参数的长度。格式如下:



② 系统工作参数设置头标志:“SPR”,设定的参数数据长度不定,以分号来判断参数的长度。格式如下:



③ 警报消息接收头标志:“WN”,每个警报用1位表示,0表示正常,1表示警报。格式如下:



④ 开机时向PLC询问上次保存的参数:发送“ASK”。软件“开始”控制:发送“STR”。


结语


采用嵌入式系统来实现裁床的数据处理功能,预期效果良好。相对传统的控制系统来说,此方案移动性强、性价比高。将排料软件与数据处理软件分开,有利于缩短开发周期,降低软件维护和升级的成本。


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【立即预约】Keysight直播:搞懂介电常数那些事儿


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 基于C51单片机实现汽车座椅自动控制系统的软硬件设计

    引言 随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节...

    11小时前
  • MCS51单片机程序设计时堆栈的计算方法解析

    用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己...

    11小时前
  • 51单片机定时器工作原理及用法

    TMOD : 控制定时器的工作方式。8个bit,高四位 bit 控制 T1,、低四位 bit 控制 T0。因为定时器有4种工作方式;TMOD = 0x00(工作方式0),TMOD = 0x01(工作方式0),TMOD = 0x02(工作方式2),TMOD = 0x03(工作方式3)。...

    11小时前
  • 51单片机学习单片机之路总结

    学习单片机有一学期了,现在也由51转到STM32了。一直想对51的学习做一个总结。也希望对别人有一些启发。也给后学者提供一些建议。当然本文是我对自己学习过程的总结,若有不对的地方,还请高手指出。 我想,再看本...

    11小时前
  • hot51增强型单片机开发板原理图

    功能要求: 一):绿灯25s倒计时,绿灯过度红灯有5s黄灯时间,红灯25s后直接跳绿灯。 二):按键按下模拟闯红灯输入,产生5s蜂鸣器鸣叫。 开发环境: 软件:Keil uVision4 硬件:HOT51增强型单片机开发板 程序代码:...

    昨天
  • 51单片机的延时子程序

    延时程序在单片机编程中使用非常广泛,但一些读者在学习中不知道延时程序怎么编程,不知道机器周期和指令周期的区别,不知道延时程序指令的用法, ,本文就此问题从延时程序的基本概念、机器周期和指令周期的区别和联系...

    昨天
  • 什么是Flash盘?Flash盘的结构是什么样的?

    Flash是大家常使用的存储之一,对于Flash,大家或多或少有所了解。上篇文章中,小编对Flash闪存的类型有所介绍。为继续增进大家对Flash的认识,本文将对Flash盘、Flash盘结构以及Flash读写操作予以介绍。如果你对本...

    昨天
  • 深谈嵌入式系统,嵌入式系统是如何组成的?

    嵌入式系统在生活中有诸多应用,大家对于嵌入式系统或多或少有所耳闻。在前两篇文章中,小编对嵌入式系统进行过详细介绍。为继续增进大家对嵌入式系统的认识,本文将对嵌入式系统的组成加以说明。如果你对嵌入式系...

    06-27
  • 嵌入式系统秘籍共享,最全嵌入式系统解析

    嵌入式系统的应用十分广泛,因此越来越多的人学习嵌入式系统。由此,在学习嵌入式系统之前,我们应当对嵌入式系统具备一些认识。所以在本文余下部分,小编将对嵌入式系统进行全面解析。如果你对嵌入式系统具有兴趣...

    06-27
  • 51单片机超声波测距程序详解

    51单片机超声波测距程序详解 超声波四通道测距:超声波测距实现分为三大块: 其一是12864带字库的液晶驱动程序: 代码如下: /////////////////12864驱动程序/////////////////////////// //1写数据 void WriteDat...

    06-25
  • 51系列单片机的引脚图

    51系列单片机的引脚图 端子介绍 l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 l P3.0~P3.7 P2口8...

    06-25
  • 51单片机串口通信需要加超时中断吗?

    接收数据时,超过一定时间就算出错. 这个超时的时间是单片机自己算出的吗?超时的时间是由编程序的人定的,他定多长就多长从一段程序开始 实现电脑向 单片机发送一些数据,单片机返回Iget +数据 #include #define u...

    06-25
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告