| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
cindirik Постоянный участник


Зарегистрирован: Sep 24, 2009 Сообщения: 77 Рейтинг: +0/-0
|
Добавлено: Вт 13 Окт, 2009 13:26:16 Заголовок сообщения: |
|
|
| Про блок PSMCM я ничего не нашел. Может Выи имеете ввиду Import Rung? Я правильно вас понял коллега? |
|
| Вернуться к началу |
|
 |
DimR77 Новичок


Зарегистрирован: Sep 09, 2009 Сообщения: 8 Рейтинг: +0/-0
|
Добавлено: Ср 14 Окт, 2009 10:58:31 Заголовок сообщения: |
|
|
Сначала добавляем через "Add-On Instructions" и "Import Add-On Instruction"
файл PSMCM.L5X(идет на диске с MVI56-MCM ).
После установки должна появится пиктограмма блока PSMCM в закладке инструкций Add-on
Дословно-
Затем вставляем настроенный блок PSMCM в основную программу.
В руководстве все по шагам описано. |
|
| Вернуться к началу |
|
 |
cindirik Постоянный участник


Зарегистрирован: Sep 24, 2009 Сообщения: 77 Рейтинг: +0/-0
|
Добавлено: Пт 16 Окт, 2009 8:41:41 Заголовок сообщения: |
|
|
Я сделал импорт ранг, но при перехода в режим онлайн у меня выводиться следующие ошибки:
Error: Rung 2, AOI56MCMR, Operand 1: Cannot reference a tag of the specified data type.
Error: Rung 2, AOI56MCMR, Operand 2: Cannot reference a tag of the specified data type.
Что мне дальше делать?  |
|
| Вернуться к началу |
|
 |
DimR77 Новичок


Зарегистрирован: Sep 09, 2009 Сообщения: 8 Рейтинг: +0/-0
|
Добавлено: Пт 16 Окт, 2009 11:49:49 Заголовок сообщения: |
|
|
| в PSMCM модули нужно вести правильные данные(переменные) которые должны предварительно ведены в Control Tags - Local:C, Local:O, Local:I, и MMC. MMC должно предварительно создается самим пользователем Namе -любое, Data Type - MCMModuleDef. Затем эти переменные водятся в блок PSMCM. В даташите на MVI56-MCM все подробно описано, может этот модуль отличается от вашего MVI56-MCMR |
|
| Вернуться к началу |
|
 |
cindirik Постоянный участник


Зарегистрирован: Sep 24, 2009 Сообщения: 77 Рейтинг: +0/-0
|
Добавлено: Вт 20 Окт, 2009 8:01:19 Заголовок сообщения: |
|
|
Ребята всем огромное спасибо. Но у меня следующий такой вопрос:
Теперь я хочу подключить к блоку MVI56-MCMR компьютер расхода газа FloBoss 107(Emerson Process Management). Подключаю к блоку MVI56-MCMR через конвертер RS-485/232, в программе RSLinx 5000 перехожу в режим онлайн. Проблема состоит в том, что при переходе в режим онлайн, я захожу в Controller Tags, что бы предварительно просмотреть данные от посланного FloBoss 107,но я не знаю в каких тегах следует просмотреть эти данные?
Например, в модуле 1756-İF8H, что бы просматреть данные я кликаю Controller Tags, далее Local:1:I, далее Local:1:I.HART.
А в случае MVI56-MCMR как быть? |
|
| Вернуться к началу |
|
 |
40in Частый гость


Зарегистрирован: Jan 24, 2008 Сообщения: 21 Рейтинг: +1/-0
|
Добавлено: Вт 20 Окт, 2009 11:25:54 Заголовок сообщения: |
|
|
| Начнем по порядку. Тэги MCMR, в вашем случае, будут называться Local:6:I.Data и Local:6:O.Data. Это массивы INT размерностью 42 элемента, если конфигурировать модуль по User Manual (стр. 23-25), который есть на диске в комплекте поставки. С 26 страницы и далее идет описание тонкой настройки для управления и диагностики модуля, которая для его работы не является обязательной и разобраться с ней можно потом используя примет с диска. MCMR будет читать и писать регистры пачками по 40 штук, выкладывая в Local:6:I.Data[41] номер пачки. Читать и писать регистры он будет в порядке указанном в файле «MVI56MCM.CFG», который создается с помощью Prosoft Configuration Builder, и загружается в модуль. В этом файле в простом текстовом формате прописаны параметры работы модуля MCMR. Наиболее простой и быстрый способ работы с этим файлом - вытащить из модуля карту памяти и вставить её в кардридер с поддержкой CompactFlash, а далее править ручками в любом тестовом редакторе. Описание параметров задаваемых в этом файле можно посмотреть в User Manual (стр. 35-44). Прософтовский билдер иногда сбоит в процессе загрузки файла в модуль, он либо не записывается, либо пишется не полностью, и тогда модуль светит красным глазом и адски греется в области карты памяти из-за постоянного её опроса. Прописав туда нормальный файл можно решить эту проблему. |
|
| Вернуться к началу |
|
 |
