Вход

Просмотр полной версии : Первоначальное включение контроллера



Lihoj
28.02.2017, 22:03
Знаю что вопрос для Чайников, но все же не найду ответ! При первоначальном включении системы контроллер должен загрузить из энергонезависимой памяти параметры режима работы, но как это сделать в CFC? Связка: RS485 - ИП320 - Контроллер и Codesys - Контроллер - USB, работает нормально, когда подключаюсь онлайн. А как запустить в работу Контроллер и ИП320 по RS485?

capzap
01.03.2017, 06:52
окно объявлений для всех языков одинаково, сложностей добавить слово ретайн не должно быть и в cfc.
Да то чтоб панель видела переменные из плк в ней должен быть залит проект, примеров такой связки много лежит на форуме

Lihoj
01.03.2017, 07:38
окно объявлений для всех языков одинаково, сложностей добавить слово ретайн не должно быть и в cfc.
Да то чтоб панель видела переменные из плк в ней должен быть залит проект, примеров такой связки много лежит на форуме
Я работаю с Owen Logic потому и спрашиваю! Там залил в ИП320 и ПР114, подал напряжение и все работает! А в ПЛК понимаю что его нужно запустить, а как, сам не догадаюсь! А какую переменную перевести в ретайн? Панель ИП320 в онлайн нормально работает с ПЛК, а без CodeSys связи нет. Нужно как то запустить связь RS232 или что другое? Не пойму!

capzap
01.03.2017, 07:53
http://www.owen.ru/forum/showthread.php?t=13581

petera
01.03.2017, 09:28
Я работаю с Owen Logic потому и спрашиваю! Там залил в ИП320 и ПР114, подал напряжение и все работает! А в ПЛК понимаю что его нужно запустить, а как, сам не догадаюсь! А какую переменную перевести в ретайн? Панель ИП320 в онлайн нормально работает с ПЛК, а без CodeSys связи нет. Нужно как то запустить связь RS232 или что другое? Не пойму!

В кодесис
После подключения к ПЛК создать загрузочный проект: Онлайн-->Создание загрузочного проекта.

Lihoj
01.03.2017, 10:08
С запуском ПЛК разобрался! Всем спасибо! По мере продвижения вперед, возник следующий вопрос! Не сохраняются переменные после отключения ПЛК.29794
29795
29796

Lihoj
01.03.2017, 22:58
Когда записываю с ИП320, переменная сохраняется, а переменные со счетчиков ПЛК не хранятся, хоть я все сделал ретайн!

melky
01.03.2017, 23:12
Lihoj вы в своих картинках ничего странного не замечаете ? где 1 а где не 1...

Lihoj
01.03.2017, 23:56
Lihoj вы в своих картинках ничего странного не замечаете ? где 1 а где не 1...
Не могу понять что вы имеете в виду? scVert1, и scGor1 переменные float Modbas, они не сохраняются, а GlRez1 сохраняется! В ретаин перевел локальные переменные scVert, scGor и GlRez.

melky
02.03.2017, 09:21
На каком то скрине у вас 1 - в без 1 и тут же без 1 - в 1. Переменные местами иначе стоят. Что-то сохраняется что-то нет.

положение переменных разное. Может по этому часть сохранется а часть перезаписывается программой или панелью ?

YuriBel
02.03.2017, 10:21
А нафига, с позволения сказать, такие сложности? Те переменные, которые у вас в слейве, то есть с единичкой, автоматом будут сохраняться, для этого с ними делать ничего не надо. Совсем не понятно, зачем еще какие-то локальные переменные загонять в ретэйн, также как и не понятно, зачем нужны преобразования. Вы что, в одном месте работаете с данными, как с Real, а в другом как с Word?.

melky
02.03.2017, 10:25
Если необходимо менять переменные как с панели так и по сети, то промежуточные переменные придется вводить....

Lihoj
02.03.2017, 10:33
На каком то скрине у вас 1 - в без 1 и тут же без 1 - в 1. Переменные местами иначе стоят. Что-то сохраняется что-то нет. положение переменных разное. Может по этому часть сохранется а часть перезаписывается программой или панелью ?

Сохраняется переменная которая задается с панели оператора ИП320, а не сохраняются переменные функциональных блоков CTUD, которые отображаются на панели оператора ИП320. Вот потому и переменная scVert преобразуется WORD_TO_REAL в scVert1 (CTUD с ПЛК в ИП320)29808, а переменная GlRez1 преобразуется REAL_TO_WORD в GlRez (задание переменной с ИП320 в ПЛК).29809

