1 引言
航天员在载人航天飞行时要遇到多方向的复合旋转运动。要适应这些复杂的运动,航天员在上天前必须进行严格而艰苦的训练。电动转椅是用来对航天员进行前庭器官适应性训练的主要设备之一。为了向大众普及前庭刺激的效果和感受,我们为某科技馆研制了能够同时旋转和摆动的复合电动转椅展品,以s7-200plc为核心设计了该展品的两自由度控制及与上位机通信功能。
2 功能要求
转椅要求能够在水平面上顺时针和逆时针旋转,旋转角速度可选择在60~180°/s五档,角加减速度限制在5~10°/s2,达到设定转速后保持匀速旋转;垂直面内的摆动幅度±30°、±45°两档,摆动频率0.1hz、0.2hz两档。转椅效果如图1所示。

3控制系统方案
电动转椅分为水平旋转系统、摆动系统和控制系统三部分。水平旋转系统、摆动系统分别用伺服电机作为运动执行部件,由两台伺服驱动器控制电机的转速和转动方向来实现现转椅的转动和摆动。正常运行情况下由操作人员在控制台上通过人机界面设置转椅运行旋转速度和摆动角度、运行时间等参数,确认后按下控制台启动按钮启动设备,运行时间结束自动停止在初始位置。如受试者感到不适则可按下转椅扶手上的报警按钮,操作人员在控制台接收到报警信号后按下停车按钮,转椅可在5~10秒内停止;如设备出现异常,操作人员按下紧急停车按钮,转椅可在1秒内紧急停止。在转椅水平旋转初始位置设置位置传感器以控制转椅旋转停止在初始位置,分别在转椅垂直角度0°、±30°、±45°共五个位置安装型位置传感器以限制摆动角度。控制系统采用西门子公司的s7-200系列plc作为核心控制器,型号为cpu224xpcn,本机集成14输入、10输出共24个数字量i/o点,保证了系统需求且有一定冗余,而且该型号plc集成2个最高100khz的高速脉冲输出(hsc),对应端口q0.0和q0.1,可用于控制步进电机或伺服电机。上位监控机采用研华工控机,与plc通过自由口方式通信,人机界面设计工具为microsoft vc6.0。控制系统组成如图2所示。

4运动控制
s7-200提供三种方式的开环运动控制:脉宽调制(pwm)、脉冲串输出(pto)、位控模块。本项目采用pto方式控制座椅的旋转和摆动,即组态plc的两个数字输出(q0.0和q0.1)为占空比50%的脉冲串输出,用于控制旋转和摆动伺服电机的转速。每个脉冲信号可使伺服电机旋转一个固定的角度,脉冲的数量决定了旋转的总角度,脉冲的频率决定旋转速度,即脉冲频率与旋转速度成正比,脉冲周期则与转速成反比。使用plc的q0.2和q0.3作为方向信号控制旋转和摆动伺服电机旋转方向,q0.4和q0.5则分别作为两台伺服电机的使能信号输出,以上plc输出端分别连接至两台伺服控制器输入端。简单的pto运动控制可通过step7-microwin组态软件提供的位控向导完成,由于转椅要求旋转速度及摆动速度可调且运行时间可调,因此采用自定义pto包络参数来设计控制程序。同时本系统为开环控制,对于旋转控制需要确定最高恒定转速对应的脉冲输出频率,以及计算加减速过程中的脉冲周期增量值,对于摆动控制需要确定摆角及摆动频率所对应的旋转速度及脉冲输出数。已知伺服控制器单位脉冲位移角度参数,得出的旋转的输出脉冲周期与角速度对应关系,如表1所示。

式中:
p:脉冲周期增量,单位μs;
s1:初始角速度,单位°/s;
s2:最高恒速角速度,单位°/s;
α:角加速度,单位/s2;
h1:初始脉冲周期值,单位μs;
h2:恒速脉冲周期值,单位μs;
摆动控制有四种模式,如表2所示。
摆动输出脉冲周期与角速度对应关系,如表3所示。

在plc组态中首先初始化pto0(对应q0.0)和pto1(对应q0.1),在其专用寄存器中设置高速脉冲输出控制字,配置其属性为允许pto输出、单段管线、允许更新输出脉冲数、允许更新脉冲周期值,装入初始脉冲周期值和脉冲计数值,并建立和打开事件联接中断。初始化完成后根据控制台按钮指令和计算机输入的控制参数执行旋转和摆动控制输出。两自由度运动的包络曲线如图3所示。

5 通信接口设计
plc与上位计算机之间采用自由口通信模式,在plc中调用接收中断、发送中断、发送指令(xmt)、接收指令(rcv)来控制通信操作。本项目中采用自由口通信,通信协议自定为9600波特、8位数据位、无校验,因此将初始化代码16#09写入专用寄存器smb30。对于数据发送,采用专用发送指令xmt table port,其中table为发送缓冲区的首地址,存储要发送的数据长度,其后的地址中保存要发送的数据;对于数据接收,使用接收指令rcv table port,通过制定端口(port)接收信息并存储于数据缓冲区(table)中。为了plc能够成功地接收和识别上位机传送的运动控制参数,分配和定义了接收缓冲区,如表4所示,运动控制参数vb102中每一位的含义图4所示。

6 软件程序设计
转椅控制系统上电后,plc首先进行系统初始化,然后判断转椅在水平和垂直方向上是否处于初始位置,如否则自动低速调整到初始状态。接收到上位机的控制参数并收到启动按钮命令后,转椅首先按照设定角加速度加速旋转至设定转速并保持,转速到达设定转速后开始按照摆动角度和频率设定执行摆动运动,运行时间结束后转椅自动恢复垂直初始位置,同时旋转速度下降并最终停止在水平初始位置。程序控制流程如图5所示。

图5 plc控制软件流程图
7 结束语
基于s7-200为核心的转椅控制系统充分地利用了小型plc的高速脉冲串运动控制功能,结合与上位机的自由口通信模式,完成了两个自由度的运动控制。两自由度电动转椅展品交付使用后,每天迎接了大批的航天爱好者,设备运行良好,工作可靠。