Примеры программ на Fractal-BASIC. ООО ФРАКТАЛ. Преобразователи - конверторы - интерфейсов промышленная автоматика модульные контроллеры

контрактная разработка, преобразователь интерфейса i2c, преобразователь интерфейса MicroLan, преобразователь интерфейса ModBas, сигма дельта ацп, управление гидравлическими приводами, конвертор интерфейса, конвертор протоколов, конвертор скоростей, макетная плата, промышленная автоматика, модульные контроллеры, basic, микроконтроллер basic, конвертор usb, конвертор rs232, конвертор rs422, конвертор rs485, преобразователь usb, преобразователь rs232, преобразователь rs422, преобразователь rs485, узел автоматики, шаговый двигатель, работа с термодатчиком, подключение ds18, репитер, модули входов, модули гальванической развязки, модуль ацп, модуль цап, модуль индикации, речевой модуль, модуль выходов, графический жки, примеры программ, программируемый логический контроллер
Преобразователь USB | Конвертор интерфейсов USB RS232 RS485 RS422 I2C Microlan Modbus RTU SPI Ethernet | Конверторы протоколов и скоростей | Узлы автоматики | Модульные контроллеры
Главная|Прайс-лист|FAQ|Обмен опытом|Контакты|Новости|DOWNLOAD| | Добавить в избранное | Назад
Комплект модулей MCU4 [ADC4-1.x ]
Комплект модулей MCU4 - ADC4-1.x - Модуль АЦП (сигма-дельта 24 бит до 8 входов с гальванической развязкой; до 8.5кГц при 16 бит)

Примеры программ на Fractal-BASIC. ООО ФРАКТАЛ. Преобразователи - конверторы - интерфейсов промышленная автоматика модульные контроллеры
Модуль АЦП (сигма-дельта 24 бит до 8 входов с гальванической развязкой; до 8.5кГц при 16 бит)
Конвертеры интерфейсов [RSX4-4.x DIN ]
Конверторы интерфейсов - RSX4-4.x DIN - Конвертор интерфейсов В корпусе на DIN линейку (USB <=> RS485 / RS422 / RS232)

Примеры программ на Fractal-BASIC. ООО ФРАКТАЛ. Преобразователи - конверторы - интерфейсов промышленная автоматика модульные контроллеры
Конвертор интерфейсов В корпусе на DIN линейку (USB <=> RS485 / RS422 / RS232)
Узлы автоматики [MCX51-9.1 DIN ]
Узлы автоматики - MCX51-9.1 DIN - Узел 2-х силовых выходов AC/DC(реле) (AC)250V/8A в 35мм-DIN-конструктиве

Примеры программ на Fractal-BASIC. ООО ФРАКТАЛ. Преобразователи - конверторы - интерфейсов промышленная автоматика модульные контроллеры
Узел 2-х силовых выходов AC/DC(реле) (AC)250V/8A в 35мм-DIN-конструктиве

Разделы:

О фирме
 
Продукция
Программы
Справочник
 
Ссылки


RSX4-5.x    Преобразователь USB - RS485

