|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
11.07.2023, 02:16 | #1 |
Senior Member
Регистрация: May 2014
Адрес: S-Pb
Сообщения: 279
Благодарил(а): 4 раз(а)
Поблагодарили:
16 раз(а) в 15 сообщениях
|
Электронное табло с Mod Bus RS485 (решено)
Здравствуйте форумчане. Есть у меня задача выводить на электронное табло число до 40000. При попытке записать в переменную 1004 показывает какую то пургу. Ниже инфа от заказчика. может кто чего подскажет?
Modbus RTU 9600/8/N/1. Интерфейс RS485 2W(полудуплекс). Func 06 / 16 – Write Holding Register Регистр 1000 – Управляющий Запись значения 1 – перепрограммирует Modbus адрес, табло перезагрузиться через 1 сек. Регистр 1001 – яркость табло, по умолчанию 100%. 0..100% Регистр 1002 – новый Modbus адрес. Регистр 1004 (и1005) – 32 бит отображаемого числа. В регистр записывается отображаемое 32 битное число. (signed int) XXXXXXX Регистры с 1008 до 1011 – прямое включения сегментов 7ми сегментных индикаторов. Старший байт 1008го регистра - 1я цифра (левая) Младший байт 1008го регистра - 2я цифра Старший байт 1009го регистра - 3я цифра Младший байт 1009го регистра - 4я цифра Старший байт 1010го регистра - 5я цифра Младший байт 1010го регистра - 6я цифра Старший байт 1011го регистра - 7я цифра(правая) Дисплей обновляется при записи 1011го регистра. • 1бит байта (0x01) – сегмент A • 2бит байта (0x02) – сегмент B • 3бит байта (0x04) – сегмент C • 4бит байта (0x08) – сегмент D • 5бит байта (0x10) – сегмент E • 6бит байта (0x20) – сегмент F • 7бит байта (0x40) – сегмент G • 8бит байта (0x80) – сегмент DP точка Так же доступно чтение всех регистров Func 03 Read Holding Register Пример управлением табло Адреса регистров с 1000, значения 16bit. |
11.07.2023, 07:05 | #2 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 171
Благодарил(а): 241 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
Цитата:
|
|
11.07.2023, 07:32 | #3 |
Senior Member
Регистрация: May 2014
Адрес: S-Pb
Сообщения: 279
Благодарил(а): 4 раз(а)
Поблагодарили:
16 раз(а) в 15 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
При выставлении 1 на табло 13937, при выставлении 2 на табло 63483, при выставлении 3 и выше - прочерки
|
11.07.2023, 09:19 | #4 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 171
Благодарил(а): 241 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
Цитата:
никто ж не знает что было в голове у погроммиста когда он выдумывал свое табло. плюс подвигать адреса влево-право на +/-1. хоть это проще проверить битами в семисегментом варианте индикации. хотя м.б. этим вариантом в итоге и получится проще всего воспользоваться |
|
11.07.2023, 10:57 | #5 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
Цитата:
Цитата:
Я бы тоже попробовал туда -1 записывать. __________________ Не являюсь сотрудником Segnetics !!! |
||
11.07.2023, 11:46 | #6 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
Цитата:
По вашему вопросу, нужно погуглить расположение сегментов на 7-сегментных индикаторах и устанавливать биты нужных сегментов, чтобы из них сложились нужные цифры. Это я про прямую адресацию в регистрах 1008 и далее. А так я бы начал с поиска регистра яркости, чтобы понять, что куда там смещено. Это проще всего. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
11.07.2023, 15:05 | #7 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 171
Благодарил(а): 241 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
Цитата:
в 13937 младшая тетрада как раз =1 |
|
11.07.2023, 15:41 | #8 | |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
Цитата:
63483 = 0x0000F7FB = 00000000 00000000 11110111 11111011 Уж больно единиц дохрена __________________ Не являюсь сотрудником Segnetics !!! |
|
11.07.2023, 19:48 | #9 | |
Senior Member
Регистрация: May 2014
Адрес: S-Pb
Сообщения: 279
Благодарил(а): 4 раз(а)
Поблагодарили:
16 раз(а) в 15 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
Цитата:
|
|
12.07.2023, 23:21 | #10 |
Senior Member
Регистрация: May 2014
Адрес: S-Pb
Сообщения: 279
Благодарил(а): 4 раз(а)
Поблагодарили:
16 раз(а) в 15 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
Еще раз говорю - собирают под заказ, в потроха все по желанию заказчика, модельный ряд отсутствует как таковой. Размеры табло, количество сегментов, размер сегментов, цвет, шмет, мет - все по желанию заказчика.
|
12.07.2023, 23:27 | #11 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 159
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
Спасибо)
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
13.07.2023, 01:42 | #12 |
Senior Member
Регистрация: May 2014
Адрес: S-Pb
Сообщения: 279
Благодарил(а): 4 раз(а)
Поблагодарили:
16 раз(а) в 15 сообщениях
|
Ответ: Электронное табло с Mod Bus RS485
С адресацией разобрался:
1. Регистр 1000 – Управляющий (999 верный) Запись значения 1 – перепрограммирует Modbus адрес, табло перезагрузиться через 1 сек. 2. Регистр 1002 – новый Modbus адрес. (1001 верный) 3. Регистр 1004 (и1005) – 32 бит отображаемого числа. (1003 верный) но на поляну нужно выставлять 1004 иначе не работает. 4. Регистры с 1008 до 1011 – прямое включения сегментов 7ми сегментных индикаторов. (работает крайне криво). Хотел в крайней левой части экрана выводить буквы (Н) или (Б) - нетто или брутто и реализовать с плк переключение, но, к сожалению, затыкается показ на 1003, и кажет не то и не там. Всем спасибо за участие. |