版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

串口参数配置

  • 通过网关界面进行参数配置

Image Modified

  • 串口名称

在网关中,RS232和RS485口共用了4个串口,串口的内部名字按照顺序分别是:/dev/ttyO1,/dev/ttyO2,/dev/ttyO3,/dev/

...

ttyO4,位置如下图

Image Modified


  • 串口连接参数配置
    • connparam:多个参数key和value对,每对参数之间以分号隔开,参数的key和value之间使用=

...

    • 号。如:
      • port=COM2;baudrate=9600;parity=E;databits=8;stopbits=1  -------------WINDOWS
      • port=/dev/ttyO1;bandrate=9600;parity=0;databits=8;stopbits=

...

      • 1   --------------网关
    • 除以上配置外,内部还支持如下参数:
    • baudrate:支持:2400、4800、9600/115200/19200/25600等。缺省:无效值(-8888),必须设置
    • parity:O,E,N:偶校验,奇校验,无校验。缺省为N(无校验)
    • databits:5/6/7/8,缺省为8
    • stopbits:1:1个停止位;2:2个停止位。缺省:1
    • xonlimit:如1000。缺省:0
    • xofflimit:如1000。缺省:0
    • readmincharacters:整数。缺省:0
    • readtimeout:整数,需要保证为100及以上(毫秒,使用AccessPort工具,为-1可能读取不到,如西门子S7-200 PPI该参数为-1则会读取不到应答)。缺省:100
    • ctsenable:整数。缺省:0
    • rtsenable:整数。Windows下缺省:1,Linux下缺省:0
    • dtrenable:整数,0:Disable,1:Enable,2:Handshake(Only In Win32)。Windows下缺省为1(handshake),Linux缺省:0
    • flowcontrolinenble:整数,是否允许输入的软件流控 1:允许,0:禁止。缺省:0
    • flowcontroloutenble:整数,是否允许输出的软件流控 1:允许,0:禁止。缺省:0
    • modem:整数。缺省:0
    • receiverenble:整数。缺省:1
    • dsrenable:整数:Controls whether DSR is disabled or enabled (Win32)。缺省:0
    • 示例:
      • windows下:port=COM2;baudrate=9600;parity=E;databits=8;stopbits=1;ctsenable=1;rtsenable=1;dtrenable

...

      • =1
      • 网关下:port=/dev/ttyO1;bandrate=9600;parity=0;databits=8;stopbits=1   


测试串口

方法一,电脑使用USB转串口线,串口接入RS232的CH1(/dev/ttyO1)

  • 登录网关(通过SSH)
  • 命令行设置使用连线的串口参数:stty -F /dev/ttyO3 ispeed 9600 ospeed 9600 cs8

    • 该命令将串口1(/dev/ttyO1)设置成115200波特率,8位数据模式。一般情况下设置这两个参数就可以了,如果显示数据乱码,可能还需要设置其它参数,使用man查看stty其它设置选项。

  • 查看和确认已经打开串口的参数:stty -F /dev/ttyO3 -a

    • 返回的参数如果禁用了则前面有(-),没有-号表示启用。

  • 验证网关串口发送数据正确性

    • (1)打开网关串口CH3,发送上面查找到的有应答的协议数据给串口:
      发送文本:echo sss > /dev/ttyO3
      发送十六进制串: echo -e -n "\x55\x01\x00\x10\xF0\xAA" > /dev/ttyO3
      -e // 表示使能反斜杠转义,这样遇到\就会转义为二进制
      -n // 不添加行尾换行标识,因为默认的 echo 会在末尾添加 0x0A
      双引号表示要转义的字符串,\x表示十六进制,\0NNN 表示八进制
    • (2)Windows下串口工具查看应收到上面所发的数据,应一致
    • 5.验证网关串口接受数据正确性:
      (1)Windows下通过唐老鸭发送一个十六进制串,如: 11 22 33
      (2)网关下通过如下命令查看是否收到,应一致:cat /dev/ttyO3