AiMaster300物联网可编程엣지 컴퓨팅 게이트웨이:Lua스크립트사용자 정의 프로토콜转换方案

무료무료 기술 자료

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

AiMaster300제품 개요

AiMaster300은(는)Lua스크립트可编程IoT 컨트롤러,통합双Lua虚拟机、丰富的통신 인터페이스和强大的데이터处理能力,是工业物联网领域实现사용자 정의 프로토콜转换、데이터采集、边缘계산和云端对接的高性能可编程平台。该제어기支持Lua스크립트编程,用户可根据现场需求灵活개발各种적용逻辑,无需修改硬件即可实现复杂的工业통신和데이터处理功能。

AiMaster300支持最多4个Lua虚拟机并行运行,每个虚拟机独立执行스크립트任务,提供TCP/IP Client/Server、Modbus Master、SQL데이터库인터페이스、MQTT인터페이스、시리얼 포트통신、实时时钟、데이터转换等丰富的函数库,内置代码库包含数十种통신예제,可快速개발各类工业物联网적용。

产品核心特点

  • Lua스크립트可编程:支持표준Lua스크립트언어,灵活개발自定义적용逻辑,无需修改硬件
  • 多虚拟机并行:支持最多4个Lua虚拟机同时运行(VM1目标포트9100,VM2目标포트9101),每个虚拟机独立执行任务
  • 丰富的函数库:提供TCP/IP、Modbus Master、SQL데이터库、MQTT、시리얼 포트、RTC实时时钟、데이터转换等完整函数库
  • 内置代码库:预置数十种통신예제代码,包括TCP Client/Server各种모드、Modbus轮询、데이터库操作、MQTT上云等,可直接调用生成
  • 데이터库게이트웨이功能:支持直接연결데이터库게이트웨이,执行SQL语句、存储过程,断网데이터本地存储自动补发
  • 断点续传功能:通讯中断时데이터存储在本机Flash,通讯恢复后由后台服务自动补发,无需개발者干预
  • 可视化编程환경:提供Windows编程界面,支持代码편집、디버깅、저장上传至제어기运行

编程환경설명

编程界面

AiMaster300提供专用的Windows编程软件,界面包含以下功能:

  • 代码项目管理:创建、열기、저장项目文件
  • 편집:Lua代码편집器,支持语法高亮
  • 从代码库生成代码(快捷键Ctrl+D):从内置代码库选择예제代码自动生成
  • 代码库管理:管理用户自定义代码库
  • 设置:설정네트워크매개변수、工作모드等
  • 저장并上传至제어기运行(快捷键F9):将代码上传到제어기并运行
  • 저장当前项目至데이터库(快捷键Ctrl+S):저장项目文件

工作모드

  • 디버깅모드:활성화DEBUG库及Print功能,适合개발디버깅阶段使用
  • 成品모드:禁用디버깅功能,优化运行性能,适合正式部署

虚拟机설정

支持选择Lua虚拟机数量:1、2、3、4个,每个虚拟机独立运行스크립트,可分配不同的통신포트和任务。

内置代码库

AiMaster300内置丰富的代码库,用户可通过"选择代码"功能直接调用예제代码,快速개발적용:

  • Lua基础:Lua函数定义及使用、基本语法、基本例子、스크립트디버깅
  • 네트워크통신:Lua네트워크服务例子、TCP/IP Client各种모드、TCP/IP Server各种모드
  • 工业프로토콜:ModbusMaster终端函数库、Modbus虚拟机인터페이스
  • 데이터库:Sql데이터库인터페이스函数、데이터库操作例子
  • 物联网:mqtt虚拟机인터페이스、클라우드 플랫폼例子
  • 시리얼 포트통신:시리얼 포트函数、시리얼 포트轮询下位机例子
  • 系统功能:动态生成代码、定时器입력、基本출력、데이터转换、实时时钟
  • 적용예제:通用TCP控制远程IO模块、无阻塞连续읽기TCP/IP Server读写데이터等

核心功能详解

TCP/IP Server功能

AiMaster300可作为TCP/IP Server运行,支持多클라이언트同时연결:

  • 시작server:启动TCP/IP Server,可设置支持10个클라이언트同时연결
  • 递增포트모드:监听포트范围7000-7009,수신超时可설정(如20秒)
  • 透传모드:支持透传모드启动,实现시리얼 포트데이터透明传输到네트워크
  • srvwaitrec:대기TCP/IP Server触发수신消息,代码一直정지在此函数,收到데이터时被触发
  • srvreadrecstr:从Server TCP/IP缓冲읽기클라이언트데이터,데이터已被저장至缓冲
  • srvresp:通知Server此클라이언트데이터处理已经完成
  • 多클라이언트管理:支持닫기指定클라이언트연결、多클라이언트문자串通讯、多클라이언트轮询、多클라이언트透传等모드

TCP/IP Client功能

AiMaster300可作为TCP/IP Client主动연결远程服务器:

  • 시작client:启动클라이언트服务,以直读直写모드연결指定服务器IP和포트
  • cliwriteastr:向服务器보내기string데이터
  • clireadastr:从服务器수신string데이터
  • cligetrhost:읽기指定索引的客户服务的远程服务器IP和포트
  • 적용모드:支持16진법데이터主动上传、直接读写모드、模拟量通讯、主动上传문자串、主动轮询服务器等多种모드

