Здравствуйте. Некоторые бибилотеки с сайта Овен скачиваются с расширением .man
Никак не могу подключить. Помогите пожалуйста.
Вид для печати
Здравствуйте. Некоторые бибилотеки с сайта Овен скачиваются с расширением .man
Никак не могу подключить. Помогите пожалуйста.
Я проверил - у меня загружается с правильным расширением.
Попробуйте нажать ПКМ на ссылку и выбрать Сохранить как или использовать другой браузер.
Либо можно после загрузки вручную изменить расширение файла на корректное.
В другом браузере скачалось правильно. Спасибо.
Можно ли каким-то образом самостоятельно редактировать шаблоны для модулей ввода-вывода? Например, для работы с модулем Мв210-101 использую шаблон. Однако у модуля только первые три входа используются как аналоговые, а следующие два как дискретные - сухой контакт. Поэтому приходится брать эти REAL значение, преобразовывать и т.д. Понятно, что это всего 2 лишних строчки кода на обработку, но хотелось бы сразу получать дискретные значения.
Добрый день, прошу совета, достаточно ли будет вызвать экземпляр FB при первом пуске программы, или его надо вызывать постоянно?
Код:IF NOT(FirstTime) THEN // Установка исходных параметров в первую загрузку программы
FOR indexFT:=0 TO uiPIDcount BY 1 DO
aParam_PID[indexFT]:=stBaseSetting;
regPIDs[indexFT]();
END_FOR
FirstTime:=TRUE;
END_IF
Ориентируясь на названия переменных и комментарий - вероятно, достаточно вызвать один раз (непонятно, правда, как ему передаются значения - так как вызов без аргументов - но, может, так и задумано).
Для более определенного ответа надо понимать, как работает ваш ФБ и что именно с помощью него вы хотите сделать.
Имеется массив пид регуляторов, в первом куске кода(в предыдущем сообещнии), при записи я записываю настройки по умолчанию
Далее согласно справке codesys надо вызвать фб для записи выходных переменных.
Для этого писал
Но т.к. сегодня один размер массива, а завтра другой, решил записать это в цикл который записывает параметры входов и выходов фбКод:regPIDs[0]();
regPIDs[1]();
regPIDs[2]();
regPIDs[3]();
regPIDs[4]();
regPIDs[5]();
regPIDs[6]();
Код:FOR indexInitialPID:=0 TO uiPIDcount BY 1 DO
regPIDs[indexInitialPID]();
END_FOR
Но получается работает и в первом случае, когда программа первый раз запустилась, и в остальных случаях когда фб вызывается либо по тексту либо в циклах. Собственно если работает и так и так, то достаточно его вызвать в первый раз и все?Код:Или в цикле в котором записываю параметры
FOR indexSetParam:=0 TO uiPIDcount BY 1 DO // Установка входов выходов регуляторов (TO_BOOL (aAnalog_inputs[indexSetParam].eStatus))
regPID[indexSetParam]();
regPIDs[indexSetParam](
RESET := FALSE,
ACTUAL := aAnalog_inputs[indexSetParam].rValue,
SET_POINT := aParam_PID[indexSetParam].Sp,
KP := aParam_PID[indexSetParam].P,
TN := aParam_PID[indexSetParam].I,
TV := aParam_PID[indexSetParam].D,
Y_MAX := aParam_PID[indexSetParam].Umax,
Y_MIN := aParam_PID[indexSetParam].Umin,
MANUAL := aParam_PID[indexSetParam].Man ,
Y_MANUAL := aParam_PID[indexSetParam].Uman
);
aOUT[indexSetParam] := regPIDs[indexSetParam].Y;
END_FOR;