PDA

Просмотр полной версии : Какой программой можно открыть библиотеку



ivga
08.11.2013, 13:26
Необходимо открыть библиотеку чтобы изменить функциональный блок!!! Каким образом это возможно сделать?

Yegor
08.11.2013, 15:32
Кодесисом и открыть. Два условия: 1) библиотека должна содержать не только объявление, но и определение блока; 2) библиотека не должна быть запаролена её разработчиком.

ivga
08.11.2013, 15:39
Кодесис не дает конкретной структуры внутри блока(текст программы), а мне нужно именное внутреннюю структуру.

capzap
08.11.2013, 15:42
так Вы открывайте не внутри проекта, а КДС-ом саму библиотеку, если на ней нет пароля и свойства открыты для редактирования

ivga
08.11.2013, 16:13
Толку не заметил описываются только выхода! Тела программы нет одни конечности)))) пробовал ПИД

petera
08.11.2013, 16:25
Толку не заметил описываются только выхода! Тела программы нет одни конечности)))) пробовал ПИД
ПИД из какой библиотеки? Если из OWEN типа Pid_Reg2.lib, то эта библиотека не доступна для редактирования. А если из Util.lib, то вот
10672

ivga
08.11.2013, 16:26
Вот что выдает!!! Как посмотреть на формулы расчетные что то они врут сильно?

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

ivga
08.11.2013, 16:29
Из библии ОВЕН СТАНДАРТ

petera
08.11.2013, 16:34
Из библии ОВЕН СТАНДАРТ
На сколько я понимаю ОВЕНОВские библиотеки реализованы непосредственно в ПЛК, а в кодесис доступен только внешний интерфейс ФБ этих библиотек.
И работать эти библиотеки будут только в ПЛК, а в эмуляторе не работают.

Рашид
08.11.2013, 20:58
Вот что выдает!!! Как посмотреть на формулы расчетные что то они врут сильно?


А что у Вас с этим блоком не получается? Как-то пробовал его в работе, весьма приемлемый результат получился измерений. Приемлемый - потому что это психрометрический способ, более точный получился бы с использованием ёмкостного датчика влажности.

Николаев Андрей
08.11.2013, 21:53
Есть библиотеки внутренние и внешние. Внутренние написаны нами и убраны в прошивку, библиотека - просто загадочный файл для вызова.
Открывать а тем более править можно только внешние,типа util.lib

ivga
09.11.2013, 13:53
Ясно! Жаль что нельзя ((

ivga
09.11.2013, 13:55
А что у Вас с этим блоком не получается? Как-то пробовал его в работе, весьма приемлемый результат получился измерений. Приемлемый - потому что это психрометрический способ, более точный получился бы с использованием ёмкостного датчика влажности.

Нужно под свою задачу ПИД подправить.

Рашид
09.11.2013, 17:08
Я думал речь идёт про:

Вот что выдает!!! Как посмотреть на формулы расчетные что то они врут сильно?

FUNCTION_BLOCK PSI_MOIST (*Расчет относительной влажности по показаниям 2-х датчиков температур - психрометрическим методом*)

А оказывается на самом деле интересуют "потроха" ПИД регулятора.

capzap
09.11.2013, 17:38
в oscat.de библиотеке есть потроха регулятора

Lode Runner
23.10.2014, 12:10
А что за задача-то? Не могу себе представить задачу, которую бы невозможно было решить программной обёрткой вокруг библиотечного ФБ и пришлось бы править код библиотечного ФБ. Вы не боитесь запариться с ворохом одинаковых библиотек разных версий, своих версий для каждого проекта?

Yegor
23.10.2014, 13:12
Тут дело не в возможности, а например, в изящности. Мне для отладки одной штуки потребовалось как-то раз ускорить таймеры на порядок. Для этого стандартным таймерам нужно было подсунуть свою функцию TIME. Вместо того, чтобы делать свои таймеры, я просто отредактировал standard-intern.lib и ввёл туда свою функцию установки коэффициента времени. Отладив программу, я за считанные секунды заменил standard-intern.lib на standard.lib и удалил из визуализации ползунок-регулятор скорости. С обёртками вокруг стандартных блоков рутины было бы больше.

Lode Runner
23.10.2014, 13:28
Интересная идея, но поведение внутренних библиотек при исполнении проекта в железе всё равно будет отличаться от вашей эмуляции их работы, а входные для них данные можно посмотреть и так.