YuriBel
02.03.2017, 10:50
Внимательно смотрите на свои функциональные блоки. весьма вероятно, что переменные сохраняются и в момент старта программы считываются, и тут же, в результате работы функционального блока перезаписываются другими значениями, например потому , что функциональный блок на входах имеет не такие значения, как на момент выключения, а совсем другие.

Lihoj
02.03.2017, 15:08
Не знаю или кому то будет интересно поковыряться в программах? Программы примитивные, созданы для изучения ПЛК, связи, визуализации ну и т.д. Но главное что они рабочие! ПЛК110.32(v2), ИП320! Но переменные не сохраняются!

YuriBel
02.03.2017, 15:56
Я правильно понимаю, что проблема сохранения переменных решена?

Lihoj
02.03.2017, 16:04
Да нет не решена! Когда счетчики подсчитают какое то число импульсов и отобразятся на панели, отключаем питание ИП320 и ПЛК! Когда вновь включаем сохраняется только заданое число с ИП320, а счетчики обнуляются!

capzap
02.03.2017, 16:06
питание устройств от одного источника? Как себя ведет если включить плк, через минуту панель?

Lihoj
02.03.2017, 16:45
Питание от ПЛК! Так точно, через минуту панель! В чем проблема?

YuriBel
02.03.2017, 18:39
Конечно, хозяин-барин, но сделано многое странным образом (это как минимум). На мой взгляд, при переходе на экран РАБОТА должна обнаруживаться потеря связи. По той простой причине, что при организации слейва в ПЛК не выполнены условия выравнивания. Вроде это правило никто не отменял, даже в связи с выходом нового семейства ПЛК. Ну и хоть застрелите меня, не понимаю, зачем при работе в программе с целыми числами (а счетчики ваших энкодеров считают целые числа) вы их переводите в Реал для вывода на панель. Есть какой-нибудь глубинный смысл? И еще совет, если работаете с CFC, не забывайте устанавливать порядок в соответствии с потоком данных. Из-за несоответствия иногда случаются непонятки на ровном месте.

Lihoj
02.03.2017, 19:51
Вы меня извините за неграмотность! Но я только учусь, учусь с помощью вашего форума!
На мой взгляд, при переходе на экран РАБОТА должна обнаруживаться потеря связи. По той простой причине, что при организации слейва в ПЛК не выполнены условия выравнивания. Вроде это правило никто не отменял, даже в связи с выходом нового семейства ПЛК.
Объясните как выполнить условие выравнивания, даже не представляю что это такое?

Ну и хоть застрелите меня, не понимаю, зачем при работе в программе с целыми числами (а счетчики ваших энкодеров считают целые числа) вы их переводите в Реал для вывода на панель. Есть какой-нибудь глубинный смысл?
Смысла нет, просто увидел на видеоуроке выполнение связи ПЛК и ИП320 - подэлемент float, может необходимо в Modbus(Slave) добавить подэлемент 2byte?29823

YuriBel
02.03.2017, 20:53
Насчет критики с выравниванием я пожалуй погорячился, все корректно, просто имеется неиспользуемая дыра в слейве размером в 3 байта. Флоаты совершенно ни к чему, достаточно будет элемента 2 byte во всех трех случаях. толко тогда у них будут адреса не 2,4,6, а 1,2,3. и тогда в слейве будет неиспользуемая дыра размером в 1 байт.
Далее, попробовал запустить на железе. У меня по рукой только ПЛК60 старой модификации, там ретэйны реализованы по-другому, но тем не менее все три величины у меня сохранились, проверил несколько раз. Но у меня питание подается сразу на контроллер и на панель, и к моменту загрузки контроллера панель уже загружена, так как контроллер грузится дольше. В визуализации половина кнопок не работает, что нетак-не смотрел. Еще не понятно, зачем два ФБ энкодера абсолютно одинаковые.

Lihoj
02.03.2017, 21:22
Насчет критики с выравниванием я пожалуй погорячился, все корректно, просто имеется неиспользуемая дыра в слейве размером в 3 байта. Флоаты совершенно ни к чему, достаточно будет элемента 2 byte во всех трех случаях. толко тогда у них будут адреса не 2,4,6, а 1,2,3. и тогда в слейве будет неиспользуемая дыра размером в 1 байт.
Далее, попробовал запустить на железе. У меня по рукой только ПЛК60 старой модификации, там ретэйны реализованы по-другому, но тем не менее все три величины у меня сохранились, проверил несколько раз. Но у меня питание подается сразу на контроллер и на панель, и к моменту загрузки контроллера панель уже загружена, так как контроллер грузится дольше. В визуализации половина кнопок не работает, что нетак-не смотрел. Еще не понятно, зачем два ФБ энкодера абсолютно одинаковые.
Большое спасибо! Завтра буду пробовать! Программа создавалась просто для тестирования связи, два ФБ энкодера создались машинально, паралельно создаю необходимую программу, а на этой тренируюсь!

