А блин! СП3xx имелось ввиду ;)
Слейвом сложнее, я так сразу и не помню как.
Вот и посоветуйте человеку: какой там нюанс?
Вид для печати
Ребята, я не понял. Наверное криво формулирую вопрос.
Целостность мне сейчас по-барабану. Это уже вопрос следующего порядка. Хотелось бы чтобы она просто работала.
Мастером так мастером, если надо.
Проблемы следующие.
На ИП320 не нашёл как задавать начальное значение. Мало того. Если я задаю границы для этого значения, ИП почему то в начальный момент даже этого не видит.
То есть условно у меня есть уставка температуры она должна быть в пределах 40-60 градусов. Я запускаю проект и ничего не нажимаю на панели. И в цикле связи с панелью ПЛК забирает из панели 0. Что сразу же затирает моё значение.
Короче вопрос такой. Как мне сделать, чтобы текущее значение отображалось на дисплее?
Или если я панель сделаю мастером, то это автоматом произойдёт?
Ясно, что если бы панель была со своей прогой, я бы это на крайняк руками разрулил.
:)
Спасибо. Уже решил аналогичным способом.
Просто в голове некий... диссонанс ... )))
1. Панель оставил слэйвом.
2. В панеле завёл на один адрес 2 переменные с разными именами. 1 на запись - вторую на чтение... ))
3. В цикле обращения к панели, сделал тоже что и Вы.
Проверил - работает...
Хотя, если задумываться, то нюансы могут быть.
Я у себя, когда работаю, ну например в OPC сервере, я несколько типов операций делаю. В частности групповые операции.
Здесь нет подробного описания, непонятно как формируются запросы к панели. Объединяет ли она их? Чётко ли следует сформированному списку адресов? Мешает ли запись с чтением или сначала идёт чтение, а потом запись?
Но для данного проекта, думаю я его закрою. Сейчас устраню замеченные мной нюансы и пускану.
Для данного объекта рюшек не надо. Я запуск производил сидя в луже на табуретке. Шкаф и стены слегка облезли, трубы поржавели, на голову каплет....
:D
sasav
Как делаю я в случае ненулевых значений первоначальных уставок. Панель мастер, ПЛК слейв. В ПЛК пишу проверку требуемых регистров на ноль. В случае если таки ноль, то присваиваю безопасное значение из допустимого диапазона. Проверка (и присванивание если надо) делается только при старте(включении) ПЛК и на работу остальной программы далее не влияет. Очень удобно при отладке. И выручало на ПЛК110 старой серии, где ретайны сваливались, если в ПЛК помирал аккумулятор.
Здравствуйте!
Совсем недавно начал изучать синтаксис ST и столкнулся с задачей, с которой не могу разобраться.
Нужно посчитать время, когда входная переменная INPUT имеет значение FALSE за сутки и сколько раз она принимала значение FALSE.
То есть: вход INPUT может принимать значение FALSE много раз за сутки, поэтому нужна сумма временных интервалов, когда INPUT имел значение FALSE и количество значений FALSE, которые будут обнуляться в заданное время (например, в 9:00 ежедневно).
Код:VAR
INPUT: BOOL;
Count: UDINT; (*сколько раз она принимала значение FALSE*)
SumTimeF: TIME; (*время, когда входная переменная INPUT имеет значение FALSE за сутки*)
CountOld: UDINT; (*За предыдущие сутки*)
SumTimeOld: TIME; (*За предыдущие сутки*)
F_TR: F_TRIG;
delta: TIME; (*Время цикла ПЛК*)
t1: TIME;
prevScanTime: TIME;
ttt: TIME;
init: BOOL;
TON_24h: TON;
END_VAR
(*Время цикла ПЛК*)
t1:=TIME();
IF NOT init THEN (*Первый цикл*)
prevScanTime:=t1;
init:=TRUE;
Count:= Count + BOOL_TO_INT(NOT INPUT);
END_IF
delta := t1 - prevScanTime;
prevScanTime := t1;
(*-------------------*)
F_TR(CLK:= INPUT);
(*Текущие сутки*)
Count:= Count + BOOL_TO_INT(F_TR.Q);
IF NOT INPUT THEN
SumTimeF:= SumTimeF + delta;
END_IF
TON_24h(IN:= NOT TON_24h.Q , PT:=t#24h);
(*За предыдущие сутки*)
IF TON_24h.Q THEN
CountOld:= Count;
SumTimeOld:= SumTimeF;
Count:= 0;
SumTimeF:= t#0ms;
END_IF
Здравствуйте! Подскажите пожалуйста правильно ли я адресую (с учетом всех необходимых выравниваний) регистры в модбас. ПЛК160 (слейв), OP320 (мастер), из ПЛК считываю переменные модуля Statistic. Заранее спасибо!
Слегка изменил вашу программу. Обратите внимание на переменную temp_m.
Спасибо! А почему надо преобразовать в тип ВОРД? Есть же в режиме слэйв у ПЛК переменная типа ФЛОАТ (Real)? В модуле Statistic переменная температуры тоже REAL?
Показания к сожалению на ОР320 не выводятся, проверить не могу. Пишет на панели "потеря связи". (как после загрузки конфигурации, так и при соединении по RS485 с ПЛК):( Микросхему RS485 и цифровой драйвер к ней пропаял, но не помогло. Что может быть еще?
P.S.Панель рабочая, работает как мастер так и слейв с ПР200 (хотя после загрузки конфигурации тоже пишет "потеря связи").