vitia12 (Пользователь)
Fresh Boarder
Постов: 6
|
Нумерація блоків 10 г., 12 мес. назад
|
|
Чи можливо в альфі змінити порядковий номер блоку? Наприклад я хочу щось удалити або поміняти, а номера виставлялись автоматом. Коли я удаляю блок, номера не збиваються, і відповідно буде пропущений номер
|
|
|
|
|
Последнее редактирование: 04.04.2013 10:30 Редактировал Lukas.
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
Lukas (Модератор)
Модератор
Постов: 213
|
RE: Нумерація блоків 10 г., 12 мес. назад
|
|
Так, для зміни номера функціонального блоку необхідно відкрити вікно властивостей блоку і в полі «Порядковый номер» виставити необхідний номер блоку.
Також є інший метод - вибрати функцію Нумерація блоків (Правка - > Нумерация блоков), в вікні, що появиться вказати номер з якого необхідно почати нумерацію, та по порядку присвоїти кожному з блоків свій порядковий номер.
При вказаних вище методах нумерації функціональних блоків необхідно щоб їхній номер не був зафіксований. Для автоматичного зняття фіксації необхідно вибрати наступну функцію – Правка – > Флаг фиксации блоков – > Сбросить (F4).
Якщо ж зміна номерів певних функціональних блоків не можлива (наприклад по причині використання уже розробленого програмного забезпечення управління з верхнього рівня, де вибрана жорстка структура регістрів), а пропуск в нумерації все ж таки є - в такому випадку необхідно використати функціональний блок NOP(00), блок призначений для ліквідації пропусків в нумерації, та присвоїти йому необхідний номер.
|
|
|
|
|
Последнее редактирование: 04.04.2013 10:40 Редактировал Lukas.
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
korzhyk (Пользователь)
Junior Boarder
Постов: 22
|
RE: Нумерація блоків 8 г., 4 мес. назад
|
|
Якщо в редакторі Альфа представити програму у вигляді таблиці, то видно, що під будь-яку властивість функціонального блока відведено 1 регістр, хоча в мануалі сказано, що дані дійсного типу (наприклад вихід AIN) займає 2 регістри. Крім того в функціональних блоках адреси регістрів виходів і властивостей перекриваються (той же AIN). Це помилки, чи я чогось капітально не розумію з цією адресацією?
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
support_d (Администратор)
Администратор
Постов: 129
|
RE: Нумерація блоків 8 г., 4 мес. назад
|
|
Доброго дня. Два регістри займають виходи блоків, властивості ж займають по одному.
Щодо адресації, то в таблиці все вірно: виходи і властивості дійсно мають однакові номери, тільки зчитуються вони різними функціями - виходи зчитуються четвертою функцією, властивості - третьою.
Детальніше про адресацію і зчитування можна прочитати в розділі 3.4 "Коммуникационные функции" інструкції по експлуатації контролерів МІК-51 та МІК-52.
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
korzhyk (Пользователь)
Junior Boarder
Постов: 22
|
RE: Нумерація блоків 8 г., 4 мес. назад
|
|
support_d писал(а):
QUOTE: Два регістри займають виходи блоків, властивості ж займають по одному.
А якщо властивість має аналоговий чи часовий тип, то всеодно 1 регістр?
А якщо вихід дискретний, то всеодно 2 регістра?
Наприклад, той же AIN(05) має властивість 03 tFLT, тоб-то представлена подвійним цілим 4 байти,
а вихід 01 dERROR, має бути представлений звичайним цілим 2 байти.
Доречі, в описі ModBus (розділ 5.4.4.1 РЭ1) вказано, що кількість байтів, що зчитується, залежить від типу даних.
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
support_d (Администратор)
Администратор
Постов: 129
|
RE: Нумерація блоків 8 г., 4 мес. назад
|
|
Доброго дня. Ви праві, кількість регістрів залежить від типу даних.
В контролері МІК-51 існує два типи протоколів Modbus (через що, власне, і виникла деяка плутанина): Modbus "Мікрол" - протокол, який дещо відрізняється від стандартного Modbus RTU, і Modbus "Modicon", який є стандартним Modbus RTU.
У випадку використовування Modbus "Modicon" властивості блоків незалежно від типу даних резервують для себе два регістри, при цьому номер необхідного регістру вираховується за допомогою формули, наведеної в інструкції, а не береться з таблиці програмного пакету Альфа. Натомість кількість регістрів для виходів від типу даних залежить: якщо це дискретний вихід (тип даних «int» – 2 байти), то він резервує один регістр, якщо аналоговий (тип даних «float») або часовий (тип даних «int» – 4 байти) - то два. Приклад для визначення номеру регістру наведений знову ж таки в інструкції по експлуатації для МІК-51.
Якщо ж використовувати протокол Modbus "Мікрол", то тут обробка даних проходить дещо по-іншому (незалежно від того, властивість це чи вихід): якщо дані дискретного типу (тип даних «int»), то для них використовується один регістр довжиною два байти, якщо ж дані аналогові (тип даних «float») чи часові (тип даних «int» – 4 байти), то, хоч їхня довжина складає 4 байти, використовується все той же один регістр, от тільки при формуванні відповіді контролер за допомогою внутрішньої обробки видає пакет довжиною 4 байти. Плюсом цієї системи є те, що ця обробка не впливає на процес налаштування для користувача: для визначення регістрів можна користуватись таблицею з програмного пакету Альфа.
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
korzhyk (Пользователь)
Junior Boarder
Постов: 22
|
RE: Нумерація блоків 8 г., 4 мес. назад
|
|
Дякую, дещо прояснюється, але все одно залишається загадкою, чому властивість (з точки зору користувача) яка має тип float або longint, займає 1 регістр (наприклад при розрахунку базових адрес блоків)? Чи ці адреси - просто номери властивостей при наскрізній їх нумерації?
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
support_d (Администратор)
Администратор
Постов: 129
|
RE: Нумерація блоків 8 г., 4 мес. назад
|
|
Ні, це все-таки номери регістрів. В цьому якраз полягає суть специфічної обробки і видачі даних контролером МІК-51 при використанні протоколу Modbus "Мікрол": контролер не резервує для цих даних регістри, а збільшує сам пакет.
|
|
|
|
|
Для добавления сообщений, Вы должны зарегистрироваться или авторизоваться.
|
|