Доработка. Протокол JSON-Modbus обновлён (1 из 2)

This commit is contained in:
sasha80
2024-11-15 09:54:11 +03:00
parent e19a3b7d19
commit 0fcafe18c1
3 changed files with 17 additions and 14 deletions

View File

@@ -19,9 +19,11 @@ class Sch3 extends unit.Unit:
var tick_tx: = 0 ## Время отправки крайнего сообщения.
static var json_conv: = JSON.new()
signal responce_received(addr: int, data: Array) ## Вызывается при получении сообщения c данными из регистров хранения.
signal info_received(msg: String) ## Вызывается при получении информационного сообщения.
signal except_received(msg: String) ## Вызывается при получении сообщения об исключительной ситуации.
signal resp_input(addr: int, data: Array) ## Вызывается при получении сообщения c данными из регистров входов.
signal resp_holding(addr: int, data: Array) ## Вызывается при получении сообщения c данными из регистров хранения.
signal resp_write() ## Вызывается при получении подтверждения, что команда записи выполнена
signal info_received(msg: String) ## Вызывается при получении информационного сообщения.
signal except_received(msg: String) ## Вызывается при получении сообщения об исключительной ситуации.
func _init(nm: String, u: int = 1):
unit = u
@@ -62,11 +64,12 @@ class Sch3 extends unit.Unit:
var message_code = message['code']
var message_data = message['data']
match message_code:
'response':
'resp_holding', 'resp_input':
var addr = message_data[0]
var regs = message_data.slice(1)
emit_signal('responce_received', addr, regs)
rc = true
emit_signal(message_code, addr, regs)
'resp_write':
emit_signal(message_code)
'info':
var msg = message['data']
emit_signal('info_received', msg)