и тогда в слейве будет неиспользуемая дыра размером в 1 байт
На что влияет эта дыра? А можно 7 бит использовать для связи с ИП320?

melky
03.03.2017, 09:16
ни на что она не влияет. Выравнивание автоматическое со стороны ПЛК, главное при указании регистров в панели об этом не забывать, вот и все.
При работе с панелью 320 оптимально первыми ставить регистры, которые используются для битовых аварий в панели, вот их штуки 2-4 сделайте. Потом регистры, через которые панель пишет биты в ПЛК, тоже 2-4 регистра сделайте. Проще и легче считать биты для панели.
Потом уже располагайте word а самими последними float-ы.

На счет выравнивания, и на сайте есть пример таблички да и на форуме много раз на эту табличку ссылались.

Lihoj
03.03.2017, 11:35
И пока не разобрался, почему не записывается переменная глобальная и локальная WORD?
29829

Lihoj
14.03.2017, 13:00
Все вышеописанные проблемы возникли из-за ПЛК, какой то бракованный! Прислали замену и все заработало, все сохраняется. Хочу все таки выяснить для себя вот что! Переменные Word со счетчика CTUD направляю на ИП320 через Modbas RS-485, элемент float, все работает и переменные сохраняются после пропадания питания. А вот через подэлемент 2byte (WORD) передать переменные со счетчика CTUD на ИП320 не могу! ПОЧЕМУ?

YuriBel
14.03.2017, 14:13
Выкладывайте проекты, которые у вас не работают с Word.

Lihoj
14.03.2017, 14:46
Проект пробный обучающий. Учусь создавать связь между ПЛК110.32(v2) и ИП320

YuriBel
14.03.2017, 14:59
Ну уж и на ИП320 выкладывайте.

Lihoj
14.03.2017, 15:11
Так он в архиве!

YuriBel
14.03.2017, 15:15
Пардон, нашел.
Теперь по теме. Согласно вашей конфигурации, ваши WORDы имеют адреса регистров 0,1, и 2, и занимают 48 бит (с 0 по 47) а следующие за ними 8 бит будут иметь адреса с 48 по 55.

YuriBel
14.03.2017, 15:41
ДАвным-давно здесь люди добрые выкладывали картинку, которая проливает свет на адресацию в Modbus Slave и на магическое слово "выравнивание". Вот эта картинка.

Lihoj
14.03.2017, 15:49
Пардон, нашел.
Теперь по теме. Согласно вашей конфигурации, ваши WORDы имеют адреса регистров 0,1, и 2, и занимают 48 бит (с 0 по 47) а следующие за ними 8 бит будут иметь адреса с 48 по 55.
ДА! Все верно! Все работает! Большое спасибо! Я учусь работать в Codesys! Может подскажете еще в одном вопросе! Быстрые входа. У меня два индуктивные датчики считают обороты двух валов (на валу метка). Что включить Fast counter или оставить Discrete input.

Lihoj
14.03.2017, 15:51
ДАвным-давно здесь люди добрые выкладывали картинку, которая проливает свет на адресацию в Modbus Slave и на магическое слово "выравнивание". Вот эта картинка.
И за картинку спасибо! Я видать плохо искал!

YuriBel
14.03.2017, 16:37
Насчет того, что включить. Нужно более детально разобраться с задачей, прараметрами, скоростями обработки и т.д. Насколько я понял, использоватьполноценные энкодеоы не получается, потому что не хватает быстрых входов. Опишите задачу поподробнее, тогда и советы будут более правильными.

Lihoj
14.03.2017, 17:02
Асинхронный эл.двигатель управляемый частотником, через редуктор вращает вал (на котором стоит звездочка для индуктивного датчика), который в свою очередь через гайку движет инструмент. Движение инструмента линейное, счетчик считает пройденный путь вперед - назад. Управление движением вперед-назад задается программно с ПЛК. Мне не понятно как будет вестись подсчет НАЗАД если поставить Fast counter с одним индуктивным датчиком?