CN104317560A - 一种两层架构的曝光机专用控制器控制程序开发方法 - Google Patents
一种两层架构的曝光机专用控制器控制程序开发方法 Download PDFInfo
- Publication number
- CN104317560A CN104317560A CN201410486309.6A CN201410486309A CN104317560A CN 104317560 A CN104317560 A CN 104317560A CN 201410486309 A CN201410486309 A CN 201410486309A CN 104317560 A CN104317560 A CN 104317560A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- control program
- exposure machine
- logic
- program
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种两层架构的曝光机专用控制器控制程序开发方法。该方法首先建立整个系统共用的统一的数据空间,逻辑控制程序和算法都基于采用统一的数据空间完成。将曝光机运动控制和安全对决部分独立出来,通过算法的形式在引擎中实现。在数据空间中分配固定的地址作为算法参数区,算法的执行通过位数据控制。在逻辑控制程序中实现针对应用的逻辑流程定制,在需要运动控制或安全对决时,先完成参数传递,然后通过置位算法启动标志的方式触发相应算法的执行。本发明能使算法开发人员专注于算法的开发而不需要关心应用细节;面向应用的程序定制开发人员只需熟悉应用,而无需清楚具体技术的实现细节。
Description
技术领域
本发明属于工业控制领域,特别是涉及一种两层架构的印制电路板曝光机专用控制器控制程序开发方法。
背景技术
曝光机是现代制造印制电路板(PCB)必不可少的设备,它完成 PCB 制造中的图形转移工艺,将PCB图(GERBER 图)通过光绘成底片,再将底片影像转移到裸铜板上,经曝光固化将需要留下的线条、焊盘与需要蚀刻掉的部分区分开来,完成图形的转移。早期以手动曝光机为主,底片与 PCB 板对位是靠人眼评判手工对位,批量对位精度在 100um 左右。随着电子信息工业的飞快发展,高密度板PCB 需求量大增,其对位精度要求高达正负 10um 左右,已超过人眼分辨极限。因此,近年来各曝光机生产企业和研究机构都在开展全自动曝光机的研究,以高分辨摄像头代替人员,由伺服电机驱动的自动对位替代人工对位。相应的,控制系统也比传统曝光机功能更复杂,控制程序开发难度也加大了。
传统的曝光机控制系统以PLC为主,也有基于工控机的软PLC技术。后来随着曝光机功能的不断增强,特别是增加了自动对位结构后控制系统需要具备运动控制功能。传统的PLC控制必须扩展运动控制模块,成本大幅度上升。有些设备中为了保护昂贵的对位用的高分辨率摄像头和LED光源,增加了防碰撞的限位传感器。同时为了防止控制系统处理器引脚失效造成的传感器失效,需要带安全功能的控制,而带安全功能的PLC价格昂贵。此外,PLC是通用控制系统,企业无法实现定制化和个性化开发,造成了企业间同质化竞争。随着生产企业个性化定制和降低成本的需要,逐步以专用控制器代替了通用PLC控制。但是专用控制器的程序以C或汇编语言开发,开发难度大。尤其是随着运动控制功能和安全功能的加入,算法更加复杂。大大超出了一般开发人员的能力范围,使得大量企业无力完成专用控制系统程序的开发。另一方面,曝光机的用户经常会提出个性化的定制需要,为了满足不同的个性化需求,控制程序需要重复编写,工作量大,周期长,难以及时响应市场需要。企业往往需要培养一批专业的技术人员完成程序的开发,给企业造成了很重的负担。
因此比较理想的方案是在采用专用控制器的同时,能降低控制程序的开发难度,将固定的算法和易变的面向应用的控制部分分开,并屏蔽硬件。硬件驱动和算法由专业人员完成,然后提供给面向具体应用的定制人员完成针对用户特殊需求的产品控制程序定制开发,开发采用图形化技术和复用技术,最理想的方案是采用原先PLC的程序开发方法,方便应用开发人员快速掌握。
发明内容
本发明的目的就是针对现有采用专用控制器的印制电路板曝光机控制系统控制程序开发中存在的不足,提供了一种基于两层架构的印制电路板曝光机专用控制系统控制程序开发方法。
一种两层架构的曝光机专用控制器控制程序开发方法,将控制程序分成相对稳定的引擎及算法程序模块和易变的逻辑控制程序模块。基于统一的数据空间完成算法程序和逻辑控制程序的开发。逻辑控制程序通过图语言在程序设计环境中,以算法程序模块为基础完成程序的开发。
所述的相对稳定的引擎及算法程序模块,算法程序模块在引擎程序中,包括曝光机控制所需的运动控制算法和安全开关及限位信号的安全对决算法。算法只是功能框架,没有实际参数,无法独立运行,只能被逻辑控制程序调用执行。
所述的逻辑控制程序,基于引擎程序中的算法程序模块,以图形化的语言作为开发手段,实现设备的逻辑流程控制。逻辑控制程序实现时不涉及硬件环境,只需具体应用需求的控制逻辑流程。逻辑控制程序可执行文件通过引导程序实现动态下载或加载。
所述的基于引擎程序中的算法程序模块,当需要运动控制或安全对决时,逻辑控制程序通过调用算法模块实现,调用时首先传递算法所需的参数,然后触发算法执行。
所述的基于统一的数据空间,逻辑控制程序和算法程序采用统一的数据空间,实现逻辑控制程序和算法程序间的数据交互、算法驱动和状态反馈。
本发明的有益效果是:通过将算法实现和面向应用的逻辑程序分开,使每层开发人员都能专注于各自任务的开发。一方面可以减少高级开发人员数量,减轻企业负担。另一方面,能快速完成面向特定应用需求的控制程序定制开发,提高快速响应市场变化的能力。
附图说明
图1为曝光机控制程序组成示意图。
图2为两层式程序结构示意图。
图3为公共数据区示意图。
图4为算法状态迁移示意图。
具体实施方式
带对位机构的印制电路板LED曝光机控制系统需要实现光源强度、光源开关、气泵、开关信号检测、安全信号检测、限位信号检测、上下台框的运动控制、自动对位机构的运动控制、安全信号对决工作,还需要通过人机界面设置参数。本发明的一种两层架构的印制电路板曝光机专用控制器控制程序开发方法,将控制系统程序分成逻辑控制程序和引擎程序及其中的算法两部分,逻辑控制程序可执行文件通过引导程序下载,如图1所示。将光源强度、光源开关、气泵、开关信号检测、安全信号检测、限位信号检测控制功能在逻辑控制程序中实现。上下台框的运动控制、自动对位机构的运动控制和安全信号对决工作等相对独立和固定的功能,其算法框架在引擎中实现,参数由逻辑控制程序传入并在逻辑控制程序中触发执行。与人机界面的通信工作在引擎程序中完成。引擎程序是相对稳定和固化的,不需针对应用需要进行频繁的更改,除非是改进算法或新增算法时。此外,和底层硬件相关的驱动等也在引擎程序中完成。逻辑控制程序则会根据具体的应用需要进行定制开发,如图2所示。具体实施方式如下:
1、建立统一的数据区
首先根据曝光机控制需要,包括输入输出点数、运动控制通道数、定时器数、计数器数为程序建立一张数据表,表中记录了各类资源数,如可用的输入点数、输出点数、LED光源强度控制的模拟量控制输出路数。最大的运动控制通道数,为了实现多路同步控制,为每个通道的运动控制算法分配独立的参数区和算法的启动标志及状态标志。
在曝光机控制器启动初始化时,在内存中开辟一块专用的公共数据区,并将公共数据区按类型分成数字信号输入数据区(X)、数字信号输出数据区(Y)、辅助位数据区(M)、字节数据区(D)等几个区域,如图3所示。其中位数据区(M区)中固定两个数据区,一个是算法执行触发标志区,用来触发算法的执行。一个是算法状态区,用来表示算法的状态,如停止还是运行。D区表示字节类数据,其中固定两个区用于算法参数区和数据交换区。算法参数区是算法实现时所需参数的存储地址。数据交换区用于在逻辑控制程序和引擎程序间交换数据。
在使用时都以相对于各个区起始地址的偏移量作为数据地址,如D1000表示D区数据第1000个字节的地址。在程序中通过计算得到各个数据的绝对地址。
2、曝光机运动控制算法和安全对决算法框架的实现
曝光机运动控制算法和安全对决算法框架(以下简称算法)由专业开发人员通过C语言或汇编语言开发。算法在实现时只是功能框架,所有的参数都以算法参数区中的数据地址表示,每个算法的参数地址是独立的。每个算法都以算法执行触发标志区的数据为启动条件,当数据为1时,算法执行,为0时不执行。因此在引擎中实现的算法是无法自主执行的,必须通过逻辑控制程序传递参数并设置启动标志后才能执行。引擎程序启动后进入无限循环,在每个循环中都判断算法执行触发标志区的数据,一旦判断到有置位的数据时,首先将置位的数据清除,然后启动对应的算法执行,并在算法对应的状态标志区中置位,表示算法处于运行状态。算法执行完以后,清除置位的状态标记。
算法的状态集合如图4所示。触发标志值集合TS={on,off},由逻辑控制程序调用触发,在引擎中清除。运行状态集合RS={run,stop},在引擎中设置和清除。当向执行机构发出运行指令后,将运行状态设置为run,一直到运行结束,运行状态被设置为stop,用来表示算法的运行状态。笛卡尔积TS×RS表示所有可能的状态组合,即对任意算法状态的取值都是TS×RS的元素。
<off,stop>表示算法处于Stop状态,在该状态下当触发标志从off被置为on时,<on,stop>标记进入Ready状态,在该状态下算法随时可以被调度执行,在执行前触发标志被清除,防止重复执行,同时将运行标志置为run,表示算法处于运行状态,然后进入状态Run,当算法运行结束后运行状态标志被清除,重新进入Stop状态。
3、曝光机逻辑控制程序实现
逻辑控制程序通过图语言在图编程环境中实现,可以通过LD、SFC、FBD等图形化语言作为开发手段。逻辑控制程序功能是根据输入信号状态和当前机器状态确定输出及按条件启动算法执行,输出包括数字量输出、模拟量输出或运动输出。逻辑控制程序通过扫描曝光机输入信号,包括开关信号、限位信号等,根据控制程序运行结果产生输出信号。如果需要运动,则需要调用运动控制算法。和运动控制相关的功能通过调用引擎中的运动控制算法模块实现,首先将算法所需的参数从参数交换区搬移到算法对应的参数区中,然后通过向控制算法执行启动标志置位实现算法的触发执行。发出执行标志后,判断算法的状态,一直到状态为停止时,表示运动控制算法已运行结束,然后完成后续的工作。
参数交换区位于掉电保持区,数据来源于人机界面设置的参数,主要是和运动相关的速度、加减速度、运行距离等参数信息。
为了保证安全,避免因处理器引脚失效引起的限位信号失效,在控制系统中通过双处理器对决的方式实现安全控制。在启动运动前及运动过程中,在逻辑控制程序的每个执行周期内,都要通过调用引擎中的安全对决算法完成直接送入主处理器的安全开发及限位开关信号与通过通信方式从安全从处理器发送过来的安全开关及限位开关信号之间数据的对决。在对决算法执行前,逻辑控制程序先清除上一次的对决结果,然后通过置对决算法启动位的方式启动对决算法执行,然后判断对决算法状态。当状态为结束时,读取对决结果数据区,如果对决结果一致,则完成正常的控制工作。如果对决失败,则置紧急停止标志,停止设备的运行,并给出告警信息。
4、引导程序的实现
引导程序完成逻辑控制程序可执行文件的动态下载或加载过程。动态下载通过通信链路实现。需要下载时首先由PC端的编程平台发出下载请求,在引擎程序中判断到有下载请求后进行控制器重启并进入引导程序,在引导程序中接受PC端编程平台下发的逻辑控制程序可执行文件。还有一种方式是通过SD卡等存储设备实现。在上电启动时,判断是否有SD卡且SD卡中有逻辑控制程序可执行文件,如果存在需要更新的逻辑程序可执行文件,引导程序将可执行文件搬移到控制器FLASH的地址空间中。
以上所述仅为本发明的一个实施例子,但不能以此限制本发明的范围,凡依据本发明所做的结构上的变化,只要不失本发明的要义所在,都应视为落入本发明保护范围之内受到制约。
Claims (5)
1.一种两层架构的曝光机专用控制器控制程序开发方法,其特征在于:将控制程序分成相对稳定的引擎及算法程序模块和易变的逻辑控制程序模块;基于统一的数据空间完成算法程序和逻辑控制程序的开发;逻辑控制程序通过图语言在程序设计环境中,以算法程序模块为基础完成程序的开发。
2.权利要求1所述一种两层架构的曝光机专用控制器控制程序开发方法,其特征在于:相对稳定的引擎及算法程序模块是指算法程序模块在引擎程序中,包括曝光机控制所需的运动控制算法和安全开关及限位信号的安全对决算法;算法只是功能框架,没有实际参数,无法独立运行,只能被逻辑控制程序调用执行。
3.权利要求1所述的一种两层架构的曝光机专用控制器控制程序开发方法,其特征在于:逻辑控制程序是指基于引擎程序中的算法程序模块,以图形化的语言作为开发手段,实现设备的逻辑流程控制;逻辑控制程序实现时不涉及硬件环境,只需具体应用需求的控制逻辑流程;逻辑控制程序可执行文件通过引导程序实现动态下载或加载。
4.权利要求2所述的一种两层架构的曝光机专用控制器控制程序开发方法,其特征在于:基于引擎程序中的算法程序模块,当需要运动控制或安全对决时,逻辑控制程序通过调用算法程序模块实现,调用时首先传递算法所需的参数,然后触发算法执行。
5.权利要求1所述的一种两层架构的曝光机专用控制器控制程序开发方法,其特征在于:基于统一的数据空间是指逻辑控制程序和算法程序采用统一的数据空间,实现逻辑控制程序和算法程序间的数据交互、算法驱动和状态反馈。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410486309.6A CN104317560A (zh) | 2014-09-22 | 2014-09-22 | 一种两层架构的曝光机专用控制器控制程序开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410486309.6A CN104317560A (zh) | 2014-09-22 | 2014-09-22 | 一种两层架构的曝光机专用控制器控制程序开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104317560A true CN104317560A (zh) | 2015-01-28 |
Family
ID=52372795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410486309.6A Pending CN104317560A (zh) | 2014-09-22 | 2014-09-22 | 一种两层架构的曝光机专用控制器控制程序开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104317560A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762197A (zh) * | 2018-06-14 | 2018-11-06 | 杭州电子科技大学 | 基于plc的运动控制方法和运动控制器 |
CN112748907A (zh) * | 2020-12-04 | 2021-05-04 | 中国航空工业集团公司成都飞机设计研究所 | 基于硬件资源的c/s模式通用测控软件架构与设计方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533263A (zh) * | 2009-02-17 | 2009-09-16 | 固高科技(深圳)有限公司 | 一种计算机可编程自动控制系统及其控制方法 |
CN102591250A (zh) * | 2012-02-28 | 2012-07-18 | 杭州电子科技大学 | 一种双cpu组合形式的运动控制器 |
CN103941650A (zh) * | 2014-04-18 | 2014-07-23 | 华南理工大学 | 逻辑与运动集成控制器 |
-
2014
- 2014-09-22 CN CN201410486309.6A patent/CN104317560A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101533263A (zh) * | 2009-02-17 | 2009-09-16 | 固高科技(深圳)有限公司 | 一种计算机可编程自动控制系统及其控制方法 |
CN102591250A (zh) * | 2012-02-28 | 2012-07-18 | 杭州电子科技大学 | 一种双cpu组合形式的运动控制器 |
CN103941650A (zh) * | 2014-04-18 | 2014-07-23 | 华南理工大学 | 逻辑与运动集成控制器 |
Non-Patent Citations (1)
Title |
---|
陈国龙等: ""一种基于图编程的AOI运动控制系统设计"", 《机电工程》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762197A (zh) * | 2018-06-14 | 2018-11-06 | 杭州电子科技大学 | 基于plc的运动控制方法和运动控制器 |
CN112748907A (zh) * | 2020-12-04 | 2021-05-04 | 中国航空工业集团公司成都飞机设计研究所 | 基于硬件资源的c/s模式通用测控软件架构与设计方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236621B (zh) | 计算机接口信息配置系统及方法 | |
CN107407918B (zh) | 利用app扩展可编程逻辑控制器 | |
US9836384B2 (en) | Testing device for real-time testing of a virtual control unit | |
US9092023B2 (en) | Industrial controller using shared memory multicore architecture | |
US7987075B2 (en) | Apparatus and method to develop multi-core microcomputer-based systems | |
CN106030558B (zh) | 用于处理器的协同设计动态语言加速器 | |
JP2010507855A (ja) | 非対称型マルチプロセッサ装置上の診断動作の実行 | |
CN102331733A (zh) | 基于片上可编程系统的数控系统逻辑控制器及其实现方法 | |
WO2004049154A3 (en) | A loop control circuit for a data processor | |
CN103309792A (zh) | 一种日志信息的控制方法及系统 | |
CN109983411A (zh) | 程序模块的流程控制 | |
CN108427640A (zh) | 一种在用户态下调试驱动程序的方法 | |
CN104317560A (zh) | 一种两层架构的曝光机专用控制器控制程序开发方法 | |
CN105740139A (zh) | 一种基于虚拟环境的嵌入式软件调试方法 | |
CN104391754A (zh) | 一种任务异常的处理方法及装置 | |
KR910017275A (ko) | 마이크로프로세서 장치 및 그 동작 관리 방법 | |
CN109582434A (zh) | 基于虚拟机运行时需求的动态平台特征调谐 | |
CN107506208A (zh) | 一种设备防烧死的dsp固件在线升级方法 | |
CN110825409A (zh) | 参数管理方法、电子设备及计算机存储介质 | |
CN104007956A (zh) | 一种操作系统进程识别跟踪及信息获取的方法和装置 | |
TW200517858A (en) | Information storage device and information processing device | |
JPS56149606A (en) | General-purpose controller | |
CN103268225A (zh) | 用于模拟移动终端中led指示灯的模拟器及其实现方法 | |
CN106997182B (zh) | 一种用于单片机或pc机的可编程控制方法 | |
Dostálek et al. | Self-tuning digital PID controller implemented on 8-bit Freescale microcontroller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150128 |