Здравствуйте. Имеется система (Контроллер с ОРС сервером - компьютер с ОРС клиентом и трейсмодом). В трейсмоде сделал программу, которая читает значение из переменной контроллера и если это значение не совпадает с константой, в переменную должно записываться нужное значение. Я создал точки ввода-вывода для чтения и записи переменной контроллера, каналы для этих точек, в программе трейсмода аргументы (LC413_1K_R, LC413_1K_W) привязал к каналам. Значение из контроллера передаётся в аргумент программы, а значение из аргумента программы не передаётся в контроллер. Для наглядности вывел значение аргументов программы на экран. Если агрумент LC413_1K_W привязан к каналу, в этом аргументе значение 0, если отвязать от канала - в аргументе нужное значение (-2.01). Так же на экране сделал кнопку для ручного ввода значение в канал(ввести и передать) и привязал к каналу. Таким способом введённое значение передаётся в контроллер. Собственно, два вопроса: 1) что мне сделать, чтобы значение из аргумента программы автоматом записывалось в контроллер? 2) я правильно понимаю, что трейсмод не может отправить в контроллер одно и тоже значение два раза подряд? Для обхода этой проблемы(если, например, произошёл сбой при передачи значения -2.01, через десять циклов передаётся -2.0, потом опять -2.01 и т.д.). Версия tracemode 6.08. П.С. хотел приложить проект ТМ к сообщению, но не понял как это сделать.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Скорее всего, Вы привязываете OUT-аргумент LC413_1K_W программы к РЕАЛЬНОМУ_ЗНАЧЕНИЮ. Надо привязать аргумент программы к ВХОДНОМУ_ЗНАЧЕНИЮ канала.
При необходимости проект с пояснениями можно послать на адрес техподдержки hotline@adastra.ru.
Posted by Fessar (Участник № / Member № 5703) on :
Да, привязывал к реальному значению. Попробую - отпишусь.
Posted by Fessar (Участник № / Member № 5703) on :