VisualHMI 支持的통신 프로토콜详解:DCBUS/XGUS/Modbus 主从帧형식与설정

무료무료 기술 자료

이 글은 바로 읽을 수 있으며 기초 학습과 검색 유입에 적합합니다.

这篇把 VisualHMI 支持的프로토콜挨个过一遍,重点放在Modbus RTU 主从모드和帧형식上——因为这是和 modbus.cn 读者最贴的部分,也是디버깅时最容易踩坑的地方。其他 PLC 프로토콜(FX2N/台达/信捷/永宏)설정项大同小异,文末一并列了。

⚠️ 铁律:同一路시리얼 포트只能跑一种프로토콜。 你不能在 UART1 上既挂 Modbus 又挂 DCBUS。多프로토콜需求得靠硬件多路시리얼 포트。

一、DCBUS 프로토콜(大彩구성(SCADA)프로토콜)

DCBUS 是屏和自有主板对接常用的구성(SCADA)프로토콜,帧结构如下:

필드길이설명
帧头2 byte默认 0xAA55,可自定义
站号1 바이트默认 0,255 为广播
길이1 바이트기능 코드+데이터+체크섬的总바이트数
기능 코드1 바이트0xF1 写 / 0xF2 读
주소2 byte用户区 0x0100~0xFFFF,系统区 <0x1000
데이터n byte레지스터 값
체크섬2 byteCRC16 或预留 0xCCCC

CRC16 算法(大彩给的 C 参考,Modbus 同款查表法):

uint16 MB_calc_crc16(uint8 *buffer, uint32 n){
  uint16 crc = 0xffff;
  for(i = 0; i < n; i++){
    crc = crc ^ buffer[i];
    for(j = 0; j > 1;
      if(carry_flag == 1) crc = crc ^ 0xa001;
    }
  }
  return crc;
}

写변수(0xF1)예제,向 0x1000 写 100、站号 0、不开 CRC:

AA55 00 07 F1 1000 0064 CCCC
 ↑帧头 ↑站 ↑길이 ↑写 ↑주소  ↑值   ↑预留

站号设为 1 且开 CRC 时:AA55 01 07 F1 1000 0064 7289,屏应答 AA55 01 03 F1 E174。

读변수(0xF2)예제,读 0x1000(假设值 100):

主板请求: AA55 00 06 F2 1000 01 CCCC
屏返回:   AA55 00 08 F2 1000 01 0064 CCCC
💡 디버깅提示: 开启"自动上传"后,你在屏上点버튼改了레지스터,屏会主动发 0xF2 帧上报给主板,不用主板去轮询。这点和 Modbus 从机主动上报不一样,DCBUS 的上报是屏→主板方向。

二、XGUS 프로토콜

XGUS 帧头默认 0x5AA5,结构:帧头(2) + 길이(1) + 기능 코드(1) + 주소(2) + 데이터(n) + CRC16。전환화면两种모드:

모드1: 5AA5 03 80 03 XX        // XX=화면ID
모드2: 5AA5 07 82 0084 5A01 XXXX // XXXX=화면ID

三、Modbus RTU(重点)

屏支持표준 Modbus-RTU,可设主机(Master)或从机(Slave)。

3.1 主机모드 ModbusMaster

屏当主机去轮询下挂的从机(仪表、变频器、PLC)。关键설정项:

설정项含义
最多읽기数单条指令읽기的最大바이트数
읽기间隔数주소间隔小于此值可合并成一条读指令
写重试次数写失败后最大重试
超时时间等从机应答的毫秒数
间隔时间收到应答后延时多久发下一条
写레지스터命令自动(0x06 单写/0x10 多写)或全用 0x10
离线优化읽기勾选后离线的从机不再发请求
슬레이브数目默认 1,RS485 多슬레이브界面最多配 10 个,更多用 LUA
预设바이트序默认大端,浮点/长整型可重指定

支持기능 코드:0x01 0x02 0x03 0x04 0x05 0x06 0x0F 0x10。

⚠️ 重点:바이트序坑最多。 默认大端(AB CD),但很多设备是"大端바이트序 + 大端字序"(CD AB)或反之。浮点显示错乱先查바이트序,不是프로토콜문제。用 Modbus RTU 튜토리얼 里的바이트序对照表对照设。

3.2 从机모드 ModbusSlave

屏自己当一条 Modbus 슬레이브,等上位机(PLC、게이트웨이、你的디버깅软件)来读。설정项:

설정项含义
从机站号本屏的 Modbus 주소
문자间隔超过该 ms 认为断帧
延时应答收到请求后延时再应答

同样支持 0x01~0x10 全套기능 코드。从机모드下"화면쓰기주소/화면取自주소"可实现屏和 PLC 화면联动。

四、PLC 프로토콜(FX2N/FX3U/台达/信捷/永宏)

这些설정项高度一致,列核心差异:

프로토콜레지스터寻址特点
FX2N표준모드指令短(如 02 30 31 30 30 30 30 32 03 35 36),扩展모드指令长、주소范围大
FX3U同 FX2N,표준/扩展两모드
DELTA DVPASCII 모드:STX+주소+指令+데이터+LRC 체크섬+CR LF
信捷 XC/XD표준信捷 PLC 프로토콜
永宏 FB표준永宏프로토콜

所有 PLC 프로토콜都有"与 PLC 同步화면"选项:화면变化写到指定 PLC 주소,或 PLC 某주소变值时전환화면(0xFFFF 为自动)。

本文整理自 广州大彩科技 VisualHMI 개발문서(hmi-doc.gz-dc.com)프로토콜설명章节,帧형식与레지스터설정均按原文保真,版权归大彩科技所有,此处做重点标注重排。

실제 프로젝트에 이 자료를 활용하시겠습니까?

도구 센터에서 프레임 분석, CRC 검증, 장비 디버깅을 진행하거나 요청을 제출하여 선정 및 연동 제안을 받아보세요.

엔지니어 회원

이 글을 실행 가능한 디버깅 자료로 활용하세요

가입하면 고급 프레임 분석, 자료 패키지 다운로드, 코드 예제, 엔지니어링 사례, 우선 기술 지원을 이용할 수 있어 실제 프로젝트 납품에 적합합니다.

고급 도구 무제한 이용
자료 패키지와 코드 패키지
완전한 엔지니어링 사례 라이브러리
우선 기술 지원 채널

답글 작성

이메일 주소는 공개되지 않습니다. 必填项已用 * 标注