Buffer_R(1)=“00”;
Buffer_R(2)=“3F”;
Buffer_R(3)=“02”;
执行Val=CSng(Buffer_R(0)+ Buffer_R(1)+ Buffer_R(2)+ Buffer_R(3))的语句的过程中,Buffer_R(3)的“02 ”中的“0”被VB 自动舍弃,Val 变为“003F2”(16 进制),也就是“1010”(10 进制)!这就是模拟量读入值突然变小的原因。要解决这一故障,需要在执行Val=CSng(Buffer_R(0)+ Buffer_R(1)+ Buffer_R(2)+ Buffer_R(3))语句前进行一下判断,当Buffer_R()的中的低位是“0”时,用程序补上一个“0”字符以避免错误的发生。
5.4 设计思路
5.4.1 道岔动作电流监测原理
道岔电流采集由道岔采集机完成。电流采集通过对道岔动作电流的实时监测,能直接测量出电动转辙机的启动电流、工作电流、故障电流和动作时间,并以此描绘出道岔动作电流曲线。电流采集通过对电流曲线的分析即可判断道岔转辙的电气特性、时间特性和机械特性。
道岔转换时才会有动作电流,要监测道岔电流就必须监测道岔转换的起止时间。道岔采集机是通过采集1DQJ的落下接点状态来监测道岔转换起止时间的。1DQJ吸起、2DQJ转极,道岔开始转换,转换完毕,1DQJ落下。
5.4.2 道岔采集机CPU数据处理过程
常用道岔采集机以小于250毫秒的周期对开关量(1DQJ、2DQJ、DBJ、FBJ)不断扫描,监测其状态变化。
当监测到某个1DQJ的状态由落下变为吸起时,说明该道岔即将启动,采集机开始起动对应的计时器,启动A/D转换,并以不大于40毫秒的采样周期,通过控制模拟量输入板上的多路开关,对该道岔动作电流进行密集采样。
当1DQJ由吸起变为落下时,计时器计时值即为道岔转换时间。若计时值小于1秒,说明转辙机没有转换或没有转换到底,应即报警。若计时值大于20秒,1DQJ仍在吸起状态,则说明转辙机发生了故障,亦即报警。
监测相应的道岔定位/反位表示灯和1DQJ、2DQJ状态,逻辑判别道岔的动作位置和道岔动作状况,在确认道岔转变(转换)到位后停止A/D采样。
用三种数据判断道岔位置室内、室外是否一致。用2DQJ继电器位置状态反映室内操作意图,即反映道岔应该转换的位置;用1DQJ接点的吸起落下表示道岔实际转换过程;用DBJ(或FBJ)继电器吸起或落下证实道岔转换之后的位置;智能判断转换过程与道岔位置相符则表明道岔实际位置与室内表示一致,如果不符,即刻报警并记录。
5.5 设计实例与分析
5.5.1界面设计
FORM1界面主要由以下及部分构成:
(1)ADO控件(隐藏)
(2)DATAGRID控件
(3)显示电流、安全检测、退出等button键
FORM2界面主要由以下几部分构成:
(1) 1DQJ、2DQJ、DBJ、FBJ、AI模块的text框构成,用于将采集到的数据直观的现实出来
(2)有绘制、重画、退出、实时监测等button键
(3)当前状态的text框,用于现实道岔的当前状态。
(4)picture框,用于绘制读取的AI模块的数据
(5)ComboBox元件,用来选择看不同道岔的不同电流图
图5.2 软件界面1
图5.3 软件界面2
5.5.2 主要程序分析
(1) 声明部分
由于在设计过程中,我采用vb软件模拟上位机的方式,从PLC中读取1DQJ、2DQJ、FBJ、DBJ、AI模块等数据,故在声明程序中,加入load_tool、db_read、unload_tool的定义,否则将出现错误。dbno,amount定义为long型,buffer(50)定义为Integer型,用于存放AI模块中的数据。
(2)坐标部分
Picture1.Scale即定义坐标轴的大小及位置,在此我定义为(-0.5, 4.5)-(5.5, -0.5),Picture1.DrawWidth为画线时的设置线宽,Picture1.Line即将两个给出的坐标连线。 VB道岔监测系统上位机程序设计+模拟TJWX-2000型信号微机监测系统(11):http://www.youerw.com/tongxin/lunwen_1202.html