远程IO模块意思解释
远程IO模块,是工业级远程采集与控制模块,该模块提供了无源节点的开关量输入采集,继电器输出,高频计数器等功能。
简介
可将系列内多个模块进行总线组网,使得IO点数得到灵活扩展。模块可以由远程命令进行控制。该模块采用工业级元器件,10-30VDC宽电压输入,能够在-30℃~60℃范围内正常工作,支持RS232、RS485通信模式,通信协议采用工业标准的ModbusRTU协议。参数供电电压:10-30VDC支持反极性保护静态功耗:≤0.3W开关量输入:无源节点,2500VDC光电隔离继电器触点:1A@30VDC0.5A@150V动作时长5ms通信接口:RS485/RS232波特率:1200/2400或4800/9600/19200校验位:N数据位:8停止位:1通信协议:ModbusRTU看门狗:内置、外置2路工作温度:-30℃~60℃工作湿度:5%~90%RH,无凝露设备尺寸:124mmx73mmx34mm(长x宽x厚)安装方式:导轨固定/螺钉固定
分类
RIO-8100-4DI4DO4路开关量输入/4路计数器,4路继电器输出RIO-8100-4DI4路开关量输入/4路计数器RIO-8100-4DO4路继电器输出RIO-8100-6DO6路继电器输出RIO-8100-2DI5DO2路开关量输入/2路计数器,5路继电器输出RIO-8100系列远程采集与控制模块,采用RS232、RS485通信模式与上位进行数据交互,通信协议为工业标准的ModbusRTU协议,ModBus协议定义了一个控制器能认识使用的消息结构,而不管它们是通过何种网络进行通信的,它制定了消息域的格局和内容的公共格式,描述了一个控制器请求访问其它设备的过程,回应来自其它设备的请求,以及侦测并记录错误信息。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以完成信息和数据的交换与传送,使各种不同的公司和厂家的可编程逻辑控制器(PLC)、RTU、SCADA系统、DCS或与兼容ModBus协议的第三方设备之间可以连成工业网络,构建各种复杂的监控系统,并利于系统的维护和扩展,这个通讯协议已广泛被国内外各行业作为系统集成的一种通用工业标准协议。
实际应用
1.通信协议格式远程IO设备实现Modbus通信时,均作为从机,遵循Modbus通信过程,采用了MODBUS-RTU协议的命令子集,使用读寄存器命令(03)和单寄存器设置命令(06)。每消息的开头和结尾至少有3.5个字节时间的间隔。注:03命令用于主机读取远程IO设备的采集数据或端口状态;06命令用于设置设备参数或远程控制IO设备继电器动作;功能码03(读指令)利用Modbus通信协议的03功能码,读取设备的数值。主机请求数据格式:从机地址、功能码、起始地址、数据个数及CRC码
主机发送字节数信息内容备注从机地址1xx向地址为xx的从机要数据功能码103读取寄存器寄存器起始地址Rn2NNRn起始地址=NNRnNN为00-FF的任意数值数据长度Ln200XX读取XX个数据,每数据2个字节CRC码2CRCL、CRCH由主机计算得到的CRC码,低位在前、高位在后。
例如:从机地址为01,读取设备寄存器地址=0000的数值(1个数值)。010300000001840A
从机响应数据格式:从机地址、功能码、字节数、数据区及CRC码从机发送字节数信息内容备注从机地址1xx从机地址功能码103读取寄存器数据长度100XX读取XX个字节(共2倍数据个数)寄存器0高字节1DATA0H寄存器0数据,高位在前,低位在后。寄存器0低字节1DATA0L寄存器n高字节1DATAnH寄存器n数据,高位在前,低位在后。寄存器n低字节1DATAnLCRC码2CRCL、CRCH由从机计算得到的CRC码,低位在前,高位在后。
寄存器数据为二个字节,高位在前。CRC码都是二个字节,低位在前。例如:从机地址为01返回:010302DATA0HDATA0LCRCLCRCH功能码06(写指令)利用Modbus通信协议的06功能码,设置设备的一个寄存器的数值。信息帧格式:①主机请求数据格式:从机地址、功能码、寄存器地址、设置的数据及CRC码
主机发送字节数信息内容备注从机地址1ADDxx向地址为XX的从机预置数据功能码106预置单个寄存器寄存器地址200-Rn需要预置的寄存器数据值高位1DATAH需要预置数据数据值低位1DATAL需要预置数据CRC码2CRCL、CRCH由主机计算得到的CRC码,低位在前,高位在后。
2.寄存器
寄存器地址(16进制)功能(每寄存器数值16bit,即2字节)存取属性读功能码:03写功能码:060001485地址读写0002串口波特率读写0000:1200;0001:2400;0002:4800;0003:9600;0004:192000003所有DO输出状态,返回值1-16bit,按位表示第x路输出状态,所在位只读为0:继电器常态(开路),所在位为1:继电器闭合(合路)注:当前仅有前6个bit有效。0004所有DI输入状态,返回值1-16bit,按位表示第x路输入状态,只读所在位为0:无输入,所在位为1:有输入注:当前仅有前4个bit有效。0005第1路继电器状态读写0000:继电器常态(开路)0001:继电器闭合(合路)0006第2路继电器状态读写0000:继电器常态(开路)0001:继电器闭合(合路)0007第3路继电器状态读写0000:继电器常态(开路)0001:继电器闭合(合路)0008第4路继电器状态读写0000:继电器常态(开路)0001:继电器闭合(合路)0009第5路继电器状态读写0000:继电器常态(开路)0001:继电器闭合(合路)000A第6路继电器状态读写0000:继电器常态(开路)0001:继电器闭合(合路)000B读第1路DI输入状态只读0000:无输入(开路状态)0001:有输入(合路状态)000C第2路DI输入状态只读0000:无输入(开路状态)0001:有输入(合路状态)000D第3路DI输入状态只读0000:无输入(开路状态)0001:有输入(合路状态)000E第4路DI输入状态只读0000:无输入(开路状态)0001:有输入(合路状态)000F第1路输入计数值—高16位读写0010第1路输入计数值—低16位读写0011第2路输入计数值—高16位读写0012第2路输入计数值—低16位读写0013第3路输入计数值—高16位读写0014第3路输入计数值—低16位读写0015第4路输入计数值—高16位读写0016第4路输入计数值—低16位读写
常用指令示例
设备串口出厂参数如下:通信模式:RS485;可通过主板跳线更改为RS232通信模式。485地址:1;另:设备同时接受地址为0的指令。此方式便于当忘记设备地址时对设备进行操作,包括参数的设定,或者端口数据的访问。波特率:9600bps;可通过软件或指令修改,范围为:1200、2400、4800、9600、19200。校验位:N;数据位:8;停止位:1;CRC值的计算可通过配套光盘内的CRC软件计算。以下以设备485地址为1,举例:1)读设备所有寄存器内容:0001至0016,共22个,每个寄存器内容占2个字节,上位主机发送:01、03、00、01、00、16、95、C4从机设备返回:01、03、2C、(44字节数据)、CRCL、CRCH2)读485地址(03读指令)上位主机发送:01、03、00、01、00、01、D5、CA从机设备返回:01、03、02、00、01、79、84(地址为1)3)设485地址(06写指令)上位主机发送:00、06、00、01、00、01、18、1B(设置地址为1)从机设备返回:01、06、00、01、00、01、19、CA4)读波特率(03读指令)上位主机发送:01、03、00、02、00、01、25、CA从机设备返回:01、03、02、00、03、F8、45(波特率为03:9600)5)设波特率(06写指令)上位主机发送:01、06、00、02、00、02、A9、CB(波特率设为4800)从机设备返回:设备串口波特率立即改变,因此返回数据无意义。6)读所有DO状态(03读指令)上位主机发送:01、03、00、03、00、01、74、0A从机设备返回:01、03、02、00、00、B8、44(所有DO为0时)7)读所有DI状态(03读指令)上位主机发送:01、03、00、04、00、01、C5、CB从机设备返回:01、03、02、00、00、B8、44(所有DI为0时)8)第1路继电器合闸(06写指令)上位主机发送:01、06、00、05、00、01、58、0B从机设备返回:01、06、00、05、00、01、58、0B9)第1路继电器分闸(06写指令)上位主机发送:01、06、00、05、00、00、99、CB从机设备返回:01、06、00、05、00、00、99、CB10)第2路继电器合闸(06写指令)上位主机发送:01、06、00、06、00、01、A8、0B从机设备返回:01、06、00、06、00、01、A8、0B11)第2路继电器分闸(06写指令)上位主机发送:01、06、00、06、00、00、69、CB从机设备返回:01、06、00、06、00、00、69、CB12)第3路继电器合闸(06写指令)上位主机发送:01、06、00、07、00、01、F9、CB从机设备返回:01、06、00、07、00、01、F9、CB13)第3路继电分闸(06写指令)上位主机发送:01、06、00、07、00、00、38、0B从机设备返回:01、06、00、07、00、00、38、0B14)第4路继电器合闸(06写指令)上位主机发送:01、06、00、08、00、01、C9、C8从机设备返回:01、06、00、08、00、01、C9、C815)第4路继电器分闸(06写指令)上位主机发送:01、06、00、08、00、00、08、08从机设备返回:01、06、00、08、00、00、08、0816)第5路继电器合闸(06写指令)上位主机发送:01、06、00、09、00、01、98、08从机设备返回:01、06、00、09、00、01、98、0817)第5路继电器分闸(06写指令)上位主机发送:01、06、00、09、00、00、59、C8从机设备返回:01、06、00、09、00、00、59、C818)第6路继电器合闸(06写指令)上位主机发送:01、06、00、0A、00、01、68、08从机设备返回:01、06、00、0A、00、01、68、0819)第6路继电器分闸(06写指令)上位主机发送:01、06、00、0A、00、00、A9、C8从机设备返回:01、06、00、0A、00、00、A9、C820)读第1路DI状态(03读指令)上位主机发送:01、03、00、0B、00、01、F5、C8从机设备返回:01、03、02、00、00、B8、44(输入为0时)01、03、02、00、01、79、84(输入为1时)21)读第2路DI状态(03读指令)上位主机发送:01、03、00、0C、00、01、44、09从机设备返回:01、03、02、00、00、B8、44(输入为0时)01、03、02、00、01、79、84(输入为1时)22)读第3路DI状态(03读指令)上位主机发送:01、03、00、0D、00、01、15、C9从机设备返回:01、03、02、00、00、B8、44(输入为0时)01、03、02、00、01、79、84(输入为1时)23)读第4路DI状态(03读指令)上位主机发送:01、03、00、0E、00、01、E5、C9从机设备返回:01、03、02、00、00、B8、44(输入为0时)01、03、02、00、01、79、84(输入为1时)24)读第1路DI计数值(03读指令)上位主机发送:01、03、00、0F、00、02、F4、08从机设备返回:01、03、04、4字节数据、CRCL、CRCH(4字节-32位整数)25)写第1路DI计数值(06写指令)上位主机发送:01、06、00、10、00、0A、08、08(设置计数器为10)从机设备返回:01、06、00、10、00、0A、08、0826)读第2路DI计数值(03读指令)上位主机发送:01、03、00、11、00、02、94、0E从机设备返回:01、03、04、00、00、00、00、FA、3327)写第2路DI计数值(06写指令)上位主机发送:01、06、00、12、00、0A、A9、C8(设置计数器为10)从机设备返回:01、06、00、12、00、0A、A9、C828)读第3路DI计数值(03读指令)上位主机发送:01、03、00、13、00、02、35、CE从机设备返回:01、03、04、00、00、00、00、FA、3329)写第3路DI计数值(06写指令)上位主机发送:01、06、00、14、00、0A、49、C9(设置计数器为10)从机设备返回:01、06、00、14、00、0A、49、C930)读第4路DI计数值(03读指令)上位主机发送:01、03、00、15、00、02、D5、CF从机设备返回:01、03、04、00、00、00、00、FA、3331)写第4路DI计数值(06写指令)上位主机发送:01、06、00、16、00、0A、E8、09(设置计数器为10)从机设备返回:01、06、00、16、00、0A、E8、0932)读第1路DO状态(03读指令)上位主机发送:01、03、00、05、00、01、94、0B从机设备返回:01、03、02、00、00、B8、44(输出为0时)01、03、02、00、01、79、84(输出为1时)33)读第2路DO状态(03读指令)上位主机发送:01、03、00、06、00、01、64、0B从机设备返回:01、03、02、00、00、B8、44(输出为0时)01、03、02、00、01、79、84(输出为1时)34)读第3路DO状态(03读指令)上位主机发送:01、03、00、07、00、01、35、CB从机设备返回:01、03、02、00、00、B8、44(输出为0时)01、03、02、00、01、79、84(输出为1时)35)读第4路DO状态(03读指令)上位主机发送:01、03、00、08、00、01、05、C8从机设备返回:01、03、02、00、00、B8、44(输出为0时)01、03、02、00、01、79、84(输出为1时)36)读第5路DO状态(03读指令)上位主机发送:01、03、00、09、00、01、54、08从机设备返回:01、03、02、00、00、B8、44(输出为0时)01、03、02、00、01、79、84(输出为1时)37)读第6路DO状态(03读指令)上位主机发送:01、03、00、0A、00、01、A4、08从机设备返回:01、03、02、00、00、B8、44(输出为0时)01、03、02、00、01、79、84(输出为1时)如忘记设备地址,可使用0地址进行访问,以完成上述功能。如忘记波特率,则可在1200/2400或4800/9600/19200之间轮选。校验位固定为N,数据位固定为8,停止位固定为1。CRC值,可使用光盘内CRC软件计算。您也可以通过光盘内设置软件的人机界面对设备进行设定。以下为使用0地址进行设备通信的示例,使用0地址,设备应不在组网状态下进行,否则所有组网设备均对0地址的指令做出响应,示例如下:1)读设备所有寄存器内容:0001至0016,共22个,每寄存器内容占2个字节,含义见章节3(设备寄存器说明)。上位主机发送:00、03、00、01、00、16、94、15从机设备返回:01、03、2C(44字节数据)CRCL、CRCH(从机响应0地址,并以自身实际地址返回数据)2)设定485地址为01上位主机发送:00、06、00、01、00、01、18、1B从机设备返回:01、06、00、01、00、01、19、CA3)设定485地址为02上位主机发送:00、06、00、01、00、02、58、1A从机设备返回:02、06、00、01、00、02、59、F84)设定485地址为03上位主机发送:00、06、00、01、00、03、99、DA从机设备返回:03、06、00、01、00、03、99、E95)设定485地址为04上位主机发送:00、06、00、01、00、04、D8、18从机设备返回:04、06、00、01、00、04、D9、9C6)设定485地址为05上位主机发送:00、06、00、01、00、05、19、D8从机设备返回:05、06、00、01、00、05、19、8D7)设定485地址为06上位主机发送:00、06、00、01、00、06、59、D9从机设备返回:06、06、00、01、00、06、59、BF8)设定波特率为1200上位主机发送:00、06、00、02、00、00、29、DB从机设备返回:因设备波特率立即改变,返回数据无意义9)设定波特率为2400上位主机发送:00、06、00、02、00、01、E8、1B从机设备返回:因设备波特率立即改变,返回数据无意义10)设定波特率为4800上位主机发送:00、06、00、02、00、02、A8、1A从机设备返回:因设备波特率立即改变,返回数据无意义11)设定波特率为9600上位主机发送:00、06、00、02、00、03、69、DA从机设备返回:因设备波特率立即改变,返回数据无意义12)设定波特率为19200上位主机发送:00、06、00、02、00、04、28、18从机设备返回:因设备波特率立即改变,返回数据无意义0地址,同样可以对设备进行DI、DO状态的读写,具体参照设备地址为1的示例,CRC值可通过光盘内的CRC小工具计算。
软件配置
远程IO设备采用标准的ModbusRTU协议,可容易配置到组态画面中
带远程IO模块字词语
带远程IO模块字成语