误差实时补偿控制系统的软件平台采用了并行线程的处理模式,其软件构架如图6-17所示,其运行模式的三个线程如下:
1)线程1用于实时温度和位移数据采集。
2)线程2用于数学模型选择和转载、综合数据处理、补偿量计算和人机界面交互处理。
3)线程3专用于与数控机床PLC之间的实时并口数据交互。
三个线程独立运行,同时相互之间又具有主从关系,线程2是最高级运行线程,只能在人机交互时由外部中断模式暂停程序运行;线程1和线程3是从机级运行线程。线程1可以通过外部中断模式调用温度和位移数据采集线程的中断处理程序,并通过串口通信从线程2中接受相应的温度或位移数据;线程2可以通过串口中断模式与并口数据交互线程3进行实时的数据交互,从线程3中提取机床各控制轴的绝对位置坐标数据,同时将当前计算出的各轴的补偿量数据实时输出到线程3。上位计算机可通过与补偿系统的串口通信实现程序下载和数据监控操作,操作人员可通过操作键盘面板实现对补偿的信息输入或读取相关的信息。
图6-17 误差实时补偿控制系统的软件构架示意图
1.温度和位移采集线程的软件构架及工作原理
温度和位移采集线程的软件结构采用的是主循环和中断处理程序相结合的方式。主循环程序在一个执行周期内读取连接的温度布置点的实时温度数据和位移传感器输入的位置偏差数据,随后对读取到的数据进行数字滤波,消除读入数据的异常值,并求取各个点的平均温度值。位移数据的处理方式与之相类似。主程序预设了温度和位移数据的判别模型,对数字滤波后的相应数据按照模型的设定条件进行判别。当温度和位移数据超过设定的阈值时,线程2输出报警信号。当主循环程序在数据处理中心判别后,通过外扩的I/O数据总线模式,驱动指示灯上的LED灯来反应各温度布置点的运行状态:绿灯点亮表示工作正常;绿灯熄灭表示该数据通道未布置温度传感器;红灯点亮表示该数据通道布置的温度传感器工作异常或者已经损坏。经判别符合预设条件范围的数据进入数据格式处理阶段,按照串口通信要求的模式进行数据格式处理,并根据主从线程设立的数据传输协议要求进行数据排列和选择输送处理。
中断处理程序则主要用于响应主线程对温度和位移采集线程的数据调用指令,即当主线程通过中断指令使得温度和位移采集线程进入中断处理程序后,温度和位移采集线程暂停主程序的运行,按照数据传输协议向主线程传输温度和位移数据值,中断程序执行完成后,数据堆栈序列指针自动移向下一个地址。
2.并口数据交互线程的软件构架及工作原理
并口数据交互线程的软件结构同样采用的是主循环和中断处理程序相结合的方式。主循环程序在一个执行周期内实时读取从机床PLC传送过来的机床坐标数据,主循环的数据更新周期取决于PLC的运行周期。程序对绝对坐标进行初步预判,当读取的机床坐标超过了预设的机床行程范围时,并口数据交互的线程向主线程发出数据错误报警。
中断处理程序则主要用于响应主线程与子线程之间的数据交互,即主线程通过串口通信中断方式,使得并口数据交互线程进入中断程序模式,暂停其主线程的运行,此时主线程从并口数据交互线程中读取机床各控制轴当前的机床坐标,并将计算后得到的补偿量数据回传给并口数据交互线程,同时也将启动补偿的控制信号传送到子线程中。(www.xing528.com)
主循环程序可通过对比输出点的当前执行状态和实际要求的补偿量输出值,判别并口数据通道的工作是否正常,通过外扩的I/O数据总线模式驱动指示灯上的LED灯来反应并口输出点的运行状态:绿灯点亮表示工作正常;绿灯熄灭表示该数据点未使用;红灯点亮表示该数据点工作异常或者已经损坏。
3.数据处理和人机交互线程的软件构架及工作原理
数据处理和人机交互线程的软件结构采用的是主循环和两级中断处理程序相结合的模式。主循环程序在一个执行周期内用于处理各种执行子程序:
1)能够根据操作人员的输入信息和预先输入的机床信息,访问存储在外部RAM中的数学模型库,并选用适合机床结构特征的数学模型自动装载到程序中。
2)将读取的实时温度数据、控制轴机床坐标数据以及输入的加工信息导入到装载后的数学模型中,计算当前各轴的实时补偿值。
3)对计算出的补偿值进行阈值判定,将超出阈值的补偿值进行相应处理后输出。
4)根据操作人员选择的功能信息,调用相应的功能子程序。
5)将需要实时显示的运行信息、状态信息和提示信息通过内部编码表转换后输出到LCD显示器。
6)驱动LED指示灯来反映主线程执行的状态,用绿灯点亮表示对应的程序步执行状态正常,红灯点亮则表示该程序步执行状态异常或程序执行出错。
7)其他子程序模式。
第一级中断处理程序主要用于响应人机界面交互程序,即处理用户通过键盘面板输入的各种功能选择、数据输入和动作执行要求,并通过LCD液晶显示器提示操作步骤和显示执行信息。第一级中断程序执行时可暂停主循环程序以及第二级串口通信中断程序,待第一级中断处理程序执行完成后恢复其余的执行功能。第一级中断处理程序内部对键盘的响应采用队列模式,即不支持同时多点响应,对顺序触发的键盘事件按照触发响应的先后顺序依次执行。
第二级中断处理程序主要是通过串口中断模式,读取从两个子线程输送过来的温度、位移和机床坐标数据,并进行数据实时处理。主循环程序首先通过触发子线程的外部中断,可以使子线程向主线程发送所需数据。两个子线程对主线程串口通信中断的触发是平级的,主程序根据驱动所选择的子线程来决定在第二级中断处理程序中调用相应数据处理子程序,当第二级中断处理程序已经在执行过程中时,主线程自动屏蔽另一子线程的串口中断触发。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。