登录  |  注册
河北华利机械配件有限公司

一种基于串口通信的数控手轮连接方案

2015/9/25 13:14:57

        随着计算机技术和通讯技术的不断进步, PC数控水平也在飞速发展, 尤其是以EtherCAT工业以太网为代表的现场总线技术和以SoftServoSystem为代表的开放式纯软件数控系统的广泛运用, 使数控机床向着性能卓EtherCAT网络控制技术具有灵活的拓扑结构, 硬件结构简单, 在工业PC与伺服模块之间经一块标准的NIC网卡用RJ45以太网电缆线连接, 避免了以往传统数控系统繁杂的通讯模块和布线, 且信号的干扰和衰减极低, 从而克服了脉冲长线传输的缺点,数据容量大, 伺服电机运行平稳, 控制精度极高。
        但是, 由于普通I/O模块的扫描周期仅为8 ms左右, 难以满足手轮脉冲信号实时、高速响应处理的要求, EtherCAT通讯平台等控制总线系统尚无很好的手轮连接解决方案, 目前的做法是在工业PC中额外增加一块专用通讯板卡用于手轮的连接, 这就增加了硬件数量和成本。手轮SFP-75 板的连接, SoftServoSystem的手轮通过板卡FP-75 的高速I/O端口及PCI插槽与PC相连接 , 将手轮信号送至数控系统内核进行实时处理。
        这种方法虽然能够满足系统的使用要求, 但增加了硬件的数量和成本。本研究提出一种新型的手轮连接方式, 以解决总线模式数控系统中手轮信号采集传输难的问题。
        1 基于串口通信实现手轮连接的基本设想
        针对手轮的特殊使用要求和现有的硬件条件, 本研究提出了一种基于串口通信的数控手轮连接方案,即:经简单的电路处理, 将手轮脉冲信号发送至计算机串口, 再由特定的信号处理程序读取和解析手轮脉冲信号, 并将结果交给数控系统内核以完成相应的实时控制操作。该方案的优点在于无需电平转换芯片MAX232实现TTL与RS-232 之间的电平转换, 直接利用TTL信号控制光耦, 然后由光耦控制RS232 本身信号的通断, 其响应速度快, 硬件简洁。同时, 处理软件具有较好的嵌入性, 能充分利用数控系统的源函数, 实现读取信号和执行命令的无缝连接。
        2 实验电路设计
        本实验采用的数控手轮是双相脉冲发生器ManualPulseGenerator, 内置一个GP1A70R光电转换头,工作电压为5 V, A/B两相TTL脉冲输出, 高电平为5 V, 低电平为0 V, 两相脉冲的相位差为90°以区别转向。旋转一圈产生A/B两相各100个TTL脉冲。此手轮的工作方式经过三菱FX1S系列PLC的双相双计数高速计数器C251的检测 ,证明上述参数正确无误。
        计算机串口为通用的9针RS-232口, 高电平为-3 V~ -15 V, 实际测量为-11 V, 低电平为3 V~ +15 V, 实际测量为+11 V。
        因为实验手轮无轴选项和倍率选项, 仅需要给手轮提供电源和接收手轮的两相脉冲, 所以按照各引脚功能, 选择由计算机控制的第7脚RTS,由外界控制的第1脚和第6脚。为了保护计算机的主板, 转换电路中采用2个PC817 光耦开关来控制1、6脚电路的开断, 光耦的反应速度≤ 20 μs, 完全满足TTL信号的最大发生频率。转换电路如图6所示。
        3 信号处理程序开发
        本实验主要运用了VisualBasic串口通讯控件MSComm, 涉及到CommEvent、CommPort、PortOpen、RTSEnable等4个属性。测试中, 为了实现更直观形象的效果, 本研究在VB窗体中添加了2个Shape控件, 用颜色的变化来显示1、6引脚的状态变化, 当Shape为红色时(灯亮), 表示对应串口脚处于高电平, 而另一脚处于低电平, 否则为白色(灯灭), TextBox控件用来实时显示当前脉冲数, 程序以极高的频率不断地检测1、6脚的电平状态并做相应的处理, 测试程序界面如图8所示。经过反复验证, 此程序能准确、可靠地处理两相TTL信号。上述测试程序的频率为计算机主板的工作频率,正常情况下都为几百兆, 完全能适应手轮信号的变化。
        4 实际运行与测试结果
        笔者将上述设计方案应用于模拟数控实验台, 数控系统为美国SoftServoSystem公司的纯软件开放式数控系统, 本系统的二次开发包(SDK)也由VB语言编写而成, 所以, 只需要在SDK中插入测试程序, 当脉冲数量发生变化时, 触发增量精确点动函数SSSPos-Start命令, 实现机床轴的同步精确点动, 旋转手轮的频率与机床轴的移动快慢成正比。可以看出, 手轮脉冲数和机床走过的位移一致, 达到了预定目标。
        此外, 一般的数控系统都会提供两种手轮工作方式, 即无累加方式和累加方式。上面的测试是模拟手轮工作在无累加方式时的情况, 当脉冲当量较大时, 例如为1 mm, 则机床执行一次脉冲需要较长时间, 如果机床正在执行当前的一个脉冲, 则会忽略下一个已经发送过来的脉冲, 从而造成所谓的脉冲丢步现象。为解决这个问题, 可以在程序中添加一个周期为30 ms的时钟子程序来实现累加工作方式。经验证, 通过添加上述程序能很好地实现累加工作方式。
        5 结束语
        由上述实验结果及实际应用情况可知, 用计算机串口读取并处理数控手轮的方法是可行的, 但是与实际使用的手轮相比,此次实验的手轮无倍率选择和轴选择功能,还有待于在以后的实验中进一步论证完善,且RS-232的9针接口可能不够用, 需要换成25针以提供更多的接口。串口接手轮的方案目前还没有得到实际应用, 但是随着现场总线时代的来临, 这种新方案肯定会为总线的手轮信号处理提供一种启发和选择, 同时,也可以推广到光栅尺等具有编码器性质的其他数字仪器上的连接使用。
华利胶木手轮