考勤机是TCP/IP协议的,并且将它设置为了TCP Server模式,现在知道协议的命令,参数等
命令--CH6
参数--xHxL
应答--标准
说明--该命令用于控制联机机具实现特定动作。输入的2个十六进制数字字符xHxL转换成十六进制数值后确定机具准备执行的动作类型,该8bit客户代码各位含义如下:
bit7 保留,清零。
bit6~bit4 ABA通讯引脚控制:
1xx: bit5 控制 ABA_DAT 脚,bit4 控制 ABA_CLK 脚;
其他:无作用。
bit3 报警控制:
1: 报警;
0: 无动作。
bit2 开锁控制:
1: 开锁;
0: 无动作。
bit1~bit0 指示灯、蜂鸣器控制。
10: 正常指示灯亮,蜂鸣器响一声;
11: 错误指示灯亮,蜂鸣器响三声;
其他:保留。
例如,执行CH602!命令,返回#OK!,PASS灯点亮,蜂鸣器响一下。CH603!命令只会令蜂鸣器响三下(PASS灯会熄灭)。
命令--CH6
参数--xHxL
应答--标准
说明--该命令用于控制联机机具实现特定动作。输入的2个十六进制数字字符xHxL转换成十六进制数值后确定机具准备执行的动作类型,该8bit客户代码各位含义如下:
bit7 保留,清零。
bit6~bit4 ABA通讯引脚控制:
1xx: bit5 控制 ABA_DAT 脚,bit4 控制 ABA_CLK 脚;
其他:无作用。
bit3 报警控制:
1: 报警;
0: 无动作。
bit2 开锁控制:
1: 开锁;
0: 无动作。
bit1~bit0 指示灯、蜂鸣器控制。
10: 正常指示灯亮,蜂鸣器响一声;
11: 错误指示灯亮,蜂鸣器响三声;
其他:保留。
例如,执行CH602!命令,返回#OK!,PASS灯点亮,蜂鸣器响一下。CH603!命令只会令蜂鸣器响三下(PASS灯会熄灭)。
CH602:
C H 6 X(00000010)
CH603:
C H 6 X(00000011)X:最后一个字节
00000010:指令字表示当前操作是: ABA通讯引脚控制无效;设备不报警,不开锁;正常指示灯亮,蜂鸣器响一声;在指令中转换成十六进制就是:02H; 把02H转换成2个字符就是'02'......
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
cmd: string;
begin
setlength(tmpVar,24);
cmd:=Trim(edt1.Text);
for I:=1 to Length(cmd) do
begin
tmpVar[i-1]:=Byte(ord(cmd[i]));
end;
ClientSocket.Socket.SendBuf(tmpVar[0],24);
tmpvar:=nil;
if timer1.Enabled then
exit
else
timer1.Enabled:=true;
end;