TCP/IP的PUSH指令在C#中怎么测试,对于这方面是新人,希望各位大佬能够仔细说明下,不胜感激

解决方案 »

  1.   

    你的问题 跟上位机下位机没关系.. 只是你在接收数据的过程中.没有处理罢了.我们假设 客户端给你发送abc . 那么如果客户端连续给你发送2次  你不一定执行2次接收方法. 可能收到一次. abcabc.所以这个时候 就需要"协议"来处理了.简单的说 就是别人给你的数据 是有规则的. 比如 他们都是已AA开头 BB结尾. 并且BB前面的一个字节是CRC校验位.所以你可以截取来获取一个完整的"包" 就行了
      

  2.   


    您所说的延时我使用过,时而靠谱,时而不靠谱,但是负责PLC的那位说他那里处理不了数据,我不知道这种情况下该怎么办,每次一问,就说不能。
      

  3.   

    这是PLC 那边的问题,PLC 那边是高位在前,地位在后,所以需要SWAP 这个函数来转换.比如FLOAT  格式对应BYTE1 BYTE2 BYTE3 BYTE4,PLC中的顺序是1,2,3,4.但是在上位机中是4,3,2,1.这个需要你自己处理.PLC 中和libnodave中都有函数,看你在哪一边使用这个函数.lib中的全称你自己搜一下