Вы имеете ввиду из одного ФБ обращаться к другому напрямую?
Вы имеете ввиду из одного ФБ обращаться к другому напрямую?
Спасибо.
Не обязательно из ФБ, я хочу сбросить локальную переменную блока или считать ее, мастерскада позволяет такие действия производить только с input и output. Например:
Есть ФБ с именем Proba, в нем переменные
Var_input: x
Var_output: y
Var:z
В кодесисе к блоку можно добавить действие
( например proba."действие" и затем прописать код в специальном окне например z:=FALSE,
, затем в PLC PRG помимо стандартных инструкций
( например присвоение значения входу proba(x:=TRUE); или опроса значения выхода (proba.y)
возможно применение инструкции proba."действие"();
А в мастерскаде из main_programm я могу обращаться только к "x" и "y".
Еще один вопрос: в собственном ФБ созданном в библиотеке ST вызываю экземпляр стандартного ФБ TON, для его нормальной работы периодический опрос ставится в дереве "система" на вкладке "опрос" или же в другом месте?
У самого ФБ который в дереве объекта- стоит, он работает! но ФБ библиотечный в котором есть экземпляр TON работать отказывается. Вопрос: Можно ли библиотечный блок TON вызвать из пользовательского ФБ, или только из главного ST кода?
Что вы подразумеваете под пользовательским ФБ и главным ST кодом?
Код размещенный в библиотеке ST не исполняется он вообще - к нему просто идет обращение из других блоков.
Спасибо.
Добрый день.
Спасибо за видео примеры по созданию отчётов. Разобрался со структурой создания отчётов. Но не получается решить простую задачу. Имеется счётчик импульсов СИ-30. Ко входу подключен обычный водяной счётчик с герконовым выходом. СИ-30 выдаёт 1 импульс -10 литров. Надо создать отчёт расхода за указанный промежуток времени. Сделал в дереве объектов иммитацию счётчика с помощью "Пульсар" и "Счётчик дискретных импульсов". Сделал такую же структуру в дереве отчётов, как в Вашем видео примере (First) и кнопки как в (Third). Только вместо команд 1,2,3,в источник данных перетащил выход "Число импульсов" счетчика дискретных выходов. Скажите, какие настойки надо сделать для моего случая в "дереве отчёта" в переменной и в итогах данных для правильной работы отчёта? У меня в итогах данных не получается нужное значение. Я, как понял там должен быть расчёт. Т.Е из большего значения должно вычитаться меньшее. В игоге это идолжен быть расход за определённый промежуток времени.
Спасибо.
Последний раз редактировалось mkv; 21.03.2016 в 14:28.
Наверно непонятно задал вопрос.
На мнемосхеме три кнопки. Две с заданием времени отчёта. Первой задаю начало отсчёта, второй-конец. Третья для запуска отчёта. Надо считать кол-во импульсов за определённый промежуток времени. Отсчёт сформировывается, но в "Итогах данных" значение выводится не правильно. Т.Е к примеру: начальное значение 50, конечное 80. В "Итог данных" должно быть 30. (80-50). А у меня в итогах выдаёт последнее значение, т.е 80. Вот я и спрашиваю, как правильно сделать настройки выхода счётчика в дереве отсчёта для моего случая?
Спасибо.
Последний раз редактировалось mkv; 21.03.2016 в 16:17.
Напишите примерно следующую формулу:
{(double)First(DataИсточникДанных,ИсточникДанных1. Счетчик)-(double)Last(DataИсточникДанных,ИсточникДанных1.Сч етчик)}
То есть берете последнее значение источника и вычитаете первое.
Оба значения нужно привести к какому то типу (у вас возможно будет (int) ).
Спасибо.
Извините, я не совсем понял куда вписывать эту формулу?
И ещё. Можно ли решить эту проблему не создавая отчёта. Т.Е. проделать это в дереве объектов самой Скады. А количество импульсов счётчика за выбранный промежуток времени просто вывести на мнемосхему.
Спасибо.
Последний раз редактировалось mkv; 21.03.2016 в 20:43.