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

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  


Предыдущие результаты



Предыдущие результаты



Предыдущие результаты

 Здравствуйте, уважаемые коллеги! Вот уже неделя прошла с того момента, как в мариупольском офисе VDT-Automation закончила обучение [u:553c713b35][b:553c713b35]первая[/b:553c713b35][/u:553c713b35] в этом учебном центре группа сотрудников комбината "Азовсталь" по курсу ControlLogix. А на сайте тишина... Иначе как огромной занятостью и скромностью я это объяснить не могу :D. Хотя все было на должном уровне: и техническое обеспечение, и уровень преподавателей, и учебный класс, и организационная сторона. Наши ребята жалели лишь о том, что курс очень быстро закончился :cry: . Но мы уверены, что это только начало нашего тесного и плодотворного сотрудничества :wink:. [b:553c713b35][i:553c713b35]Отдельно[/i:553c713b35][/b:553c713b35]: Рррроммма, ждем фотографии с неофициальной части :D.

 [color=blue:76382ce10c]Еще RSLinx имеет "DDE/OPC predefined items", некоторые из них: - @Mode returns the current mode of the processor as a string (Run, Program, Remote Run, or Remote Program). - @Status returns the current status of the processor as a string (Ok or Faulted). - @StatusNumber returns the current status of the processor as a number. - @IsPresent allows you to check if your ControlLogix processor is available prior to performing reads or writes. [/color:76382ce10c] А можно поподробней насчет механизма использования этих item-ов из RSView32? Никогда этого не использовал, а штука может быть полезной в случае ее реальной возможности применения. С уважением, Vitaliy D. Burtsev

 [quote:99c51288ed]А в RSView если связи нету то вид объектов не изменяется...[/quote:99c51288ed] Верно только для случая, когда к этому объекту не привязан тег устройства. [quote:99c51288ed]Для диагностики можно, например, назначить какие-нибудь действия (Event), основываясь на бите коммуникаций system\ComErrorValue1 или system\ComErrorValueOPC [/quote:99c51288ed] Не удачный совет, контроллеров может быть более одного... В RSView32 есть замечательная функция - "comm_err(TagName)". Еще RSLinx имеет "DDE/OPC predefined items", некоторые из них: [list:99c51288ed] - @Mode returns the current mode of the processor as a string (Run, Program, Remote Run, or Remote Program). - @Status returns the current status of the processor as a string (Ok or Faulted). - @StatusNumber returns the current status of the processor as a number. - @IsPresent allows you to check if your ControlLogix processor is available prior to performing reads or writes. [/list:u:99c51288ed]

 Проблема: Allen-Bradley -> Profibus -> Siemens? Я программирую передачу данных в контроллеры Allen-Bardley (серия ControlLogix) из контроллеров Siemens (серия S7-300) и обратно по протоколу Profibus. Со cтороны Allen-Bradley для связи по Profibus используется модуль 1756-MVI56-PDPMV1, т.е. Profibus DPV1 Master Communication Module (в сети он Master), со стороны Siemens - CP 3425 DP (в сети он Slave). Со стороны Siemens все хорошо. Gsd-файл модуля нормально загружается в 1756-MVI56-PDPMV1, параметры передачи (кол-во передаваемых, получаемых байт) заданы одинакого и со стороны Siemens, и со стороны Allen-Bradley. При просмотре сети Profibus в On-line режиме с помощью утилиты Prosoft Configuration Builder 2.0.2 (PCB) тоже все нормально (On-Line параметры диагностики модуля Siemens в PCP говорят Slave Ok). Сеть выстроена правильно и по данным и по индикации как со стороны Allen-Bradley, так и состороны Siemens. Теперь самое главное - передача данных в циклическом режиме в RSLogix осуществляется с помощью структур: MVI56PDPMV1.Input[0..1535] - для входных данных. MVI56PDPMV1.Output[0..1535] - для выходных данных. При передачи через MVI56PDPMV1.Output Siemens получает данные. Но при посылке данных Siemens-ом массив MVI56PDPMV1.Input остается заполнен нулями, несмотря на то, что в PCB приходящие данные видны (в выделенных им структурах). Т.е. модуль 1756-MVI56-PDPMV1 данные получает. Это также видно и в On-Line параметрах master-a из PCB. Но буфер MVI56PDPMV1.Input[0..1535] остается пуст (длина его задана нормально в конфигурации PCB). Программа логики Allen-Bradley скачана с официального сайта Prosoft. Входной буфер можно просматривать и из PCB через Diagnostics модуля, но там тоже нули. Анализ приходящих данных в контроллере показывает, что ошибок нет, обмен идет нормально. #-ра блоков тоже отлично передаются модулю и принимаются. Но при чтении регистров (#блоков 1-3) они остаются заполнены нулями. Не понимаю, почему приходящие данные отлично отображаются в PCB (Prosoft Configuration Builder), но в структуры RSLogix-a (MVI56PDPMV1.Input) передаваться упорно не хотят? Буду очень признателен за помощь. [/b]

 И еще интересная информация на тему записи строк. Испытания записи русских строк продолжили с изменениями в полигоне: вместо RSView32 использована среда RSView Studio версии 3.20. Результаты таковы: Если использовать прямое подключение к контроллеру ControlLogix с использованием RSLinx Enterprise, то проблема остается нерешенной, также идет некорректная запись символов и считывания не происходит. Но, если в качестве связи с PLC использовать RSLinx OPC Server (RSLinx Professional), то и запись и чтение тэгов происходит успешно, т.е. в контроллер попадают символы русской кодировки (можно их проанализировать в 16-ти ричном коде). Вот такая чушь... Хотя я так подозреваю, что преимущественней в случае RSView Studio использовать коммуникации через RSLinx Enterprise, а RSLinx классик совсем не устанавливать? С уважением, Vitaliy D. Burtsev

 Проблема: Allen-Bradley -> Profibus -> Siemens? Я программирую передачу данных в контроллеры Allen-Bardley (серия ControlLogix) из контроллеров Siemens (серия S7-300) и обратно по протоколу Profibus. Со cтороны Allen-Bradley для связи по Profibus используется модуль 1756-MVI56-PDPMV1, т.е. Profibus DPV1 Master Communication Module (в сети он Master), со стороны Siemens - CP 3425 DP (в сети он Slave). Со стороны Siemens все хорошо. Gsd-файл модуля нормально загружается в 1756-MVI56- PDPMV1, параметры передачи (кол-во передаваемых, получаемых байт и шинные параметры) заданы одинакого и со стороны Siemens, и со стороны Allen-Bradley. При просмотре сети Profibus в On-line режиме с помощью утилиты Prosoft Configuration Builder 2.0.2 (PCB) тоже все нормально (On-Line параметры диагностики модуля Siemens в PCP говорят Slave Ok). Сеть выстроена правильно и по данным и по индикации как со стороны Allen-Bradley, так и состороны Siemens. Теперь самое главное - передача данных в циклическом режиме в RSLogix осуществляется с помощью структур: MVI56PDPMV1.Input[0..1535] - для входных данных. MVI56PDPMV1.Output[0..1535] - для выходных данных. При передачи через MVI56PDPMV1.Output Siemens получает данные. Но при посылке данных Siemens-ом массив MVI56PDPMV1.Input остается заполнен нулями, несмотря на то, что в Prosoft Configuration Builder, приходящие данные видны в выделенных им структурах. Т.е. модуль 1756-MVI56-PDPMV1 данные получает. Это также видно и в On-Line параметрах master-a и slave-a из PCB. Но буфер MVI56PDPMV1.Input[0..1535] остается пуст (длина его задана нормально в конфигурации PCB). Программа логики для контроллера Allen-Bradley скачана с официального сайта. Входной буфер (Input) можно просматривать и из PCB через Diagnostics модуля, но там тоже нули. Не понимаю, почему приходящие данные отлично отображаются в PCB (Prosoft Configuration Builder), но в структуры RSLogix-a (MVI56PDPMV1.Input) передаваться упорно не хотят? Буду очень признателен за помощь...

 [color=blue:3b0ea881a3]Может, немного не в тему, но мы на Дельфях делали ввод/вывод на форму стринги, в том числе и кириллицу. Тип данных в каонтроллере - String. L32E, RSLogix5000 v.15, RSLinxPro 2.5. Без проблем.[/color:3b0ea881a3] У меня такое подозрение, что некорректно работает RSView32 v.7.00. Она не только не умеет прочитать записанные в ControlLogix строковые теги, но и пишет их туда неправильно. RSLinx у меня версии 2.42. Если использовать практически любого другого OPC клиента к RSLinx, то получается и записать, и прочитать. Строка кладется с нормальными 16-ти ричными кодами русских символов и без проблем считывается в этот же клиент. А нужно именно использовать в качестве клиента RSView32. С уважением, Vitaliy D. Burtsev

 [quote:48d8f9f4f7="Mr_Wasp"]Спасибо, конечно, за ответы, но я так и не понял: можно ли как-нибудь записать в ControlLogix именно РУССКУЮ строку, а затем ее прочитать? Skip [/quote:48d8f9f4f7] Можно. И никаких "Васиков" не надо. Описываешь в RSLogix 5K тег как String, например имя "Text" В RSView32 в поле Adress также пишешь "Text", тип данных String. Не используй "Text.data[*]".

 Спасибо, конечно, за ответы, но я так и не понял: можно ли как-нибудь записать в ControlLogix именно РУССКУЮ строку, а затем ее прочитать? Я знаю, что коды русских букв выходят за пределы стандартной ASCII таблицы и имеют значение большее 127 (десятичное), даже более того: если создать самому массив INTов и попытаться записать в него русские символы, то коды символов правильно раскладываются в шестнадцетиричном коде. Однако никто не может их считать: ни RSView32, ни OPCTestClient (RSLinx Tools), ни другие клиенты. Неужели придется этот массив на ВАСИКе разбирать? Типа загружаем нулевой элемент массива: старший байт преобразуем, записываем в первый символ строки, младший байт преобразуем - записываем во второй символ строки; затем берем следующий INT и т.д. Честно говоря, по ощущениям выглядит не очень... Vitaliy D. Burtsev

 Здравствуйте, коллеги! Никто не сталкивался с проблемой записи в строковые теги ControlLogix и чтения из них строк на русском языке? Есть такая необходимость, чтобы одно приложение по OPC записало в контроллер строку на русском языке, другое - прочитало. Я так понимаю, что стандартный тип String в Logix не катит по причине того, что каждый символ в строке имеет тип ShortInt (SINT). Но есть якобы вариант с использованием массива INTов, к которым нужно лишь своеобразно обратиться: например, из RSView32 указать примерно следующее [LINX_TOPIC]int_str[0],SCxx. В этом случае получается забрать символы в латинской кодировке (опять с кодом от 0 до 127 десятичн.), но с кодом от 128 до 255 никак, точнее они отображаются не по-русски в любом случае. Если есть решение, то буду рад за помощь. С уважением, Vitaliy D. Burtsev



Предыдущие результаты


Ещё результаты



Предыдущие результаты



Предыдущие результаты



Предыдущие результаты



Предыдущие результаты




  
RA & VDT GmbH


Облако тэгов
Error RSLogix ControlLogix sound FTView Control Logix MVI56-104S 1734-AENTR Altivar Add-on Instruction MVI46MCM Ethernet PLC-5 SLC-500 1757-SRM Firmware ComactLogixL32E 1756-L75 1756-RM2 Controlnet cable Promass Client Memory 1769-L32E execution minutes seconds Windows Build 00000d5c Unspecified terminate geehrter automatisch keine globalen Fe

Яндекс цитирования

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.121 секунды