Страница 1104 из 1177 ПерваяПервая ... 1046041004105410941102110311041105110611141154 ... ПоследняяПоследняя
Показано с 11,031 по 11,040 из 11764

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #11031

    По умолчанию

    Мне вот интересно, вы после всех изменений в проекте, хоть раз сделали Очистить всё, компилировать всё? Это надо делать после каждого сильного изменения, в адресах тем более.

    Значит сдвиг есть в самих модулях, читаем 4 модуля с адреса 1 функцией 4. В принятых данных переставляем регистры.

    Далее всё полученное кладём в слейв, по какому адресу (номеру регистра в слейве)?
    Чтобы прочитать ОРС сервером, функцией 3 уже без смещения, например из 10 в 10 адрес, в ОРС регистры надо переставлять?
    Последний раз редактировалось kondor3000; 01.10.2024 в 20:17.

  2. #11032

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Мне вот интересно, вы после всех изменений в проекте, хоть раз сделали Очистить всё, компилировать всё? Это надо делать после каждого сильного изменения, в адресах тем более.
    Очистить все не делал, каюсь. Компилировать все каждый раз перед заливкой в ПЛК, когда добавлял, удалял изменял элементы(блоки). Контроль перекрытий, неиспользованные переменные и т.п. периодически.
    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Значит сдвиг есть в самих модулях, читаем 4 модуля с адреса 1 функцией 4. В принятых данных переставляем регистры.
    Да так и сделано в представленной проекте A2_TEST.pro
    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Далее всё полученное кладём в слейв, по какому адресу (номеру регистра в слейве)?
    Чтобы прочитать ОРС сервером, функцией 3 уже без смещения, например из 10 в 10 адрес, в ОРС регистры надо переставлять?
    _144_15_Y8_QF1_JB1_1 имеет адрес 40, порядок байт при чтении OPC сервером 1032, ниже приложил скрин. Порядок байт в arOPC 1032 это стандартное значение которое он предлагает, т.е. не надо переставлять.
    VAR11.jpg

  3. #11033

    По умолчанию

    Ну а теперь вы можете через структуру или массивом поменять везде регистры (как Валенок написал) и присвоить всё в созданную структуру (с указанием на 40 адрес слейва) и положить туда уже готовые данные.
    Здесь подобный пример даже есть, читается 7 модулей через String и всё отправляется в структуру в готовом виде (с переставленными регистрами) и в слейв https://owen.ru/forum/showthread.php?t=10555&page=987
    Последний раз редактировалось kondor3000; 02.10.2024 в 08:39.

  4. #11034

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Ну а теперь вы можете через структуру или массивом поменять везде регистры (как Валенок написал) и присвоить всё в созданную структуру (с указанием на 40 адрес слейва) и положить туда уже готовые данные.
    Здесь подобный пример даже есть, читается 7 модулей через String и всё отправляется в структуру в готовом виде (с переставленными регистрами) и в слейв https://owen.ru/forum/showthread.php?t=10555&page=987
    Примерно понял что хотите, мне нужно некоторое время, чтобы опробовать, спасибо еще раз.

  5. #11035
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,054

    По умолчанию

    Вот выпало немного времени, и про эти ловаты - 11 строк кода
    Вложения Вложения

  6. #11036

    По умолчанию

    У меня получилось не так красиво, но намного наглядней, структура по названию каналов. 1 Чтение 4 модулей.jpg
    Если бы ещё прикрутить перестановку, через SysMemCpy, SysMemSwap был бы класс. Что то у меня не выходит.
    Вложения Вложения
    Последний раз редактировалось kondor3000; 03.10.2024 в 18:56.

  7. #11037
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,054

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    но намного наглядней...
    Код:
    ..
    Activ_Power_A  : DWORD ; (*  41	Активная_мощность_А *)
    	Activ_Power_B  : DWORD; (*  43	Активная_мощность_В *)
    	Activ_Power_C : DWORD; (*   45	Активная_мощность_С *)
    	React_Power_A  : DWORD; (*   47	Реактивная_мощность_А *)
    	React_Power_B  : DWORD; (*   49	Реактивная_мощность_В *)
    	React_Power_C  : DWORD; (*   51	Реактивная_мощность_С *)
    	Full_Power_A   : DWORD;      (*    53	Полная_мощность_А  *)
    	Full_Power_B  : DWORD;      (*    55	Полная_мощность_В *)
    	Full_Power_C  : DWORD;     (*    57	Полная_мощность_С *)
    ..
    =>
    Код:
    W,
    VAr_,
    VA	: array[1..3] of dint;
    не?
    или P,Q,S_. СИ пока не отменили. И в РЭ какая-то муть про знак, но надеюсь что это имели в виду

    sysmem только онлайн.
    И проще накопировать что хочется а потом всё сразу переставить. Точнее не переставить - а предобработать. Но автору не нужно.
    Но лично меня "розница" раздражает, проще еще сотню "4 byte" в слейв добавить - на 3 секунды дольше удерживать ctrl-v
    Последний раз редактировалось Валенок; 03.10.2024 в 20:26.

  8. #11038

    По умолчанию

    Вот я о чём, что понятней Slave.LovataData[1].Part1[1]; или Power_Str[1].Voltage_AN; , структура по названию каналов.
    А это одно и то же 1 блок, Напряжение_AN, переменная в слейве.
    Ему ещё проект дописывать надо будет.
    Последний раз редактировалось kondor3000; 03.10.2024 в 21:43.

  9. #11039

    По умолчанию

    Цитата Сообщение от kondor3000 Посмотреть сообщение
    Вот я о чём, что понятней Slave.LovataData[1].Part1[1]; или Power_Str[1].Voltage_AN; а это одно и то же (* Напряжение_AN *)
    Ну для меня, например, если много данных и предполагается с ними работать (преобразовывать, пересылать и пр.) лучше Slave.LovataData[1...1000].Part1[1...1000] и с массивом работать, чем каждую переменную отдельно именовать. А расшифровку в .xls вести.

  10. #11040
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    3,054

    По умолчанию

    "Но автору не нужно"
    А так, фазное
    Slave.LovataData[1].UF[1];
    потому что там считывается (но не нужно) еще и линейное
    Slave.LovataData[1].UL[1];

    А зачем вот эти буквы
    (* Напряжение_AN *)
    ?
    Последний раз редактировалось Валенок; 03.10.2024 в 21:43.

Страница 1104 из 1177 ПерваяПервая ... 1046041004105410941102110311041105110611141154 ... ПоследняяПоследняя

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •