过程是这样的:
  设置串口调试助手:
   波特率:1200
   校验位:无
   数据位:8
   停止位:2
  接着我用串口调试助手工具通过pc机232的串口(当然中间接了一个232与485的转换器)与仪表的485通讯,给仪表发送一个指令,仪表也能返回一组数据。
  现在目的: 数据中心通过GPRS(无线)给仪表发送一个查询指令,然后仪表反馈的数据又通过GPRS(无线)回传给数据中心。
不知道数据中心这一块程序如何写?
  我现在就是写了一个socket的程序,通过pc机与pc机可以进行通信。是不是数据中心的程序中要设置波特率、校验位、数据位、停止位呀?如果要设置,程序应该如何写?还请高手给予提示、帮助。谢谢!
 

解决方案 »

  1.   

    经过测试:一台PC机通过GPRS也可以和数据中心进行通信。
      

  2.   

    你的数据中心如何通过GPRS发送命令给仪表?如果可以直接发送,就不需要设置串口。
    有关串口的编程指南见MSDN的《Serial Communications in Win32》
      

  3.   

    串口调试工具中我是这样发送指令:
    01 03 00 50 00 0A 00 00
    然后返回数据:
    01 03 14 36 52 44 84 00 10 01 D5 08 1B 17 59 04 FC A4 C1 01 0C 05 10 B1 9D
    数据中心发送代码如下:
          char buff[8];       
          buff[0]=0x01;
          buff[1]=0x03;
          buff[2]=0x00;
          buff[3]=0x50;
          buff[4]=0x00; 
          buff[5]=0x0A; 
          buff[6]=0x00;
          buff[7]=0x00; 
    send(connected_skt,buff,strlen(buff),0)
    但是发送后没有接收到数据?
      

  4.   

    那你的数据中心需要跟仪表通过串口连接才对,准确的说你是用PC通过GPRS和数据中心建立连接,然后由数据中心与仪表通讯,再把查询到的结果返回到PC。
    所以你要在数据中心写一个类似于串口调试助手的代码,完成跟串口的交互,也可以直接利用mscomm串口控件来直接与仪表交互,mscomm的使用参考http://www.ebok.cn/Computer-Development/C/C-40195.html
      

  5.   

    串口调试工具是通过双绞线与仪表连接,当然是有线连接。
    而GPRS是通过无线连接的。
      

  6.   

    数据中心就是我的服务器,服务器上运行的是我写的代码。跟PC机没有关系。
    仪表的485口上连接的是GPRS DTU。
    然后就是 服务器上的程序通过GPRS通道与仪表连接进行通信。
      

  7.   

    说白了就是将串口调试工具换成服务器上程序。然后就通过GPRS无线与仪表485口进行通讯。
    关键是服务器端的程序要如何处理才能与仪表完全通讯?