产品
云服务
平台服务
行业解决方案
在线购买
QK-X8Y8A4O2工控板是广州全控科技股份有限公司自主研发生产的工业控制与采集核心板,支持标准MODBUS RTU协议,支持RS485通讯,波特率选用9600(8数据位,1停止位,无校验)。
QK-X8Y8A4O2工控板是QK-X4Y3A4O2的升级版本,集成了8路开关量控制继电器输出、8路输入开关量检测、4路电流模拟量采集、2路电流模拟量输出。该设备支持18-26V宽电压供电。输入开关量12-40V,输出开关量控制最大5A电流的继电器输出。电流模拟量采集支持量程4-20mA,电流模拟量输出最大20mA。
Modbus最开始由莫迪康(Modicon)开发,而现如今由Modbus用户组织管理。Modbus是开放的主站/从站应用协议,可应用于多个不同的物理层。Modbus是应用层消息协议,位置在OSI模型中的第7层。
它提供连接在不同类型总线或网络上的设备之间的客户端/服务器通讯。Modbus-RTU (远程终端单元)意味着Modbus协议用于具有RS-232,RS-485或类似物理接口的串行线缆之上。
众多的自动化系统具有Modbus-RTU接口用于通讯。Modbus设备经过Modbus用户组织的互操作性和Modbus技术规格一致性认证。
支持定制(如需定制请联系我们)
(一)分布式主从机功能
(二)对等分布式主机
(三)增加通信接口4G
(四)增加通信接口LORA
(五)对等局域网430M-新型网络对等网络等
(六)有线接口RS-485
(七)高速CAN接口
(八)远程编程维护
(九)设备自运算
(十)模拟量采集
当今世界,工业控制已从单机控制走向集中监控、集散控制。在进入网络时代的今天,工业控制器连网也为网络管理提供了方便。ModBus协议就是工业控制器的网络协议中的一种。ModBus协议是Modicon公司于1978年发明的一种用于电子控制器进行控制和通讯的通讯协议。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以进行通信。它的开放性、可扩充性和标准化使它成为一个通用工业标准。有了它,不同厂商生产的控制设备可以简单可靠地连成工业网络,进行系统的集中监控,从而使它成为最流行的协议之一。
ModBus协议包括ASCII, RTU, PLUS, TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的ModBus 是使用RS-232C 兼容串行接口, RS-232C规定了连接器针脚、接线、信号电平、波特率、奇偶校验等信息,ModBus的ASCII, RTU协议则在此基础上规定了消息、数据的结构、命令和应答的方式。ModBus控制器的数据通信采用Master/Slave方式(主/从),即Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。
ModBus可以应用在支持ModBus协议的PLC和PLC之间、PLC和个人计算机之间、计算机和计算机之间、远程PLC和计算机之间以及远程计算机之间(通过Modem连接),可见ModBus的应用是相当广泛的。由于ModBus是一个事实上的工业标准,许多厂家的PLC, HMI、组态软件都支持ModBus,而且ModBus是一个开放标准,其协议内容可以免费获得,一些小型厂商甚至个人都可根据协议标准开发出支持ModBus的产品或软件,从而使其产品联入到ModBus的数据网络中。因此,ModBus有着广泛的应用基础。在实际应用中,可以使用RS232, RS 485 /422 , Modem加电话线、甚至TCP/IP来联网。所以,ModBus的传输介质种类较多,可以根据传输距离来选择。
ModBus可分为两种传输模式:ASCII模式和RTU模式。使用何种模式由用户自行选择,包括串口通信参数(波特率、校验方式等)。在配置每个控制器的时候,同一个ModBus网络上的所有设备都必须选择相同的传输模式和串口参数。
当控制器设为在ModBus网络上以ASCII模式通信,在消息中的每个8Bit字节都作为两个ASCII字符发送。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。
使用ASCII模式,消息以冒号(:)字符(ASCII码3AH)作为起始位,以回车换行符(ASCII码0DH, 0AH)作为结束符。传输过程中,网络上的设备不断侦测“:”字符,当有一个冒号接收到时,每个设备就解码下个位的地址域,来判断是否发给自己的。与地址域一致的设备继续接受其它域,直至接受到回车换行符。除起始位和结束符外,其他域可以使用的传输字符是十六进制的0…9,A…F,当然也要用ASCII码表示字符。当选用ASCII模式时,消息帧使用LRC(纵向冗长检测)进行错误检测。
当控制器设为RTU模式时,消息帧中的每个8Bit字节包含两个4Bit的十六进制字符。
该模式下消息发送至少要以3.5个字符时间的停顿间隔开始。传输过程中,网络设备不断侦测网络总线,包括停顿间隔时间内。当第一个域(地址域)接收到,相应的设备就对接下来的传输字符进行解码,一旦有至少3. 5个字符时间的停顿就表示该消息的结束。
在RTU模式中整个消息帧必须作为一连续的流转输,如果在帧完成之前有超过1.5个字符时间的停顿时间,接收设备将刷新不完整的消息并假定下一字节是一个新消息的地址域。同样地,如果一个新消息在小于3. 5个字符时间内接着前个消息开始,接收的设备将认为它是前一消息的延续。如果在传输过程中有以上两种情况发生的话,必然会导致CRC校验产生一个错误消息,反馈给发送方设备。
当控制器设为RTU(远程终端单元)模式通信时,消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种模式与ASCII模式相比在同样的波特率下,可比ASCII模式传送更多的数据。
产品如图 3.1所示:
图 3.1产品PCB
符号 | 描述 | 最小值 | 最大值 | 单位 | |
VDD | 输入电压 | 18 | 26 | V | |
Tmr | 温度 | -20 | 85 | ℃ |
引脚名 | I/O | 描述 | DC特性 | 备注 | |
24V | PI | 模块输入电源正极 | Vmax=26V Vmin=18V | 外部电源必须提供达500mA的电流 | |
0V/GND | PI | 模块输入电源负极 | |||
COM | DI | 电平输入公共端 | X0-X7输入电平公共端 | 外部通断信号输入时的公共端 | |
COM1 | DI | 电平输入公共端 | X0-X7输入电平公共端 | 外部电源输入时的公共端 | |
12V | DO | 内部转换的12V输出 | 可给外部传感器供电 | ||
3.3V | DO | 内部转换的3.3V输出 | 可给外部工作电流较小的传感器供电
| ||
3.4V | DO | 内部隔离电源3.4V输出 | 用于内部光耦隔离 | COM作为该电源的地 | |
X0 | DI | 数字量输入1 | 开关量输入有两种模式(通过板上的MODE跳线帽改变),默认外部电源输入信号。一种是外部电源输入信号(跳线帽不接),一种是外部通断信号(插上跳线帽)。当接外部电源信号时,COM1作公共端;当接外部通断信号时,COM作公共端。 | 寄存器号10001 地址0x00 | 外部有输入时值为1 |
X1 | DI | 数字量输入2 | 寄存器号10002 地址0x01 | 外部有输入时值为1 | |
X2 | DI | 数字量输入3 | 寄存器号10003 地址0x02 | 外部有输入时值为1 | |
X3 | DI | 数字量输入4 | 寄存器号10004 地址0x03 | 外部有输入时值为1 | |
X4 | DI | 数字量输入5 | 寄存器号10005 地址0x04 | 外部有输入时值为1 | |
X5 | DI | 数字量输入6 | 寄存器号10006 地址0x05 | 外部有输入时值为1 | |
X6 | DI | 数字量输入7 | 寄存器号10007 地址0x06 | 外部有输入时值为1 | |
X7 | DI | 数字量输入8 | 寄存器号10008 地址0x07 | 外部有输入时值为1 | |
Y0 | DO | 继电器输出1 | IddMax=5A | 寄存器号00001 地址0x00 | 写1继电器闭合 |
Y1 | DO | 继电器输出2 | 寄存器号00002 地址0x01 | 写1继电器闭合 | |
Y2 | DO | 继电器输出3 | 寄存器号00003 地址0x02 | 写1继电器闭合 | |
Y3 | DO | 继电器输出4 | 寄存器号00004 地址0x03 | 写1继电器闭合 | |
Y4 | DO | 继电器输出5 | 寄存器号00005 地址0x04 | 写1继电器闭合 | |
Y5 | DO | 继电器输出6 | 寄存器号00006 地址0x05 | 写1继电器闭合 | |
Y6 | DO | 继电器输出7 | 寄存器号00007 地址0x06 | 写1继电器闭合 | |
Y7 | DO | 继电器输出8 | 寄存器号00008 地址0x07 | 写1继电器闭合 | |
AD6 | AI | 模拟量输入1 |
Idd=4~20mA
| 寄存器号30001 地址0x00 | 实际值=获取值/1000 (例如3997为3.997毫安) |
AD7 | AI | 模拟量输入2 | 寄存器号30002 地址0x01 | 实际值=获取值/1000
| |
AD8 | AI | 模拟量输入3 | 寄存器号30003 地址0x02 | 实际值=获取值/1000
| |
AD9 | AI | 模拟量输入4 | 寄存器号30004 地址0x03 | 实际值=获取值/1000
| |
DA0 | AO | 模拟量输出1 | Idd=4~20mA
| 寄存器号40001 地址0x00 | 实际值=获取值/1000
|
DA1 | AO | 模拟量输出2 | 寄存器号40002 地址0x01 | 实际值=获取值/1000
| |
A | DI | RS485输入 | A端 | Modbus RTU接口 | |
B | DI | RS485 输入 | B端 | Modbus RTU接口 |
产品上电后,正常情况下POWER红灯会亮,RUN运行灯会闪。
1. 从机地址(0x50)
2. 波特率(9600)
3. 数据位(字长度8,奇偶校验无,停止位1)
通过modbus的保存寄存器可以修改从机地址和485端口通讯参数,修改后需断电重启才生效。
地址 | 寄存器数 | 定义 | 操作 | 格式 | 备注 |
寄存器号40011 地址0x0A | 1 | 从机地址 | R/W | HEX | 默认:0x50 地址范围0x01-0xF7(1-247) 当写入值不在范围内则默认0x50 |
寄存器号40012 地址0x0B | 1 | 波特率 | R/W | HEX | 默认:9600 0:2400 1:4800 2:9600 3:14400 4:19200 5:38400 6:57600 7:115200 其他:9600 |
寄存器号40013 地址0x0C | 1 | 停止位 | R/W | HEX | 0:1位 1:2位 其他:1位 |
寄存器号40014 地址0x0D | 1 | 校验方式 | R/W | HEX | 0:无校验 1:偶校验 2:奇校验 其他:无校验 |
1. 控制继电器输出:设置继电器Y0和Y2闭合。
2. 开关量输入检测:X0开关量输入1,将X0端接12V,COM1接负极。
3. 控制电流模拟量输出:设置DA1输出4毫安,将DA1通过万用表连到AD6,AD6得出电流3.996毫安。
4. 控制电流模拟量输出:设置DA1输出16毫安,将DA1通过万用表连到AD7,AD7得出电流15.996毫安。