Всем привет подскажите а есть ли воможность ввода отрицательных значений в строку ввода цифровых данных?если да ,как реализовать это? харанее спасибо
http://www.picshare.ru/uploads/17020...es1J_thumb.jpg
Вид для печати
Всем привет подскажите а есть ли воможность ввода отрицательных значений в строку ввода цифровых данных?если да ,как реализовать это? харанее спасибо
http://www.picshare.ru/uploads/17020...es1J_thumb.jpg
Формат задайте десятичный
Вложение 29250
Спасибо большое разобрался. Записывается по всем заначениям нормально. Вот только опять проблема с USB. В режиме эмуляции все отлично записываеться на диске D создаются файл и в них пишутся значения архивов. Но после загрузки в панель СП307Р индикация о загрузке на USB идет, но сама карта в итоге остается пустой. Не подскажите в чем может быть проблема?
Так как флешка у Вас содержит один логический диск, он для панели - ID 0
А в проекте Вы оставили наверно ID 1
Вложение 29253
Замените на ID 0
К сожалению ставил тоже 0 и по индикатору на флешке видно что загрузка идет. Частоту цикла ставил 1 секунду. Количество записей в файле 1
понял ,спасибо )
Выкладываю проект. Для преэкта использую USB флеш отформатированный под Fat32 емкостью 16Гб и типом USB 2.0
Добрый день, Алексей. Посмотрел проект.
1. Для одного из архивов у вас для Хранилища указан регистр PFW257. Но в то же время в настройках проекта вы настроили экспорт времени в PFW256 - время занимает 6 регистров, так что у вас перекрылась область памяти. Укажите для хранилища другой регистр (и лучше не выбирать для них странные числа типа 300257, как по мне).
2. Используйте для имен архивов более короткие имена, не содержащие пробелов.
У меня после упомянутых изменений ваш проект заработал нормально (имена архивов уже мои):
Вложение 29257
По поводу странных чисел поправте меня если я ошибаюсь. Числа выбираю потому что в каждом из графиков размера хранилища в срезах - 50000. Архивирую во внутреннюю память PFW измеренные значения в течении одного месяца. Согласно формулы расчета количества регистров необходимо 300000 регистров для архивации каждого из параметров. По этому к первому из регистров допустим будет PFW263 добавляю 300000
Я понял, ошибки в этом нет - но, в целом, такие числа просто сложнее запомнить, а в расчетах можно ошибиться.
Я не вижу причин, по которым бы не стоило использовать для хранилищ регистры из пользовательской области памяти (257-4095) - у вас же архив пишется сразу на USB, так что много места буфер не займет, достаточно делать разрывы в 20 регистров (например, PSW400-420-440).
Для 50 000 срезов потребуется не 300 000 регистров, а больше
один срез это 7 регистров ( 1 регистр архивируемый параметр + 6 регистров временной метки - год, месяц, день, час, мин, сек)
реально в архиве графика срезов будет на 1 больше, чем указано в настройках тренда, так работает кольцевой буфер архивирования срезов.
Еще нужно место для адресов кольцевого буфера - четыре регистра
ИТОГО для 50 000 срезов потребуется
(1 +6) х (50 000 +1) +4 = 350 011 регистра
не слабый довесочек из 50 011 регистров
По этому следующий график должен начинаться
350 011 + 263 = 350274
а не с 300263
Если не верите, то в конце месяца увидите, как второй график "даст дуба", потому, что первый график испортит во втором адреса кольцевого буфера и сохраненную информацию на начало месяца.
Да согласен использовать PSW можно но в случает отключения питания на панель история измеряемой величины в панели не сохраниться и промотреть ее уже невозможно непосредственно через панель. PSW - энергонезависимая память, а PFW - энергонезависимая память. Так это или я все таки ошибаюсь?
Спасибо большое за помощь Евгению Кислову и Рetera. Вы мне очень помогли. С архивацией и записью на флеш разобрался. С количеством регистров тоже. У меня вопрос как сделать что бы на флеш в Excel файл писались не только целые но и десятичные значения измеряемого параметра. К примеру измеренное значение 93,5 а в архиве 93. В функции Архивация USB установлен формат DEC.
Получается если у меня 4 разрядный дисплей на ОВЕН ТРМ202 то мне необходимо указать в архивирование на USB/Данные всего знаков 3 дробная часть 1?
Да так и сделал но к сожалению на флеш в таблице Excel выводит некоректное значение 11 июн. хотя измеряемый формат 11.4. Я так понимаю формат ячеек не верно задается, но в проекте его не оговаривают. Что посоветуете?
Вероятно, не 11.4, а 11.6. Но смысл я понял. Это уже на стороне Excel.
Я могу посоветовать следующее:
1. Открываете файл любым текстовым редактором (например, Блокнотом)
2. Выбираете команду Заменить, заменяете в файле все точки на запятые
3. Сохраняете файл как .csv (или как .txt, а потом вручную меняете формат)
4. Теперь при открытии в Excel значения с плавающей точкой будут отображаться нормально
Вероятно, можно сделать конвертацию и непосредственно в Excel (через макросы или что-то в этом духе) - но мне с ним настолько плотно работать не доводилось.
Все же вспомнил о более простом (хотя и не идеальном) варианте.
В Excel заходите в Файл-->Параметры-->Дополнительно и принудительно указываете, что разделителем целой и дробной части является точка. После этого открываете файл архива - в нем все будет нормально. Но это будет распространяться на все файлы.
Вложение 29303
Спасибо большое. Все получилось и в Excel отлично открываться.
Спасибо большое предложенный вами вариант обработки файла типа csv подошел больше. У меня еще один вопрос по поводу записи значения в регистры прибора ОВЕН ТРМ202. По вашему совету сделал макрос и глобальный макрос на основе примера "Организация обмена через макросы" с сайта ОВЕН. Все записывается и считывается, но нюанс заключается в том что после загрузки проекта в панель захожу на экран с которого ввожу значения в регистры прибора и при переходе на экран происходит сброс значений в приборе, хотя новые значение еще не введенно. Но это первоначально с последующими входами на этот экран такого не происходит. А повторяется только после снятия напряжения. Можете что то подсказать как устранить эту проблему.
Это получается указываю в функциональной области бит управления в котором указываю отоброжаемго значения из поля Цифровой ввод. И потом в этой же функциональной области добавляю функцию выключить бит? Я правильно понимаю?
В общем я запутался в Вашем проекте!
Слишком много всякой лишней ерунды.
Попробуйте просто снять галку "без первой паузы".
Вложение 29334
Должно помочь.
А добавляю функцию в функциональной области "выключить бит" и в ней указываю свой бит уведомления. Я правильно понимаю? Да можно и покритиковать проект. Всегда готов к критике и свежему взгляду со стороны. Просто стоит задача выполнять архивацию 3 параметров на USB с возможность просмотра истории в течении месяца по каждому параметру. Каждый параметр должен быть на отдельном экране.
С этими Сишными макросами полная ерунда.
Не поможет ни бит уведомления ни снять галку "без первой паузы"
Потому, что
1. Сишный макрос записывает все четыри уставки одновременно! Данные в макрос передаются через PSW270, 271, 272, 273
2. После включения панели в PSW270, 271, 272, 273 находятся "0", которые сразу же после перехода на этот экран будут записаны в ТРМы.
3. Даже если использовать биты уведомления, то если ввести уставку в одно поле ввода, например PSW270, то от бита уведомления остальные уставки запишутся нулевыми.
С этими Сишными макросами все нормально.
1. Можно разнести вызовы функций записи по разным макросам, которые будут вызываться разными функциональными областями от разных битов уведомления (предполагал, что так изначально и было сделано).
2. Можно вообще использовать в макросах PFW регистры - тогда проблема будет решена на корню без изменений непрерывного принципа работы единственной функциональной области.
Проблем, как обычно, нет - кроме надуманных.
Здесь может помочь только
1. Убрать галку ф. области с макросом
Вложение 29337
2. добавить на экран с уставками еще одну ф.область с условием "Переход на экран". И прописать в ней функции копирования регистров ТРМов в PSW270, 271, 272, 273
Да спасибо за советы.Так и сделал 4 параметра ввода уставки и 4 функциональных области со своим макросом и битом уведомления. Бит уведомления присвоил через окно Цифровой ввод. В функциональной области прописал сначала вызов макроса, а потом ВЫКЛ. бит. Все в принципе работает нормально.
Интересно какие еще проблемы у меня?
[HUMOR MODE ON]Очевидно же, главная проблема - перед тем, как начать делать проект, вы не обратились к уважаемому Peter'e лично, спросив его мудрого совета. Теперь Petera в печали (ведь никто не восхитился глубинами его мудрости), а ваш проект зашкварен навека.[HUMOR MODE OFF]
Рetera, мне интересно как при помощи одной функциональной области с одним действием реализовать без применения макросов. Может подскажите?
Так пусть Вам квакающий подскажет, а то я погляжу он только троллить горазд. У меня на форуме 290 различных примеров в виде различных проектов.
У него всего 38 постов, а гонара - хоть отбавляй. Хоть бы один свой проект показал, чего он там умеет.
Так я уже все подсказал/показал - достаточно было утвердительно ответить на вопрос Алексея, в правильном ли направлении он движется - все остальное он сделал сам.
В итоге у человека готовый проект, который выполняет его задачу (см. #340). Все счастливы. Ну, кроме Peter'ы, которому это не интересно - ему важнее количество постов и "примеров" - потешить самолюбие, очевидно. У меня, разумеется, такого кол-ва постов не будет никогда - я как-то не стремлюсь быть в каждой бочке затычкой. Шел мимо - увидел вопрос - дал ответ - теперь пойду дальше. Дел и так хватает.
Выложите, плз свой предпоследний вариант проекта, а то я вижу только тот, который в посте #316
ЗЫ
to Rake Runner
Задачу-то он выполняет, но если это его первый проект, то начинать учиться надо сразу на рациональных приемах.Цитата:
В итоге у человека готовый проект, который выполняет его задачу (см. #340). Все счастливы
А то так и будет дальше делать проекты "лишь бы задача выполнялась".