Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

Проблемы с MiniOS7

 Ответить Ответить Страница  <123>
Автор
Сообщение
nick_user Смотреть выпадающим
Участник
Участник


Присоединился: 18 Ноябрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 54
Свойства публикации Свойства публикации   Ответить, цитируя автора - nick_user Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: Проблемы с MiniOS7
    Опубликовано: 09 Январь 2006 13:03
здравтсвуйте, silart,

По всей видимости, перемычки такой нет,
я сейчас еще раз смотрел внимательно документацию
(порт должен работать и так).
Не знаю, что вам еще посоветовать.

Вы пробовали измерить у COM-порта напряжение на линии
TxD относительно GND (у IView-100 и компьютера)?
Оно должно быть равным -6...-12 В примерно.
Наверх
alexf1 Смотреть выпадающим
Новичок
Новичок


Присоединился: 17 Январь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 7
Свойства публикации Свойства публикации   Ответить, цитируя автора - alexf1 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Январь 2006 09:33

2 silart:

Перемычки переключающей COM2 c 232 на 485 порт нет. В разъеме они физически разнесены. Подключаешь 232 и работаешь по нему, подключаешь 485 и работаешь по нему.

Работал и с тем и с тем портом, работает все нормально.

Твоя же проблема c неправильной передачей данных скорее всего заключается в разности скоростей контролера iView и компьютера. Дело в том что у тебя контроллер наверное с тактовой частотой 20МГц, а последние библиотеки китайцы похоже навояли только для 40МГц. И из-за этого у них скорости порта на 40 правильные, а на 20 нужно указывать в 2 раза большие. Допустим если связываешься на 9600, то программно надо указвать 19200.

Наверх
silart Смотреть выпадающим
Новичок
Новичок


Присоединился: 28 Декабрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 15
Свойства публикации Свойства публикации   Ответить, цитируя автора - silart Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 25 Январь 2006 10:35

2 alex1

Спасибо!  Все стало работать. Очень благодарен.

Наверх
silart Смотреть выпадающим
Новичок
Новичок


Присоединился: 28 Декабрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 15
Свойства публикации Свойства публикации   Ответить, цитируя автора - silart Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 21 Февраль 2006 11:28
Здравствуйте все. Хочу задать вопрос такого плана. Кто нибудь пробовал "русифицировать" МиниОС? Дело в том, что эксплуатировать контроллер IVIEW-100, для которого я сейчас пишу программу, будут люди без знаний иностранных языков. На экране прибора можно выводить сообщения только на английском и китайском языках (так написано в руководстве).
Наверх
alexf1 Смотреть выпадающим
Новичок
Новичок


Присоединился: 17 Январь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 7
Свойства публикации Свойства публикации   Ответить, цитируя автора - alexf1 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 14 Март 2006 07:43

2 Silart:

Руссифицировать нужно не миниос, а сам контроллер и его ЖКИ. В свое время нам никто не помог и пришлось покопаться и руссифицировать его самим.

В новых прошивках контроллера приходиться работать кривовато, потому как китайцы подпортили там функции вывода текста на индикатор. Пришлось подизменить кодировку. И сделать дополнительно функции перекодировки.

Наверх
silart Смотреть выпадающим
Новичок
Новичок


Присоединился: 28 Декабрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 15
Свойства публикации Свойства публикации   Ответить, цитируя автора - silart Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 16 Март 2006 05:27
Вышел из положения, используя картинки BMP. Конечно не лучший вариант - картинки медленно отображаются, но ничего лучшего не нашел. И так сойдет.
Наверх
alexf1 Смотреть выпадающим
Новичок
Новичок


Присоединился: 17 Январь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 7
Свойства публикации Свойства публикации   Ответить, цитируя автора - alexf1 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 16 Март 2006 08:40

2 Silart:

Картинки это вещь неплохая, но тоже в новых библиотеках криво выводиться на экран стали, злостные китайцы.

Если пожелаешь руссифицироваться я тут могу вспомнить как эта руссификация работает и постараться выложить алгоритм. 

Наверх
silart Смотреть выпадающим
Новичок
Новичок


Присоединился: 28 Декабрь 2005
Категория: Russian Federation
Online Status: Offline
Публикации: 15
Свойства публикации Свойства публикации   Ответить, цитируя автора - silart Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 17 Март 2006 05:20

