(2) 开关量采集方法
开关量采集回路如图2所示。

图2 开关量采集方框图
开关量采集原理: 4位开关量输出信号经过译码得到16位地址,根据地址将1024个开关量分成16组采集,每次采集64位,利用两块32口的开关量输入模块。
(3) 模拟量采集方法
根据铁道部有关规程,外供电压、轨道电压、转辙机电流等模拟量要求不同的采集方式,例如外供电压和轨道电压采用巡测采集方式,即巡回检测采集;转辙机电流采用中断式采集方式,即当转辙机发生动作时才采集相应的数据;绝缘检测的采集方式是命令式,这是因为绝缘检测是带电检测,在保证列车安全运行的情况下,必须由工作人员通过上位机发出指令采集相应的绝缘值。根据这些不同要求,系统中利用不同的模拟量采集回路实现。图3示出128路轨道电压采集回路框图。由前置电路通过隔离、滤波、保护等前置电路处理采集的模拟信号,变成1~5V标准电压信号,经过两级切换,在PLC中经A/D转换后,用0-4000的数字量线性表示。

图3 128路轨道电压采集回路框图
(4) PLC与上位机通信流程
上位机与PLC的通信流程大致如下:
系统监测的信息点多,采集方式不同,因此系统实现的另一个的难点就是对不同数据的通讯管理。系统需要采集的数据有1024个开关量,128路轨道电压信号,64路外供电信号,16路转辙机电流等,由于采用串口与上位机通讯,通讯资源有限[1],按照铁道部有关规定,将数据的优先级规定为:开关量信号,外供电压信号,转辙机电流信号,轨道电压信号,对优先级高的数据优先处理,程序流程如图4所示。

图4 程序流程框图
采用这种通讯方式的特点是程序结构简单清晰,通信简单,可扩展性强,能保证重要数据的优先传送。缺点是通讯速度较慢,在调试中发现,128路轨道电压全部传到PLC中需要大约3s,但在铁路系统中,这样的通讯速度已能满足要求。
4 程序流程分析
(1) 程序说明
主程序给每一类被采集数据分配一个缓冲区[2],根据优先级处理数据,将需要通讯的数据写入通讯缓冲区中,然后与上位机通讯。
系统要求将变化的开关量传送到上位机进行显示,PLC程序中,给开关量分配两个存储单元D1和D2,将第一次采集的开关量存入D1,下一次采集到的数据存入D2,另外为开关量分配了一个环形数据缓冲区H1~H50,缓冲区中每个存储单元的存储容量为67个字,其中1024个开关量占64个字,一个标志字表示发生变化的开关量组,另外2个字用来表示开关量发生变化的时间(年,月,日,小时,分钟,秒,毫秒)。环形数据缓冲区的结构如图5所示。缓冲区作用是:将需要存储的开关量按顺序存入缓冲区,50个存储单元存满后,第51个数据再存入第1个存储单元,这样就将这个缓冲区循环利用,有效使用了PLC的有限资源。

图5 环形数据缓冲区的结构图
(2) 开关量采集程序流程
将第一次采集的开关量存入D1,下一次采集到的数据存入D2,比较D1和D2,看数据是否相等,如果相等,直接进行下一次巡视;如果不等,说明开关量发生变化,系统要求将变化的开关量送入上位机,此时将D2种的数据送入缓冲区Hi中,并设立标志,增加地址指针,同时用D2覆盖D1的数据,程序流程如图6所示:

图6 开关量采集流程框图
5 结束语
采用松下C60R系列PLC作为数据采集机的GSWJ微机监测系统已经在该站投入运行,5年来,系统运行正常,保证了铁路列车安全运行,并准确采集各项数据,及时发现故障和分析故障产生原因,另外,系统的报表输出功能减轻了值班人员人工抄表的劳动强度。总之,微机监测系统部分实现了铁路系统自动控制,从整体上提高了企业的管理水平,且各项技术指标均达到设计要求