/// <summary> /// Выполнить действия при запуске линии связи /// </summary> public override void OnCommLineStart() { // инициализация объекта для опроса КП InitModbusPoll(); // выбор метода запроса request = modbusPoll.GetRequestMethod(transMode); }
/// <summary> /// Выполнить действия при запуске линии связи /// </summary> public override void OnCommLineStart() { // инициализация запрашиваемых элементов и команд // располагается в OnCommLineStart, т.к. здесь Address окончательно определён if (deviceTemplate == null) { elemGroups = null; elemGroupCnt = 0; } else { // получение активных групп элементов elemGroups = deviceTemplate.GetActiveElemGroups(); elemGroupCnt = elemGroups.Count; // формирование PDU и ADU devAddr = (byte)Address; foreach (ElemGroup elemGroup in elemGroups) { elemGroup.InitReqPDU(); elemGroup.InitReqADU(devAddr, transMode); } foreach (ModbusCmd cmd in deviceTemplate.Cmds) { cmd.InitReqPDU(); cmd.InitReqADU(devAddr, transMode); } } // инициализация объекта для опроса КП InitModbusPoll(); // выбор метода запроса request = modbusPoll.GetRequestMethod(transMode); }