Вход на форум 
В начало e-Mail

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  
Smart Solutions VDT :: Просмотр темы - Определение тегов в RS5000
 FAQFAQ   ПоискПоиск   ГруппыГруппы   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Определение тегов в RS5000

 
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации
Предыдущая тема :: Следующая тема  
Автор Сообщение
victor-palgov
Новичок
Новичок


Зарегистрирован: Dec 14, 2005
Сообщения: 8
Рейтинг: +0/-0

СообщениеДобавлено: Пт 23 Dec, 2005 8:55:25    Заголовок сообщения: Определение тегов в RS5000 Ответить с цитатой

Вопрос: как определить теги

BOOL A[64]
INT B[4]

так, чтобы они указывали на одно и то же место в памяти.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Пт 23 Dec, 2005 9:32:19    Заголовок сообщения: Ответить с цитатой

Просто ссылайтесь на эти биты массива INT и всё, как показано в строчке 0 программы.

Или сделайте 64 Alias'а для Boolean на массив INT и ссылайтесь на них, как показано в строчке 1.





Можете просто скопировать INT в BOOLEAN, но это будет не одно и то же место в памяти.
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
victor-palgov
Новичок
Новичок


Зарегистрирован: Dec 14, 2005
Сообщения: 8
Рейтинг: +0/-0

СообщениеДобавлено: Пт 23 Dec, 2005 12:27:22    Заголовок сообщения: Это я все понимаю. Ответить с цитатой

Но мне нужна косвенная адресация по BOOL и одновременно по INT.
Обьясняю: косвенная адресация по BOOL- это команды Modbus на управление COIL, а индексация по INT это команда Modbus на передачу данных. Данные в Modbus передаются словами, а управление принимается битами ( номер бита и его состояние 00 или FF ).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Пт 23 Dec, 2005 12:53:02    Заголовок сообщения: Ответить с цитатой

Нужна адресация, как INT - пишите MyINT[3]
Нужна адресация к биту, как BOOLEAN - пишите MyINT[3].2

Если нужно - используйте непрямую адресацию:

MyINT[position+offset].[bit_number+ramp]

position, offset, bit_number и ramp определены, скажем, как DINT.
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
victor-palgov
Новичок
Новичок


Зарегистрирован: Dec 14, 2005
Сообщения: 8
Рейтинг: +0/-0

СообщениеДобавлено: Пн 26 Dec, 2005 14:54:23    Заголовок сообщения: Спасибо. Ответить с цитатой

Спасибо.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
DIMIOKS
Эксперт
Эксперт


Зарегистрирован: May 14, 2005
Сообщения: 290
Рейтинг: +9/-0
Откуда: г.Самара

СообщениеДобавлено: Вт 25 Апр, 2006 14:59:01    Заголовок сообщения: Ответить с цитатой

Существует большая пользовательская структура, в которой в основном тип BOOL (много-много меток). Мне необходимо использовать в подпрограмме только небольшую часть данных (примерно 20 типа BOOL, остальное удобнее отправлять в подпрограмму в виде индекса для адресации в подпрограмме). Каждый переход в подпрограмму использует одинаковое кол-во и типы данных из большой структуры, сами данные всякий раз разные (из разных частей большой структуры). Структуру переписывать поздно, по разным причинам. Для отправки в подпрограмму этих данных мне придется использовать множесво Input Par and Return Par. Есть возможность создать небольшую структуру или массив, или тип DINT, INT и прочее так, чтабы каждый бит был Alias для определенного бита в большой структуре? А подпрограмма будет уже работать с промежуточными данными. Цель - создание одной процедуры(подпрограммы), которая будет вызываться более 40 раз за один скан. Прописывать большое кол-во Input Par and Return Par отразится на производтельности составления программы.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Вт 25 Апр, 2006 18:34:28    Заголовок сообщения: Ответить с цитатой

хм...

Можно создать тэг, указав ему в качестве Type созданную Вами "базовую" большую структуру. Можно, конечно, создать ещё кучу тэгов типа "Ваша структура". Но проблема в том, что нельзя создать другую структуру, в которой бы элементы были alias к элементам базовой.

Дело в том. что элементы структуры не могут быть alias к каким-то базовым тэгам, а должны быть именно базовыми тэгами.