40in Частый гость


Зарегистрирован: Jan 24, 2008 Сообщения: 21 Рейтинг: +1/-0
|
Добавлено: Вт 20 Окт, 2009 11:35:40 Заголовок сообщения: |
|
|
| Читает и пишет MCMR непрерывно посвоему собственному таймеру не взирая на ход вашей программы, поэтому обмен лучше укладывать в задачи по рассписанию (Periodic Task). |
|
| Вернуться к началу |
|
 |
cindirik Постоянный участник


Зарегистрирован: Sep 24, 2009 Сообщения: 77 Рейтинг: +0/-0
|
Добавлено: Вт 20 Окт, 2009 12:34:31 Заголовок сообщения: |
|
|
Спасибо большое. Конфигурационный файл я загрузил с диска в модуль MVI56-MCMR и он был сконфигурирован как Master, а FloBoss в данным случае как Slave. После загрузки конфигурационной программы в память модуля MVI56-MCMR с помощью Prosoft Configuration Builder, у меня выводиться что "Module is Running". Далее я открываю RSLogix 5000, создаю проект, перехожу в режим онлайн и подключаю FloBoss 107 через конвертер RS-485/232 в модуль MVI56-MCMR в разъем "P1 Application". В режиме онлайн данные с FloBoss 107 должны выводиться в поле Local:6:I.Data[41]?
Правильно ли я Вас понял? |
|
| Вернуться к началу |
|
 |
40in Частый гость


Зарегистрирован: Jan 24, 2008 Сообщения: 21 Рейтинг: +1/-0
|
Добавлено: Вт 20 Окт, 2009 12:51:57 Заголовок сообщения: |
|
|
| Не совсем. Все регистры, которые в MVI56MCM.CFG сконфигурены для чтения, будут читаться в Local:6:I.Data[1] - Local:6:I.Data[40], а в Local:6:I.Data[41] помещается номер пачки из 40 регистров, если вы читаете их больше 40. |
|
| Вернуться к началу |
|
 |
cindirik Постоянный участник


Зарегистрирован: Sep 24, 2009 Сообщения: 77 Рейтинг: +0/-0
|
Добавлено: Вт 20 Окт, 2009 12:57:43 Заголовок сообщения: |
|
|
| т.е. я должен от Local:6:I.Data[1] до Local:6:I.Data[40] все просматривать по одному. Хорошо, а как понять слово "если вы читаете их больше 40"? просто я не могу понять, что имеется ввиду если я читаю свыше 40? |
|
| Вернуться к началу |
|
 |
40in Частый гость


Зарегистрирован: Jan 24, 2008 Сообщения: 21 Рейтинг: +1/-0
|
Добавлено: Вт 20 Окт, 2009 13:06:27 Заголовок сообщения: |
|
|
Вот пример конфигурации порта, когда через него читается 19 регистров начиная с 1000-го адреса Slave-устройства и ещё 95 - начиная с 0-го.
[Modbus Port 1 Commands]
# Internal Poll Reg Swap Node Modbus MB Address
# Enable Address Interval Count Code Address Func in Device
START
1 0 0 19 0 1 3 1000
1 19 0 95 0 1 3 0
END
Все они (19+95) будет последовательно по времени выложены в [1]-[40] элемент массива Local:6:I.Data, сначала первые 40, потом вторые и так далее, при этом в Local:6:I.Data[41] будут занесены 0 - для первой пачки, 1 - для второй и так далее. |
|
| Вернуться к началу |
|
 |
40in Частый гость


Зарегистрирован: Jan 24, 2008 Сообщения: 21 Рейтинг: +1/-0
|
Добавлено: Вт 20 Окт, 2009 13:08:29 Заголовок сообщения: |
|
|
| Ещё раз повторю, они туда выкладываются независимо от исполнения вашей программы. |
|
| Вернуться к началу |
|
 |
40in Частый гость


Зарегистрирован: Jan 24, 2008 Сообщения: 21 Рейтинг: +1/-0
|
Добавлено: Вт 20 Окт, 2009 13:15:26 Заголовок сообщения: |
|
|
| И ещё, для вас и всех прочих, читающих этот пост, добавлю. То, что я здесь излагаю - это БЫСТРЫЙ и ПРОСТОЙ способ получения данных с Modbus-устройства, но не ПРАВИЛЬНЫЙ. Правильный описан в мануале и примере. |
|
| Вернуться к началу |
|
 |
cindirik Постоянный участник


Зарегистрирован: Sep 24, 2009 Сообщения: 77 Рейтинг: +0/-0
|
Добавлено: Вт 20 Окт, 2009 13:18:42 Заголовок сообщения: |
|
|
| Ок. Большое спасибо 40in за помощь и за подробную информацию! Сейчас постараюсь сделать. |
|
| Вернуться к началу |
|
 |
|