Страница 1 из 5 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 43

Тема: ип320, номера регистров

  1. #1
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию ип320, номера регистров

    что означают значки возла номера регистра в конфигураторе ип320?

    там окошко, где написано 4х.

    при работе с функциональной кнопкой так же дописано 0х.

    спасибо!

  2. #2
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию в догонку - биты и байты

    не совсем понятно из описания конфигуратора следующее.

    я создаю несколько экранов, там есть разные элементы, в том числе регистры и биты из памяти плк (он слейв, т.е. сервер).
    как расположены области их реального размещения?
    как сделать так, чтобы регистры и биты не наложились друг на друга?
    как понимать биты, отвечающие за индикаторы и за кнопки - они в разных областях, или в одной?

    поясню на примере.

    беру первый регистр, который мне нужен и назначаю ему номер 0 (с непонятной мне пока приставкой 4х). допустим, это регистр, доступный только для индикации.

    беру второй регистр, который мне нужен. допустим, это регистр, доступный как для индикации, так и для изменения. прав ли я, что назначаю ему номер 1, следующий свободный?

    теперь у меня занято 2 адреса: 0 и 1. причем это двухбайтные регистры, то есть в байтах занято адреса 0, 1, 2, 3. верно?

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

    или 0*8 = 0
    или уже 4*8 = 32? то есть, его размещает компилятор где-то отдельно от регистров или шпарит прямо в ту же область?

    а теперь создаю кнопку. не понятно, с какого бодуна авторы плк решили сделать адресацию этих бит, отличающуюся от адресации индикаторных бит, но сказано, что тут уже побитово.
    ладно. так какой номер я должен давать первой кнопке?

    или 0
    или 8 (если кнопки-индикаторы живут вместе, а регистры отдельно)
    или 33 (если и регистры, и индикаторы, и кнопки должны иметь неперекрывающиеся зоны адресов)

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

    спасибо!

  3. #3

    По умолчанию

    как расположены области их реального размещения?
    как сделать так, чтобы регистры и биты не наложились друг на друга?
    как понимать биты, отвечающие за индикаторы и за кнопки - они в разных областях, или в одной?
    Все-таки перечитайте еще раз руководство по конфигурированию ПЛК Овен. Есть там ответы на эти вопросы...
    создаю индикатор. про их представление в памяти сервера сказано, что им нужно выделять по байту на рыло.
    Не совсем так. Это пространство под индикаторы и кнопки выделяется порциями в размере 1 байт. Но в этом байте может разместиться до 8 индикаторов и кнопок (8 бит).
    Простейший пример. Допустим, вам нужно сделать для обмена с панелью два 16-битных регистра, один индикатор и три кнопки. Cоздавайте в ПЛК Modbus Slave (считаем, что панель - мастер), добавляйте в него 2 субэлемента "регистр" и один субэлемент "8 бит". Первый регистр будет иметь адрес "4x"0, второй - адрес "4x"1. Соответственно, в адресном пространстве (которое у Овена общее для всех переменных) первый регистр займет биты с 0 по 15, второй с 16 по 31. Добавленный после них "8 бит" займет биты с 32 по 39.
    Теперь можете работать с ними в проекте панели. Первому регистру указываете адрес 0, второму - 1. В индикаторах/кнопках указываете адрес бита, а не регистра. Т.е. первый по порядку битовый элемент у вас будет "0x"32, за ним "0x"33, "0x"34 и "0x"35... Сквозная нумерация битов в поле ввода-вывода, иначе говоря.
    Если сейчас добавить после "8 бит" еще один 16-битный регистр, то между ним и имеющимся "8 бит" будет вставлен байт для выравнивания. То есть биты с 40 по 47 будут неиспользуемыми, а регистр займет биты с 48 по 63.
    А если после "8 бит" добавить Float, то на выравнивание уйдет уже не один, а целых три байта. Поглядите на картинку расположения переменных в памяти ввода-вывода в руководстве по конфигурированию ПЛК, там все это наглядно нарисовано.
    Так более-менее понятно?
    "Только чтение", или "возможность модификации" - это функция, реализованная на уровне панели. То же самое относится и к индикаторам (кнопка - точно такой же бит, как индикатор, но панель может не только читать его, но и модифицировать).
    По части загадочных "0x" и "4x" не парьтесь. Это всего-навсего намек на команду Modbus, которой читается данный элемент в адресном пространстве. "0" - это "coil", т.е. одиночный бит, "4" - регистр. Поскольку ИП320 не предоставляет вам альтернатив выбора по этой части, просто наплюйте и забудьте.

  4. #4
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    спасибо огромное!

    достаточно понятно даже мне (хотя, поверьте, читал я описание конфигурации ип320 - но потому с спрашиваю, что там нет четких ответов).

    итак, резюмирую:

    1) если в конфигураторе я вижу значок 4х - это означает адресацию в регистрах, если значок 0х - это адресация в битах.

    2) все переменные - в едином адресном пространстве. поэтому нужно беспокоиться. чтобы пространство, занятое, скажем, регистром (со своим 4х) не перекрыло пространство, занятое битом (со своим 0х).

    если все так - можно не отвечать. еще раз спасибо - и до новых вопросов!

  5. #5

    По умолчанию

    пространство общее, по этому надо:
    1. выравнивать пространство - распологая сначала 8-ми битные переменные, количество кратное двум (один регистр), потом регистры, четное количестов, потом 2-х регистровые. и соответственно считаете. четное количество - для выравнивания - легче будет не запутаться - пусть лучше в резерве останутся.

  6. #6

    По умолчанию

    выравнивать пространство - распологая сначала 8-ми битные переменные, количество кратное двум (один регистр), потом регистры, четное количестов, потом 2-х регистровые.
    Если хочется, чтобы все само собой уложилось "без дырок", то лучше в обратном порядке - сначала прописать все Float'ы, затем Word'ы, и после них уже добавлять "8-бит".

  7. #7
    Пользователь
    Регистрация
    21.10.2010
    Адрес
    msk
    Сообщений
    27

    По умолчанию

    а подскажите пожалуйста, я правильно понял, что
    1. в настройках модбас слэйв, я могу узнать номер регистра только путём подсчёта начиная с нуля? нигде этот номер не фигурирует?
    2. я не могу поменять номер регистра обмена просто поменяв его номер, а мне надо его переставлять, или вставлять новый и т.п.?

  8. #8

    По умолчанию

    вы все правильно понимаете.
    а с точки зрения расширения программы я бы начинал с битов. но имхо - дело вкуса и удобства.

  9. #9
    Пользователь
    Регистрация
    21.10.2010
    Адрес
    msk
    Сообщений
    27

    По умолчанию

    Цитата Сообщение от николаев андрей Посмотреть сообщение
    вы все правильно понимаете.
    а с точки зрения расширения программы я бы начинал с битов. но имхо - дело вкуса и удобства.
    ага, спасибо. я так и сделал!

  10. #10
    Пользователь Аватар для drvlas
    Регистрация
    30.09.2010
    Адрес
    Киев
    Сообщений
    700

    По умолчанию

    Цитата Сообщение от Terrano1992 Посмотреть сообщение
    Все-таки перечитайте еще раз руководство по конфигурированию ПЛК Овен. Есть там ответы на эти вопросы...
    Подожди, подожди! Читаю это руководство больше, чем дочке своей сказок Но вот какая нескладушка и какие новые непонятки.

    1) Ты пишешь
    Цитата Сообщение от Terrano1992 Посмотреть сообщение
    пространство под индикаторы и кнопки выделяется порциями в размере 1 байт. Но в этом байте может разместиться до 8 индикаторов и кнопок (8 бит)
    А что пишет тот документ, цицирую стр.21 (последний абзац перед п.4.9):

    Для одного индикатора в битовой области необходимо выделить целый байт, причем в конфигураторе указывается нулевой бит этого байта (т.е. номер бита должен быть кратен 8). При работе панель анализирует весь байт по логике ИЛИ, т.е. если любой из битов байта устанавливается в 1, то индикатор переключается.

    Опаньки! Так как правильно? Один бит на кнопку или 8 битов? Кстати, в примере (Конфигуратор) в таблице 7.1 получается, что все же индикаторам отводится целый байт. Может все же ты немного ошибся?

    2) Как выводятся значения из регистров, если их обозвали в конфигураторе FLOAT? Правильно ли я понимаю, что число "укладывается" в прокрустово ложе заданной разрядности и длины дробной части? Что показывается при выходе из рамок?

    Например, записано разрядность 5 и 2 знака дробных:

    ХХХ.УУ

    а у нас в регистре записано число 10000. Что выведется?

    Или в регистре 0.0001 - его ведь тоже можно в 5 разрядов вывести, но нарушится положение точки. Так выведется

    000.00
    или
    0.0001

    Ну, и отрицательные. Если не поставили значек "Знак", а в регистр попало FLOAT число -1 - то выведется 000.00 или что?

    3) При вводе значения регистра с клавиатуры панели - как вводить десятичную точку? Или нужно забить на ввод FLOAT?

    4) А при вводе числа в регистр, который объявлен вот так

    ХХХ.УУ

    - и мы ввели 12345. Что увидим на экране? Скорее всего, 123.45. Да?
    А что запишется в регистр? Там, если я уже что-то понял, будет просто двоичное представление числа 12345, а уж делить на 100 должен ПЛК. Да?

    5) Переприсвоение кнопок. По умолчанию все они имеют функции. Теперь представим, что в конкретном экране я переприсвою какой-то кнопке другую функцию. Она теперь не будет выполнять "основную"?
    Скажем, я даю кнопке "ВНИЗ" функцию установки бита (по которому там что-то ПЛК сделает, например, переключит экран или самоликвидируется). Так что теперь случится, если я начну ввод значения регистра, в котором, по описанию, эта кнопка должна изменять значение вводимого числа? Нажму ее и...? Изменится число или установится тот бит?

    6) Все те кнопки, которые не упомянуты в данном экране (не переприсвоены) - работают? По своим основным функциям, я имею в виду.

    7) При включении питания - какой экран будет светиться? В описалове сказано, что

    В поле «Главный экран» – указывается номер экрана, который будет переходить панель по нажатию кнопки [ESC] (обычно это либо экран главного меню, либо наиболее часто используемый экран).

    А на последней странице (в примере) уже сказано, что

    Главный экран (экран, который появится сразу после включения питания) ...

    Думаю, что все же Главным называют экран, который по включению и выводится. А в первой цитате - просто недосказано главное

    Итак, представим, что в данном проекте я поставил "Авт.смена экрана". Но при этом флажки в поле "параметры проекта" не дезактивировались. Значит, с Главного экрана переход, например, на указанный следующий экран, - произойдет через 1 минуту?
    Можно ли полагать, что в этот Главный я могу записать некое приветствие, а через указанное в поле "Выполнить" время панель выведет следующий экран - и после этого все переходы будут только по состоянию регистра, указанного в поле "Управление"?
    Или, если "Авт.смена экрана", то и с самого первого экрана перехода никуда не будет без воли ПЛК?

    Ну, вроде все. Или нет...
    Последний раз редактировалось drvlas; 13.11.2010 в 21:41.

Страница 1 из 5 123 ... ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •