День добрый!Подскажите,кто знает: снимаю данные по TCP/IP с контроллера(с 8 регистров),все нормально, но как только отправляю команду на запись ( для управления выходом контроллера) она становится в очередь опроса, а мне надо чтобы опрос остановился, прошла команда и опрос возобновился.Что для этого надо сделать?.Заранее спасибо
Posted by Nico (Участник № / Member № 5342) on :
интересно зачем ? и так пройдет опрос затем запись и снова опрос
отключить каналы послать команду записи и снова включить
Posted by Dm-kam (Участник № / Member № 6632) on :
Отключить каналы (как)?-т.е написать программку, чтобы при нажатии кнопки на графической панели происходил запрет вызовов канала? или можно как то проще? Это необходимо при экстренном случае управлять выходом контроллера, в противном случае, пока очередь команды придет,будет управление не актуально. Спасибо заранее)
Posted by Nico (Участник № / Member № 5342) on :
8 регистров опрашиваютя очень быстро
Posted by Dm-kam (Участник № / Member № 6632) on :
по ТСР/IP это занимает около 2-3 сек каждый регистор, следовательно 3х8=24 сек цикл,и вот надо в промежуток 24 сек вклинить команду записи в регистор 9 "1".Как это сделать?
Posted by Dm-kam (Участник № / Member № 6632) on :
Модем GSM/GPRS работает на скорости 9600.
Posted by Dm-kam (Участник № / Member № 6632) on :
Добрый день.Что очень сложная задача и никто не знает как это сделать?
Posted by Nico (Участник № / Member № 5342) on :
.Отключить каналы = (SC,3 атрибут) установить в 1 .Опрашивать регистры надо группой .Использовать нормальный модем с высокой скоростью .Перейти на RS(где можно автоматически вклинить команду записи)
Posted by Dm-kam (Участник № / Member № 6632) on :
Перейти на RS(где можно автоматически вклинить команду записи)-можно по подробне, пожалуйста
Posted by Dm-kam (Участник № / Member № 6632) on :
я опрашиваю в одном регистре 8 цифровых входов в контроллере, остальные регистры-это аналоговые входы-я не могу их забрать пачкой,поэтому и получается время опроса цикла 24 сек.можно поподробнее рассказать как сделать , то что Вы написали, плиз
Posted by Nico (Участник № / Member № 5342) on :
значит 2 запроса а не 8 что сделать ? изменить атрибут ?
Posted by Dm-kam (Участник № / Member № 6632) on :
1.как опросить 7 регистров, в которых хранится аналоговые данные за одну команду? 2.как отключить каналы = (SC,3 атрибут) установить в 1 3.Перейти на RS(где можно автоматически вклинить команду записи)-как это сделать
Posted by Nico (Участник № / Member № 5342) on :
.групповой запрос(ChgReq или последовательная нумерация каналов) .через программу ,вручную кнопкой , также как посылается управление в вход канала(In атрибут 2) .так ModBus по TCP или последовательный порт И наверное прочитать руководсво по TM или хотя бы изучить быстрый старт (
Posted by Dm-kam (Участник № / Member № 6632) on :
ModBus по TCP
Posted by Dm-kam (Участник № / Member № 6632) on :
В быстром старте нигде не описано как остановить цикл опроса, чтобы послать срочную команду-например быстрый останов эл.двигателя.
Posted by Nico (Участник № / Member № 5342) on :
(SC,3 атрибут)
Posted by Dm-kam (Участник № / Member № 6632) on :
где найти SC.3атрибут? 3 атрибут это состояние,с-или я не там смотрю?
Posted by Nico (Участник № / Member № 5342) on :
да
Posted by Dm-kam (Участник № / Member № 6632) on :
хм) а где нужно?
Posted by Nico (Участник № / Member № 5342) on :
да 3 атрибут это состояние( С )
Posted by Dm-kam (Участник № / Member № 6632) on :
SC-посмотреть где?
Posted by Nico (Участник № / Member № 5342) on :
а как смотрят другие атрибуты канала ?
Posted by Dm-kam (Участник № / Member № 6632) on :
вызываем свойства канала,далее выбираем вкладку атрибут,там выбираем атрибут 3 (короткое ия-"С"состояние) правильно??
Posted by Dm-kam (Участник № / Member № 6632) on :
во вкладке флаги стоит галочка напротив тип OUTPUT
Posted by Nico (Участник № / Member № 5342) on :
создайте аргумент экрана типа Out привяжите его к нужному каналу и его атрибуту 3
создайте кнопку посылки значения 1 на экране связав ее с аргументом
создайте кнопку посылки значения 0 на экране связав ее с аргументом
канад будет включаться или отключаться
Posted by Dm-kam (Участник № / Member № 6632) on :
мне надо чтоб не канал включался или выключался-мне надо чтоб команда останавливала цикл опроса регистров, или чтоб команда вклинивалась в цикл мгновенно, а не становилась в очередь цикла
Posted by Dm-kam (Участник № / Member № 6632) on :
я это сделал, но мне надо чтоб не канал вкл/выкл, а чтоб команда мгновенно попадала в регистр, т.е вклинивалась в цикл опроса а не становилась в очереди опроса в цикле
Posted by Nico (Участник № / Member № 5342) on :
.выключенный канал не попадает в очередь опроса .понятия очередь опроса в ТМ нет . если от канала послан запрос устройству то надо дождаться ответа от него перед следующей посылкой
Posted by Dm-kam (Участник № / Member № 6632) on :
"выключенный канал не попадает в очередь опроса"-да это верно. Но как реализовать систему, в которой опрашиваются скажем 8 регистров,с таймаутом между запросами в 5 сек.
Posted by Dm-kam (Участник № / Member № 6632) on :
"выключенный канал не попадает в очередь опроса"-да это верно. Но как реализовать систему, в которой опрашиваются скажем 8 регистров,с таймаутом между запросами в 5 сек.Эти запросы посылаются по циклу,а надо мгновенно послать команду скажем пуска двигателя,проанализировав пакеты, которые шлет ТМ можно видеть что команды идут в строгой последовательности, одна за другой, а вот команда которая посылается с включенного канала, не сразу проходит( иногда надо держать кнопку ,чтоб сигнал прошел)-как быть?
Posted by Nico (Участник № / Member № 5342) on :
изучить периоды пересчета каналов
Posted by Dm-kam (Участник № / Member № 6632) on :
методом проб подбирал-все не то что надо
Posted by Nico (Участник № / Member № 5342) on :
( иногда надо держать кнопку ,чтоб сигнал прошел)-> кнопка с восстановлением значения ?
если с кнопкой такие проблемы то чем управляется 3 атрибут каналов Input
"таймаутом между запросами в 5 сек" -> период между опросами каналов Input -> задать период пересчета таких каналов 5 единица измерения сек
Posted by Dm-kam (Участник № / Member № 6632) on :
добрый день, подскажите как работает кнопка-при нажатии посылаю 1, отжатии 0 (если TMOUT=0-то работает,если TMOUT=2( 5 сек) то не приходит 0 или1) почему так?
Posted by Nico (Участник № / Member № 5342) on :
а зачем востанавливать значение если требуется посылать в устройство по нажатию кнопки всегда одно и тоже значение каналу привязанному к аргументу экрана нужно задать период calc exec
Posted by Dm-kam (Участник № / Member № 6632) on :
А если необходимо посылать 1 а потом 0 нажав одну кнопку-можно так реализовать?(ведь если TMOUT=0-то работает,если TMOUT=2( 5 сек) то не приходит 0 или 1 .Может попробовать написать программку на FBD или не поможет? Задача состоит в том, чтоб одной кнопкой посылать 2 команды-с начало 1, следом 0.(необходимо чтоб выход контроллера замкнулся а потом разомкнулся)и все это по TCP/IP
Posted by Nico (Участник № / Member № 5342) on :
Задача состоит в том, чтоб одной кнопкой посылать 2 команды-с начало 1, следом 0.(необходимо чтоб выход контроллера замкнулся а потом разомкнулся) -> послать в контроллер 1 - дождаться подтверждения от контроллера - если нужно таймаут - послать в контроллер 0 - дождаться подтверждения от контроллера (кнопка такой алгоритм естественно не реализовывает) если нужно обязательно чтобы выход в контроллере сбросился в 0 то реализововать такое надо в контроллере