Если не трудно, то пожалуйста выложи.

Заранее благодарен.

Наверх
alexf1 Смотреть выпадающим
Новичок
Новичок


Присоединился: 17 Январь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 7
Свойства публикации Свойства публикации   Ответить, цитируя автора - alexf1 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Март 2006 07:25

Чтобы руссифицировать IVIEW-100 для последних версий библиотек нужно в проект добавить 3 функции. Версия для С++ 3.1.

1. Функция заполнения внешней памяти знакогенератора русскими буквами из массива данных:

#define CMD_MODE_EXTCG_AND  0x88
#define CMD_MODE_EXTCG_OR   0x89

void InitFont( unsigned char fontbuf[], int size ){
  int i, idx;

  LcdSendCmd_2( CMD_ADDRESS_POINTER_SET, 0x1800 );
  for( idx=32; idx<128; idx++ ){
    int data = idx*8;
    if ( (data+7) > size ) break;
    for( i=0; i<8; i++ )
      LcdSendCmd_1( DATA_WRITE_INC, (int)fontbuf[data+i] );
  }

  LcdSendCmd_2( CMD_ADDRESS_POINTER_SET,  0x1C80 );
  for( idx=128+16; idx<256; idx++ ){
    int data = idx*8;
    if ( (data+7) > size ) break;
    for( i=0; i<8; i++ )
      LcdSendCmd_1( DATA_WRITE_INC, (int)fontbuf[data+i] );
  }

  LcdSendCmd_2( CMD_ADDRESS_POINTER_SET,  0x1E80 );
  for( idx=128; idx<128+16; idx++ ){
    int data = idx*8;
    if ( (data+7) > size ) break;
    for( i=0; i<8; i++ )
      LcdSendCmd_1( DATA_WRITE_INC, (int)fontbuf[data+i] );
  }
  LcdSendCmd_0( CMD_MODE_EXTCG_OR );
};

2. Функция перекодировки ДОСовской кирилической кодировки в кодировку IView:

unsigned char *DosToIView( unsigned char *str ){
  unsigned char *ptr = str;
  while ( *ptr!=0x00 ){
    if ( (*ptr>=128) && (*ptr<144) ) *ptr += 80;
    ptr++;
  }
  return str;
};

3. Функция перекодировки кирилической кодировки IView в в кодировку ДОС:

unsigned char *IViewToDos( unsigned char *str ){
  unsigned char *ptr = str;
  while ( *ptr!=0x00 ){
    if ( (*ptr>=208) && (*ptr<224) ) *ptr -= 80;
    ptr++;
  }
  return str;
};

Далее в тексте сразу за инициализацией ЖКИ инициализируем новый шрифт:

  InitLCD(); // Инициализация ЖКИ

  InitFont( fontM, sizeof(fontM) ); // Инициализация шрифта

fontM - это массив данных содержащих описание шрифта.

Я сделал так что он описывается в font.h, который подключается к проекту.

Для того чтобы можно было делать собственный шрифт я заваял простенькую программку которая из текстового файла с видом букв создает файл с массивом данных font.h.

Данная программа и текстовый файл со шрифтом можно взять по адресу:

http://www.quadrat.omsknet.ru/ipp/IView-Rus/

Просто нужно подправить в файле myfont.fnt шрифт (не буду описывать, открыв его все будет понятно) и запустить myfont.exe. После этого в каталоге программы появится файл font.h.

Вот в принципе и все. Перемещаем созданый font.h в каталог с проектом и все должно работать.

Если возникнут вопросы стучитесь в ICQ, попробую прояснить.

 

Наверх
alexf1 Смотреть выпадающим
Новичок
Новичок


Присоединился: 17 Январь 2006
Категория: Russian Federation
Online Status: Offline
Публикации: 7
Свойства публикации Свойства публикации   Ответить, цитируя автора - alexf1 Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 23 Март 2006 07:30
В дальнейшем может быть китайцы подправят бибилиотеки и функции вывода символов на ЖКИ и можно будет использовать прямую ДОСовую кодировку и не использовать дополнительных функций перекодировки. Но да на это мало надежд.
Наверх
 Ответить Ответить Страница  <123>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz