产品概述:
IBF66产品实现传感器和主机之间的信号采集,用来解码编码器信号和设备控制。IBF66系列产品可应用在 RS-232/485总线工业自动化控制系统,自动化机床,工业机器人,三坐标定位系统,位移测量,行程测量,角度测量,转速测量等等。
产品包括信号隔离,脉冲信号捕捉,信号转换和RS-485串行通信。每个串口较多可接255只 IBF66系列模块,通讯方式采用ASCII码通讯协议或MODBUS RTU通讯协议,波特率可由代码设置,能与其他厂家的控制模块挂在同一RS-485总线上,便于计算机编程。
字符协议命令由一系列字符组成,如首码、地址ID,变量、可选校验和字节和一个用以显示命令结束符(cr)。主机除了带通配符地址“**”的同步的命令之外,一次只指挥一个IBF66模块。
命令格式:(Leading Code)(Addr)(Command)[data][checksum](cr)
(Leading code) 首码是命令中的**个字母。所有命令都需要一个命令首码,如%,$,#,@,...等。 1- 字符
(Addr) 模块的地址代码, 如果下面没有*,取值范围从 00~FF (十六进制)。 2- 字符
(Command) 显示的是命令代码或变量值。 变量长度
[data] 一些输出命令需要的数据。 变量长度
[checksum] 括号中的Checksum(校验和)显示的是可选参数,只有在启用校验和时,才需要此选项。 2- 字符
(cr) 识别用的一个控制代码符,(cr)作为回车结束符,它的值为0x0D。 1- 字符
当启用校验和(checksum)时,就需要[Checksum]。它占2-字符。命令和应答都必须附加校验和特性。校验和用来检查所有输入命令,来帮助你发现主机到模块命令错误和模块到主机响应的错误。校验和字符放置在命令或响应字符之后,回车符之前。
计算方法:两个字符,十六进制数,为之前所发所有字符的ASCII码数值之和,然后与十六进制数0xFF相与所得。
应用举例:禁止校验和(checksum)
用户命令 $002(cr)
模块应答 !00020600 (cr)
启用校验和(checksum)
用户命令 $002B6 (cr)
模块应答 !00020600 A9 (cr)
‘$’ = 0x24 ‘0’ = 0x30 ‘2’ = 0x32
B6=(0x24+0x30+0x30+0x32) AND 0xFF
‘!’ = 0x21 ‘0’ = 0x30 ‘2’ = 0x32 ‘6’ = 0x36
A9=(0x21+0x30+0x30+0x30+0x32+0x30+0x36+0x30+0x30) AND 0xFF
命令的应答 :
应答信息取决于各种各样的命令。应答也由几个字符组成,包括首代码,变量和结束标识符。应答信号的首代码有两种, ‘!’或 ‘>’表示有效的命令而‘?’ 则代表无效。通过检查应答信息,可以监测命令是否有效
注意:1、在一些情况下,许多命令用相同的命令格式。要确保你用的地址在一个命令中是正确的,假如你用错误的地址,而这个地址代表着另一个模块,那么命令会在另一个模块生效,因此产生错误。
2、必须用大写字母输入命令。
3、(cr)代表键盘上的回车符,不要直接写出来,应该是敲一下回车键(Enter键)。
1、读取开关状态命令
说 明:从模块中读回所有输出通道开关量状态、开关量复位状态和编码器输入通道开关量状态。
命令格式:#AA(cr)
参数说明:# 分界符。十六进制为23H
AA 模块地址,取值范围 00~FF(十六进制)。出厂地址为01,转换成十六进制为每个字符的ASCII码。如地址01换成十六进制为30H和31H。
(cr) 结束符,上位机回车键,十六进制为0DH。
应答格式:> AAAAAAAA,BBBBBBBB,CCCCCCCC(cr) 命令有效。
?01(cr) 命令无效或非法操作。
参数说明:> 分界符。十六进制为3EH
AAAAAAAA代表读取到的输出开关状态,8个数,排列顺序为DO7~DO0,
值为 0: 输出三极管断开;值为 1: 输出三极管接通
BBBBBBBB代表读取到的复位后输出开关状态,8个数,排列顺序为DO7~DO0,
值为 0: 输出三极管断开;值为 1: 输出三极管接通
CCCCCCCC代表读取到的编码器输入开关状态,8个数,排列顺序为B3A3 B2A2 B1A1 B0A0,
值为 0: 输入低电平;值为 1: 输入高电平
(cr) 结束符,上位机回车键,十六进制为0DH。
应用举例: 用户命令(字符格式) #01(cr)
模块应答(字符格式) >00011000,00001010,00000111(cr)
说 明:模块输出开关状态是00011000, 排列顺序为DO7~DO0
通道0:三极管断开 通道1:三极管断开 通道2:三极管断开 通道3:三极管接通
通道4:三极管接通 通道5:三极管断开 通道6:三极管断开 通道7:三极管断开
模块复位后输出开关状态是00001010, 排列顺序为DO7~DO0
通道0:三极管断开 通道1:三极管接通 通道2:三极管断开 通道3:三极管接通
通道4:三极管断开 通道5:三极管断开 通道6:三极管断开 通道7:三极管断开
模块输入开关状态是00000111 , 排列顺序为B3A3 B2A2 B1A1 B0A0
A0:高电平 B0:高电平 A1:高电平 B1:低电平
A2:低电平 B2:低电平 A3:低电平 B3:低电平