VB winsock控件连接PLC的有关问题

VB winsock控件连接PLC的问题?请教高手:在用winsock控件读取PLC中数据的时候:VB codedim arrivData as int

VB winsock控件连接PLC的问题?
请教高手:
在用winsock控件读取PLC中数据的时候:

VB code
dim arrivData as integer   '触发winsock1_DataArrival事件后的PLC返回值,转换成十进制的数值winsock1.connectsend_Data(var_1)           '向PLC发送指令的函数,var_1是待读取的一个地址变量msgbox arrivData winsock1.connectsend_Data(var_2)           '向PLC发送指令的函数,var_2是待读取的的地址变量msgbox arrivData 


运行后发现,两次输出的数据相同,如果改成下面的代码:

VB code
dim arrivData as integer   '触发winsock1_DataArrival事件后的PLC返回值,转换成十进制的数值winsock1.connectsend_Data(var_1)           '向PLC发送指令的函数,var_1是待读取的一个地址变量msgbox arrivData winsock1.closewinsock1.connectwinsock1.connectsend_Data(var_2)           '向PLC发送指令的函数,var_2是待读取的的地址变量msgbox arrivData 


运行后发现,两次输出的数值有时相同,有时不同,且有时是正确的输出,有时又不正确,请教高手如何解决?

谢谢~~


[解决办法]
建议取消MSGBOX,改用标签来显示.其它需要通信协议才能判断.
[解决办法]
通讯协议:TCP判断连接状态,如果已经连接,则可以发送
UDP无法判断连接状态,可以直接发送。

两次发送要做一定的延时。

不要用msgbox来观查变量值
用debug.print arrivData 来观查变量值