alex13sh / BevyScada

Scada kernel using bevy engine
0 stars 0 forks source link

Спроектировать Транспортную систему #6

Open alex13sh opened 3 weeks ago

alex13sh commented 3 weeks ago

Каждое устройство должно иметь транспортную систему, через которую с устройством можно будет связаться:

Но надеюсь что независимо от транспортной системы, итог будет один -- чтение и запись набора регистров. Но вот интересна какая есть специфика для каждой транспортной системы. Вот например у Modbus есть ограничение по размеру регистра. И процесс комбинации регистров.. Но я надеюсь достаточно иметь такие размеры: Bit, Byte, Byte2, Byte4 and Byte8 на все случаи жизни. Дальнейшие настройки будут идти через Тэг.

Ещё одна из мысли. Можно сделать также как с Тэгом:

trait Trasport {
  type Config;
  type Context;
  type Error;

  fn read_reg(&mut self);
  fn write_reg(&mut self, reg);
  fn read_all(&mut self);
}
alex13sh commented 3 weeks ago

Я уже базовые структуры сформировал. Но задачу наверное закрою, когда сделаю первую реализацию для Modbus или Mqtt. Вообще я немного переживаю из-за того, что возможно я перемудрил с "абстракциями"