Russian (CIS)

Translate

Russian Chinese (Simplified) English French German Ukrainian
Главная Форум
Подписаться: Подписаться на рассылку по e-mail FACEBOOK
Форум
Добро пожаловать, Гость
Привет! Вход или Регистрация.    Забыли пароль?
Вниз Ответить Избранное: 0
Сообщения темы: RE: Нумерація блоків
#1071
vitia12 (Пользователь)
Fresh Boarder
Постов: 6
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
Нумерація блоків 8 г., 8 мес. назад  
Чи можливо в альфі змінити порядковий номер блоку? Наприклад я хочу щось удалити або поміняти, а номера виставлялись автоматом. Коли я удаляю блок, номера не збиваються, і відповідно буде пропущений номер
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
 
Последнее редактирование: 04.04.2013 10:30 Редактировал Lukas.
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#1072
Lukas (Модератор)
Модератор
Постов: 213
graph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
RE: Нумерація блоків 8 г., 8 мес. назад  
Так, для зміни номера функціонального блоку необхідно відкрити вікно властивостей блоку і в полі «Порядковый номер» виставити необхідний номер блоку.
Також є інший метод - вибрати функцію Нумерація блоків (Правка - > Нумерация блоков), в вікні, що появиться вказати номер з якого необхідно почати нумерацію, та по порядку присвоїти кожному з блоків свій порядковий номер.
При вказаних вище методах нумерації функціональних блоків необхідно щоб їхній номер не був зафіксований. Для автоматичного зняття фіксації необхідно вибрати наступну функцію – Правка – > Флаг фиксации блоков – > Сбросить (F4).
Якщо ж зміна номерів певних функціональних блоків не можлива (наприклад по причині використання уже розробленого програмного забезпечення управління з верхнього рівня, де вибрана жорстка структура регістрів), а пропуск в нумерації все ж таки є - в такому випадку необхідно використати функціональний блок NOP(00), блок призначений для ліквідації пропусків в нумерації, та присвоїти йому необхідний номер.
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
 
Последнее редактирование: 04.04.2013 10:40 Редактировал Lukas.
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#1335
korzhyk (Пользователь)
Junior Boarder
Постов: 22
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
RE: Нумерація блоків 6 г. назад  
Якщо в редакторі Альфа представити програму у вигляді таблиці, то видно, що під будь-яку властивість функціонального блока відведено 1 регістр, хоча в мануалі сказано, що дані дійсного типу (наприклад вихід AIN) займає 2 регістри. Крім того в функціональних блоках адреси регістрів виходів і властивостей перекриваються (той же AIN). Це помилки, чи я чогось капітально не розумію з цією адресацією?
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#1336
support_d (Администратор)
Администратор
Постов: 129
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
RE: Нумерація блоків 6 г. назад  
Доброго дня. Два регістри займають виходи блоків, властивості ж займають по одному.
Щодо адресації, то в таблиці все вірно: виходи і властивості дійсно мають однакові номери, тільки зчитуються вони різними функціями - виходи зчитуються четвертою функцією, властивості - третьою.
Детальніше про адресацію і зчитування можна прочитати в розділі 3.4 "Коммуникационные функции" інструкції по експлуатації контролерів МІК-51 та МІК-52.
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#1337
korzhyk (Пользователь)
Junior Boarder
Постов: 22
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
RE: Нумерація блоків 6 г. назад  
support_d писал(а):
QUOTE:
Два регістри займають виходи блоків, властивості ж займають по одному.


А якщо властивість має аналоговий чи часовий тип, то всеодно 1 регістр?
А якщо вихід дискретний, то всеодно 2 регістра?

Наприклад, той же AIN(05) має властивість 03 tFLT, тоб-то представлена подвійним цілим 4 байти,
а вихід 01 dERROR, має бути представлений звичайним цілим 2 байти.

Доречі, в описі ModBus (розділ 5.4.4.1 РЭ1) вказано, що кількість байтів, що зчитується, залежить від типу даних.
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#1342
support_d (Администратор)
Администратор
Постов: 129
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
RE: Нумерація блоків 6 г. назад  
Доброго дня. Ви праві, кількість регістрів залежить від типу даних.
В контролері МІК-51 існує два типи протоколів Modbus (через що, власне, і виникла деяка плутанина): Modbus "Мікрол" - протокол, який дещо відрізняється від стандартного Modbus RTU, і Modbus "Modicon", який є стандартним Modbus RTU.
У випадку використовування Modbus "Modicon" властивості блоків незалежно від типу даних резервують для себе два регістри, при цьому номер необхідного регістру вираховується за допомогою формули, наведеної в інструкції, а не береться з таблиці програмного пакету Альфа. Натомість кількість регістрів для виходів від типу даних залежить: якщо це дискретний вихід (тип даних «int» – 2 байти), то він резервує один регістр, якщо аналоговий (тип даних «float») або часовий (тип даних «int» – 4 байти) - то два. Приклад для визначення номеру регістру наведений знову ж таки в інструкції по експлуатації для МІК-51.
Якщо ж використовувати протокол Modbus "Мікрол", то тут обробка даних проходить дещо по-іншому (незалежно від того, властивість це чи вихід): якщо дані дискретного типу (тип даних «int»), то для них використовується один регістр довжиною два байти, якщо ж дані аналогові (тип даних «float») чи часові (тип даних «int» – 4 байти), то, хоч їхня довжина складає 4 байти, використовується все той же один регістр, от тільки при формуванні відповіді контролер за допомогою внутрішньої обробки видає пакет довжиною 4 байти. Плюсом цієї системи є те, що ця обробка не впливає на процес налаштування для користувача: для визначення регістрів можна користуватись таблицею з програмного пакету Альфа.
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#1344
korzhyk (Пользователь)
Junior Boarder
Постов: 22
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
RE: Нумерація блоків 6 г. назад  
Дякую, дещо прояснюється, але все одно залишається загадкою, чому властивість (з точки зору користувача) яка має тип float або longint, займає 1 регістр (наприклад при розрахунку базових адрес блоків)? Чи ці адреси - просто номери властивостей при наскрізній їх нумерації?
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
#1347
support_d (Администратор)
Администратор
Постов: 129
graphgraph
Пользователь в оффлайне Кликните здесь, чтобы посмотреть профиль этого пользователя
RE: Нумерація блоків 6 г. назад  
Ні, це все-таки номери регістрів. В цьому якраз полягає суть специфічної обробки і видачі даних контролером МІК-51 при використанні протоколу Modbus "Мікрол": контролер не резервує для цих даних регістри, а збільшує сам пакет.
 
Сообщение модератору   Зарегистрированный Зарегистрированный  
  Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
Вверх Ответить