字符协议Socket通讯
在Websocket,TCP Server,TCP Client,UDP Mode等工作方式下,可以使用以下字符协议通讯。
如果在配置设置里把自动上传数据设置为“是”,
在Websocket,TCP Server,TCP Client工作方式下,
通讯连接成功后会自动上传数据。UDP Mode不会自动
上传数据,需要发命令读取数据。
1、读取开关状态命令
说 明:从模块中读回所有输出通道开关量状态、开关量复位状态和输入通道开关量状态。
命令格式:#01
应答格式:> AAAAAAAA,BBBBBBBB,CCCCCCCC 命令有效。
?01(cr) 命令无效或非法操作。
参数说明:> 分界符。十六进制为3EH
AAAAAAAA代表读取到的输出开关状态,8个数,排列顺序为DO7~DO0,
值为 0: 输出三极管断开;值为 1: 输出三极管接通
BBBBBBBB代表读取到的复位后输出开关状态,8个数,排列顺序为DO7~DO0,
值为 0: 输出三极管断开;值为 1: 输出三极管接通
CCCCCCCC代表读取到的输入开关状态,8个数,排列顺序为DI7~DI0,
值为 0: 输出三极管断开;值为 1: 输出三极管接通
应用举例: 用户命令(字符格式) #01
模块应答(字符格式) >00011000,00001010,00000111
(十六进制格式):213032303130300D
说 明:模块输出开关状态是00011000, 排列顺序为DO7~DO0
通道0:三极管断开 通道1:三极管断开 通道2:三极管断开 通道3:三极管接通
通道4:三极管接通 通道5:三极管断开 通道6:三极管断开 通道7:三极管断开
模块复位后输出开关状态是00001010, 排列顺序为DO7~DO0
通道0:三极管断开 通道1:三极管接通 通道2:三极管断开 通道3:三极管接通
通道4:三极管断开 通道5:三极管断开 通道6:三极管断开 通道7:三极管断开
模块输入开关状态是00000111 , 排列顺序为DI7~DI0
通道0:高电平 通道1:高电平 通道2:高电平 通道3:低电平
通道4:低电平 通道5:低电平 通道6:低电平 通道7:低电平
2、设置三极管输出命令
说 明:设置所有输出通道三极管状态。所有通道的出厂设置为00000000。
命令格式:#011ABCD
参数说明:# 分界符。十六进制为24H
011 表示设置三极管输出命令
AB 通道选择,可选择全部输出通道或单个输出通道。
设置输出:设置AB为00,则表示对全部输出通道进行设置。如对单个通道进行设置,则字符A必须设置为1,字符B可设为0-7,代表8个三极管DO输出通道。
设置复位输出:设置AB为FF,则表示设置全部通道的复位输出值。如对单个通道复位输出进行设置,则字符A必须设置为E,字符B可设为0-7,代表8个三极管DO输出通道。
CD 输出值。
1, 如果是对所有通道设置(AB=00或AB=FF)
则为两个16进制数,如右图
C | D | ||||||
DO7 | DO6 | DO5 | DO4 | DO3 | DO2 | DO1 | DO0 |
Bit7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit2 | Bit 1 | Bit 0 |
C代表7~4通道
D代表3~0通道
位值为 0:
设置输出三极管断开
位值为 1:
设置输出三极管接通
2, 如果是对单个通道设置(AB=1X或AB=EX, X表示要设定的通道),则只能设置为00或01,
00:设置X通道输出三极管断开
01:设置X通道输出三极管接通
应答格式:!01(cr) 命令有效。
?01(cr) 命令无效或非法操作。
应用举例1: 用户命令(字符格式) #011000F
模块应答(字符格式) !01(cr)
说 明:设置所有通道(AB=00)的输出为0FH,转成2进制是0000 1111,
那么模块输出的开关状态是:
通道0:三极管接通 通道1:三极管接通 通道2:三极管接通 通道3:三极管接通
通道4:三极管断开 通道5:三极管断开 通道6:三极管断开 通道7:三极管断开
应用举例2:用户命令(字符格式) #0111201
模块应答(字符格式) >(cr)
说 明:设置通道2的三极管接通。
应用举例3: 用户命令(字符格式) #011FFFF
模块应答(字符格式) !00(cr)
说 明:设置所有通道(AB=FF)的复位输出为FFH,转成2进制是1111 1111,
那么模块复位后所有通道的三极管接通。