引言
鉴相工作在许多场合起着非常重要的作用。在石油钻探、矿井采样、设备监控等众多场合被广泛地使用。通过安装在旋转关节上的开关量传感器,产生相位差90度的A、B两路脉冲信号,A信号先到表示着一个方向的转动,而B信号先到来则表示着在向另一个方向转动。通过对转过的脉冲数的计量,可以准确地计算出物体正反两方向走过的距离。图二是一般用的深度传感器的机械原理图,图三是A、B信号及变换后的信号图形。
在《深度信号的软件鉴相方法》中曾经详细地阐述过AB信号的鉴相方法,它的好处在于利用上位机的功能进行鉴相工作,但许多工业控制场一台上位机一般是驱动许多下位模块,上位机的工作量十分繁重,这就需要有更合适的模块与现有的模块型成一个现场总线驱动的网络,减小上位机的工作量,使用系统运行的更可靠。基于这种环境需要,ISM11X是一种非常理想的鉴相模块,它可以自动地完成鉴相工作。
ISM是Intelligent Sensor Module的简称,是德国Gartner公司生产的高速可配置模块,它可以通过软件配置直接外接压力、温度、电压、电流、数字量等信号,它具有数字滤波功能,采用标准的RS485总线,支持CAN、PROFIBUS等各种现场总线协议。
具有鉴相功能的ISM模块有 ISM110 ISM111 ISM112,其中的IO1接传感器的A信号、IO2接传感器的B信号,经过 ISM11X配带的ICP100设置程序,将IO1和IO2设置成鉴相模式。在IO1和IO2与地之间分别接上一个1K的电阻,在RS485总线上就可以读出鉴相后的计数值。
构筑方法
ISM11X通常还会带有4路模拟量输入通道,每个通道的输入范围都是可以独立自由设定的,这一点与牛顿和亚当模块不太一样(NUDAM及 IDAM模块的所有通道的输入范围都使用一个设定值,不能独立设定)。因此,ISM11X可以接入不同量程的传感器,需要做的只是根据传感器的不同,对每个道进行独立的设置即可。ISM11X更详细的情况见 智能传感器模块ISM11X
软件编程
我们以VB3为例,在FORM1窗体上放置MSCOMM控件(VB3自带)。按下述步骤进行编程:
先初始化RS232-RS485模块
Comm1.CommPort = 1
Comm1.Settings = "9600,N,8,1"
Comm1.InputLen = 0
Comm1.PortOpen = True
然后向ISM11X发指令
Chan$ = Right$(Str$(CHNO), 1)
If CHNO >= 0 And CHNO <= 4 Then
Comm1.Output = "#02" + Chan$ + Chr$(13)
End If
从ISM11X读入鉴相器的计数值
Instring$ = Comm1.Input
If Left$(Instring$, 2) = ">+" Or Left$(Instring$, 2) = ">-" And Len(Instring$) >= 3 Then
IdamValue = Val(Right$(Instring$, Len(Instring$) - 2))
End If
现场应用
中海技服用ISM11X构筑的IDC2000系统成功地进行了国家863计划海底大位移井的实时监测任务,并成功地与PRL2000相结合在新疆塔克拉玛干沙漠完成了TK431井基于卫星链路的实时监测任务。在使用过程中,未发现ISM11X任何异常情况。用它构筑的深度系统在500米范围内误差小于10公分,充分证明了ISM11X的现场适用性。利用ISM11X构筑实时监测系统,不仅安装使用简单、编程简单,而且价格适中,稳定性好。