Необходимо открыть библиотеку чтобы изменить функциональный блок!!! Каким образом это возможно сделать?
Вид для печати
Необходимо открыть библиотеку чтобы изменить функциональный блок!!! Каким образом это возможно сделать?
Кодесисом и открыть. Два условия: 1) библиотека должна содержать не только объявление, но и определение блока; 2) библиотека не должна быть запаролена её разработчиком.
Кодесис не дает конкретной структуры внутри блока(текст программы), а мне нужно именное внутреннюю структуру.
так Вы открывайте не внутри проекта, а КДС-ом саму библиотеку, если на ней нет пароля и свойства открыты для редактирования
Толку не заметил описываются только выхода! Тела программы нет одни конечности)))) пробовал ПИД
ПИД из какой библиотеки? Если из OWEN типа Pid_Reg2.lib, то эта библиотека не доступна для редактирования. А если из Util.lib, то вот
Вложение 10672
Вот что выдает!!! Как посмотреть на формулы расчетные что то они врут сильно?
FUNCTION_BLOCK PSI_MOIST (*Расчет относительной влажности по показаниям 2-х датчиков температур - психрометрическим методом*)
VAR_INPUT
T_Dry:REAL; (*Температура сухого *)
T_Moist:REAL; (*Температура влажного*)
A_Koeff:REAL; (*Психрометрический коэффициент от 0.064 до 0.014*)
Pressure:REAL; (*Датчик атмосферного давления - приведенного к гектопаскалям -
если не присваивать используется значение по умолчанию 1013.25 ГтПа*)
END_VAR
VAR_OUTPUT
Res:REAL; (*Расчитанное значение влажности 0..100 при выходе _ERR=0*)
_err:BYTE; (*Ошибки вычисления влажности
0 - ошибок нет
1 - Мала температура сухого термометра
2 - Велика температура сухого термометра
3 - Мала температура влажного термометра
4 - Велика температура влажного термометра
*)
END_VAR
VAR
END_VAR
Из библии ОВЕН СТАНДАРТ
Есть библиотеки внутренние и внешние. Внутренние написаны нами и убраны в прошивку, библиотека - просто загадочный файл для вызова.
Открывать а тем более править можно только внешние,типа util.lib
Ясно! Жаль что нельзя ((
в oscat.de библиотеке есть потроха регулятора
А что за задача-то? Не могу себе представить задачу, которую бы невозможно было решить программной обёрткой вокруг библиотечного ФБ и пришлось бы править код библиотечного ФБ. Вы не боитесь запариться с ворохом одинаковых библиотек разных версий, своих версий для каждого проекта?
Тут дело не в возможности, а например, в изящности. Мне для отладки одной штуки потребовалось как-то раз ускорить таймеры на порядок. Для этого стандартным таймерам нужно было подсунуть свою функцию TIME. Вместо того, чтобы делать свои таймеры, я просто отредактировал standard-intern.lib и ввёл туда свою функцию установки коэффициента времени. Отладив программу, я за считанные секунды заменил standard-intern.lib на standard.lib и удалил из визуализации ползунок-регулятор скорости. С обёртками вокруг стандартных блоков рутины было бы больше.
Интересная идея, но поведение внутренних библиотек при исполнении проекта в железе всё равно будет отличаться от вашей эмуляции их работы, а входные для них данные можно посмотреть и так.