Добрый день.
Пытаюсь подключится к виртуальному контроллеру, при подключении выводится окно ввода пользователя и пароля, какого пользователя у меня требует codesys?
2025-02-05_23-19-15.png
Добрый день.
Пытаюсь подключится к виртуальному контроллеру, при подключении выводится окно ввода пользователя и пароля, какого пользователя у меня требует codesys?
2025-02-05_23-19-15.png
capzap , kondor3000 Спасибо вам ! пойду разбираться, пока туплю сильно
Добрый день.
Того, который был создан при первом подключении к виртуальному контроллеру.
Вот тут написано, как его удалить:
https://owen.ru/forum/showthread.php...l=1#post401060
А вот тут - в п. 10 - как сделать так, чтобы CODESYS не просил его создать при первом подключении к виртуальнику:
https://ftp.owen.ru/CoDeSys3/99_Foru...ures_forum.pdf
Связь со мной: 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 это значение порога 1. Запутался, в моменте что куда приходит)
изображение_2025-02-06_105813237.png
изображение_2025-02-06_113632474.png
Последний раз редактировалось atomo2; 06.02.2025 в 07:36.
У меня вот что получается изображение_2025-02-06_114643163.png
А должно вот так https://owen.ru/forum/attachment.php...3&d=1738774406
Нашел у себя ошибку Q1:=Q/100; на 100 делить нужно, а изначально 10 было.
Так ну с порогами вроде как разобрался, теперь с концентрацией буду пробовать.
Спасибо всем за помощь!
Последний раз редактировалось atomo2; 06.02.2025 в 07:58.
Я случайно
А я могу часть своего питоновского скрипта адаптировать для расчёта концентрации?
Код:Обрабатываем два регистра, 32-битное число разбиваем на 4 байта. byte1 = (registers[0] >> 8) & 0xFF # Старший байт первого регистра byte2 = registers[0] & 0xFF # Младший байт первого регистра byte3 = (registers[1] >> 8) & 0xFF # Старший байт второго регистра byte4 = registers[1] & 0xFF # Младший байт второго регистра Определяем знак и позицию запятой sign_bit = (byte1 >> 7) & 0x01 # 7-й бит первого байта отвечает за знак (Если sign_bit = 1, то число отрицательное.) comma_position = byte1 & 0x07 # Младшие 3 бита первого байта — позиция запятой Формируем число integer_part = byte2 * 10000 + byte3 * 10 + (byte4 >> 4) # Целая часть decimal_part = (byte4 & 0x0F) * 100 # Дробная часть byte2 — это старшая часть целого числа (умножается на 10000). byte3 — промежуточное значение (умножается на 10). byte4 >> 4 — младшие разряды целой части. byte4 & 0x0F — дробные разряды, умноженные на 100. Применяем знак и делим на 10^comma_position value = integer_part + decimal_part / 10000 # Объединение частей value = -value if sign_bit else value # Применение знака value /= 10 ** comma_position # Сдвиг запятой value = round(value, 2) # Округление до двух знаков
Всем большое спасибо, все получилось
изображение_2025-02-06_144958655.png