IBF150字符协议命令集:
模块的出厂初始设置,如下所示:
地址代码为01
波特率9600 bps
禁止校验和
如果使用 RS-485网络,必须分配一个不重复的地址代码,地址代码取值为16进制数在00和FF之间,由于新模块的地址代码都是一样的,他们的地址将会和其他模块矛盾,所以当你组建系统时,你必须重新配置每一个IBF150模块地址。可以在接好IBF150模块电源线和RS485通讯线后,通过配置命令来修改IBF150模块的地址。波特率,校验和状态也需要根据用户的要求而调整。而在修改波特率,校验和状态之前,必须让模块先进入缺省状态,否则无法修改。
打开百度APP看高清图片
IBF150远程I/O模块,可以用来测量1路编码器信号,也可以设置作为2路独立计数器或者DI状态测量。
1、 信号输入
1路编码器信号输入或2路独立计数器,可接干接点和湿接点,通过命令设置输入类型。
2、 通讯协议
通讯接口: 1路标准的RS-485通讯接口。
通讯协议:支持两种协议,命令集定义的字符协议和MODBUS RTU通讯协议。模块自动识别通讯协议,能实现与多种品牌的PLC、RTU或计算机监控系统进行网络通讯。
数据格式:10位。1位起始位,8位数据位,1位停止位。无校验。
通讯地址(0~255)和波特率(2400、4800、9600、19200、38400、57600 、115200bps)均可设定;通讯网络最长距离可达1200米,通过双绞屏蔽电缆连接。
通讯接口高抗干扰设计,±15KV ESD保护,通信响应时间小于100mS。
3、 抗干扰
可根据需要设置校验和。模块内部有瞬态抑制二极管,可以有效抑制各种浪涌脉冲,保护模块,内部的数字滤波,也可以很好的抑制来自电网的工频干扰。
● 编码器解码转换成标准Modbus RTU协议● 可用作编码器计数器或者转速测量● 支持编码器计数,可识别正反转● 也可以设置作为2路独立DI高速计数器● 计数值支持断电自动保存● DI输入支持PNP和NPN输入● 继电器和机械开关输入时可以设置滤波时间● 通过RS-485接口可以清零和设置计数值● 宽电源供电范围:8 ~ 32VDC● 可靠性高,编程方便,易于应用● 标准DIN35导轨安装,方便集中布线● 用户可编程设置模块地址、波特率等● 编码器脉冲信号测量● 流量计脉冲计数或流量测量● 生产线产品计数 ● 物流包裹数量计数 ● 接近开关脉冲信号测量 ● 编码器信号远传到工控机● 水表或电表脉冲计数● 智能工厂与工业物联网
IBF150产品实现传感器和主机之间的信号采集,用来解码编码器信号。IBF150系列产品可应用在 RS-485总线工业自动化控制系统,自动化机床,工业机器人,三坐标定位系统,位移测量,行程测量,角度测量,转速测量,流量测量,产品计数等等。
产品包括信号隔离,脉冲信号捕捉,信号转换和RS-485串行通信。每个串口最多可接255只 IBF150系列模块,通讯方式采用ASCII码通讯协议或MODBUS RTU通讯协议,波特率可由代码设置,能与其他厂家的控制模块挂在同一RS-485总线上,便于计算机编程。
让模块进入缺省状态的方法:
IBF150模块都有一个特殊的标为INIT的管脚。将INIT管脚短路接到GND管脚后,再接通电源,此时模块进入缺省状态。在这个状态时,模块的配置如下:
地址代码为00
波特率9600 bps
禁止校验和
这时,可以通过配置命令来修改IBF150模块的波特率,校验和状态等参数。在不确定某个模块的具体配置时,也可以将INIT管脚短路接到GND管脚,再接通电源,使模块进入缺省状态,再对模块进行重新配置。
字符协议命令由一系列字符组成,如首码、地址ID,变量、可选校验和字节和一个用以显示命令结束符(cr)。主机除了带通配符地址“**”的同步的命令之外,一次只指挥一个IBF150模块。
命令格式:(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键)。