串口硬盘 JD 和JS有什么区别

JavaScript017

串口硬盘 JD 和JS有什么区别,第1张

我们是不是经常看到WD1600JS,WD1600JB,WD1600JD,一般西数的是这样,希捷或者其它牌子的的又不一样的,第一个在台式机硬盘上应用8M缓存技术的硬盘制造商,西部数据的硬盘产品主要分为Caviar(鱼子酱)和Protégé两大系列。在市场上最常见到的就是Caviar(鱼子酱)系列硬盘了,从它的型号尾上代号上就很好区分。

EB,转速是5400 rpm的Protege系列硬盘

AB则是主流版本,代表5400RPM的Ultra ATA 100

BB是高性能版,代表7200rpm的Ultra ATA100

JB是特别版,代表7200rpm并且具有8MB缓存

AD代表7200rpm的Ultra ATA150

那这最后的JS,JB,JD 分别是什么意思呢?

现以一串口硬盘WD1200JB-OOCRAO为例说明:

WD=Westem Digital(西部数据)

1200=容量(120GB)

J=转速/特殊产品:A=5400RPM;B=7200RPM;J=7200RPM/8MB

B=接口:A=Ultra ATA-66;B=Ultra ATA-100;C=FireWire(IEEE1394);W=AV(影音专用硬盘)

00=客户标识:00=普通产品,即零售版本,其他数字则对应了某一OEM整机厂商

CA=家族代码:与单碟容量相对应,不同系列有不同的代码

AO=客户配置代码:等同于硬盘Firmware的版本号

MSCOMM控件在VB6的企业版中有,需通过部件添加方式加载。

Private Sub MSComm_OnComm()

Dim bytInput() As Byte

Dim intInputLen As Integer

Select Case frmMain.ctrMSComm.CommEvent

Case comEvReceive

If blnReceiveFlag Then

If Not frmMain.ctrMSComm.PortOpen Then

frmMain.ctrMSComm.CommPort = intPort

frmMain.ctrMSComm.Settings = strSet

frmMain.ctrMSComm.PortOpen = True

End If

'此处添加处理接收的代码

frmMain.ctrMSComm.InputMode = comInputModeText '按ASCII接收

intInputLen = frmMain.ctrMSComm.InBufferCount

ReDim bytInput(intInputLen)

bytInput = frmMain.ctrMSComm.Input

Text1 = bytInput

Text2 = Text1

jscd = Len(Text1)

If Left(Text1, 1) <>Chr(27) Or jscd >25 Then '

frmMain.Label3.BackColor = vbRed

frmMain.Label3.ForeColor = vbWhite

frmMain.Label3.Caption = "接收信号出错!"

ElseIf Left(Text2, 1) = Chr(27) And Mid(Text2, 25, 1) = Chr(13) Then

frmMain.Label3.BackColor = vbGreen

frmMain.Label3.ForeColor = vbBlack

frmMain.Label3.Caption = "接收信号正常!"

If Left(Text2, 6) = Chr(27) &"R0032" And jscd = 25 Then

If Val(fa2) >= 0 And Len(fa2) = 4 Then

fa2 = "0" &Mid(fa2, 2, 3)

End If

frmMain.txtSend = Chr(27) &fa0 &fa1 &"9999" &zhenkong &fa2 &fa3 &fa4 &Chr(13)

lenTxtSend = Len(txtSend)

frmJishi.Label8.Caption = txtSend

frmJishi.Label11.Caption = lenTxtSend

If lenTxtSend = 24 Then

Call commFasong

Else

frmMain.Label3.BackColor = vbRed

frmMain.Label3.ForeColor = vbWhite

frmMain.Label3.Caption = "发送信号出错!"

End If

blL1 = Mid$(Text2, 19, 2)

If blL1 = "01" Then

record_jmm(0) = Val(Mid$(Text2, 21, 4)) / 10 '制品1温度

ElseIf blL1 = "02" Then

record_jmm(1) = Val(Mid$(Text2, 21, 4)) / 10 '制品2温度

ElseIf blL1 = "03" Then

record_jmm(2) = Val(Mid$(Text2, 21, 4)) / 10 '制品3温度

ElseIf blL1 = "04" Then

record_jmm(3) = Val(Mid$(Text2, 21, 4)) / 10 '制品4温度

ElseIf blL1 = "05" Then

record_jmm(4) = Val(Mid$(Text2, 21, 4)) / 10 '制品5温度

ElseIf blL1 = "06" Then

record_jmm(5) = Val(Mid$(Text2, 21, 4)) / 10 '制品6温度

End If

record_jm(0) = Val(record_jmm(0))

record_jm(1) = Val(record_jmm(1))

record_jm(2) = Val(record_jmm(2))

record_jm(3) = Val(record_jmm(3))

record_jm(4) = Val(record_jmm(4))

record_jm(5) = Val(record_jmm(5))

blL = Mid$(Text2, 7, 6)

Call Hex_bin '输出口状态鉴别

blLg = Mid$(Text2, 13, 6)

Call hex_bin1 '输出口故障状态鉴别

txtSend = ""

Else

txtSend = ""

End If

End If

If Not blnAutoSendFlag And Not blnReceiveFlag Then

frmMain.ctrMSComm.PortOpen = False

End If

End If

End Select

End Sub

以上是一段MSCOMM的ONCOMM事件代码,接收的数据按上下位机约定取出赋值于全局变量,在其它窗体进行数据记录(写入数据库).至于数据分析确如一楼说的可以海阔天空,通过数据控件及SQL语句来完成任务.

以下提供MSDN参考:

OnComm 常数

常数 值 描述

comEvSend 1 发送事件。

comEvReceive 2 接收事件。

comEvCTS 3 clear-to-send 线变化。

comEvDSR 4 data-set ready 线变化。

comEvCD 5 carrier detect 线变化。

comEvRing 6 振铃检测。

comEvEOF 7 文件结束。

MSComm 控件提供下列两种处理通讯的方式:

事件驱动通讯是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知,例如,在 Carrier Detect (CD) 或 Request To Send (RTS) 线上一个字符到达或一个变化发生时。在这些情况下,可以利用 MSComm 控件的 OnComm 事件捕获并处理这些通讯事件。OnComm 事件还可以检查和处理通讯错误。所有通讯事件和通讯错误的列表,参阅 CommEvent 属性。

在程序的每个关键功能之后,可以通过检查 CommEvent 属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“确定”响应。

SThreshold 属性

在 MSComm 控件设置 CommEvent 属性为 comEvSend 并产生 OnComm 事件之前,设置并返回传输缓冲区中允许的最小字符数。

说明

若设置 Sthreshold 属性为 0(缺省值),数据传输事件不会产生 OnComm 事件。若设置 Sthreshold 属性为 1,当传输缓冲区完全空时,MSComm 控件产生 OnComm 事件。

如果在传输缓冲区中的字符数小于 value,CommEvent 属性设置为 comEvSend,并产生 OnComm 事件。comEvSend 事件仅当字符数与 Sthreshold 交叉时被激活一次。例如,如果 Sthreshold 等于 5,仅当在输出队列中字符数从 5 降到 4 时,comEvSend 才发生。如果在输出队列中从没有比 Sthreshold 多的字符,comEvSend 事件将绝不会发生。

CommEvent 属性包含实际错误或产生 OnComm 事件的数码。注意,设置 Rthreshold 或 Sthreshold 属性为 0,分别使捕获 comEvReceive 和 comEvSend 事件无效。

计算机专业语言。

简单来说,就是编写编定程序,让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的想法,人类通过某种方式,将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉它,让计算机完成人的指令。