近一个月来公司让我编写与PLC通信的串口程序。
在工作中我用的是通信控件MSCOMM。
主要的通信过程是PC向PLC发指令,然后等待响应,
PC根据PLC的响应作出处理。
我在接受PLC的返回的操作信息字符串时,
其它类型的通信字符串一般也能收到完整的PLC响应信息.
但发现某种PLC返回的操作信息却始终收的不完整。
比如:
plc应该返回操作的起始时间、
操作类型、PLC的起始和终止状态。
而在该控件的响应函数中只能收到操作类型、
PLC的起始和终止状态以外的信息。
请问我是不是因为我采用的是控件技术而不是API的缘故。
如果是因为我的通信控件技术掌握的不好,请提出好的处理方法。

解决方案 »

  1.   

    我觉得使用控件会有许多的问题,比如说,有些字符接收不了.不过听别人说,好像也有办法接收,反正我从来不是用她!!!
    给你一个建议:
    你可以去www.codeproject.com上面下载一个叫做CSerialPort的串口类,这个串口类非常的好用.你把它导入你的工程,然后声明一个对象,就可以直接调用它的成员函数初始化,读,写串口了,应该没有问题的!!!
      

  2.   

    这里找不到答案吗?来这里试试看!
    这里有问必答
    http://systemer.51.net/cgi-bin/leoboard.cgi
    希望你能在这里找到你满意的答案
      

  3.   

    MSCOMM控件是很好用的,
    你没有正确设置