데이터库게이트웨이功能

AiMaster300支持直接연결데이터库게이트웨이,实现工业데이터入库:

  • connectodb:与데이터库게이트웨이建立TCP/IP연결,可설정연결매개변수
  • 데이터유형设置:
    • setval_string:设置문자串데이터
    • setval_float:设置浮点데이터,支持保留指定小数位
    • setval_int:设置整数데이터
    • setval_dt:设置日期时间데이터
  • 데이터changed:判断데이터是否发生变化,仅在데이터变化时更新데이터库,减少无效쓰기
  • sql_insert:调用SQL insert向데이터库插入一条데이터,추가失败时데이터存在本机Flash中,通讯恢复后自动补发
  • sql_execproc:执行指定的存储过程,数组수신存储过程返回的结果集
  • execsql:执行표준SQL语句,支持update、select、select count等操作
  • 断点续传:断网时데이터存储在本机Flash,通讯恢复后由后台服务自动补发,无需개발者干预

Modbus Master功能

AiMaster300内置Modbus Master功能,可主动轮询Modbus RTU设备:

  • modmaster.readrtu:通过시리얼 포트읽기Modbus RTU데이터,支持设置읽기的시리얼 포트、Modbus下位机站号、읽기的레지스터 수량、데이터형식等매개변수
  • 返回데이터분석:支持浮点数분석,可将읽기的原始데이터转换为엔지니어링值
  • 多设备轮询:支持循环轮询多个下位机设备,每个设备可설정不同的站号和레지스터

시리얼 포트통신功能

AiMaster300提供灵活的시리얼 포트통신函数:

  • lib_uart.queryuart:用시리얼 포트执行一次轮询,queryuart为시리얼 포트轮询函数,可보내기任意데이터并수신下位机返回데이터
  • lib_uart.uart_rxnw:非阻塞式수신시리얼 포트데이터,支持设置超时时间,达到超时未收到데이터则返回第一个바이트后继续执行后续命令
  • 사용자 정의 프로토콜:支持보내기任意데이터,可以为任意데이터,但需要符合下位机的통신 프로토콜사양
  • 데이터打印:debug.printarray可打印数组콘텐츠,方便디버깅

系统功能

  • rtc.getdatetime:읽기实时时钟时间和日期
  • syslib.ossleep:当前虚拟机睡眠指定毫秒数,释放CPU자료,매개변수有效值为0~60000毫秒
  • 多虚拟机调度:多个虚拟机通过sleep函数主动让出CPU,实现协作式多任务
  • 데이터转换:提供丰富的데이터유형转换函数,支持数值型和문자串型데이터분석

典型적용개발예제

예제1:Modbus데이터采集入库

通过modmaster.readrtu읽기Modbus RTU设备데이터,判断데이터变化后通过sql_insert쓰기데이터库,断网时데이터本地存储自动补发。

예제2:TCP透传服务器

通过시작server启动TCP Server,支持10个클라이언트同时연결,使用srvwaitrec대기데이터、srvreadrecstr읽기데이터、srvresp完成处理,实现시리얼 포트데이터透传到네트워크。

예제3:主动上传至클라우드 플랫폼

通过시작client연결云服务器,使用cliwriteastr定时上传采集데이터,clireadastr수신云端下发的控制指令。

예제4:사용자 정의 프로토콜轮询

使用lib_uart.queryuart보내기사용자 정의 프로토콜帧,수신下位机返回데이터,분석后进行处理或上传。

기술매개변수

매개변수项사양
编程언어Lua스크립트
Lua虚拟机最多4个并行运行(VM1포트9100,VM2포트9101)
TCP/IP支持Client和Server모드,Server支持10个클라이언트同时연결
工业프로토콜Modbus RTU Master
데이터库支持SQL데이터库게이트웨이,执行SQL语句和存储过程,断点续传
物联网프로토콜MQTT클라이언트
시리얼 포트支持多路RS485/RS232,非阻塞式수신
实时时钟内置RTC,支持읽기日期时间
데이터存储内置Flash,支持断网데이터本地存储自动补发
编程환경Windows专用编程软件,支持디버깅모드和成品모드
代码库内置数十种통신예제代码
安装방식导轨安装
工作온도-40℃~85℃산업용

典型적용시나리오

  • 工业데이터采集入库:采集Modbus设备데이터,直接쓰기SQL데이터库,断网自动补发
  • 프로토콜转换게이트웨이:通过Lua스크립트实现任意시리얼 포트프로토콜到TCP/IP、MQTT的转换
  • 边缘계산제어기:在本地完成데이터处理、逻辑判断、报警출력,减少云端压力
  • 사용자 정의 프로토콜设备联网:支持任意시리얼 포트프로토콜设备的데이터采集和上传
  • 클라우드 플랫폼对接:通过MQTT或TCP主动上传데이터至各类클라우드 플랫폼
  • 多设备集中监控:多虚拟机并行运行,同时处理多个통신任务和设备
실제 프로젝트에 이 자료를 활용하시겠습니까?

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

엔지니어 회원

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

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

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

답글 작성

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