品牌:GE | 规格:全新 | 材质:原装 |
产地:国外 |
IC693CPU350-CF
例如发送的字节数据为:0FAH 0B1H 26H 87H 8H 34H 62H 00H 37H 76H 0H 42H 53H 80H
0FAH为帧开始标志字节,第一道,第五道,第六道,第八道接有位移传感器,表示 -26.87 34.62 37.76 -42.53。
3.2 部分参数的技术分析
3.2.1 仪表通讯传输速率为9600bps,则快速度为1.0417ms发送一个字节;仪表每秒发送200个字节,平均5.0ms发送一个字节,在查询方式或连续读取串口数据时要在程序中添加循环等待程序,等待接收缓冲区收到足够的字节才能进行数据处理。
3.2.2 仪表发送每帧数据长度不定长,为了实现实时监测功能,接收数据的读取要尽可能的快速,则在程序开始运行时设置MSComm1的属性
RThreshold = 26 接收缓冲区收到26个字节产生OnComm事件
InputLen = 1 Input每次读取一个字节
等到程序接收到一帧完整数据后,计算出当前帧数据长度,再将Rthreshold属性修改为帧长度,则接收缓冲区在收到一帧数据后,MSComm控件才会触发一个OnComm事件,这样就会有更多的时间进行数据的计算和处理。
3.2.3 仪表每秒发送200个字节数据,微机收到一完整帧数据至少需要t(ms)时间(只接一道传感器t=25ms;接八道传感器t=130ms),然后再进行数据处理。如果微机在下一帧数据接收前即t ms内能将数据计算处理完毕,则接收缓冲区内只会保存有一帧数据,不会存有两帧以上数据,接收缓冲区的大小不会影响实时监测效果(接收缓冲区>=一完整帧长度),这时完全可以实现实时监测或实时控制;如果微机在t ms内不能将数据计算处理完毕,接收缓冲区设置的又很大,在数据计算处理完毕前,接收缓冲区内就会保存有两帧以上数据,而且一次工作时间越长,缓冲区内滞留数据帧就越多,数据采集和数据处理之间产生逐渐增大的额外时间差,当接收缓冲区充满后,时间差不再增大,固定在某一值,部分数据因不能及时采集到接收缓冲区中,数据产生丢失现象,真实工作情况就会和微机处理结果产生较大的时间差,对实时监测和实时控制很不利,这种情况下接收缓冲区的大小就会影响实时监测效果,所以接收缓冲区设置不能过大,让部分数据丢失,以保证数据处理的实时性。
3.2.4 设置MSComm控件的接收数据模式采用二进制方式,即 InputMode=comInputModeBinary,但用Input属性读取数据时,不能直接赋值给 Byte 类型变量,只能通过先赋值给一个 Variant 类型变量,返回一个二进制数据的数组,再转换保存到Byte类型数变量中。
3.2.5 VB中有 Byte类型变量,但没有字节的位处理语句。通道状态字节的位处理要通过对该字节的值运算进行判断,符号字节的位处理则要判断符号字节的值是否大于127,大于127则为负数;压缩的BCD码存入Byte类型变量,VB系统只按十进制数处理,这要通过一个简单算法换算,解压BCD码才能还原成十进制表示数值。假如a是Byte类型变量,W是Single类型变量,将一个压缩的BCD码存入 a中,则算法是:
W=(a\16)*10 + a-(a\16)*16
则W=a-(a\16)*6
3.3 程序代码
在(通用)(声明)中定义程序所用变量:
Dim ab(4) As Byte '字节数据类型数组,用来存贮接收到的一组字节数据
Dim av As Variant '用来从接收缓冲区读取数据
Dim i As Integer
Dim j As Integer
Dim w As Integer '接收数据个数计数器
Dim b1 As Single
Dim b2 As Single
Dim WW As Single '十进制检测值
Dim TD(8) as Boolean '通道状态数组
Dim Wmax(8) As Single '大值数组
Dim Wmin(8) As Single '小值数组
在窗体中添加名为Command1的[开始]按钮和名为MSComm1的MSComm控件。
ROSEMOUNT MODEL 444 ALPHALINE TEMPERATURE TRANSMITTER
ROSEMOUNT TRANSMITTER 1DP3E12B2
ROSEMOUNT 3051TG3A2B22AA0078K5
ROSEMOUNT ALPHALINE TEMPERATURE TRANSMITTER NEW NIB
ROSEMOUNT TRANSMITTER 1151DP3E12
ROSEMOUNT 1151 GP PRESSURE TRANSMITTER
Rosemount Alphaline Temperature Trans. 444RL #7 S31
NEW ROSEMOUNT 1151DP6S22B1 PRESSURE TRANSMITTER
ROSEMOUNT MICRO MOTION 2700 R 13ABUEZZZ TRANSMITTER
ROSEMOUNT ALPHALINE TEMPERATURE TRANSMITTER USED
NEW ROSEMOUNT 3051CD1A22A1AB4I5L4 PRESSURE TRANSMITTER
ROSEMOUNT ALPHALINE TEMPERATURE TRANSMITTER NEW NIB
ROSEMOUNT 2024 PRESSURE TRANSMITTER P TO I P/I
Rosemount 3051 S1CA2A2A11A2JKCQ8 0-150 PSI Tranmitter
ROSEMOUNT 3051CG4A22A1A
Rosemount Vortex 8800 Hart Smart Family Transimitter
Rosemount Transmitter Mounting Bracket Kit 20Pcs
Rosemount 1151 Liquid Level Transmitter 1151LT6SG0Y22D
NEW ROSEMOUNT 1151GP9S2AP2 PRESSURE TRANSMITTER
ROSEMOUNT TRANSMITTER 1151DP3E12
ROSEMOUNT 3051CA1A22A1AA0060B4L4 W/ 1199SCW11A11
Rosemount 1151 Liquid Transmitter 1151LT5EA0A12DM1
Rosemount Alphaline Temperature Transmitter new
NEW ROSEMOUNT 1151GP7S2AP2 PRESSURE TRANSMITTER
Rosemount 1181C Uniloc 2-Wire Transmitter 1181-C New
Rosemount Vortex 8800A W020 Smart Hart Flow Transmt S32
ROSEMOUNT 1151DP3S52B1PRESSURE TRANSMITTER ***NNB***
ROSEMOUNT 244P HEAD MOUNT TEMPERATURE TRANSMITTER
ROSEMOUNT 3044CA1B4 *NEW*
Rosemount 3244MV-F1K504 Temp Transmitter 3244MVF1K504
Rosemount Transmitter 3095* 170PSIG 11-55VDC 4-20MA out
ROSEMOUNT 1151LL5B2A4CE
ROSEMOUNT 8712CR12M4 FLOW TRANSMITTER 115VAC
Rosemount 3095MA Multi Variable Mass Flow Transmitter
Rosemount 1151GP Pressure Transmitter w/ Remote Sensor
ROSEMOUNT 644R -10º TO150º C TEMPERATURE TRANSMITTER
ROSEMOUNT 444RL TEMPERATURE TRANSMITTER
2 Rosemount Alphaline Thermocouple Transmitter; *A5
ROSEMOUNT 3051CG4A22A1AS1B414 W/ 1199RTW11A31A13
ROSEMOUNT 3051CG4A22A1AS1B414 W/ 1199SCW11A11
ROSEMOUNT 444RL TEMPERATURE TRANSMITTER
115-1GP8F12B Rosemount Transmitter
Rosemount Alphaline Temperature Trans. 444RL S29
Rosemount 3051 CD1A02A1JS5K6C1Q4Q8 0-25 IN H2O
ROSEMOUNT PRESSURE TRANSMITTER 3051-CG2A22A1AS0E5M5QP
ROSEMOUNT TRANSMITTER FOR EXPLOSIVE ATMOSPHERE
NEW ROSEMOUNT TRANSMITTER 1151GP7E12S1B1 SEAL 1199RFW
ROSEMOUNT PRESSURE TRANSMITTER 3051CD4A52A1AB4C6Q4DF