Нельзя ли переупаковать (скопировать один раз) нужные биты "базовой структуры" таким образом, чтобы они "легли" побитно в DINT и вызывать DINT, зная, где в нём что лежит?
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
DIMIOKS
Эксперт
Эксперт


Зарегистрирован: May 14, 2005
Сообщения: 290
Рейтинг: +9/-0
Откуда: г.Самара

СообщениеДобавлено: Вт 25 Апр, 2006 19:32:52    Заголовок сообщения: Ответить с цитатой

Спасибо за ответ. Конечно, оба способа я знаю, но первый способ сразу отпадает как нерациональный, а побитное копирование в начале каждого скана... не знаю, очень много операций прописывать (20битХ40), время скана опять-же, даже если использовать для этого пару XIC-OTE...
Наверно, раньше надо было думать.
Я сейчас уже изменяю тип структуры.

Вопрос в догонку: почему такую адресацию Logix берет:

Metki.Doz[ForNext].Numer_Dozator

а такую не хотит:

Sostav_tekush2[Metki.Doz[Numer_Uspokoi_Doz].Numer_Sostav]

?

При индексации он не берет вложенную индексацию индекса?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Вт 25 Апр, 2006 19:38:32    Заголовок сообщения: Ответить с цитатой

Выходит так, что не хотит Smile

Это уж вообще - индексация второго уровня! Shocked Very Happy
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Вт 25 Апр, 2006 19:39:37    Заголовок сообщения: Ответить с цитатой

Да, структуру изменить-то проще, чем потом мучаться. Smile
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
DIMIOKS
Эксперт
Эксперт


Зарегистрирован: May 14, 2005
Сообщения: 290
Рейтинг: +9/-0
Откуда: г.Самара

СообщениеДобавлено: Вт 25 Апр, 2006 20:01:57    Заголовок сообщения: Ответить с цитатой

Ну чтож... Хотя идея в общем неплохая. Вместо полного текста использовать какие-то стандартные процедуры с фиксированным набором инструкций и промежуточные данные для каждой процедуры. Если-бы была возможность многоуровневой индексации... я бы в основном работал с организацией памяти.
И определение псевдонимов побитно между структурами и внутри одной структуры.

Одно радует: программное обеспечение от других производителей не тянет на сегодняшний Logix5000.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Вт 25 Апр, 2006 20:10:56    Заголовок сообщения: Ответить с цитатой

Я второй день хожу по Ганноверской выставке. Ни у кого нет и близко ничего подобного контроллерам Logix.

Похоже, что Rockwell ушёл лет на 5 вперёд всех.
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dvoeglazov
Эксперт
Эксперт


Зарегистрирован: Mar 06, 2006
Сообщения: 278
Рейтинг: +1/-0
Откуда: г.Киров-Чепецк

СообщениеДобавлено: Пт 28 Апр, 2006 13:51:27    Заголовок сообщения: Ответить с цитатой

А мне вот Triconex тоже очень понравился.
Хотя ничего плохого о ControlLogix сказать не могу. Им бы еще SCADA хорошую (мечтательно).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
oldDad
Site Admin
Site Admin


Зарегистрирован: May 05, 2005
Сообщения: 2773
Рейтинг: +89/-5

СообщениеДобавлено: Пт 28 Апр, 2006 14:32:22    Заголовок сообщения: Ответить с цитатой

Triconex - это что? Не DCS от Foxboro ли?

А SCADA у Rockwell Software - одна из двух наиболее продаваемых в мире Smile
_________________
Обращайтесь к профессионалам.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Smart Solutions VDT -> Программные средства систем автоматизации Часовой пояс: GMT + 1
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах

Powered by phpBB © 2001, 2005 phpBB Group
Яндекс цитирования

Smart Solutions VDT GmbH | Friedrich-List-Allee 38, D-41844 Wegberg-Wildenrath, Germany
Tel.: +49 2432 933 57 83 | e-Mail: office@vdt-solutions.de
Все товарные знаки и торговые марки являются собственностью их владельцев.
При использовании материалов сайта ссылка на данный сайт обязательна.
Открытие страницы: 0.138 секунды
/n