PDA

Просмотр полной версии : Ряд вопросов "чайника"



Дмитрий Александрович
27.09.2011, 14:30
Доброго времени суток.
Извиняюсь если те вопросы что я буду задавать уже обсуждались ранее - буду признателен за пинание по ссылкам.

В ПЛК я пока еще не разбираюсь, а задача возникала сразу сложная.

По этому ряд вопросов.

Железо:

В качестве управляющего ПЛК выбран ПЛК160-220.И-М
Так как дискретных каналов вывода на нем не хватает - дополнительно модуль дискретного вывода ввода МК 110-224.8ДН.4Р. Для орагнизации интерфеса с пользователями - панель оператора СП270-Т.

1. Как правильнее организовать работу?
Связать все устройства по RS485 или панель с контроллером по RS232 и контроллер с модулем по RS485? Физически все в одном шкафу.
2. Если все связывать по RS485 и протоколу MODBUS - какое устройство должно быть мастером? Контроллер или панель. В документации я так и не понял.
По логике работы системы - контроллер должен опрашивать ряд датчиков, выполнять ПИД регулирование с выдачей сигнала на выход 4-20 мА ну и дискретными выходами внешнего модуля управлять. В то же время панель - отображать текущее состояние датчиков и передавать в контроллер настройки вносимые пользователем. Как я понимаю - при данной логике = мастер сети ПЛК?

3. Какой язык программирования наиболее удобен и прост для освоения в том случае если есть опыт программирования обычных ПК (Pascal, Delphi) и микроконтроллеров AVR (Pascal, ASM)

4. Какие книги / учебники почитать и какие темы на форуме внимательнейшим образом изучить?

Спасибо за ответы. Если обсуждалось - буду благодарен за ссылки.
Неплохо было бы конечно FAQ что бы был... Но пока я его не увидел.

Николаев Андрей
27.09.2011, 18:37
Мыслите совершенно правильно.
ПЛК по 485 - ModBus Master для МК110
ПЛК по 232 - ModBus Slave для СП270.

Очень много ответов в руководствах.
Что то типа FAQ по тому, как сконфигурировать 2 устройства на сетевой обмен (представляю себе этот FAQ :) ) можно посмотреть тут:
http://www.owen.ru/forum/forumdisplay.php?f=49
Думаю найдете ответы на все вопросы.

Павел В.
28.09.2011, 10:55
Тема подходящая. :)
Как преобразовать значение сопротивления (видимо это REAL число в процентах 25-5000 Ом) полученное контроллером от МВ110-224.2А в INT?
REAL_TO_INT выдает число не похожее на то что выдаёт CodeSys в разделе "Конфигурация ПЛК".

swerder
28.09.2011, 11:31
зачем преобразовывать реал в инт, если с модуля сразу можно брать инт?

Павел В.
28.09.2011, 12:00
Swerder, каким образом взять с модуля INT? Пеобразование использую для отображение на панели.

Pointer
28.09.2011, 13:36
3. Какой язык программирования наиболее удобен и прост для освоения в том случае если есть опыт программирования обычных ПК (Pascal, Delphi) и микроконтроллеров AVR (Pascal, ASM)
ST - очень похож на Паскаль, ну и IL - как альтернатива ассемблеру...

Павел В.
28.09.2011, 13:47
Валенок, вот читаю руководство:
Протокол ОВЕН - число с плавающей точкой с модификатором времени.
Пртокол ModBus - 4-х байтовые значения с плавающей точкой и 2-х байтовое целое.
Сейчас использую протокол ОВЕН, и чтобы считать целое число мне надо перейти на ModBus?
Но вопрос про REAL_TO_INT остался, почему некорректно конвертируется число из МВ110? Вернее не некорректно, а как это правильно сделать?

swerder
28.09.2011, 13:50
Swerder, каким образом взять с модуля INT? Пеобразование использую для отображение на панели.

почти также, каким образом брали и реал - в конфигурации плк вместо real input module использовать register input.. адресация в РЭ на МВ110-224.2А
справедливо для протокола модбас.



Сейчас использую протокол ОВЕН, и чтобы считать целое число мне надо перейти на ModBus?

похоже на то

как это правильно сделать?
значение_на_панель := real_to_int(значение_с_модуля);

Павел В.
28.09.2011, 14:13
swerder, делаю так:
http://s41.radikal.ru/i092/1109/8d/a02809912dfa.png (http://www.radikal.ru)
Поправьте пожалуйста если что неправильно делаю. 83% которые показывает первый канал никак не похожи на 26811

swerder
28.09.2011, 14:35
если возникают подобные сомнения, следует подсоединиться с помощью АС3-М к модулю ввода и посмотреть что показывает конфигуратор М110 в измеряемом канале. кстати, что измеряете, и где вы берете 2 значения - одно в процентах, другое в попугаях (или Омах?)?

capzap
28.09.2011, 14:40
может не извращаться, а попробовать специально для этого созданную функцию trunc

Павел В.
28.09.2011, 14:46
Как я понял при измерении сопротивления модуль выдает значение в процентах от диапазона 25-5000 Ом. На первом канале переменник примерно на 4,1 кОм на втором канале постоянник на 2,8 кОм. Конфигуратор М110 выдаёт верные проценты по всем каналам, в разделе "Конфигурация ПЛК" CoDeSys тоже верные значения, а вот после конвертации (вверху предыдущего рисунка) не похоже на 83% первого канала. Где ошибка?

Павел В.
28.09.2011, 15:09
capzap, хм, точно, ошибся я сам, надо калькулятор-конвертер исползовать.

capzap
28.09.2011, 15:26
чем TRUNC то не устраивает

Павел В.
28.09.2011, 15:29
capzap, CoDeSys я изучаю меньше месяца, а контроллер так и вообще вчера приехал, так что о TRUNC я от Вас узнал. :)
Изучаю пока.