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

Форум

Ресурсы Rockwell

Product Directory

Essential Components

Literature Library

Knowledge Base

Electronic News&Magazines

Блог

Encompass Program

Product Certification

  


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



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



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

 Технология применения RSLogix Emulate 5000 приведена [url=http://literature.rockwellautomation.com/idc/groups/literature/documents/gr/lgem5k-gr015_-en-p.pdf]здесь на стр.15.[/url]: [quote:751700a3f5] A Brief Outline of Using RSLogix Emulate 5000 Typically, RSLogix Emulate 5000 is used to check logic (or the logic behind HMI systems, etc.) before that logic is put into physical controllers. Here’s a brief outline of how you can implement RSLogix Emulate 5000 in your project development. 1. In RSLogix 5000, create a new project using the Emulator processor type. 2. Set up the project’s I/O configuration to match that of the Chassis Monitor, configuring I/O simulation modules or additional emulator modules to emulate your application. 3. Develop the logic program for your application, configuring it to run on the emulator. Use symbolic tags for your I/O points and alias them to simulated I/O modules or other emulators (using produced and consumed tags). You can also use tags in RSTestStand or RSView to simulate I/O. 4. Download your program to the emulator and debug it using the tools in RSLogix 5000. 5. After verifying your program’s operation with the emulator, save a copy of your project for reference. 6. In RSLogix 5000, change the processor type of your project to use the physical processor that will run your application. Reconfigure your project’s I/O to use the modules for your application. 7. Re-alias the I/O points in your project to use the I/O modules for your application. 8. Remove any tracepoint and breakpoint instructions you may have used in the project (these will not work in a physical processor). 9. Verify your project and correct any errors. You can then download your project to your physical controller.[/quote:751700a3f5] В этом же документе написано,что коммуникационные модули не поддерживаются. Сетевой ввод-вывод также не поддерживается. Это не контроллер, а эмулятор процессора.

 Ок, Ваши сображения понятны :) Видите ли, то, что Вы описываете, характерно для очень многих технологических линий. Хочу только отметить две вещи: - По моему разумению, совершенно необязательно выискивать в программе какие-то тэги из 10 000 тэгов (у Вас в действительно в одном контроллере 10 тысяч тэгов? Хм... ). Обычно системы управления технологическими линиями строятся так, что в том случае, когда нужно отследить чёткую последовательность операций, используется SFC. Не знаю, что используется у Вас, но SFC как раз предназначена для того, чтобы управлять последовательностями операций не "врукопашную", с помощью расставления колышков и флажков, а стандартными встроенными в этот язык средствами. - Опять же, по моему разумению, достаточно отследить состояние механизмов и, возможно, некоторых тхнологических параметров в момент (ре)старта, и, если в результате анализа удастся отследить, в какой технологической фазе находится машина, - привести механизмы в нужное полоежние и стартовать с нужной точки. - Вообще, описываемая проблема очень хорошо иллюстрирует тот факт, что не до конца продуманная ещё на этапе проектирования концепция управления машиной влечёт значительные потери производительности машины на этапе производства продукции. если бы данная проблематика была учтена ещё на этапе проектирования машины, то многих простоев и "танцев с бубном", например, с ключом рестарта, можно было бы избежать. А теерь приходится "вдогонку" рещать эти проблемы. Клиенту не понравился этот код? Я полагаю, что клиент должен получить не код, а именно ту функциональность, которую он заказал и специфицировал при заказе, т.к. никакой гарантии, что клиенту понравится другой код нет. И эта функциональность должна быть обеспечена и гарантирована. А проблематика [i:d384c26ad9]"оператор вместо того чтобы перейти по окончанию процесса на стадию мойки не щелкнет рубильником и не выйдет опять в производство"[/i:d384c26ad9] имеет вообще не технический, а организационный характер и решается с помощью средств авторизации и протоколирования доступа к управляющим функциям. По поводу PowerUp и Error Handler - попробуйте, пожалуйста, почитать документацию, например, 1756-pm001.

 Ну что я могу ответить на подобный совет? Все это логически правильно, за исключением того что программа специально "заточена" таким образом чтобы исключить возможность влияния "умного" оператора на ход технологического процесса. Как еще гарантировать то что оператор вместо того чтобы перейти по окончанию процесса на стадию мойки не щелкнет рубильником и не выйдет опять в производство? Вы можете ответить что можно прописать в начальных условиях мойку и только после нее производство... Хорошо, согласен... А если питание отключилось в процессе производства само по себе? Внешние условия и факторы влияющие на качество за время перезагрузки не изменились, мойка не обязательна... Терять полдня на ненужную операцию? Клиент был не в восторге от такого программного кода... Что касается сброса определенных тегов... как Вы думаете... в программе с почти 10 тысячами тегов легко отследить ВСЕ критические да еще и так чтоб ни на что "ненужное" не повлиять таким сбросом??? Работа не на один месяц... А ведь есть еще и другие задачи, иногда "сверхочередные"... По поводу обработчика ошибок могу прокомментировать следущее... В описаном мной примере ситуация совершенно не является ошибкой... ничего критического не происходит, просто ждемс... Можно конечно лимитировать ожидание, поставить таймерочек... Но... опять таки, 10 тысяч тегов... конечно не все требуют такого отслеживания, можно просмотреть и отловить нужные... Но это опять таки процедура не одного месяца... Все упирается во время, а оно как известно - деньги... :D Может на компот я конечно с Вашей точки зрения и не заработал... :( Но логику работы оборудования диктует клиент... Я лишь инструмент воплощения ее в жизнь, причем не отношу себя к крутым специалистам по АБ... Вещь глобальная и чем дальше в лес - тем больше дров... Чуть ли не каждый день натыкаюсь на чтото новенькое. Может конечно и выгоднее держать своего программиста... Если клиент находиться в какомто крупном городе... где существует вероятность его найти. А если это село на "конце географии" где даже электрика найти тяжело? Возникает финансовый вопрос и вопрос квалификации кадров... Программист из города в село за "конкурентноспособную зарплату" вряд ли поедет... А в селе таковых днем с огнем не сыщешь... А села бывают такие что только на вездеходе и доберешся...даже в сухую и ясную погоду. Вот такие пирожки. Потому и ищу возможность ресетить все синхронно непрограммными методами. Как я понимаю "волшебный ключик" не поможет... Если не трудно - подскажите где почитать о Power-Up handler и Error handler, может гдето воспользуюсь.

 1. Есть несколько пакетов для старого оборудования Allen-Bradley, которые были созданы ещё до возникновения Rockwell Software. Например, это пакет PanelBuilder. Для нового оборудования сейчас есть только пакеты от Rockwell Software, которые легко опознать по названию: RSчтонибудь, FTтакойтопакет. 2. Что ж это у вас машина так запрограммирована, что подпрограмма инициализации контроллера не обеспечивает классику - функцию инициализации и установку механизмов в исходное состояние при (ре)старте? Двойку надо ставить за такой стиль программирования и оставлять без компота. :) Можно же использовать Power-Up Handler, который обслуживает стартовую ситуацию. Он же для этого и предназначен. Можно ведь на старте проанализировать логически, в каком состоянии находится машина и привести механизмы в исходное состояние. Можно использовать Error Handler, который при фатальной ошибке что-то сбрасывает. Кто мешает один раз изменить программу так, чтобы при пуске обнулялись те тэги, которые должны обнуляться, и приводились в исходное положение те механизмы, которые должны стоять в исходном положении в момент (ре)старта? Кто мешает, наконец, сделать кнопку электрическую или даже нарисовать её на экране компьютера или панели оператора, и чтобы она сбрасывала нужные тэги в ноль, или не в ноль, или ещё куда-то? Мне кажется, любая из этих мер проще и, главное, экономически эффективнее, чем ждать 2 дня программиста, а машина в эти 2 дня простаивает и продукцию не выпускает. Если не секрет, откуда это программист едет, что его нужно 2 дня ждать и терпеть простои оборудования? По-моему, в любую точку страны можно попасть менее, чем за сутки, нет? Не проще ли иметь своего программиста? Неужели так дешевле? Может быть, проще однажды сделать те простые вещи, которые являются хорошим стилем проргаммрования и которые я описал выше?

 Добрый день. Спасибо oldDad за помощь. Поменял на четырёх контроллерах Token Hold Factor на 1, а также уменьшил Max. Node Address до 4. InTouch показывает данные всех контроллеров, OPCLink (Wonderware) перестал выдавать ошибки, но... RSWhoo таки выдает ошибку "Comm.error 00000005" и зачеркивает все контроллеры :cry: . Будем думать дальше.

 Всем доброго времени суток! Столкнулся со следующей проблемой. Ни с того, ни с сего RSView перестал "видеть" данные из контроллера. После загрузки экрана в списке ошибок наблюдается следующее: сначала OPC Error (RSLinx OPC Server: Item is no longer available), а затем по каждому тегу - "имя тега" - Expression Evaluation Error Все настройки узла в RSView и топики в Linx и привязки тегов проверил 150 раз. И самая подстава - в том, что это появилось само по себе. Поделитесь опытом, пожалуйста, может кто сталкивался с этим..

 RSWho показывает "Comm. error 00000005", если в результате опроса не обнаружено целевое устройство или сеть вдруг зависла. Если все контроллеры отмечены красным крестом, значит что-то со стороны RSLinx. Проверьте ещё раз кабели, перемычки, разъёмы, адреса и т.п. Что у Вас стоит в Token Hold Factor? По умолчаннию там 1. Чем больше значение (от 1 до 4), тем больше скорость обмена по сети данного процессора, но тем меньше производительнсть сети при связи с другими процессорами. Почитайте [url=http://literature.rockwellautomation.com/idc/groups/literature/documents/ap/1747-ap001_-en-p.pdf]вот этот документ[/url], авось найдёте что-нибудь.

 Добрый день. В продолжении своей темы... Имеем сеть из трех Micrologix 1500 LRP Ser.C и персоналку с установленным InTouch v.9.0 , объединенными по DH485 посредством 1761-NET-AIC. На персоналке установлены OPCLink v.8.0 от Wonderware и RSLinx Gateway v.2.42.00 (Build 18 ). При установке в сеть еще одного Micrologix 1500 связь персоналки и PLC теряется (правда не смотрел еще, теряется ли при этом обмен между PLC). RSLinx выдает ошибку "Comm.error 000005", все контроллеры помечаются красными крестиками, OPCLink соответственно выдает ошибку всех тэгов всех контроллеров. При удалении из сети ЛЮБОГО контроллера (путем выключения AICa или удаления топика в RSLinx/OPCLink), визуализация начинает работать на ура. Длина сети около 600 м., скорость 19200 (изменения на 9600 результата не дали), перемычки на AICax стоят. Буду рад советам.

 База знаний, возможно, уже обновилась, поэтому части топиков нет, но можно набрать поиск по фразе типа string data types и попытаться полистать. Вот, собственно, то, что у меня есть. Background: When using string data in the CL55xx processor with firmware version at 7 or earlier, integer storage must be allocated. Integer storage can be allocated as an SINT, INT, or DINT array. Additionally INT array data can be referenced in PLC5 emulation mode. Version 8 of the ControlLogix firmware introduced the string datatype. When the OPC node type is used, the following errors can be generated when the wrong address syntax is used. The DDE node type does not generate any errors when improperly configured, however the string data is not written correctly either. Requirements for the native string tag support: RSView32 6.30 previous versions of RSView32 should work as well, but were not tested. RSLinx 2.30 ControlLogix firmware rev 8 or higher The following paragraphs describe how the DDE/OPC implementation works, and how string data is stored in the CL55xx processor. String Tag Configuration: Traditionally RSView32 is looking for a string address equivalent to A10:0 or ST10:0. When the PLC5 ST datatype was introduced, 82 characters was the maximum supported. This 82 string length limit remains in the RSView32 product today. The CL55xx string data type stores the characters in a SINT array. String data can be stored in any type of integer array, SINT, INT, DINT when working with controllers at earlier versions of the firmware. Depending on the type of integer array selected the address syntax will vary. Even though the RSView32 tag is defined as string data, RSLinx queries the data type from the processor. To allow RSView32 and RSLinx to write string data to integer storage - add the ,SSxx (string space pad) or the ,SCxx (string C null pad) to the address line, where xx indicates the number of elements to pad. The number of elements to pad depends on how the data is stored, the following table gives some examples. If the SCxx or SSxx syntax is omitted, RSView32 will only be able to access the 1st element in the integer array, and will not represent the data as the string entered, since it is integer. There are some issues when writing to the new string datatype from RSView32. When working with variable length strings, RSView32 does not update the length field with the new string length. The improper initialization of the string length prevents ascii functions from working properly in the controller program. This issue is currently under investigation. A potential work around is to determine the length of the string in VBA code, and then manually write to the length element of the string data type. Тут, правда, ниже табличка! Надеюсь поймете CL5550 Datatype Description String Address Syntax Example1 String Address Syntax Example2 String 8 bit integer array String1.Data[0],SC82 String1.Data[0],m,SC82 SINT 8 bit integer SINTArray[0],SC82 SINTArray[0],m,SC82 INT 16 bit integer INTArray[0],SC41 INTArray[0],m,SC41 DINT 32 bit integer DINTArray[0],SC20 DINTArray[0],m,SC20 PLC5 emulation 16 bit integer N7:0,SC41 N7:0,m,SC41 PLC5 emulation mode may be required to read/write string data if the CL55xx firmware is at an earlier revision 4.x. Controller Memory: When using the string data type, the controller stores the string as a character in a element called .Data[x], where x is the character position. With the native string data type, there doesn't appear to be anyway to reference the entire string tag as was possible with the PLC5 string. Instead the RSView tag address references the first element of the SINT array that contains the string. The ,SC82 syntax tells RSLinx to get 82 bytes of string data. When using an integer array to store string data, the controller stores the data in the integer array as the HEX equivalent of the character. For example, if a 12 is entered into a string input field, the data is converted to the hex equivalent (in this case 3132h) and is stored the processor tag name INTArray[0]. Since INTArray[0] actually stores 2 characters, examination of the individual bytes will show the 1 (31h) is stored in the high order byte, and the 2 (32h) is stored in the low order byte. Consider the same example writing string data to the SINTArray, if a 12 is entered into a string input field, the SINTArray[0] = 2 (32h), SINTArray[1] = 1 (32h). Applying the ,m byte swap modifier to the address line does not alter the way the string data is written to the processor, it only swaps the way the data is viewed. A future release of RSLinx will correct this byte swapping for SINT arrays. When RSView32 is performing both the string read and write, use the syntax example1. When the CL5550 processor is storing the string data, the high and low order byte may need to be swapped, use the syntax example2 to accomplish this on the read only. It is more efficient to write null padded strings than space padded strings, therefore use the SCxx syntax when possible. Background: RSView32, RSView SE and RSSql can browse tag addresses from an on-line controller using OPC. However, string tags in a ControlLogix family controller (added in firmware version 8) and bit-level addresses in a PLC-5 or SLC-500 cannot be browsed directly. String tags are actually stored in the ControlLogix as numeric data. When the OPC browser tries to update the string tag's address field, the client correctly determines that a data type mismatch has occurred. It therefore does not allow the address field to be updated. For digital addresses in a PLC-5 or SLC-500, RSLinx does not allow browsing to the bit level. Examples: "B3:0" can be browsed, but "B3:0/3" cannot be browsed. However, a Boolean tag in a ControlLogix processor can be browsed. Solution: For String addresses in a ControlLogix processor: 1. Create a DIGITAL tag (if client is RSView32 or RSView SE) 2. Browse to the string tag in the ControlLogix (example: StringTag ) 3. Select the StringTag.DATA element and press OK 4. Remove the .DATA manually from the end of the item address 5. Change the tag data type to STRING. Example of correct item address syntax: [TopicName]StringTag Example of incorrect item address syntax: [TopicName]StringTag.DATA Note: This syntax is tested with firmware version 10 per tech note A27556111 (see references below). Important: In RSView32 and RSView SE - if step 5 is skipped and the tag is accepted, it will not be possible to change the tag data type. In this case it would be necessary to delete the tag and start again with step 1. For Digital addresses in a PLC-5 or SLC-500: 1. Browse to the word level (example: B3:0 ) 2. Select the word containing the desired bit and press OK 3. Add the bit delimiter manually to the end of the item address. Example of correct item address syntax: [TopicName]B3:0/2 For further reference, see the following tech notes: A5550 - How to address the different data types in the ControlLogix 5550 processor A7004 - Reading and writing string data from RSView32 to ControlLogix 55xx A27556111 - How to manage variable length string writes from a HMI to ControlLogix A4814 - How to configure RSView32 to communicate to a ControlLogix 5550 processor Успехов. Vitaliy D. Burtsev

 Понятно. Вам нужно перепрошить модуль более новой ревизией firmware. Имейте в виду, что Вы не можете перепрошить с 6.1 сразу на 6.3, а сперва нужно прошить 6.2, а только потом 6.3. Проверьте, не Ваш ли это случай: [quote:d79e4acb3e] 1756-DHRIO Series D revision 6.1 Stops Responding. Question 1756-DHRIO Ser D revision 6.1 Stops Responding Answer 1756-DHRIO/D Revision 6.1 Stops Responding Problem: It has been identified that 1756-DHRIO series D firmware version 6.1 modules may stop communicating with external devices via DH+ or Remote I/O under certain conditions. Cause: After 100 connections have been made to the module an error occurred that caused future connections to produce timeout errors until the module was reset. This happened with any kind of connection, such as, block transfers, DH+, CIP generic, etc. This anomaly may cause the following symptoms: * The module errors with error code 203 and 100 when trying to do Block Transfers un-cached to an I/O module. The Block transfers will not resume after the communication is interrupted. * Communication with RSLogix 5000 software can no longer be established. Message "Not a Logix Controller" (error 701-8004204C). Communication will not resume until module is reset. * Messages (MSG) going through the module may not complete and fault. * The Module may not work in some hardware gateway applications, particularly with PLC3 to PLC3 messaging via DHRIO gateway. * RSLinx Software tries to access device properties, the user gets a message "Unable to establish communications with the device". Solution: * Temporary fix is to power cycle the r6.1 module and it's good for another 100 connections. * Cure is to Flash upgrade 1756-DHRIO/D module firmware to version 6.2 or higher. Firmware available for download at http://support.rockwellautomation.com/ControlFlash/ or from your local distributor. Please note that FW 6.2 is incompatible with Ser A, B and C modules. ================= You cannot flash a 6.1 revision module directly to 6.3. You must first flash the module ot 6.2 then to 6.3. Going directly from 6.1 to 6.3 will cause the module to not power up. In one case the module displayed “++++;A9;>++++x1yo” after attempting to go from 6.1 to 6.3 directly. Once this occurs the module will have to be returned for repair. ================== Other Notes Please note that it is NOT POSSIBLE to re-flash: - Series D module back to Series C rev 5.x or earlier - Series A, B, C to Series D rev 6.2 or higher [/quote:d79e4acb3e]



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


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



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



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



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



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




  
RA & VDT GmbH


Облако тэгов
ProSoft Modbus Automation ControlLogix MVI56-MCM Allen-Bradley Logix Windows FactoryTalk PanelView VersaView ControlTower GuardLogix Compact Software Studio Designer 100-E 100-D SMC-50 Energy Saver 1756-RMS-SC Spectrum Encompass Level Ethernet Redundancy Stratix

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

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