Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - lecsa

Страницы: [1] 2
1
Все таки как Вы говорили, придется оперативные считывать из RETAINа Потому как даже по сети в конфигурацию переменные не записать. 
 Буду дальше насиловать себе мозг, честно уже под устал, но цели достичь надо, для своего эго :)

Я к сожалению не использовал ОПС с ПЛК73 никогда но другими контроллерами опрашивали без проблем.
Вот нашёл пример на сайте ОВЕНа для работы с LectusOPC

Благодарю, завтра по изучаю! ;)

2
Я ПЛК73 в связке с ОПС не использовал но думаю тут всё просто.
По факту в ПЛК73 ветвь SubMenu и есть "аналог" ветви Modbus Slave из ПЛК110.
Но здесь необходимо чётко указывать нужно ли видеть переменную по модбас или нет .т.е. нужно поставить галочку Протокол модбас и в соответствии с диапазоном задать адрес переменной. Для переменных типа UINT диапазон 344-511. Для Real 90-286. На картинках более понятно будет.
Также есть возможность чтения всех переменных одним махом т.е. группой но есть проблема в описании к ПЛК очень криво всё описано методом тыка определили что групповое чтение начинается с адреса 4182.
Изначально все порты в ПЛК73 сконфигурированы как Slave вам только в параметрах RS1 и RS2(настраиваете тот к которому подключен ОПС) необходимо задать скорость, чётность и адрес который вам необходим. Далее просто опрашиваем через ОПС ПЛК73 по адресам которые мы выставили на переменных.

 Сегодня пол дня прикручивал опсосы, сперва мастерОПС (так и не смог его прикрутить к плк), потом обсос от Овена.
 Для простоты накидал примитивный проект, IN - OUT). Сконфигурировал в SUBMENU (bool).
 Сперва по модбасу RTU (OPC OWEN)(выставил адрес )режим  конфигурационный.  Теги не читаются но пишет GOOD и порт открывает. Так же пробовал по протоколу Овена - имя и индекс, фиг вам!

Потом начались эксперименты.
 Режим оперевативный - и вы а ляяя, опсос зачитал и записал  (ОВЕН). мастеропс так и несмог.
Из опытов понял что есть проблема с соединением и считыванием.  Допустим все читает, стоит отсоединиться  как начинаются проблемы с коннектом (ошибка 48) то теги BAD. Все как то неустойчиво. Ну да ладно.
 Если есть возможность, подкиньте рабочие конфигурации ОПС (у меня есть лектус , демки мастер опс 32 тега и кепсервис5, ОВЕНОПС-3)
Хотел прослушать порты но что то не одна прога не заработала. Если чем слушаете модбас то направте куда :)

Все таки как Вы говорили, придется оперативные считывать из RETAINа Потому как даже по сети в конфигурацию переменные не записать. 
 Буду дальше насиловать себе мозг, честно уже под устал, но цели достичь надо, для своего эго :)

3
Спасибо, я что то до этого не допер. Теперь понятно.

4
Возник вопрос по сети.
 У моего ПЛК 73 есть 2 порта RS (485/232 по Модбас, Овен) , в конфигурации имеются настройки.
Теперь мне нужно считывать/записывать значения переменных через ОПС на скаду.
 Теперь вопрос:  Как организовать сие действие? Какого то представление в последовательности я не нашел.
В других контроллерах (ПЛК110) там можно в конфигурации создать ветвь МОДБАС и в нее добавить переменные. А в мой переменные в RS не добавить  (просто порт)
 Мои мысли такие: Надо из библиотеки в программе создать МОДБАС  и каким то образом прикрутить переменные. Смотрел по примерам (ПЛК110) они используют ARRAY
 т.е массив. 
 У меня еще не переварился массив. Как я понял - это блок в котором я могу создать минипрограмму, присвоить входы/выходы и обращаться к ним. Вот только то что в квадратных скобках я так и не допонял. Это какая то разрядность (кол -во столбцов?)

5
TOPans
Я это читал, уже закрылся на этот вопрос но тут старшие товарищи опять меня взбодрили  ;D

http://www.owen.ru/forum/showthread.php?t=10555&page=585    мои рыдания с сообщения 5844 

6
Спасибо за развернутый ответ. Чувствуется акула программирования, я только головастик. Мне бы пока разобраться с примитивом.

 Вот допустим, продолжаю мытарства с RETAIN. Панель запоминает в конфигурации значения переменных а если вводить через визуализацию, то нет (не запоминает) пишет по моему оперативно. Варианты которые были тут выше с записью из ретаина в оперативные панели,  пока у меня не срабатывают. Наверное ваш вариант с указателями надо изучить.

 Вот мне скинули наводку:

