Dim x1, k1, k2
Dim p11, p22 '定义变量
Dim aa() As Byte '定义数组Private Sub Command1_Click() '开始监控,定时器1有效
Timer1.Enabled = True
End SubPrivate Sub Command2_Click() '退事程序,定时器1无效
Timer1.Enabled = False
Cls '清屏
Unload Me
End SubPrivate Sub Form_Load() '初始化
Timer1.Enabled = False '定时器1无效
Timer1.Interval = 100 '定时器1时间为0.1S
Timer2.Enabled = True '定时器2有效
Timer2.Interval = 1000 '定时器2时间为1S
Picture1.ScaleMode = 0 '定义纵横坐标
MSComm1.CommPort = 1 '设定端口号
MSComm1.Settings = "9600,n,8,1" '设定通讯波特率
MSComm1.InputLen = 6 '输入缓冲区为6个字符
MSComm1.InBufferSize = 256 '接收缓冲器大小
MSComm1.OutBufferSize = 256 '输出缓冲器大小
MSComm1.InputMode = comInputModeBinary '以二进制传输
MSComm1.OutBufferCount = 0 '清空发送缓冲区
MSComm1.InBufferCount = 0 '清空接收缓冲区
End SubPrivate Sub Timer1_Timer() '定时器1有效,触发接收事件
MSComm1.PortOpen = True '打开端口
ReDim aa(0 To 5) '定义动态数组
k1 = 0 '识别PLC站号,为1
If k1 = 0 Then MSComm1.Output = "1" + Chr(10) + Chr(13) '发送
Do While MSComm1.InBufferCount = 0 '准备接收数据
Loop
aa = MSComm1.Input '接收数据存入数组
If aa(0) > 64 Then GoTo xxx:
k2 = Int(aa(0) * 255 + aa(1) * 1)
Select Case k2
Case 1
p11 = Int(aa(2) * 255 + aa(3) * 1)
p22 = Int(aa(4) * 255 + aa(5) * 1)
Case Else
End Select
k1 = k1 + 1
If k1 > 2 Then k1 = 0
xxx:
MSComm1.PortOpen = False
End SubPrivate Sub Timer2_Timer() '绘制各中频炉的温度曲线
x1 = x1 + 1 '时间增加为1S
Picture1.PSet (x1, p11), vbRed '绘制1#炉的温度曲线,为红色
Picture1.PSet (x1, p22), vbBlue '绘制2#炉的温度曲线,为黄色
Text1.Text = Str(p11) '输出1#炉温度值
Text2.Text = Str(p22) '输出2#炉温度值
Text3.Text = Str(x1) '输出监控时间
End Sub
请问如何修改p11,p22用浮点数显示?谢谢
Dim p11, p22 '定义变量
Dim aa() As Byte '定义数组Private Sub Command1_Click() '开始监控,定时器1有效
Timer1.Enabled = True
End SubPrivate Sub Command2_Click() '退事程序,定时器1无效
Timer1.Enabled = False
Cls '清屏
Unload Me
End SubPrivate Sub Form_Load() '初始化
Timer1.Enabled = False '定时器1无效
Timer1.Interval = 100 '定时器1时间为0.1S
Timer2.Enabled = True '定时器2有效
Timer2.Interval = 1000 '定时器2时间为1S
Picture1.ScaleMode = 0 '定义纵横坐标
MSComm1.CommPort = 1 '设定端口号
MSComm1.Settings = "9600,n,8,1" '设定通讯波特率
MSComm1.InputLen = 6 '输入缓冲区为6个字符
MSComm1.InBufferSize = 256 '接收缓冲器大小
MSComm1.OutBufferSize = 256 '输出缓冲器大小
MSComm1.InputMode = comInputModeBinary '以二进制传输
MSComm1.OutBufferCount = 0 '清空发送缓冲区
MSComm1.InBufferCount = 0 '清空接收缓冲区
End SubPrivate Sub Timer1_Timer() '定时器1有效,触发接收事件
MSComm1.PortOpen = True '打开端口
ReDim aa(0 To 5) '定义动态数组
k1 = 0 '识别PLC站号,为1
If k1 = 0 Then MSComm1.Output = "1" + Chr(10) + Chr(13) '发送
Do While MSComm1.InBufferCount = 0 '准备接收数据
Loop
aa = MSComm1.Input '接收数据存入数组
If aa(0) > 64 Then GoTo xxx:
k2 = Int(aa(0) * 255 + aa(1) * 1)
Select Case k2
Case 1
p11 = Int(aa(2) * 255 + aa(3) * 1)
p22 = Int(aa(4) * 255 + aa(5) * 1)
Case Else
End Select
k1 = k1 + 1
If k1 > 2 Then k1 = 0
xxx:
MSComm1.PortOpen = False
End SubPrivate Sub Timer2_Timer() '绘制各中频炉的温度曲线
x1 = x1 + 1 '时间增加为1S
Picture1.PSet (x1, p11), vbRed '绘制1#炉的温度曲线,为红色
Picture1.PSet (x1, p22), vbBlue '绘制2#炉的温度曲线,为黄色
Text1.Text = Str(p11) '输出1#炉温度值
Text2.Text = Str(p22) '输出2#炉温度值
Text3.Text = Str(x1) '输出监控时间
End Sub
请问如何修改p11,p22用浮点数显示?谢谢
定义的时候没有指定类型也就罢了,程序还能跑通
底下给P11P22赋值的时候还使用Int函数,能出来浮点才怪呢