Преобразователь / конвертор интерфейсов USB - RS485
  • Чип моста      CP2104
  • USB 2.0 full-speed (12 Mbps)
  • Поддержка Windows , WinCE, Macintosh, Linux, Android
  • Поддерживаемые форматы данных: 5-8D, 0-1P, 1-1.5-2S
  • Число узлов    до 256
  • Диапазон скоростей    до 1 000 000 bps
  • Длина линии до    1200 м
  • ESD Protection    не менее 15 kV
  • Гальваническая развязка    2500 V rms
  • Галванический зазор      8 мм
  • Индикация
  • Подтяжка сигналов RS485 к питанию 1кОм/1кОм
  • Терминатор      120 Ом
  • Диапазон рабочих температур   -40...+75 Град
  • Размер    52(+13) * 18 * 9(+4)  мм
  •  

    Загрузить архивный файл с исходным текстом программы

    new
    
    ;!текст форматирован для шрифта Courier
    ;Пример работы модуля MCU32-1.2 с TFT-TouchScreen экраном TE-ULCD35/56 через SPI
    ;Пример написан для версии 1.15 терминальной прошивки TE-ULCD35/56
    ;Для правильной работы примера на microSD TE-ULCD35/56 должны быть 
    ; в корневой директории файлы 10.bmp , 11.bmp , 12.bmp 
    ; и не должно быть файлов обновления для TE-ULCD35/56
    ; файлы *.bmp расположены в одном архиве с этим примером
    
    ;Пример демонстрирует практически все основные доступные функции
    ;При написании делался основной акцент на простоту реализации
    
    ;Варианты подключения:
    ;1------------------------------------------------------------------------------
    ;основной, и самый простой вариант.
    ;подключение с использованием плат CRS10-1.21 или CRS10-1.25
    ;MCU32-1.2 устанавливается на любое место которое не займет TE-ULCD35/56
    ;TE-ULCD35/56 подключается PIN-TO-PIN кабелем IDC20 -> 2* IDC10
    ; соответствие проводов в кабеле:
    ; CRS10-1.21(.25) X80(X30)         TE-ULCD35/56 
    ;      IDC20  №1...10      -->   IDC10 X8 №1...10
    ;      IDC20  №11...20     -->   IDC10 X6 №1...10
    ; правильно изготовленный кабель получается 
    ;  без перекруток и перекрестий PIN-TO-PIN
    ;питание подается на CRS10-1.21(.25) X6 +8...36В , X7 GND
    ; типичный ток потребления при  входном напряжении +12В  -> 200мА
    
    ;2------------------------------------------------------------------------------
    ;непосредственно к разъему X1 MCU32-1.2, 
    ;!при этом требуется подача питания на TE-ULCD35/56 от внешнего БП +5В
    ; питание на TE-ULCD35/56 подается на разъем X8 см. описание TE-ULCD35/56
    ;ПОДКЛЮЧЕНИЕ SPI:
    ;          MCU32-1.2           TE-ULCD35/56
    ;CS   -> контакт №2  X1  -->  контакт №10 X6
    ;SCK  -> контакт №9  X1  -->  контакт №9  X6
    ;MISO -> контакт №8  X1  -->  контакт №7  X6
    ;MOSI -> контакт №7  X1  -->  контакт №8  X6
    ;GND  -> контакт №10 X1  -->  контакт №2  X6
    
    ;-------------------------------------------------------------------------------
    ;-------------------------------------------------------------------------------
    new
    
    ;-------------------------------------------------------------------------------
    ;объявим строчную переменную для работы с часами
    5 dim $(1),20
    ;определим ее адрес
    6 adr_s0 = loc($(0))
    
    ;инициализация адресных линий интерфейса SPI MCU32-1 в нейтральное состояние
    10 spi#7 = 0
    ;команда перевода TE-ULCD35/56 в терминальный режим
    20 spi#0 = 0FDh : spi#7 = 0
    ;установка курсора оператора PRINT в нейтральное положение (отключение)
    30 csr=127
    ;развернем экран на 180 градусов
    40 spi#0 = 11h : spi#7 = 0
    50 delay = 0.1
    ;очистка экрана
    55 spi#0 = 3 : spi#7 = 0
    60 delay = 0.1
    
    
    ;-------------------------------------------------------------------------------
    ;экран №1 -------------------------------------------
    ;вывод текстового сообщения
    ;очистка экрана
    100 spi#0 = 3 : spi#7 = 0
    ;установим размер шрифта
    110 spi#0 = 1, 6, 1 :  SPI#7 = 0
    ;установим цвет
    120 spi#0 = 4, 0, 0, 0 :  SPI#7 = 0
    ;выведем сообщение
    130 print#," "
    135 print#,"  Работа через SPI "
    140 print#,"      из BASIC     "
    145 print#,"c TFT-Touch панелью"
    150 print#,"  TE-ULCD35/56   в "
    155 print#,"ТЕРМИНАЛЬНОМ РЕЖИМЕ"
    160 print#," "
    165 print#,"достаточно PRINT -а"
    170 print#," или оператора SPI "
    ;пауза
    190 delay =  5
    
    ;-------------------------------------------------------------------------------
    ;экран №2 -------------------------------------------
    ;очистка экрана
    200 spi#0 = 3 : spi#7 = 0
    ;установим размер шрифта
    210 spi#0 = 1, 6, 2 :  spi#7 = 0
    ;установим цвет
    220 spi#0 = 4, 255, 0, 255 :  spi#7 = 0
    ;выведем сообщение
    230 print#," "
    240 print#," простое  управление  цветом,"
    ;пауза
    290 delay = 5
    ;-------------------------------------------------------------------------------
    ;экран №3 -------------------------------------------
    ;очистка экрана
    300 spi#0 = 3 : spi#7 = 0
    ;установим цвет
    302 spi#0 = 4, 0, 0, 255 :  spi#7 = 0
    ;выведем сообщение
    320 print#,"  набор    шрифтов"
    330 print#,"  разных   размеров"
    ;пауза
    390 delay = 5
    ;-------------------------------------------------------------------------------
    ;экран №4 -------------------------------------------
    ;вывод символов с плавно изменяющимся цветом
    ;очистка экрана
    400 spi#0 = 3 : spi#7 = 0
    ;установим размер шрифта
    405 spi#0 = 1, 6, 0 :  spi#7 = 0
    
    ;будем плавно менять цвета, изменяя одновременно только две составляющих
    ; количество шагов посчитано так чтобы в экран уместилась основная палитра
    410 a = 0
    415 for i = 0 to 255
    ;установим цвет
    420 spi#0 = 4, i, 255 - i, 0 :  spi#7 = 0
    425 spi#0 = 0FFh, a :  spi#7 = 0 : a = a + 1
    430 next i
    
    435 a = 0
    440 for i = 0 to 255
    ;установим цвет
    445 spi#0 = 4, 255 - i, 0, i :  spi#7 = 0
    450 spi#0 = 0FFh, a :  spi#7 = 0 : a = a + 1
    455 next i
    
    460 a = 0
    465 for i = 0 to 255
    ;установим цвет
    470 spi#0 = 4, 0, i, 255 - i :  spi#7 = 0
    475 spi#0 = 0FFh, a :  spi#7 = 0 : a = a + 1
    480 next i
    ;пауза
    490 delay = 5
    ;-------------------------------------------------------------------------------
    ;экран №5 -------------------------------------------
    ;вывод символов со случайным цветом
    ;очистка экрана
    500 spi#0 = 3 : spi#7 = 0
    ;установим размер шрифта
    505 spi#0 = 1, 6, 1 :  spi#7 = 0
    510 for i = 33 to 232
    520 spi#0 = 4, rnd * 255, rnd * 255, rnd * 255 :  spi#7 = 0
    530 spi#0 = 0FFh, i :  spi#7 = 0
    540 next i
    ;пауза
    590 delay = 5
    ;-------------------------------------------------------------------------------
    ;экран №6 -------------------------------------------
    ;очистка экрана
    600 spi#0 = 3 : spi#7 = 0
    ;установим размер шрифта
    610 spi#0 = 1, 6, 2 :  spi#7 = 0
    ;установим цвет
    620 spi#0 = 4, 0, 0, 0 :  spi#7 = 0
    ;выведем сообщение
    630 print#," "
    640 print#,"  работа  с графикой"
    ;пауза
    690 delay = 5
    ;-------------------------------------------------------------------------------
    ;экран №7 -------------------------------------------
    ;вывод случайных прямоугольников
    ;очистка экрана
    700 spi#0 = 3 : spi#7 = 0
    705 x = 0 : y = 0
    710 for i = 0 to 500
    ;случайная координата
    715 x1 = rnd * 255 : y1 = rnd * 239
    ;случайный цвет
    720 spi#0 = 4, rnd * 255, rnd * 255, rnd * 255 :  spi#7 = 0
    ;прямоугольник
    730 spi#0 = 8, 0, x, 0, y, 0, x1, 0, y1 :  spi#7 = 0
    740 x = x1 : y = y1
    750 next i
    ;пауза
    790 delay = 5
    ;-------------------------------------------------------------------------------
    ;экран №8 -------------------------------------------
    ;вывод окружности
    ;очистка экрана
    800 spi#0 = 3 : spi#7 = 0
    ;цвет будем менять по кругу
    805 r = 255 : g = 0 : b = 0
    810 for i = 0 to PI*2/3 step PI/386
    ;установим цвет
    815 spi#0 = 4, r, g, b :  spi#7 = 0 : r = r - 1 : g = g + 1 : b = 0
    820 spi#0 = 7 : spiw = 125, 119, sin(i)* 119 + 125, cos(i)* 119 + 119 : spi#7=0
    830 next i
    840 for i = PI*2/3 to PI*4/3 step PI/386
    ;установим цвет
    850 spi#0 = 4, r, g, b :  spi#7 = 0 : r = 0 : g = g - 1 : b = b + 1
    860 spi#0 = 7 : spiw = 125, 119, sin(i)* 119 + 125, cos(i)* 119 + 119 : spi#7=0
    870 next i
    880 for i = PI*4/3 to PI*2 step PI/386
    ;установим цвет
    885 spi#0 = 4, r, g, b :  spi#7 = 0 : b = b - 1 : r = r + 1 : g = 0
    890 spi#0 = 7 : spiw = 125, 119, sin(i)* 119 + 125, cos(i)* 119 + 119 : spi#7=0
    895 next i
    ;пауза
    897 delay = 5
    ;-------------------------------------------------------------------------------
    ;экран №9 -------------------------------------------
    ;вывод синусоид
    ;очистка экрана
    900 spi#0 = 3 : spi#7 = 0
    ;цикл для формирования синусоид с нарастающей амплитудой
    910 for i = 0 to 100 step 3
    ;рисуем случайным цветом
    915 r = rnd * 255 : g = rnd * 255 : b = rnd * 255 : a = i * 1.19
    ;установим цвет
    917 spi#0 = 4, r, g, b :  spi#7 = 0
    ;цикл рисования конкретной синусоиды
    920 for j = 0 to 319
    930 spi#0 = 6 : spiw = j, sin(j / 25)*a + 119 : spi#7 = 0
    940 next j
    950 next i
    ;-------------------------------------------------------------------------------
    ;экран №10 
    ;ввод цвета при помощи TouchScreen
    ;очистка экрана
    1000 spi#0 = 3 : spi#7 = 0
    ;нарисуем зону выбора цвета
    1005 for i = 0 to 99
    ;цвет
    1010 spi#0 = 4, 255 - i * 2.55, i * 2.55, 0 :  spi#7 = 0
    ;линия
    1015 spi#0 = 7 : spiw = i + 10, 0, i + 10, 80 : spi#7 = 0
    ;цвет
    1020 spi#0 = 4, 0, 255 - i * 2.55, i * 2.55 :  spi#7 = 0
    ;линия
    1025 spi#0 = 7 : spiw = i + 110, 0, i + 110, 80 : spi#7 = 0
    ;цвет
    1030 spi#0 = 4, i * 2.55, 0, 255 - i * 2.55 :  spi#7 = 0
    ;линия
    1035 spi#0 = 7 : spiw = i + 210, 0, i + 210, 80 : spi#7 = 0
    1040 next i
    
    ;установим размер шрифта
    1050 spi#0 = 1, 6, 2 : spi#7 = 0
    ;цвет в исходное состояние
    1055 spi#0 = 4, 0, 0, 0, 255, 255, 255 :  spi#7 = 0
    ;курсор в середину
    1060 spi#0 = 2, 0, 2 : spi#7 = 0
    1065 print#,"    OK    "
    ;нарисуем кнопочку
    1070 spi#0 = 8 : spiw = 124, 96, 198, 140 :  spi#7 = 0
    
    ;курсор в начало
    1100 spi#0 = 2, 0, 0 : spi#7 = 0
    ;выбранный цвет
    1105 spi#0 = 4, 255 - r, 255 - g, 255 - b, r, g, b :  spi#7 = 0
    1110 print#," Выберите    цвет   "
    ;ввод точскрина, сразу пропустим грубую координату и считаем точную
    1115 spi#0 = 0Ah, 0, 0 : x = spiw : y = spiw : spi#7 = 0
    ;проверяем, попадает ли нажатие на зону выбора цвета
    1120 if y > 80 then goto 1140
    ;пересчитаем цвет по координате X
    1125 if (x > 9).and.(x < 110) then r = 255 -(x- 10)* 2.55: g=(x- 10)*2.55: b=0
    1130 if (x > 109).and.(x < 210) then g=255 -(x-110)* 2.55: b=(x-110)*2.55: r=0
    1135 if (x > 209).and.(x < 311) then b=255 -(x-210)* 2.55: r=(x-210)*2.55: g=0
    ;проверим нажатие кнопки
    1140 if (x < 124).and.(x > 198) then goto 1150
    1145 if (y > 98).and.(y < 140) then goto 1160
    1150 delay=0.05
    1155 goto 1100
    
    ;заполним выбранным цветом экран
    1160 spi#0 = 4, r, g, b :  spi#7 = 0
    ;заполнять будем вложенными прямогугольниками
    1165 for i = 0 to 159
    1170 spi#0 = 8 : spiw = i, i / 1.333333, 319 - i, 239 - i / 1.333333 : spi#7 =0
    1175 delay=0.01
    1180 next i
    ;пауза
    1185 delay=2
    ;-------------------------------------------------------------------------------
    ;экран №11 -------------------------------------------
    ;часы реального времени MCU32-1
    ;очистка экрана
    1200 spi#0 = 3 : spi#7 = 0
    ;установим цвет
    1205 spi#0 = 4, 0, 0, 0 :  spi#7 = 0
    ;установим размер шрифта
    1210 spi#0 = 1, 6, 1 :  spi#7 = 0
    ;простейший способ вывода времени, обновлять не будем
    1215 print#,"  ", rldt
    
    ;теперь выведем раздельно , большим шрифтом
    ;установим размер шрифта
    1220 spi#0 = 1, 6, 2 :  spi#7 = 0
    
    1230 for i = 0 to 4 ;напечатаем 5 раз
    ;считаем время в строчную переменную
    ;формат RLDT -- :: , всего 17 символов
    1235 $(0) = rldt
    ;установим курсор
    1240 spi#0 = 2, 1, 1 :  spi#7 = 0
    ;выведем дату
    1242 spi#0 = 0FFh ;команда символьного вывода
    ;выводим символы с 0-го по 8-й
    1245 for j = 0 to 8
    1250 spi = mem(adr_s0 + j) ;выводим прямо из памяти
    1252 next j
    1253 spi#7 = 0 ;закроем пакет
    ;установим курсор
    1255 spi#0 = 2, 1, 3 :  spi#7 = 0
    ;выведем время
    1257 spi#0 = 0FFh ;команда символьного вывода
    ;выводим символы с 9-го по 17-й
    1260 for j = 9 to 17
    1265 spi = mem(adr_s0 + j) ;выводим прямо из памяти
    1267 next j
    1268 spi#7 = 0 ;закроем пакет
    ;пауза
    1270 delay = 1
    1280 next i
    ;-------------------------------------------------------------------------------
    ;экран №12 -------------------------------------------
    ;вывод картинки из файла и поверх нее надписи
    ;очистка экрана
    1300 spi#0 = 3 : spi#7 = 0
    ;цвет в исходное состояние
    1305 spi#0 = 4, 0, 0, 0, 255, 255, 255 :  spi#7 = 0
    ;вывод картинки с именем файла 12.bmp
    1310 spi#0 = 9, 0, 0, 0, 0, 31h, 32h :  spi#7 = 0
    ;установим размер шрифта
    1315 spi#0 = 1, 6, 1 : spi#7 = 0
    ;курсор в нижнюю часть
    1320 spi#0 = 2, 1, 8 : spi#7 = 0
    1325 print#," Серия  MCU32-1.x "
    ;пауза
    1330 delay = 5
    ;-------------------------------------------------------------------------------
    ;экран №13 -------------------------------------------
    ;вывод картинки из файла и имитация нажатия кнопок выводом картинки кнопки
    ;очистка экрана
    1400 spi#0 = 3 : spi#7 = 0
    ;вывод картинки с именем файла 10.bmp
    ;картинка расчерчена по зонам соответствующим кнопочному режиму TouchScreen
    1405 spi#0 = 9, 0, 0, 0, 0, 31h, 30h :  spi#7 = 0
    ;установим размер шрифта
    1410 spi#0 = 1, 6, 0 : spi#7 = 0
    ;курсор в левую верхнюю кнопку
    1415 spi#0 = 2, 0, 0 : spi#7 = 0
    1420 print#,"ESC"
    ;ввод точскрина, вводим "укороченную координату" - одини байт, BUSY пропускаем
    1425 spi#0 = 0Ah, 0: k = spi : spi#7 = 0
    ;проверим есть ли нажатие
    1430 if k = 255 then goto 1450
    ;проверим нажатие верхней левой кнопки ESC (Y = 9, X = 0)
    ; при нажатии пойдем в начало
    1435 if k = 90h then goto 100
    ;нажатие, вычислим координату
    1440 x = (k.and.0Fh) *32 : y = 24 * int(k / 16)
    ;выведем каринку кнопки
    1445 spi#0 = 9 : spiw = x, y : spi = 31h, 31h :  spi#7 = 0
    ;для TE-ULCD35/56 требуется опрашивать TouchScreen не чаще 20 раз/сек
    1450 delay = 0.06
    1455 goto 1410
    
    10000 end
    
    

    Состояние Вашей корзины:

    Позиций: 0
    Количество: 0
    Сумма заказа: 0
    Оформить заказ

      Выставки

    MCU32-1

    модуль вычислителя промышленный контроллер
  • Микроконтроллер - STM32F103RET6
  • Разрядность - 32 бит
  • Быстродействие 72 MHz / 1.25 DMIPS/MHz (Dhrystone 2.1)
  • Flash 512 Кбайт
  • RAM 64 Кбайт
  • АЦП 3 АЦП 12 бит 1мкс
  • ЦАП 2 ЦАП 12бит
  • ПДП 12 каналов
  • Отладочный разъем Serial wire debug (SWD)
  • Интерфейсы USB, RS485, CAN, I2C, SPI, MicroLan
  • Часы реального времени
  • Питание +5В
  • Размер 25.4 * 76.2 * 13 мм

  • MCX53-32.x DIN

    программируемый логический контроллер
  • Микроконтроллер STM32F103RET6
  • Встроенный однокристальный Fractal-BASIC-Cortex
  • Интерфейсы без развязки - USB, RS485/CAN, I2C, SPI, MicroLan
  • Гальванически развязанные интерфейсы - RS485, MicroLan DS2482-100
  • Часы реального времени с литиевым элементом
  • Универсальные сигнальные входо-выходы - 12
  • Силовые выходы  - 8
  • Питание +9...24В
  • Габариты узла в DIN конструктиве - 105x86x58
  • Главная страница :: Новости :: Прайс-лист :: FAQ :: Обмен опытом :: Ссылки :: О фирме :: Как нас найти :: Как купить :: Полный список модулей :: Преобразователи интерфейсов / Репитеры :: Интерфейсные модули :: Вычислители :: Узлы автоматизации :: Модули входов :: Модули выходов :: Модули аналогового входа/выхода :: Модули питания :: Кроссы, Макетные модули, Переходные модули :: Другие модули ::

    postmaster@fractal.com.ru
    Copyright © 1999-2017 ООО "Фрактал"

    Яндекс цитирования Rambler's Top100
    7312
    517
    13
    1