vb和plc通信

来源:百度知道 编辑:UC知道 时间:2024/05/25 15:32:22
用VB监控PLC,我是通过读取PLC的输出Y值来控制VB画面动作的,现在我要在VB中计数,该计数要和PLC中的计数器的值一样,可是怎么在VB中设置呢??

你指的是接受的数据转换吧!,先用PLC记录这个Y值,然后PLC发送给VB,VB中定义接受数组,然后转换数组为你需要使用的Y值就可以了,这个可以参考:
Private Sub Mscomm1_Oncomm()

'接收两个byte的数据,并转化为对应的数据

Dim aa(1) As Byte '按byte转化二进制数据,根据接收的byte确定数组的长度
Dim i As Double ' 第一个byte转化为整型数值
Dim j As Double '第二个byte转化为整型数值
Dim tol As Double '两byte组合成的16bit的数值,一位正负标志位
Dim K As Integer '第一个byte的第一位,符号标志位
Dim B As Integer '符号位

'...通讯事件发生
Select Case MSComm1.CommEvent

Case comEvReceive '...有接受事件发生

'数据转换
a = MSComm1.Input '...接受显示数据
aa(0) = a(0) '转化为两个byte
aa(1) = a(1) '转化为两个byte

i = CDbl(aa(0)) '转化为整型数值
j = CDbl(aa(1)) '转化为整型数值

K = i / 127 '判断符号位,>=1为负数,

If K >= 1 Then '判断符号
B = -1 '为负数
i = i - 128 ' 计算第一个byte的后7位数值
tol = (i * 256 + j) * B ' 计算两个byte后15位的数值,并计算标志位
Else: B = 1 '为正数
tol =