|
Вопросы о SMH2010 Работа и применение контроллеров SMH2010A, SMH2010B и SMH2010C. |
|
Опции темы | Поиск в этой теме |
09.03.2006, 13:39 | #1 |
Новичок
Регистрация: Feb 2006
Адрес: ул.Калибровая 8а, Запорожье, Украина, 69008
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Программирование на языке С++?
На сайте есть раздел посвященный программированию на языке С++ (http://dl.segnetics.com/PRODUCTS/SMH2010/C/), но пока он несколько пустоват.
Вопросы: 1. Написание ПО на языке С++ это вместо ядра SMLogix или как расширение его возможностей (SMLogix )? 2. Это уже рализовано или только планируется? 3. Возможности и ограничения? Последний раз редактировалось Arsie, 05.08.2013 в 18:11 |
09.03.2006, 14:53 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Программирование на языке С++?
Верно подмечено, слегка пустоват
1) вместо ядра SMLogix 2) есть некоторая базовая система ввода-вывода (BIOS), формализующая работу конкретных устройств контроллера и работу протокола modbus (только slave). Поставляется на диске поддержки с каждым контроллером. Можно спросить и по адресу support@segnetics.com 3) обычное низкоуровневое программирование стандартными средствами C++ для Atmel AVR. Ограничение одно: наша фирма не развивает данное направление, даже биос существует только потому, что его использует ядро smlogix. Последний раз редактировалось Arsie, 24.01.2008 в 11:01 |
24.04.2006, 11:36 | #3 |
Новичок
Регистрация: Apr 2006
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
В дисплее WinStar черные квадратики
Добрый день!
На недавно купленном новом контроллере C2010C-1112-001-5 (серийный номер 107410) стоит дисплей WinStar WH2004A-YGH-CT. На старых - такой же дисплей, но в конце стоит -CP. При этом на новом дисплее после команды C++ clrscr(); выдает черные квадратики (код 0xFF), что не хорошо, а на старом - пробелы (0x20), нормально. Какая кодировка подразумевается под -CT? Я старый дисплей поставил. Алексей Соломеин, программист. |
24.04.2006, 16:49 | #4 |
Guest
Сообщения: n/a
|
Ответ: В дисплее WinStar черные квадратики
Дело в том, что WinStart сменили контроллер в ЖКИ. А в новом контроллере изменились временные характеристики. В частности Enable cycle time стал 1200нс вместо 400нс. Но на деле оказалось, что сигнал Enable необходимо держать более 5мкс, на всякий случай мы теперь ставим 20мкс.
Интересно, что величина данной задержки влияет только на команду clrscr(), остальные команды выполняются нормально. Так что исходный текст подпрограммы, которая отправляет команду на ЖКИ выглядит следующим образом. __monitor void DisplayCtrlWrite(unsigned char byte) { ResetBitsPort(CTRL2_PORT,MASK_DRS); // Установить состояние линии DRS - 0 WritePort(IODATA_DIR,0xFF); // Направление на выдачу WritePort(IODATA_PORT,byte); // Данные на выдачу ResetBitsPort(CTRL2_PORT,MASK_DEN); // Установить состояние линии DEN - 0 if(byte == 1) _delay_mks(20); SetBitsPort(CTRL2_PORT,MASK_DEN |MASK_DRS); // Установить DRS - 1 DEN - 1 SetBitsPort(CTRL2_PORT,MASK_DRS); // Установить состояние линии DRS - 1 WritePort(IODATA_DIR,0x00); // Направление на прием return; } |
25.04.2006, 08:23 | #5 |
Новичок
Регистрация: Apr 2006
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: В дисплее WinStar черные квадратики
Большое спасибо!
|
27.04.2006, 13:05 | #6 |
Новичок
Регистрация: Apr 2006
Сообщения: 6
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: В дисплее WinStar черные квадратики
У меня с новым дисплеем это работает
inline void DisplayCtrlWrite(unsigned char byte) { unsigned char sreg; sreg = SREG; __disable_interrupt(); ResetBitsPort(CTRL2_PORT,MASK_DRS); // Установить состояние линии DRS - 0 WritePort(IODATA_DIR,0xFF); // Направление на выдачу WritePort(IODATA_PORT,byte); // Данные на выдачу ResetBitsPort(CTRL2_PORT,MASK_DEN); // Установить состояние линии DEN - 0 if(byte == 1) _delay_mks(50); SetBitsPort(CTRL2_PORT,MASK_DEN |MASK_DRS); // Установить DRS - 1 DEN - 1 WritePort(IODATA_DIR,0x00); // Направление на прием SREG = sreg; return; } То есть я 1) убрал строку SetBitsPort(CTRL2_PORT,MASK_DRS); // Установить состояние линии DRS - 1 2) поставил 50 мкс (с 20 не работает - иногда на пустых позициях загораются случайные одинаковые символы после очистки экрана) 3) добавил запрет прерываний (как это было написано в исходной функции) |
30.04.2006, 19:49 | #7 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программирование на языке С++?
Когда-то мы взяли ваш bios за основу, Modbus master там был. bios пришлось довольно долго доводить до ума, коммуникационная часть была наиболее проблемной из-за динамического выделения памяти.
|
06.07.2007, 17:34 | #8 |
Новичок
Регистрация: Jul 2007
Сообщения: 1
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Програмирование на С++
На сайте Сегнетикса видел ссылочку про возможность их програмирования на С++. Но ссылочка не работает.... обломс. Так имел с ними дело кто через С++ и как это делаицца. Заранее спасибо всем
|
07.07.2007, 09:51 | #9 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Програмирование на С++
Программирование на C++ делается как обычно для AVR. Берете подходящий компилятор, программатор и программируете. Компилятор использовать лучше IAR EWAVR, но можно и какую-нибудь разновидность GCC. У Сегнетикса были примеры библиотек, их описание и описание аппаратной части. Но на сайте я этого не видел.
|
18.05.2009, 09:06 | #10 |
Senior Member
Регистрация: Jun 2008
Адрес: солнечный Алтай
Сообщения: 161
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программирование на языке С++?
Может, кто-нибудь подскажет, какая функция в С++ извлекает квадратный корень. Еще нужны sin и cos
|
18.05.2009, 10:16 | #11 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Программирование на языке С++?
Цитата:
Остальное по аналогии. . __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
29.06.2009, 17:41 | #12 |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программирование на языке С++?
Всем добрый день.
Хочу использовать SMH2010 для управления небольшим станком. Нужно будет управлять шаговым двигателем (через специальный модуль), посредством передачи импульсов. Частота до 10 КГц. Реально ли реализовать подобное на SMH, используя C? Какова максимальная выходная частота с дискретных выходов, и скорость измерения АЦП? |
29.06.2009, 20:21 | #13 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программирование на языке С++?
Вполне реально. Подробности смотрите в документации на ATmega128 и схеме SMH, которая выложена где-то тут на форуме.
|
29.06.2009, 22:32 | #14 |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программирование на языке С++?
Спасибо за ответ, но хотелось бы еще услышать ответ от официальных представителей.
И еще вопросы. Для загрузки программы в контроллер, я так понимаю нужно еще приобретать ваш программатор? И какой лучше использовать компилятор? Видел что IAR Embedden, но довольно много его версий, можно получить ссылочку на нужный? |
30.06.2009, 06:39 | #15 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программирование на языке С++?
1. Можно использовать любой ISP (внутрисхемный) программатор для AVR, только спаять переходник на нестандартный разъем. Программатор легко изготовить самостоятельно.
2. Подойдет практически любая версия IAR для AVR, новые версии как правило лучше. Примеры исходников были рассчитаны на IAR EWAVR 2.28 и при переносе на свежую версию компилятора потребуют некоторой правки. Можно найти еще десяток других компиляторов C, но из всего это смысл связываться есть только с IAR или GCC (WINAVR). С++ есть только в IAR и GCC. |
30.06.2009, 15:14 | #16 | |||
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Программирование на языке С++?
Цитата:
Цитата:
Цитата:
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|||
01.07.2009, 08:35 | #17 | |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программирование на языке С++?
Цитата:
|
|
01.07.2009, 10:08 | #18 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Программирование на языке С++?
Цитата:
Тем более эти ссылки искать не нужно - они есть на сайте производителя и легко находятся по запросу "iar" в любом поисковике. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
01.07.2009, 13:57 | #19 |
Новичок
Регистрация: Jun 2009
Сообщения: 13
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программирование на языке С++?
Да все нормально.
Нашел я новую версию IAR |
01.07.2009, 15:39 | #20 |
Senior Member
Регистрация: Jan 2006
Сообщения: 172
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программирование на языке С++?
Биос и остальные примеры программных модулей излишне тяжеловесны, если отказаться от них то и на кикстарте можно сделать немало. Эвалюшн практически ничем не отличается от полной версии. Вопросы начнутся если проект не завершить за месяц но там возможны варианты..
|
03.04.2013, 18:08 | #21 | |
Новичок
Регистрация: Apr 2013
Сообщения: 1
Благодарил(а): 0 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Программирование на языке С++?
Цитата:
Теперь попутно пробую собрать тестовый пример MASTER в IAR 6.3.3.1990 EWAVR 25 ошибок: [...] ранее на IAR не писал, работал только с HEW4. В этой попытке проект новый не создавал, открыл из среды IAR файл проекта, удалил файлы из проекта и внес их снова, т.к. ссылки на файлы были абсолютными Последний раз редактировалось Arsie, 04.04.2013 в 11:47 |
|
04.04.2013, 11:38 | #22 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Программирование на языке С++?
Цитата:
Мы не используем IAR 6.3.3.1990 EWAVR. Я вообще удивлён вашим вопросам, т.к. проблема миграции проектов между версиями есть абсолютно в любых средах разработки абсолютно на всех платформах. И тем более при перескоке аж со 2 на 6 версию, которые разделены во времени более чем десятком лет... Ваши сообщения подредактировал. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 04.04.2013 в 11:49 |
|