Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 11 по 20 из 34

Тема: ПЛК63 v1.89 10 0c проблемки...

  1. #11
    Пользователь
    Регистрация
    01.12.2007
    Адрес
    Воронеж
    Сообщений
    201

    По умолчанию

    Еще по дисплею вопрос, если постоянно на экран в монопольном режиме выводить одну и туже информацию( не стирая его), иногда начинает промаргивать нижняя строка или часть?

    Код:
    line0 := '$A2   $A2 --%  $A2 --%';
    line1 := '0   0   C  0   C';
    IF( NOT O_FILL_TANK1)THEN line0 := REPLACE( line0, ' ', 1, 1); END_IF
    IF( NOT O_FILL_TANK2)THEN line0 := REPLACE( line0, ' ', 1, 5); END_IF
    IF( NOT O_FILL_TANK3)THEN line0 := REPLACE( line0, ' ', 1, 12); END_IF
    
    line1 := REPLACE( line1, BYTE_TO_STRING( tank1.Level), 1, 1);
    line1 := REPLACE( line1, BYTE_TO_STRING( tank2.Level), 1, 5);
    line1 := REPLACE( line1, BYTE_TO_STRING( tank3.Level), 1, 12);
    
    line1 := REPLACE( line1,  INT_TO_STRING( TEMPERATURE_TANK2), 2, 7);
    line1 := REPLACE( line1,  INT_TO_STRING( TEMPERATURE_TANK3), 2, 14);
    (*IF( flash_gen.OUT) THEN line1 := CONCAT( line1,  INT_TO_STRING( TEMPERATURE_TANK2)); ELSE  line1 := CONCAT( line1,  '  '); END_IF;*)
    
    (*рисуем на кинескопе*)
    Write_Display( SINGLE_MODE, 0, 0, line0 );
    Write_Display( SINGLE_MODE, 0, 1, line1 );
    Последний раз редактировалось pt200; 17.09.2010 в 14:39.

  2. #12

    По умолчанию

    Цитата Сообщение от Гайворонский А. В. Посмотреть сообщение
    0c -- версия прошивки meg'и. 10 -- pic.
    1. Фантомные надписи появляются от того, что pic перегружают запросами и он оказывается просто не в состоянии обработать такой поток данных. Увеличьте паузу между обновлением информации на экране.
    Соответсвующая роцедура вызывается в TASK MANAGER раз 50ms, в ней установлена проверка на изменения переменных, перезапись на экран только при их изменении. Моргания присутствуют. Такое время вызова много или мало?
    Цитата Сообщение от Гайворонский А. В. Посмотреть сообщение
    2. С проблемами с клавиатурой ни разу не сталкивался. У меня всё чётко работает. И передний фронт, и задний, и удержание клавиши. Рекомендую попробовать на другом плк63.
    Минимум 5 из пяти Реально - больше. Версии основной прошивки 1.89, 1.94 (если это как то влияет)

    P.S. Ну и аккуратнее надо комплектовать. В последней поставке версия 1.89, а версия таргета - 1.05, которая на 16 экранов, а в установленной прошивке - 8.
    Ну в файлах таргетов - поправьте версию. А то все 1, да 1. А где .х ??

  3. #13

    По умолчанию

    Цитата Сообщение от гайворонский а. в. Посмотреть сообщение
    а раз в 50 мс перезаписывается 1 экран или все? не может так получаться, что поступает нсколько команд на перезапись экранов в одном цикле?
    зависит от изменений выводимых переменных. чтобы одновременно все 6-8 экранов + монопольный экран - такого не бывает. но чтобы в одном цикле 1-2 логический экран + монопольный экран - регулярно.
    может ли это влиять на обработку клавиатуры?

  4. #14

    По умолчанию

    кстати, о 2.12.
    понятно, что на сайте экспериментальная версия. но в коммерческой приведите библиотеки в соответствие с заявленными функциями.

  5. #15
    Пользователь
    Регистрация
    04.11.2009
    Адрес
    Подольск
    Сообщений
    258

    По умолчанию

    Как правильно одним ShowString или WriteDisplay обновить обе строки экрана, если это возможно? Дать в качестве параметра строку, которая в два раза больше строки ПЛК63? И ПЛК всё перенесёт сам? А то в одном цикле было натыкано много Show... Чуть ли не посимвольно местами выводил. А от моргания хочется избавиться...

    Или надо в одном цикле одну строку, в другом (желательно через интервал) - вторую строку...

  6. #16

    По умолчанию

    Цитата Сообщение от Elka Посмотреть сообщение
    Как правильно одним ShowString или WriteDisplay обновить обе строки экрана, если это возможно? Дать в качестве параметра строку, которая в два раза больше строки ПЛК63? И ПЛК всё перенесёт сам?
    Нет. Остаток "исчезнет".

  7. #17

    По умолчанию

    вообще перегружать контроллер - не очень хорошая идея. он сделан для работы, а не для перезагрузки

  8. #18
    Пользователь
    Регистрация
    01.12.2007
    Адрес
    Воронеж
    Сообщений
    201

    По умолчанию

    Цитата Сообщение от Elka Посмотреть сообщение
    Как правильно одним ShowString или WriteDisplay обновить обе строки экрана, если это возможно? Дать в качестве параметра строку, которая в два раза больше строки ПЛК63? И ПЛК всё перенесёт сам? А то в одном цикле было натыкано много Show... Чуть ли не посимвольно местами выводил. А от моргания хочется избавиться...

    Или надо в одном цикле одну строку, в другом (желательно через интервал) - вторую строку...
    в позицию 0,0 загнать строку на 32 символа. Он сам все перенесет( 16+16).
    Проверено в монопольном режиме.

  9. #19
    Пользователь
    Регистрация
    01.12.2007
    Адрес
    Воронеж
    Сообщений
    201

    По умолчанию

    С чем может быть связанна задержка открытия порта аж на минуту примерно??????
    Код:
    (*Óñòàíàâëèâàåì íàñòðîéêè COM-ïîðòà*)
    IF port_opened=0 THEN
    		Settings.Port:= com_num ;               (*íîìåð COM-ïîðòà*)
    		Settings.dwBaudRate:=115200;    (*ñêîðîñòü*)
    		Settings.byParity:=0;
    		Settings.dwTimeout:=0;
    		Settings.byStopBits:=0;
    		Settings.dwBufferSize:=0;
    		Settings.dwScan:=0;
    END_IF
    
    COM_SERVICE1(Enable:=(port_opened=0) , Settings:=Settings , Task:=OPEN_TSK );
    (*Åñëè COM-ïîðò îòêðûò, òî ïåðåõîäèì ê ïðèåìó è ïåðåäà÷è äàííûõ *)
    IF COM_SERVICE1.ready THEN
    	port_opened:=2;
    END_IF
    
    IF port_opened <> 2 THEN (*NOT &#211;&#228;&#224;&#247;&#237;&#238; &#239;&#240;&#238;&#232;&#237;&#232;&#246;&#232;&#224;&#235;&#232;&#231;&#232;&#240;&#238;&#226;&#224;&#235;&#232;*)
      RETURN;
    END_IF;
    ...
    Вложения Вложения

  10. #20
    Пользователь
    Регистрация
    01.12.2007
    Адрес
    Воронеж
    Сообщений
    201

    По умолчанию

    отказался от "многозадачности". теперь секунд 10 думает перед открытием порта( уже терпимо, но хотелось бы понять, куда 10 сек деваются).
    кстати и реакция у контроллера улучшилась

Страница 2 из 4 ПерваяПервая 1234 ПоследняяПоследняя

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •