|
Вопросы о программировании Вопросы, касающиеся программирования на FBD |
|
Опции темы | Поиск в этой теме |
06.12.2019, 17:41 | #1 |
Новичок
Регистрация: Sep 2019
Сообщения: 26
Благодарил(а): 8 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Описание типа данных
Добрый день!!! Подскажите как описать регистр если он Long integer.
|
06.12.2019, 18:31 | #2 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Описание типа данных
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
06.12.2019, 20:52 | #3 |
Новичок
Регистрация: Sep 2019
Сообщения: 26
Благодарил(а): 8 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Описание типа данных
|
06.12.2019, 21:33 | #4 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Описание типа данных
Прям оговорка в тему. Вы б толком описали, что за переменная вам нужна.
__________________ RTFM |
07.12.2019, 04:45 | #5 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Описание типа данных
Цитата:
Регистр в модбасе всегда состоит из 2 байтов. Ни из одного, не из трёх. А всегда из двух. По этому вас и переспрашивают, что ничерта не понятно, то конкретно вам нужно PS. Переспрашивающие ещё наверняка надеются, что вы хоть одним глазком, но всё же глянули справку. Т.к. я уверен на 99%, что на свой вопрос вы сможете ответить самостоятельно, банально открыв лоджик, создав в нём на порту устройство и попытавшись добавить хотя бы одну переменную. Там настолько всё на поверхности, что прям ваще. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
07.12.2019, 23:27 | #6 | |
Senior Member
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили:
2 раз(а) в 2 сообщениях
|
Ответ: Описание типа данных
Цитата:
Дело в том, что термин LongInteger является пережитком языка программирования Pascal, поддержанным в Borland С и Turbo Assembler - и в этих языках он эквивалентен стандартному типу Long (32 бит, 4 байта), изначально поддерживаемому сегнетиксовскими контроллерами. Но (ох уже это "но"!) майкрософт при переходе на 64-битные системы, вместо ввода нового названия для возникшего типа данных (64 бита, 8 байт) - по непонятным причинам решил использовать для него отмиравшее название, означавшее совсем другое... Так что вам поневоле придется узнать, 32-битная или 64-битная переменная у вас отдается под таким типом. Лайфхак: если это несерийное или самодельное устройство, созданное в эпоху 16-32-битных систем (то есть разработанное больше 10-12 лет назад) - просто используйте тип Long, только через макрос (борландовский IntegerLong отличается от интеловско-майкрософтовского Long порядком хранения байтов в памяти - макрос это исправляет) |
|
26.02.2020, 21:26 | #7 |
Новичок
Регистрация: Sep 2019
Сообщения: 26
Благодарил(а): 8 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Описание типа данных
Если честно я не могу понять как это сделать и может ли вообще это значение считать SMH2010. Вот это значение в документации на устройство.
|
26.02.2020, 21:57 | #8 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 865
Благодарил(а): 4 раз(а)
Поблагодарили:
87 раз(а) в 68 сообщениях
|
Ответ: Описание типа данных
С первого взгляда может.
|
27.02.2020, 12:26 | #9 | |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Описание типа данных
Цитата:
Как добавить карту переменных устройства в проект понимаете? __________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
|
28.02.2020, 20:01 | #10 |
Новичок
Регистрация: Sep 2019
Сообщения: 26
Благодарил(а): 8 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Описание типа данных
Да конечно знаю,я может еще лузер но не совсем , вот что получается если создать такую переменную, выходит такое число хотя в устройстве внесено другое (123456), если поставить тип переменой integer и если значение будет до 6 символов то оно выводится корректно.
|
28.02.2020, 20:19 | #11 |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Описание типа данных
А зачем считывать серийный номер?)
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
28.02.2020, 20:23 | #12 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 865
Благодарил(а): 4 раз(а)
Поблагодарили:
87 раз(а) в 68 сообщениях
|
Ответ: Описание типа данных
Вы уверены, что пока на устройстве было 123456, контроллер считывал 16515072? Я что-то не усматриваю связи между этими числами.
Но так то можно поэкспериментировать со смещением адреса и/или порядком младших и старших слов. |
28.02.2020, 20:29 | #13 |
Новичок
Регистрация: Sep 2019
Сообщения: 26
Благодарил(а): 8 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Описание типа данных
Что бы вывести его на дисплей, т.к что бы его посмотреть приходится подключаться к устройству через ПК, его можно вывести будет в систему ТМ, для контроля за подобными устройствами их учету.
Добавлено через 2 минуты Там внесено именно это число т.к я сам его внес , вот и я не усмотрел связи между этими числами |
01.03.2020, 16:50 | #14 |
Senior Member
Регистрация: Aug 2018
Адрес: Екатеринбург
Сообщения: 106
Благодарил(а): 0 раз(а)
Поблагодарили:
1 раз в 1 сообщении
|
Ответ: Описание типа данных
Попробуйте макрос из базы знаний, который порядок байт меняет. У меня было такое, если лонг читать и не та последовательность байт, то число кардинально отличается. У меня должно было приходить 126, а приходило 9 с чем то миллионов или 900 с чем то тысяч, точно не помню. Поменял байты местами пришло 126.
|
Благодарность от: |
02.03.2020, 19:23 | #15 | |
Новичок
Регистрация: Sep 2019
Сообщения: 26
Благодарил(а): 8 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Описание типа данных
Цитата:
|
|
02.03.2020, 19:34 | #16 | |
Сотрудник Сегнетикс
Регистрация: Mar 2016
Адрес: SPb
Сообщения: 4 341
Благодарил(а): 0 раз(а)
Поблагодарили:
255 раз(а) в 251 сообщениях
|
Ответ: Описание типа данных
Цитата:
__________________ Если ничто другое не помогает, прочтите, наконец, инструкцию |
|
03.03.2020, 00:07 | #17 |
Senior Member
Регистрация: May 2010
Адрес: Москва
Сообщения: 865
Благодарил(а): 4 раз(а)
Поблагодарили:
87 раз(а) в 68 сообщениях
|
Ответ: Описание типа данных
Как бы 16515072 в двоичном виде 0000000011111100 0000000000000000
123456 в двоичном виде 0000000000000001 1110001001000000 0000000011111100 0000000000000000 0000000000000001 1110001001000000 я что-то не вижу, как надо переставить слова или байты, чтобы из одного получилось другое |
03.03.2020, 07:47 | #18 | |
Senior Member
Регистрация: Nov 2017
Адрес: Новосибирск
Сообщения: 196
Благодарил(а): 15 раз(а)
Поблагодарили:
9 раз(а) в 9 сообщениях
|
Ответ: Описание типа данных
Цитата:
|
|
04.03.2020, 07:03 | #19 |
Senior Member
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили:
3 раз(а) в 3 сообщениях
|
Ответ: Описание типа данных
Попробуйте:
|
Благодарность от: |
04.03.2020, 20:28 | #20 |
Новичок
Регистрация: Sep 2019
Сообщения: 26
Благодарил(а): 8 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Описание типа данных
В кратце, быстро потестировал но результат есть, добавил в карту две переменные с типом integer как в карте регистров modbus на устройство, на выходе то число что я в него внес 123456,
|
12.03.2020, 20:15 | #21 |
Новичок
Регистрация: Sep 2019
Сообщения: 26
Благодарил(а): 8 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Описание типа данных
|
12.03.2020, 21:15 | #22 |
Senior Member
Регистрация: May 2009
Сообщения: 1 034
Благодарил(а): 9 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Описание типа данных
__________________ RTFM |
13.03.2020, 18:15 | #23 |
Новичок
Регистрация: Sep 2019
Сообщения: 26
Благодарил(а): 8 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Описание типа данных
|
13.03.2020, 18:23 | #24 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 180
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Описание типа данных
Цитата:
https://forum.segnetics.com/showthread.php?t=461 __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
Благодарность от: |