Written on: 13. 11. 2013 [21:53]
|
Waterdisp
Александр Иванов
Topic creator
registered since: 03.10.2013
Posts: 32
|
На самом деле я просто хочу реализовать блокировку выполнения некоторых действий при условии запуска транспорта (в частности запуска других транспортов, использующих один и тот же порт с запущенным, или других контроллеров, использующих этот же транспорт). Иногда возникают помехи при работе уже запускающегося транспорта(модем на этапе дозвона), если например другой контроллер пытается использовать этот же транспорт. В подавляющем большинстве контроллер корректно завершает опрос и транспорт кладет трубку, а вот следом этот же транспорт заново пытается инициализировать модем и не получает ответа. Этого-то я и думаю избежать блокируя нажатия на кнопок на мнемосхеме, отвечающих за обмен данными через транспорт, пока модем не положит трубку и транспорт не освободится.
Тогда, функция выдающая на выходе состояние "Запущен/Остановлен" для транспорта должна выглядеть как то так SYS.Transport.out_{Transport}.cfg("start")? Может есть где-нибудь примеры использования функций cfg/cfgSet и имена параметров?
[This article was edited 1 times, at last 13.11.2013 at 21:55.]
|
Written on: 14. 11. 2013 [10:04]
|
roman
Roman Savochenko
Moderator Contributor Developer
registered since: 12.12.2007
Posts: 3750
|
"Waterdisp" wrote:
На самом деле я просто хочу реализовать блокировку выполнения некоторых действий при условии запуска транспорта (в частности запуска других транспортов, использующих один и тот же порт с запущенным, или других контроллеров, использующих этот же транспорт).
А вот этого делать нельзя, а нужно просто использовать один транспорт для одного порта во всех объектах контролеров, тогда вопрос разделения доступа и блокировки решает сам транспорт. А из пользовательского API Вы такого просто не сделаете поскольку атомарности не обеспечите!
Разделение транспортов для общего устройства допустимо только для режима модема, поскольку там номера телефонов могут отличаться. Но тут важно указание одинакового пути к устройству и тогда транспорт обеспечит общий ресурс доступа к нему.
Learn, learn and learn better than work, work and work.
|