发布于 2007-04-12 12:04:49
0楼
可能我的说话不对,让人误解。我本来就是使用MODBUS从站库指令。原来老板没有要求更PC通讯的,是后面加的要求,我就在原来的PLC程序上进行更改,由于MODBUS不能写双字,浮点数,即VD没法写样的,所以就另外开辟VB1000-VB2000进行相应的数值转换对应。这样就需要自己编写两个子程序,一个管读,一个管写,(好麻烦的,但目前没有什么更好的方案),我把这两个子程序定义为通讯读,通讯写。当没有写操作就是V1034.1不等于1的时候为了保证两边的一致和实时性,我就让通讯读一直接通,当有写操作的时候就是V1034.1=1的时候让通讯读断开,通讯写接通,这样就可以写了,不会被读的覆盖掉。但实践证明要2S的时间才不会被覆盖,时间长的让我一直想不通呀。
今天多一问,明天少一问。