论文部分内容阅读
摘要:讲述了可编程计算机控制器(PCC)在天线伺服控制系统中的应用并简要介绍了两种不同的应用方案。并指出了PCC在实际设计应用中需要注意的问题。
关键词:PCC,多电机控制器,实时处理单元
Application Research of Programing Computer Controller
In Antenna Control System
Ma SongWei
Abstract:This article shows the application research of Programing Computer Controller(PCC)in antenna control system and shows two different application program shortly. At the same time this article gives some key point of application.
Key words:PCC,Multi_motor controller,Realtime processing unit
1.引言
伴隨航空航天、空间电子科学技术的快速发展,除了对微波前端技术要求越来越高,对天线伺服控制性能要求也越来越高。目前工控领域发展迅速,新技术的不断突破,低端控制器逐渐淡出舞台甚至面临停产,因此新技术的推广和应用显得尤为重要,本文介绍了较为新颖的可编程计算机控制器在天线控制系统设计中的应用。
2.PCC在天线控制系统中的应用
2.1PCC综述
可编程计算机控制器(PCC)作为可编程控制器(PC)家族中较为年轻、新颖的一员,具有更加强大的功能、更体现了高度模块化、应用灵活的特点。它较好地解决了工业控制领域普遍关心的可靠、安全、灵活、方便等问题。除了拥有和PLC一样的高稳定性、可靠性外,他还具有以下特点:
a)体积小、能耗低
以贝加莱X20系列PCC为例,在大多应用中外形尺寸可控制在386*124*165mm以内。很适用于机电一体化设备特别是移动载体等对空间有限制要求的设备。X20系列PCC实物如图 21所示。
b)模块品种丰富、通用好,功能强大
成功的模块式设计带来了丰富的可选择模块产品。常见的模块有各类的CPU模块、I/O模块、传感采集模块、计数器模块、各类现场总线模块、数字信号处理模块等。可根据不同的工程需求灵活地选择。
c)编程简单易学
PCC支持多种编程语言,常用的有梯形图编程、C语言、Basic语言等。从事PLC开发的技术人员能够较轻松从PLC开发过度到PCC的开发中。
2.2作为多电机控制器
2.2.1硬件实现
当PCC多电机控制器时,主要负责完成速度环路的闭环及天线控制保护逻辑的判断和操作。其硬件系统框图如图 22所示。PCC模块组合主要包括CPU模块、CAN总线模块和I/O模块。由图 22可以看出,相较于以往PLC加速度环路板的设计,复杂的放大器模拟电路实现的速度环路控制由控制软件程序取代,减少了电路板的设计和调试时间。由于数字化和总线技术的应用,大大简化了设备间电缆的连接。
需要注意,如果部分型号的驱动器,采用了“嫁接”式的CAN总线转换模块来解决CAN总线通信问题,首先需要对其通信能力进行检测,因为这种方式将带来总线通信速度够但是数据刷新率上不去的现象。这对于越来越高的伺服指标是十分不利的。这时可以利用PCC的A/D采样模块对电机的反馈信号进行直采以保证实时性。如图2-2虚线框内部分。
2.2.2软件实现
作为多电机控制器的软件包含速度环路控制和逻辑控制两大部分。PCC支持多种编程语言也支持不同编程语言的混用,可以将以往工程中PLC梯形图程序移植使用,这点为设计人员提供了极大的便利缩短了逻辑控制程序的开发时间。PCC自带实时RunTime操作系统,可按照优先级建立8个独立执行的任务,在设计时可以将实时性要求高的运算部分和实时性要求不高的逻辑判断部分分别放在两个不同的任务中执行。当然,不同的任务可用不同的编程语言实现。速度环路控制主要包含了速度环路的PID运算、和速处理、打滑检测、差速抑制算法等实时运算。软件程序主要流程图如图 23所示。
有必要注意的是PCC的运行机制,PCC的运行更像是PLC的“轮询”机制,虽然自带操作系统,但并不能像利用微处理器或微控制器跑嵌入式操作系统那样利用操作系统的消息或邮件机制编程也无法自由使用中断或者异常。事实上,中断或者消息机制已经被“内部”解决了。PCC各个模块与CPU模块之间均以总线通讯,各个模块各自工作,CPU通过总线获得各模块数据而不需要编写查询或中断代码。在每个循环周期开始时,任务读取各模块信息,在任务结束时将需要发出的数据放入发送缓冲,并在下一周期开始前发送出去。这样,表面看起来PCC就像是并行运行一样。
逻辑控制任务主要工作是根据读取的各个控保开关(限位、急停等)状态,将天线状态分为“异常”“预限位”“正常”三种状态,“异常”状态禁止操作,不响应上位机指令并上报异常状态。“预限位”状态下,只允许做退限位动作,朝向相位方向的指令会被清零。“正常”状态下,执行正常的工作程序。这三种状态信息将以内部全局变量的形式传送给环路主任务。
主任务首先检测CAN总线及网络通信是否正常,再将CAN总线反馈信息及网络指令解析出来,再结合指令和逻辑状态决策该采取什么控制策略,进行“本/远控”“单/双电机”控制。
2.3作为实时处理单元
2.3.1硬件实现 当PCC作为实时处理单元时,它不仅要完成逻辑控制及速度环路功能,还要完成位置环路控制、与系统其他一些设备通信并处理以及配合监控单元在任务中完成天线工作方式的切换及自动运行。这种用法下,PCC取代了天线控制單元的一部分功能,相较于速度控制器的用法,作为实时处理单元实时的数据处理与运算显得更加突出,以某车载设备为例,其硬件示意框图如图 24所示。CPU模块选择处理速度较快的X20CP1586其允许的最快循环周期可达400us。与驱动器通信采用CAN总线通讯,与跟踪接收机、寻北仪、水平仪、轴角编码单元均采用RS422串口通信,与本控触摸屏采用RS485通信。RS422和RS485通信选用通用的X20CS1030RS422/485模块。控保逻辑采用普通数字I/O模块,控制极化开关则选择X20DO4649继电器输出模块,有利于节省控制柜内的空间。
由于挂载的模块数量比较多,在选型时应当注意除了要考虑CPU的运算能力、模块的功率、输入输出电压、电流外,当挂载模块数超过30时应额外增加电源模块。因为CPU模块与其他模块是PCC自身X2XLink总线连接,特别是选择模块过多时安装时,在离CPU模块较远处的模块受干扰的风险更大。也正因如此,一般将模拟量I/O、通信模块安装在靠近CPU模块处,然后再安装数字量I/O模块。
2.3.2软件实现
实时处理单元主要任务是根据上位监控计算机的指令对天线进行操作,同时将设备的状态、数据进行解析整理并上报。软件上依旧是采用两个不同周期任务的方式,为实施处理部分建立优先级最高的任务,为485通信及逻辑控制建立优先级相对较低,周期相对较长的任务。其软件流程图如图 25所示。
实时处理单元的软件功能上是ACU部分功能的外放,软件的工作流程、和功能不在赘述。其软件上关键之处在于以下两点。
a)时序的同步
卫星地面站系统有统一的时统单元为系统提供统一标准的时间基准,天线控制子系统作为系统一部分也必须严格按照此时间标准运行。如前所诉,在PCC软件编程中无法直接使用中断机制,那么如何做到时间同步成为首先要解决的问题。
b)网络通信的实时性
网络端口是CPU模块自身具备的,轮询的运行机制使得网络数据总是在第一个任务周期读入缓冲区,下一周期开始才会读入程序,数据的发送也是如此。
同步信号的获取选择一块X20DS1119高速计数模块,虽然PCC编程不能直接使用中断,但是模块本身的信号采集是实时的。程序从模块获取同步计数信号是查询方式的,为保证实时性,同步信号采集的任务周期需设置足够小,这里选择1ms的任务周期,这样采集同步信号的滞后可控制在1ms以内。任务周期小能够实时采集到同步信号但是也带来了主任务循坏超时的风险。好在PCC的任务机制提供了“容忍时间”的设置,即在设置任务周期中未完成任务,将允许程序继续执行到“容忍之间”而不会引起超时报错。其时序如图 26所示。
同采集同步信号一样,将网络数据的收发放入也放入快速的查询中去便可解决轮询机制带来的通信滞后。但是快速的数据发送速度会向上位机发送大量的数据包,甚至会影响上位机的正常工作。此时就需要与同步信号配合进行了。即在同步信号到达时,数据发送允许标识置1,数据发送成功后置0。这样便可在简单有效解决了通信周期的同时将通信的滞后时间控制在2ms左右。
综合来讲主程序在同步信号到达之前每毫秒执行一次,每次只执行同步信号读取这一条指令,在同步信号到达后便在“容忍之间”之内完成整个任务控制流程。并在下一个1ms内将数据发出。
2.5其他应用
本文所述的PCC的应用仅仅是冰山一角,作为较新一代的可编程控制器,他还有着更加广阔的应用领域,例如PCC远程I/O和冗余技术可以方便地应用于分布式控制系统、集散控制系统,可以减少设备所需电缆数量,并具有很高的可靠性。另外,适用于PCC的RunTime系统也在不断地更新提高,新版本的系统已经支持邮件系统,支持FTP文件传输等功能,软件平台提供的功能库也越来越丰富。随着技术不断地发展和进步,PCC的模块和功能及其软件环境必然会更加丰富、更加强大,将为实际工程应用提供了更多的便利和更多的可能性。
参考文献:
[1]齐蓉.可编程计算机控制器高级技术.西北工业大学出版社.2012
[2]胡学林.可编程控制器原理及应用.电子工业出版社.2009
作者简介:
马嵩巍,男,陕西科技大学自动化专业,本科,中电科39所,主要从事伺服控制设计工作。
关键词:PCC,多电机控制器,实时处理单元
Application Research of Programing Computer Controller
In Antenna Control System
Ma SongWei
Abstract:This article shows the application research of Programing Computer Controller(PCC)in antenna control system and shows two different application program shortly. At the same time this article gives some key point of application.
Key words:PCC,Multi_motor controller,Realtime processing unit
1.引言
伴隨航空航天、空间电子科学技术的快速发展,除了对微波前端技术要求越来越高,对天线伺服控制性能要求也越来越高。目前工控领域发展迅速,新技术的不断突破,低端控制器逐渐淡出舞台甚至面临停产,因此新技术的推广和应用显得尤为重要,本文介绍了较为新颖的可编程计算机控制器在天线控制系统设计中的应用。
2.PCC在天线控制系统中的应用
2.1PCC综述
可编程计算机控制器(PCC)作为可编程控制器(PC)家族中较为年轻、新颖的一员,具有更加强大的功能、更体现了高度模块化、应用灵活的特点。它较好地解决了工业控制领域普遍关心的可靠、安全、灵活、方便等问题。除了拥有和PLC一样的高稳定性、可靠性外,他还具有以下特点:
a)体积小、能耗低
以贝加莱X20系列PCC为例,在大多应用中外形尺寸可控制在386*124*165mm以内。很适用于机电一体化设备特别是移动载体等对空间有限制要求的设备。X20系列PCC实物如图 21所示。
b)模块品种丰富、通用好,功能强大
成功的模块式设计带来了丰富的可选择模块产品。常见的模块有各类的CPU模块、I/O模块、传感采集模块、计数器模块、各类现场总线模块、数字信号处理模块等。可根据不同的工程需求灵活地选择。
c)编程简单易学
PCC支持多种编程语言,常用的有梯形图编程、C语言、Basic语言等。从事PLC开发的技术人员能够较轻松从PLC开发过度到PCC的开发中。
2.2作为多电机控制器
2.2.1硬件实现
当PCC多电机控制器时,主要负责完成速度环路的闭环及天线控制保护逻辑的判断和操作。其硬件系统框图如图 22所示。PCC模块组合主要包括CPU模块、CAN总线模块和I/O模块。由图 22可以看出,相较于以往PLC加速度环路板的设计,复杂的放大器模拟电路实现的速度环路控制由控制软件程序取代,减少了电路板的设计和调试时间。由于数字化和总线技术的应用,大大简化了设备间电缆的连接。
需要注意,如果部分型号的驱动器,采用了“嫁接”式的CAN总线转换模块来解决CAN总线通信问题,首先需要对其通信能力进行检测,因为这种方式将带来总线通信速度够但是数据刷新率上不去的现象。这对于越来越高的伺服指标是十分不利的。这时可以利用PCC的A/D采样模块对电机的反馈信号进行直采以保证实时性。如图2-2虚线框内部分。
2.2.2软件实现
作为多电机控制器的软件包含速度环路控制和逻辑控制两大部分。PCC支持多种编程语言也支持不同编程语言的混用,可以将以往工程中PLC梯形图程序移植使用,这点为设计人员提供了极大的便利缩短了逻辑控制程序的开发时间。PCC自带实时RunTime操作系统,可按照优先级建立8个独立执行的任务,在设计时可以将实时性要求高的运算部分和实时性要求不高的逻辑判断部分分别放在两个不同的任务中执行。当然,不同的任务可用不同的编程语言实现。速度环路控制主要包含了速度环路的PID运算、和速处理、打滑检测、差速抑制算法等实时运算。软件程序主要流程图如图 23所示。
有必要注意的是PCC的运行机制,PCC的运行更像是PLC的“轮询”机制,虽然自带操作系统,但并不能像利用微处理器或微控制器跑嵌入式操作系统那样利用操作系统的消息或邮件机制编程也无法自由使用中断或者异常。事实上,中断或者消息机制已经被“内部”解决了。PCC各个模块与CPU模块之间均以总线通讯,各个模块各自工作,CPU通过总线获得各模块数据而不需要编写查询或中断代码。在每个循环周期开始时,任务读取各模块信息,在任务结束时将需要发出的数据放入发送缓冲,并在下一周期开始前发送出去。这样,表面看起来PCC就像是并行运行一样。
逻辑控制任务主要工作是根据读取的各个控保开关(限位、急停等)状态,将天线状态分为“异常”“预限位”“正常”三种状态,“异常”状态禁止操作,不响应上位机指令并上报异常状态。“预限位”状态下,只允许做退限位动作,朝向相位方向的指令会被清零。“正常”状态下,执行正常的工作程序。这三种状态信息将以内部全局变量的形式传送给环路主任务。
主任务首先检测CAN总线及网络通信是否正常,再将CAN总线反馈信息及网络指令解析出来,再结合指令和逻辑状态决策该采取什么控制策略,进行“本/远控”“单/双电机”控制。
2.3作为实时处理单元
2.3.1硬件实现 当PCC作为实时处理单元时,它不仅要完成逻辑控制及速度环路功能,还要完成位置环路控制、与系统其他一些设备通信并处理以及配合监控单元在任务中完成天线工作方式的切换及自动运行。这种用法下,PCC取代了天线控制單元的一部分功能,相较于速度控制器的用法,作为实时处理单元实时的数据处理与运算显得更加突出,以某车载设备为例,其硬件示意框图如图 24所示。CPU模块选择处理速度较快的X20CP1586其允许的最快循环周期可达400us。与驱动器通信采用CAN总线通讯,与跟踪接收机、寻北仪、水平仪、轴角编码单元均采用RS422串口通信,与本控触摸屏采用RS485通信。RS422和RS485通信选用通用的X20CS1030RS422/485模块。控保逻辑采用普通数字I/O模块,控制极化开关则选择X20DO4649继电器输出模块,有利于节省控制柜内的空间。
由于挂载的模块数量比较多,在选型时应当注意除了要考虑CPU的运算能力、模块的功率、输入输出电压、电流外,当挂载模块数超过30时应额外增加电源模块。因为CPU模块与其他模块是PCC自身X2XLink总线连接,特别是选择模块过多时安装时,在离CPU模块较远处的模块受干扰的风险更大。也正因如此,一般将模拟量I/O、通信模块安装在靠近CPU模块处,然后再安装数字量I/O模块。
2.3.2软件实现
实时处理单元主要任务是根据上位监控计算机的指令对天线进行操作,同时将设备的状态、数据进行解析整理并上报。软件上依旧是采用两个不同周期任务的方式,为实施处理部分建立优先级最高的任务,为485通信及逻辑控制建立优先级相对较低,周期相对较长的任务。其软件流程图如图 25所示。
实时处理单元的软件功能上是ACU部分功能的外放,软件的工作流程、和功能不在赘述。其软件上关键之处在于以下两点。
a)时序的同步
卫星地面站系统有统一的时统单元为系统提供统一标准的时间基准,天线控制子系统作为系统一部分也必须严格按照此时间标准运行。如前所诉,在PCC软件编程中无法直接使用中断机制,那么如何做到时间同步成为首先要解决的问题。
b)网络通信的实时性
网络端口是CPU模块自身具备的,轮询的运行机制使得网络数据总是在第一个任务周期读入缓冲区,下一周期开始才会读入程序,数据的发送也是如此。
同步信号的获取选择一块X20DS1119高速计数模块,虽然PCC编程不能直接使用中断,但是模块本身的信号采集是实时的。程序从模块获取同步计数信号是查询方式的,为保证实时性,同步信号采集的任务周期需设置足够小,这里选择1ms的任务周期,这样采集同步信号的滞后可控制在1ms以内。任务周期小能够实时采集到同步信号但是也带来了主任务循坏超时的风险。好在PCC的任务机制提供了“容忍时间”的设置,即在设置任务周期中未完成任务,将允许程序继续执行到“容忍之间”而不会引起超时报错。其时序如图 26所示。
同采集同步信号一样,将网络数据的收发放入也放入快速的查询中去便可解决轮询机制带来的通信滞后。但是快速的数据发送速度会向上位机发送大量的数据包,甚至会影响上位机的正常工作。此时就需要与同步信号配合进行了。即在同步信号到达时,数据发送允许标识置1,数据发送成功后置0。这样便可在简单有效解决了通信周期的同时将通信的滞后时间控制在2ms左右。
综合来讲主程序在同步信号到达之前每毫秒执行一次,每次只执行同步信号读取这一条指令,在同步信号到达后便在“容忍之间”之内完成整个任务控制流程。并在下一个1ms内将数据发出。
2.5其他应用
本文所述的PCC的应用仅仅是冰山一角,作为较新一代的可编程控制器,他还有着更加广阔的应用领域,例如PCC远程I/O和冗余技术可以方便地应用于分布式控制系统、集散控制系统,可以减少设备所需电缆数量,并具有很高的可靠性。另外,适用于PCC的RunTime系统也在不断地更新提高,新版本的系统已经支持邮件系统,支持FTP文件传输等功能,软件平台提供的功能库也越来越丰富。随着技术不断地发展和进步,PCC的模块和功能及其软件环境必然会更加丰富、更加强大,将为实际工程应用提供了更多的便利和更多的可能性。
参考文献:
[1]齐蓉.可编程计算机控制器高级技术.西北工业大学出版社.2012
[2]胡学林.可编程控制器原理及应用.电子工业出版社.2009
作者简介:
马嵩巍,男,陕西科技大学自动化专业,本科,中电科39所,主要从事伺服控制设计工作。