Друзья, не могу открыть порт Rs485 для связи с ТРМ210.
COM_SERVICE_COM.Opened всегда false.
Ничего не получается, помогите, пожалуйста.
Друзья, не могу открыть порт Rs485 для связи с ТРМ210.
COM_SERVICE_COM.Opened всегда false.
Ничего не получается, помогите, пожалуйста.
Добрый день. Попробуйте открыть порт именно так, как это демонстрируется в примере.
COM_SERVICE не выполняется синхронно - т.е. вы взводите свой RsComplete до того как порт фактически будет открыт. Можно ориентироваться на выход COM_SERVICE_COM.Ready, но лучше просто скопировать свой код из примера.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Ого, как долго открывается порт!..
Я правильно понимаю, что блок кода с инициализацией и открытием порта в примере будет выполняться каждый цикл программы? Это так и должно быть? Отвечаю сам себе - иначе вроде бы не работает (по крайней мере устал ждать). При инициализации порта сначалачерез полминуты поднимается Opened, далее через десяток секунд Ready.
Последний раз редактировалось ttyUSB0; 22.08.2018 в 19:05.
Ого, какое короткое условие, чтоб сделать запрос, дождаться ответа и закрыть функцию
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Какое у вас время цикла задачи, в которой вызывается этот код?При инициализации порта сначалачерез полминуты поднимается Opened, далее через десяток секунд Ready.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Время всего выполняемого в программе привязано к времени цикла. Поставьте 10 мс - и, думаю, все станет работать нормально.
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
как минимум делать Enable:=FALSE в теле условия TRM_GetReal.Complete
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Спасибо!
Приведу рабочий кусок кода здесь:
IF TRM_GetReal.Complete AND TRM_GetReal.Error=0 THEN
T:=TRM_GetReal.Value; // ...и ошибки отсутствуют, то забираем считанное значение
TRM_GetReal(Enable:=FALSE); // завершаем работу блока
END_IF
По примеру из руководства программа не работала, там TRM_GetReal(Enable:=FALSE) после проверки.