Смысл в том, что в окне визуализации нужно будет вводить значения не в конфигурационную переменную, а в промежуточную. Затем промежуточную переменную с помощью функции "SAVE_PARAMETER" записывать в конфигурационную переменную.

 Я пока завис на промежуточной оперативной, так и не нашел как ее создать. Начал копать в сторону макроса с MOVE, чтоб в него писать временное значение, но когда прикручиваю "SAVE_PARAMETER" то возникают ошибки " невозможно преобразовать один формат данных в формат "SAVE_PARAMETER" . проблема именно с форматом "SAVE_PARAMETER" .
 Так что как то так.

7

VAR_GLOBAL RETAIN PERSISTENT
  SomeSruct : typeSomeStruct;
END_VAR

Это типа такого, т.е таблица в каких режимах работает сохранение переменной.
И самое главное :)

Внимание:

* Если локальная переменная объявлена как VAR RETAIN, то она будет размещена в энергонезависимой области как глобальная.

* Если локальная переменная функционального блока объявлена VAR RETAIN, то все его данные целиком помещаются в  энергонезависимую область памяти, но обслуживаться как VAR RETAIN будет только данная переменная.

* Если локальная переменная функции объявлена VAR RETAIN, то это не дает никакого эффекта. Переменная не будет помещена в энергонезависимую область памяти! Аналогичное объявление PERSISTENT также не дает желаемого эффекта!


8
Кстати, вот сам проект. Посмотрите, может нормальные прогеры делают не так?
Я еще недопонимаю как выстроить "правильную иерархию" т.е есть какая то стандартная иерархия типа: тех задание (уставки с панели, пид регулятор, аварии... и тд.), потом уже самому додумывать что еще надо чтобы работало КАК НАДО!

 Вы как уже бывалые, какие стандартные или обязательные функции в проектах используете (понятно ,что есть зависимость от направления проекта)?

9
Огромное спасибо Вам TOPans и Teodor

Вот вычитал ::)

Введенные с передней панели ПЛК или по сети значения конфигурационных па-раметров сохраняются в EEPROM, и при выключении питания будут сохранены.

Значения оперативных параметров сохраняются в ОЗУ, и при выключении пита-ния последнее значение параметра не будет сохранено. При включении питания зна-чение параметра примет значение, установленное по умолчанию.

10
Один из вариантов поиска Проект->Глобальный поиск, выбираете всё и жмёте ОК, ищите что нужно будет поиск по всему проекту.

Переменная уставка в SubMenu какой тип имеет оперативный или конфигурационный? Чтобы сохранялось в конфигураторе нужен тип Конфигурационный.  Как часто меняется уставка оператором и откуда? Из меню конфигурации или из рабочего режима?

Переменная имеет тип "Операционный". Меняется на панели ПЛК при выборе "конфигурация"-......

Не, можно конечно по "умолчанию" выставить уставки и голову не греть, но так как я вдобавок "изучаю" то хочется разобраться :)

 А еще варианты есть? Я наверное проект выложу. Я его лепил по образу "обучающего" + гнул под свои потребности. Так вроде бы все работает, за исключением RETAINa. Может раздолбете его в пух и перья  ;D

11

просто на закладке "глобал-вариейбл":

VAR_GLOBAL RETAIN PERSISTENT
  SomeSruct : typeSomeStruct;
END_VAR

 Ух, задача для хвоста :) Попробую разобраться в этой наскальной надписи и ее применения  :)


И, это... А нельзя вместо sp1 просто вписать название нужной переменной из ретейна?

А так я пробовал, ругается чертяка :-[

12
Приветствую .
Возникла проблема, сижу туплю.
Пид регулятор, переменная sp1(*уставка*) - глобальная и прописана в SubMenu конфигураторе ПЛК.
Вспомнил что все же нужно ее сделать RETAIN, что операторам меньше работы было.
Теперь капец. Ошибка 3703 (два раза объявлено).
Может надо эту переменную сделать VAR_OUT sp1 RETAIN и в конфигураторе ПЛК обозвать так же sp1?

Еще вопрос, как находить переменные с 2м объявлением?
Пролез по локальным, по глобальным, двух индификаторов не встретил . Как вы их ищите?

13
Спасибо, на днях я уже скачал всю пачку  :) Смотрел первые несколько серий, пока там на CFC, хотелось бы более на ST.

14
Спасибо большое за ответ, конечно я понимаю формат "наличие времени", я то же изучаю ST при наличии времени :).  Среда кодесис2.3., 3ю даже и не ставил. 15 февраля буду на работе, выложу свою непонятку с блоком ошибки.

15
Приветствую, т.е вы ST знаете?
  Я как начинающий только пытаюсь в нем разобраться.
У меня получилось написать на ST (тело) +CFC (пид), с выводом на ЖКИ и регулировкой уставки на ЖКИ.
Хотел реализовать "аварии" на CFC но блок как то некорректно срабатывал. Пока дальше копаю
 Я согласен  Вами что ST намного универсальней, его надо только понять.
Если что, то можно Вам задать вопросы?

Страницы: [1] 2