 | |
Предыдущие результаты
Пожалуйста:
https://drive.google.com/file/d/0B1NYO5g62ibXcERGa2N3Mms0TEk/edit?usp=sharing
32Mb
Данная ссылка будет действвительна до конца рабочего дня.
|
Нужна прошивка 16.057Std, но не могу скачать с сайта (может руки кривые может еще что)! Если у Вас есть такая возможность, то буду рад воспользоваться помощью. Мое мыло alexey.poltavsky@mail.ru
|
Выбирайте:
http://www.rockwellautomation.com/support/firmware/overview.page
Controllers -> ControlLogix -> 1756-L63 Redundant -> select a series -> select a version -> Downloads.
Там есть две 16-е версии - 16.057Std и 16.081, внимательно читайте Release Notes, какие модули поддерживаются в какой версии.
|
[quote:f4ccfd2304="SergeyM"]1. Вот оно как :) Никогда с накоплением в REAL не сталкивался
2. Спасибо
3. Я так понимаю нужно считывать текущее время контроллера и вычислять время цикла. Не до конца понятно в какие моменты производить считывание? Одно в начале задачи, а другое в конце (у меня 1 Task в проекте контроллера). Чем оно будет отличаться от значения полученного просто считыванием атрибута LastScanTime? Или что то другое имеется ввиду?[/quote:f4ccfd2304]Считывать один раз, после вычисления - запоминать текущее для вычисления на следующем цикле. Этим способом ты учтешь и служебное время контроллера. Внимательно с первым проходом после перевода в RUN.
Для LastScanTime придется суммировать, с Long проблемы насыщения не будет, но нужно учитывать, что после (2^31-1) будет перенос.
|
[quote:3007137f28="SergeyM"]Добрый день!
Есть 3 вопроса.
1.
Есть проект на контроллер ControlLogix. В нем есть следующий участок:
[code:1:3007137f28]
GSV(TASK,MainTask,LastScanTime,CycleScan_Milisec);
SYS_CPUCycleTime := CycleScan_Milisec/1000000;
TimeWork := TimeWork + SYS_CPUCycleTime;
[/code:1:3007137f28]
По сути это учет времени наработки (хоть и не очень корректный - все таки время задачи не равно времени цикла контроллера, об этом ниже). Теги TimeWork и SYS_CPUCycleTime имеют тип REAL
Ну так вот, значение TimeWork вырастает до 1024.0 нормально. После этого рост либо останавливается либо очень сильно замедляется. В чем дело никак не пойму.
2. В чем же все таки выражается время задачи вытащенное командой GSV? во внутренней справке RSLogix5000 написано, что в микросекундах, но по ощущениям это скорее миллисекунды.
3. Как получить полное время цикла контроллера? Нужно для таймеров используемых внутри программы. Переход на стандартные таймеры очень и очень затруднителен.[/quote:3007137f28]
1. Прочитай эту [url=http://vdt-solutions.de/modules.php?name=Forums&file=viewtopic&p=10382&highlight=#10382]тему[/url], про проблемы REAL.
2. Микросекунды.
3. Через GSV считывай 64 бита времени (2 по 32) и делай вычитание. Пример для вычитания 64 битных ищи [url=http://search.rockwellautomation.com/search?site=sample_code&client=samplecode&output=xml_no_dtd&proxystylesheet=samplecode]здесь[/url].
|
Добрый день!
Есть 3 вопроса.
1.
Есть проект на контроллер ControlLogix. В нем есть следующий участок:
[code:1:fea455e818]
GSV(TASK,MainTask,LastScanTime,CycleScan_Milisec);
SYS_CPUCycleTime := CycleScan_Milisec/1000000;
TimeWork := TimeWork + SYS_CPUCycleTime;
[/code:1:fea455e818]
По сути это учет времени наработки (хоть и не очень корректный - все таки время задачи не равно времени цикла контроллера, об этом ниже). Теги TimeWork и SYS_CPUCycleTime имеют тип REAL
Ну так вот, значение TimeWork вырастает до 1024.0 нормально. После этого рост либо останавливается либо очень сильно замедляется. В чем дело никак не пойму.
2. В чем же все таки выражается время задачи вытащенное командой GSV? во внутренней справке RSLogix5000 написано, что в микросекундах, но по ощущениям это скорее миллисекунды.
3. Как получить полное время цикла контроллера? Нужно для таймеров используемых внутри программы. Переход на стандартные таймеры очень и очень затруднителен.
|
Спасибо за поддержку.
Сейчас заказали кабель USB to DH+.
Будут результаты отпишусь.
С Уважением.
|
[quote:01ee347a82="dyneas"]Я с вами полностью согласен. что реализовывать таймер средствами RSView неправильно.[/quote:01ee347a82]dyneas, насколько мне помнится у тебя Logix. Продумай в нем UDT, например: Time_On, Time_Off, Time_Work. Вложи этот UDT в другой... с количеством своих устройств. Продумай унификацию и в RSView для настроек может хватить одного экрана на все устройства. Для ML-1200 получалось.
PS. Приобрел дом, перестройка, как минимум на некоторые точки освещения (см. проходной выключатель...) выгоднее контроллер. Кто подарит [b:01ee347a82]Logix[/b:01ee347a82]?
|
[quote:43563dda32="smaller"]В руководстве описывается только[b:43563dda32] 1747-CP3[/b:43563dda32].[/quote:43563dda32]Этот кабель только для порта Ch0 (RS-232), с вариантами протокола: DF-1, DH-485, USER.
|
GSV - это не тэг, а команда контроллера, [url=http://literature.rockwellautomation.com/idc/groups/literature/documents/rm/1756-rm003_-en-p.pdf]Get System Value[/url]. С помощью GSV получать из контроллера системную информацию, в т.ч. дату и время, легко и просто.
По-русски см. [url=http://vdt-automation.de/docs_ru/Controllers/Logix_Common/1756-RM003G-RU-P.pdf]в этом документе[/url].
[url=http://vdt-solutions.de/files/getting_syst_time.pdf]См, также здесь. [/url]
|
Предыдущие результаты
Ещё результаты |
|
| |
|