Двоичный код

Ответить
Аватара пользователя
ROOT
Рядовой
Сообщения: 6
Зарегистрирован: 21.09.2015{, 06:53}
Репутация: 0
Откуда: Bishkek
Контактная информация:

Двоичный код

#1

Сообщение ROOT » 01.10.2015{, 07:44}

Доброго времени суток.

Подскажите пожалуйста как в программе flprog передавать и считывать двоичные данные и выполнить какие то действия например если приняли (0x68,0x00,0x00,0x68) включить пин 13 или перевести в строку и отправить в ком порт 1?
Shadow

Аватара пользователя
Alex54
Сержант
Сообщения: 281
Зарегистрирован: 06.09.2015{, 09:06}
Репутация: 1
Откуда: Москва

Двоичный код

#2

Сообщение Alex54 » 02.10.2015{, 07:13}

ROOT

Мне в одном проекте, надо было подстраивать цифровые потенциометры. Сначала я все делаю в программе

Протеус. Так вот этот потенциометр имеет 8 входов Цап 255 состояний. Я установил 8 счетчиков в

программе FLProg ( в ардуинке ). Каждому установил сброс. Первому 2,второму 4 и т.д. До 8 разряда.

Получился многоразрядный счетчик с параллельными выходами. Что то наподобие реального CD4040.

Где мне надо он останавливал счет и выводил заданный параметр сопротивления. Правда общий сброс я

не мог сделать. И счет был всегда в обратную сторону. Вот так я выводил двоичные данные.
Вложения
5490844.jpg
Последний раз редактировалось Alex54 02.10.2015{, 08:09}, всего редактировалось 1 раз.
С Уважением Alex

Аватара пользователя
scadapack
Рядовой
Сообщения: 83
Зарегистрирован: 07.09.2015{, 05:18}
Репутация: 5
Откуда: Степногорск
Имя: Вячеслав

Двоичный код

#3

Сообщение scadapack » 02.10.2015{, 11:42}

Для этого можно использовать операции с битами (чтение и запись бита).  С ними можно разбирать байт по битам или наоборот, а так же работать с битами логическими командами. В общем недостаточно данных для дельного совета. Надо бы подробнее описать, что вы хотите сделать.

Аватара пользователя
Alex54
Сержант
Сообщения: 281
Зарегистрирован: 06.09.2015{, 09:06}
Репутация: 1
Откуда: Москва

Двоичный код

#4

Сообщение Alex54 » 02.10.2015{, 13:17}

scadapack писал(а):Для этого можно использовать операции с битами (чтение и запись бита).  С ними можно разбирать байт по битам или наоборот, а так же работать с битами логическими командами. В общем недостаточно данных для дельного совета. Надо бы подробнее описать, что вы хотите сделать.
Вы по осциллографу смотрели какие импульсы выдают эти блоки чтение и запись бита, по длительности.
И как можно с ними работать. Обязательно надо по выходу счетчика ставить дешифратор.Дешифратор ставит эти импульсы в ряд, каждый имп. равен периоду тактовой частоты генератора. Выходов у дешифратора может быть любое количество. Диаграмма примерно как на реальном 564ИЕ8.9 Так как сам счетчик не
имеет выхода на цифру напрямую. И еще этот импульс делать меандром с помощью т-триггера.

Вот посмотрите маленькая прога подсчета оборотов мотора с энкондером. Там я применял этот блок только
для сброса внешнего счетчика. Импульсы очень узкие. Только и разве для сброса.
Вложения
4190360.jpg
Последний раз редактировалось Alex54 02.10.2015{, 13:58}, всего редактировалось 1 раз.
С Уважением Alex

Аватара пользователя
ROOT
Рядовой
Сообщения: 6
Зарегистрирован: 21.09.2015{, 06:53}
Репутация: 0
Откуда: Bishkek
Контактная информация:

Двоичный код

#5

Сообщение ROOT » 06.10.2015{, 09:02}

Рахмат!!! Наша задача с делать связь между ардуино и с электросчетчиком псч 4тм 05м и Энергомера СЕ303.
Есть описание протокола ПСЧ 4тм 
                    А на
Энергомера СЕ303  только снифером 
У обоих rs485 
Считать показание 
Нужна хотя бы приблизительная направления именно в FLProg
Shadow

Аватара пользователя
scadapack
Рядовой
Сообщения: 83
Зарегистрирован: 07.09.2015{, 05:18}
Репутация: 5
Откуда: Степногорск
Имя: Вячеслав

Двоичный код

#6

Сообщение scadapack » 06.10.2015{, 09:55}

Гораздо проще использовать импульсный выход счётчиков "оптрон", частота импульсов которого обычно пишется на лицевой панели. За тем подсчитывать эти импульсы, умножая их на коэффициент импульсного выхода и трансформаторов тока. А вы, видимо, хотите использовать протокол передачи данных. Это на порядок сложнее задача!

Аватара пользователя
ROOT
Рядовой
Сообщения: 6
Зарегистрирован: 21.09.2015{, 06:53}
Репутация: 0
Откуда: Bishkek
Контактная информация:

Двоичный код

#7

Сообщение ROOT » 06.10.2015{, 10:38}

До но  это не выход нам нужен полный функционал этих УМНЫХ Изображение счётчиков.
Shadow

Аватара пользователя
Сергей
Лейтенант
Сообщения: 578
Зарегистрирован: 31.08.2015{, 15:06}
Репутация: 6
Имя: Сергей
Контактная информация:

Двоичный код

#8

Сообщение Сергей » 06.10.2015{, 17:12}

ROOT, не могли бы Вы описать подробней че и как там считывать по протоколу. Тоже занимаюсь аналогичным проектом. Пока принято решение использовать импульсный выход счетчика. Но для этого надо еще дисплей и менюшку соображать для ввода текущих показаний. А надо один девайс на два-четыре счетчика.

Аватара пользователя
ROOT
Рядовой
Сообщения: 6
Зарегистрирован: 21.09.2015{, 06:53}
Репутация: 0
Откуда: Bishkek
Контактная информация:

Двоичный код

#9

Сообщение ROOT » 20.10.2015{, 08:55}

все получилось Изображение связь с счётчиком ПСЧ и Энергомера  вот  не большой пример
Вложения
3885698.png
Shadow

Аватара пользователя
ROOT
Рядовой
Сообщения: 6
Зарегистрирован: 21.09.2015{, 06:53}
Репутация: 0
Откуда: Bishkek
Контактная информация:

Двоичный код

#10

Сообщение ROOT » 20.10.2015{, 10:35}

Это TX

Добавлено (20.10.2015, 10:35)
---------------------------------------------
Как ведите с помощью снифера капируем данные TX  из ПК и TX из счётчика
можно даже увидеть на самом конфигураторе эти данные 

05 01  30 30 30 30 30 30 CE 1B  это из ПК hex формате
05 это id счётчика 01 это команда на открытия порта  а  шесть 30 это  заводской пароль
а по человечески ASC . 5 счётчик  1 команда для порта и шесть нулей заводской пароль
В FLprog это реализован decimal формате (bayte)
например hex 30=asc0, decimal 48=asc0
создав  несколько переменные тип (bayte) 5 1 48 48 48 48 48 48 206  27  отправляя на uart  получаем ответ  Изображение

если конечно настроен bod 9600, 19200 и.т.д
Вложения
6011484.png
Shadow

Ответить

Вернуться в «Логика»