我想做个两个串口同步通信的程序,详细如下
1)一个串口用于连接PLC模块,负责发送命令,接收PLC反馈过来的地址值,这里我用过定时函数500毫秒发送命令接收一次。
2)将PLC的地址值,通过串口发送给另外一台电脑,相对于本站起个中转站的作用。
3)同时实时监测发送到另外一台电脑的串口,如果另外一台电脑有信息发送过来,程序也要负责接收,并把信息发送给PLC,这条命令和上面要求(1)是不一样的,如何避免与(1)不冲突。有点乱,就是两个串口,双全工,但是发送到PLC那边的有两天命令,一条是500毫秒发送一次的,一条是如果另外一台电脑发送信息过来,这边要把信息发送给PLC,如果避免冲突???
给的思路,详细一点。

解决方案 »

  1.   

    // 500ms发一次的命令和转发的那条命令,总要有一个更优先。
    // 其实PLC似乎可以做成多主机模式的。
      

  2.   

    问题的关键在于两台PC之间的数据交换,我姑且将和PLC通信的电脑称为PC1,另外一台电脑称为:PC2。PC1和PC2相连的串口连线如下:PC1 2-3、3-2 PC2,这样用中断方式就可以接受数据了。
      

  3.   

    500ms的和转发的都给工作线程发消息,唯一的工作线程联结PLC并解释消息。