PDA

Просмотр полной версии : О неподдериваемых типах данных



Borserg
03.12.2022, 11:43
Коллеги, доброго дня!

Известно, что OL в сетевых переменных "понимает" только форматы UINT (беззнаковое целое 16 бит) и FLOAT (с плавающей точкой, 32 бит).
Очень часто возникает необходимость обработки данных, представленных в формате INT (целое со знаком 16 бит).
Для этого есть макросы (в том числе в Базе).
А я столкнулся с необходимостью обработать данные в формате UDINT (беззнаковое целое 32 бит).
СП3хх такие данные прекрасно распознает - достаточно в свойствах цифрового дисплея задать значение типа DWord, формат Unsigned и разрядность 10 знаков.
Но мне, перед отправкой в СП3хх, надо обработать данные в ПР200.
А как это сделать?

Заранее благодарен за советы.

melky
03.12.2022, 13:56
Разделите переменную ОЛ на два регистра и передавайте.

Borserg
03.12.2022, 14:16
Разделите переменную ОЛ на два регистра и передавайте.

Предположим, я в настройках "мастера" ПР200 создам две целочисленных переменных.
А как потом из них сделать одну 32 бит?

1exan
03.12.2022, 14:45
Например функцией на ST:



FUNCTION PackWordsToDword : DWORD
VAR_INPUT
wHighWord:WORD;
wLowWord:WORD;
END_VAR

PackWordsToDword := SHL(WORD_TO_DWORD(wHighWord),16) OR WORD_TO_DWORD(wLowWord);

melky
03.12.2022, 15:08
При передаче делите, при поступлении собираете в программе.

Borserg
03.12.2022, 15:15
Например функцией на ST:



FUNCTION PackWordsToDword : DWORD
VAR_INPUT
wHighWord:WORD;
wLowWord:WORD;
END_VAR

PackWordsToDword := SHL(WORD_TO_DWORD(wHighWord),16) OR WORD_TO_DWORD(wLowWord);


Предполагаю, что это очень красиво, вот только с ST я вообще не знаком...

Borserg
03.12.2022, 15:18
При передаче делите, при поступлении собираете в программе.

При передаче куда? При поступлении куда? Делить чем? Собирать чем?
При всем уважении - вопрос задан конкретно в надежде получить конкретный же ответ.

1exan
03.12.2022, 15:26
Предполагаю, что это очень красиво, вот только с ST я вообще не знаком...

Можете использовать аналогичные стандартные ФБД блоки (SHL и OR)

Borserg
03.12.2022, 16:54
Может мне надо было задать вопрос немного иначе?

Имеем в некотором устройстве два регистра, в которых содержится число в формате UDINT.
Читаем это число по ModBus в переменную Float ПР200. В самом ПР200 никаких манипуляций с этим числом не делаем
(кроме копирования переменной Master в переменную Slave), а просто даем его прочитать по ModBus в СП3хх,
где выбираем тип отображения Unsigned DWord.
Исказятся ли данные при такой передаче?

1exan
03.12.2022, 17:24
Может мне надо было задать вопрос немного иначе?

Имеем в некотором устройстве два регистра, в которых содержится число в формате UDINT.
Читаем это число по ModBus в переменную Float ПР200. В самом ПР200 никаких манипуляций с этим числом не делаем
(кроме копирования переменной Master в переменную Slave), а просто даем его прочитать по ModBus в СП3хх,
где выбираем тип отображения Unsigned DWord.
Исказятся ли данные при такой передаче?

Не должны (не знаю, будет ли исправлять ПР значение float, если будет неправильный формат). Но надо проверять, что байты-слова не меняются при получении/отправке.
Если не получится, то можно попробовать читать UDINT(DWORD) в ПР двумя последовательными регистрами, и в слейв копировать также двумя регистрами, ну а читать по адресу первого из регистров, как float

melky
03.12.2022, 17:25
Dword в два Word и обратно (обратно можно и Add использовать вместо OR)

Borserg
03.12.2022, 17:54
Dword в два Word и обратно (обратно можно и Add использовать вместо OR)

Уважаемый, я, наверное, отстал от жизни, но с каких пор функция OR оперирует не булевыми, а целочисленными значениями?

Borserg
03.12.2022, 17:56
Не должны (не знаю, будет ли исправлять ПР значение float, если будет неправильный формат). Но надо проверять, что байты-слова не меняются при получении/отправке.
Если не получится, то можно попробовать читать UDINT(DWORD) в ПР двумя последовательными регистрами, и в слейв копировать также двумя регистрами, ну а читать по адресу первого из регистров, как float

Обязательно проверю и отпишусь.

1exan
03.12.2022, 18:01
Уважаемый, я, наверное, отстал от жизни, но с каких пор функция OR оперирует не булевыми, а целочисленными значениями?

Есть многое на свете, друг Горацио...

Borserg
03.12.2022, 18:06
Есть многое на свете, друг Горацио...

Смешно ...

melky
03.12.2022, 18:42
Borserg Если подать целочисленные на OR то сравниваются ВСЕ биты. вот и все.
То же самое и для AND в ОЛ и не только в ОЛ...

Borserg
04.12.2022, 04:47
melky, каюсь, не знал о такой возможности.

Коллеги, а ведь никто не сказал, что целочисленные переменные в OL теперь могут быть 32-разрядными.
Выдержка из справки: "Переменная целочисленного типа может принимать значение целого числа в диапазоне от 0 до 4294967295".
При создании целочисленной сетевой переменной для слота Master есть возможность выбрать количество регистров - 1 или 2.
Вот только непонятно, почему такой возможности нет при создании целочисленной сетевой переменной для слота Slave?

melky
04.12.2022, 10:18
Borserg просто мастер надо было притянуть к стандарту, а slave это возможности процессора и ПО, могли бы сразу сделать и +- типы и 32 бит типы а не только "Целочисленное"
то есть все эти преобразования можно было сделать на уровне firmware и поддержать для тех ПР, в которых процессор позволяет.

Borserg
07.12.2022, 23:19
Коллеги, попробовал варианты:

1. Мастер - целочисленная 32 бит, слейв - целочисленная с резервом следующего регистра. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 5132 вместо реального 3092.

2. Мастер - целочисленная 32 бит, слейв - с плавающей запятой. Мастер копируем в слейв через x->F.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 1168138240 вместо реального 3092.

3. Мастер - целочисленная 32 бит, слейв - с плавающей запятой. Мастер копируем в слейв через x->F.
В СП3хх - DWord, Float, 10 знаков.
Получили 5132 вместо реального 3092.

4. Мастер - с плавающей запятой, слейв - с плавающей запятой. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Float, 10 знаков.
Получили 0 вместо реального 3092.

5. Мастер - с плавающей запятой, слейв - с плавающей запятой. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 5132 вместо реального 3092.

Положительный вариант:

- в мастере две целочисленных переменных 16 бит - старший и младший регистры 32-битного значения
- копирование этих регистров в две целочисленных 16 бит переменных слейва
- копирование двух регистров слейва в два внутренних регистра PSW СП3хх
- отображение на дисплее СП3хх переменной типа DWord Unsigned с младшего адреса PSW

Личное мнение:
Возможность создания целочисленных локальных и сетевых мастер переменных 32 бит и невозможность создания таких слейв переменных - очень большая недоработка OL.

Сергей0308
07.12.2022, 23:59
Коллеги, попробовал варианты:

1. Мастер - целочисленная 32 бит, слейв - целочисленная с резервом следующего регистра. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 5132 вместо реального 3092.

2. Мастер - целочисленная 32 бит, слейв - с плавающей запятой. Мастер копируем в слейв через x->F.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 1168138240 вместо реального 3092.

3. Мастер - целочисленная 32 бит, слейв - с плавающей запятой. Мастер копируем в слейв через x->F.
В СП3хх - DWord, Float, 10 знаков.
Получили 5132 вместо реального 3092.

4. Мастер - с плавающей запятой, слейв - с плавающей запятой. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Float, 10 знаков.
Получили 0 вместо реального 3092.

5. Мастер - с плавающей запятой, слейв - с плавающей запятой. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 5132 вместо реального 3092.

Положительный вариант:

- в мастере две целочисленных переменных 16 бит - старший и младший регистры 32-битного значения
- копирование этих регистров в две целочисленных 16 бит переменных слейва
- копирование двух регистров слейва в два внутренних регистра PSW СП3хх
- отображение на дисплее СП3хх переменной типа DWord Unsigned с младшего адреса PSW

Личное мнение:
Возможность создания целочисленных локальных и сетевых мастер переменных 32 бит и невозможность создания таких слейв переменных - очень большая недоработка OL.

Мне вот кажется 4-й вариант самый простой, а в панели указать, что это мол 32 битная целочисленная переменная и всё! Только порядок чередования байт придётся подобрать! Это если у Вас изначально такая переменная, а модбасу без разницы, что это, он два регистра передал, всё, дальше не его проблемы!
Вот зачем Вы панели говорите, что это переменная с плавающей запятой(в этом 4-ом варианте), если утверждаете что изначально это 32 битная целочисленная переменная, это загадка тысячелетия, я тут всё, опускаю руки! Разве так бывает, самому себе противоречить! Здесь разумные объяснения неуместны!
Вот 5-ый вариант более правильный, в смысле, насколько понял у вас изначально целочисленный беззнаковый тип данных, если Вам верить, какой на самом деле не известно!

Валенок
08.12.2022, 01:38
...
1. Мастер - целочисленная 32 бит, слейв - целочисленная с резервом следующего регистра. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 5132 вместо реального 3092.

2. Мастер - целочисленная 32 бит, слейв - с плавающей запятой. Мастер копируем в слейв через x->F.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 1168138240 вместо реального 3092.

3. Мастер - целочисленная 32 бит, слейв - с плавающей запятой. Мастер копируем в слейв через x->F.
В СП3хх - DWord, Float, 10 знаков.
Получили 5132 вместо реального 3092.

4. Мастер - с плавающей запятой, слейв - с плавающей запятой. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Float, 10 знаков.
Получили 0 вместо реального 3092.

5. Мастер - с плавающей запятой, слейв - с плавающей запятой. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 5132 вместо реального 3092...
А чего не так ? Всё норм. Так и должно быть.

Ну кроме того что не показали все настройки для мастера в 1-м,
Напутали между 2-ым и 3-им. //Выкладываемые данные перепроверяйте 2 раза.
Непонятно что иного ожидали от 4-ого. Вообще всё как в аптеке.
А для 5-ого привели фейк.

Проекты-то - где ? Оба естественно.

1exan
08.12.2022, 04:50
Коллеги, попробовал варианты:

1. Мастер - целочисленная 32 бит, слейв - целочисленная с резервом следующего регистра. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 5132 вместо реального 3092.

2. Мастер - целочисленная 32 бит, слейв - с плавающей запятой. Мастер копируем в слейв через x->F.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 1168138240 вместо реального 3092.

3. Мастер - целочисленная 32 бит, слейв - с плавающей запятой. Мастер копируем в слейв через x->F.
В СП3хх - DWord, Float, 10 знаков.
Получили 5132 вместо реального 3092.

4. Мастер - с плавающей запятой, слейв - с плавающей запятой. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Float, 10 знаков.
Получили 0 вместо реального 3092.

5. Мастер - с плавающей запятой, слейв - с плавающей запятой. Мастер копируем в слейв напрямую.
В СП3хх - DWord, Unsigned, 10 знаков.
Получили 5132 вместо реального 3092.

Положительный вариант:

- в мастере две целочисленных переменных 16 бит - старший и младший регистры 32-битного значения
- копирование этих регистров в две целочисленных 16 бит переменных слейва
- копирование двух регистров слейва в два внутренних регистра PSW СП3хх
- отображение на дисплее СП3хх переменной типа DWord Unsigned с младшего адреса PSW

Личное мнение:
Возможность создания целочисленных локальных и сетевых мастер переменных 32 бит и невозможность создания таких слейв переменных - очень большая недоработка OL.

5132 это результат перестановки слов в DWORD для значения 3092. Измените порядок слов в ПР.

Borserg
08.12.2022, 08:17
Мне вот кажется 4-й вариант самый простой, а в панели указать, что это мол 32 битная целочисленная переменная и всё! Только порядок чередования байт придётся подобрать! Это если у Вас изначально такая переменная, а модбасу без разницы, что это, он два регистра передал, всё, дальше не его проблемы!
Вот зачем Вы панели говорите, что это переменная с плавающей запятой(в этом 4-ом варианте), если утверждаете что изначально это 32 битная целочисленная переменная, это загадка тысячелетия, я тут всё, опускаю руки! Разве так бывает, самому себе противоречить! Здесь разумные объяснения неуместны!
Вот 5-ый вариант более правильный, в смысле, насколько понял у вас изначально целочисленный беззнаковый тип данных, если Вам верить, какой на самом деле не известно!

Так 5-й вариант и есть то, что Вы советуете.
Я просто перебирал все возможные варианты и себе не противоречу.
Тип данных действительно беззнаковый целый 32 бит (UDINT).
Если эту переменную из устройства читать прямо в ПР3хх, указав в свойствах дисплея DWord, Unsigned, значение отображается корректно.

Что касается порядка чередования байт, то его нельзя указать для отдельной переменной.
А там есть еще переменные INT и UINT, которые передаются корректно.
Кстати, переменные INT (целочисленное со знаком) отображаются в ПР3хх (и положительные и отрицательные) корректно без всяких преобразований на стороне ПР200.
Достаточно в свойствах дисплея выбрать Word, Dec.

Borserg
08.12.2022, 08:29
5132 это результат перестановки слов в DWORD для значения 3092. Измените порядок слов в ПР.

Порядок слов изменить не могу, т. к. в ПР хранятся еще переменные INT и UINT, которые передаются в СП3хх корректно.

1exan
08.12.2022, 08:48
Порядок слов изменить не могу, т. к. в ПР хранятся еще переменные INT и UINT, которые передаются в СП3хх корректно.

Настройка "Старшим регистром вперёд" не может повлиять на INT и UINT, которые передаются в ОДНОМ регистре.

Borserg
08.12.2022, 09:00
Проекты-то - где ? Оба естественно.

Вот проекты. Их содержимое соответствует обсуждаемому вопросу.

kondor3000
08.12.2022, 09:26
Вот проекты. Их содержимое соответствует обсуждаемому вопросу.

Вот так принимается и передаётся 32 битная целочисленная переменная из ПР и в ПР.
В виде двух 16 битных слов. У вас будут адреса 513 и 514 64400
В панели принимаете как DWORD с адресом 513.
При неправильном отображении поменять местами старший и младший регистр.

Borserg
08.12.2022, 09:33
Настройка "Старшим регистром вперёд" не может повлиять на INT и UINT, которые передаются в ОДНОМ регистре.
С этим согласен.

Вот только если в 3 092 поменять местами регистры, получится 202 637 312.

64401
64402

А если байты, то получится 5 132.

64405

А перестановка байт уже затронет INT и UINT.

melky
08.12.2022, 09:41
Borserg вы там сильно не переставляйте :) когда вы считываете из ПР, положение галочек в настройке не действует, передача идет если байтами смотреть 3412, соответственно этому и надо подсунуть в сетевую переменную свое значение

Ну так и что вас удивляет в калькуляторе, если вы переставили, то это и будет другое число, главное чтобы оно потом так же правильно было переставлено при приему и при записи.

kondor3000
08.12.2022, 09:59
Опять развели бодягу на 3 страницы, ответ дан уже три раза, со скринами и примерами, на 1 на 2 и на 3 странице. На форуме обсуждалось 100 раз уже.

И зачем ТС 32 битное целочисленное как Float принимает и передаёт? Вообще ни в какие ворота.

melky
08.12.2022, 10:26
За такие проекты по рукам бить надо :)

Если уж передаете как "С плавающей запятой" так и принимайте как float а не UDINT шмудинт, караинт и так далее...

А то, что вы целочисленное пытаетесь передать как все 32 бита, так ПР ложило на ваши пожелания, отправлено будет в сетевой переменной только хвост из 16 бит и то число, которое там получится, при чем для ПР оно будет на 100% положительным, так как сам ПР оперирует только положительными значениями.

petera
08.12.2022, 10:55
За такие проекты по рукам бить надо :)
А то, что вы целочисленное пытаетесь передать как все 32 бита, так ПР ложило на ваши пожелания, отправлено будет в сетевой переменной только хвост из 16 бит и то число, которое там получится, при чем для ПР оно будет на 100% положительным, так как сам ПР оперирует только положительными значениями.
Не надо ля-ля...
ПР прекрасно оперирует с отрицательными ЦЕЛЫМИ числами, в том числе и сетевыми перемннеыми
и хвост из 16 бит и то число, которое там получится БУДУТ ОТРИЦАТЕЛЬНЫМИ
Все целые отрицательные числа ПР передает в дополнительном коде, а принимающая их, например, СП3хх прекрасно их отображает на экране (формат DEC)

melky
08.12.2022, 10:59
petera сама ПР без макросов кидает все как есть, то, что вы программно работает как с отрицательным числом еще не говорит об умении..

Покажите мне в ПР ту же Константу, чтобы я ее мог ввести как -100 например, без каких либо манипуляций.

Вот когда вон там в ПР появится выбор, тогда и можно будет рассуждать о работе с разными типами, вместо напяливания макросов.

1exan
08.12.2022, 11:15
С этим согласен.

Вот только если в 3 092 поменять местами регистры, получится 202 637 312.

64401
64402

А если байты, то получится 5 132.

64405

А перестановка байт уже затронет INT и UINT.

Согласен. Но непонятно почему различный порядок байт при передаче UIND и UDINT.

petera
08.12.2022, 11:33
petera сама ПР без макросов кидает все как есть, то, что вы программно работает как с отрицательным числом еще не говорит об умении..

Покажите мне в ПР ту же Константу, чтобы я ее мог ввести как -100 например, без каких либо манипуляций.

Вот когда вон там в ПР появится выбор, тогда и можно будет рассуждать о работе с разными типами, вместо напяливания макросов.

Константу в явном виде не введу.
Я про это и не говорил, а говорил про то, что ПРка оперирует с целыми отрицательными числами в ДОПОЛНИТЕЛЬНОМ коде
и напяливать макросы для этого не надо
Пример, ПР и СП3хх
64413 64414

Вот ПР в онлайн эмуляции и СП300, все в реальном времени
1. Из панели приходит положительное целое 55
в ПР выполняется целочисленная арифметика

55 - 10 = 45

целое положительное 45 отправляется в панель
64409

2. Из панели приходит 0

в ПР выполняется целочисленная арифметика

0 - 10 = 4294967286 или FFFFFFF6 (-10 в доп.коде)

в сетевую переменную по падет только хвост из 16 бит и ВНИМАНИЕ! это хвост отрицательное, 16 битное число -10 в дополнительном коде!

этот "16 битный хвост" отображается на панели как -10
64410

3. Из панели приходит отрицательное целое -56
в ПР оно попадает как 65480 или FFC8 (-56 в дополнительном коде).
выполняется целочисленная арифметика

65480 - 10 = 65470

в сетевую переменную попадает 16 битное целое отрицательное число -66 в дополнительном коде

это число (65470 или FFBE) отображается на панели как -66
64411

и ЭТО ВСЕ автоматом без напяливания каких-либо макросов

melky
08.12.2022, 11:47
petera вопрос в другом, то, что от 0 отняв 10 вы получите 4294967286 это понятно, каким образом потом оперировать подобным числом в самой логике программы, когда в режиме онлайн ты видишь вместо -10 очень немаленькое число ?

При чем забавно что программа то при этом работать будет, только вынося мозг при отладке :) Почему при создании ПР200 и иже с ними не добавить сразу типы переменных
И да, а теперь сделайте то же самое, но с 2-х байтовой переменной, что у нас получится ? то есть от 0 отнимите те же -10

petera
08.12.2022, 11:51
petera вопрос в другом, то, что от 0 отняв 10 вы получите 4294967286 это понятно, каким образом потом оперировать подобным числом в самой логике программы, когда в режиме онлайн ты видишь вместо -10 очень немаленькое число ?

При чем забавно что программа то при этом работать будет, только вынося мозг при отладке :) Почему при создании ПР200 и иже с ними не добавить сразу типы переменных
И да, а теперь сделайте то же самое, но с 2-х байтовой переменной, что у нас получится ? то есть от 0 отнимите те же -10

Конечно получится!
64415

ЗЫ
п.3 из предыдущего поста как раз об этом, там тоже 2-х байтовая

хорошо, что я еще тестовую схему не разобрал :rolleyes:

melky
08.12.2022, 11:55
Блин, да в самом ПР это число какое? 65526 а не -10 отражается, вот я о чем. Попробуйте написать программу гораздо больше объемом и потом отладить в ПР. глаза сломаете. Вы же в панели указываете как воспринимать число, ничего больше.

petera
08.12.2022, 11:58
Блин, да в самом ПР это число какое? 65526 а не -10 отражается, вот я о чем. Попробуйте написать программу гораздо больше объемом и потом отладить в ПР. глаза сломаете. Вы же в панели указываете как воспринимать число, ничего больше.

Согласен...

ЗЫ.
Но фичу про дополнительный код использую, иногда.

Borserg
08.12.2022, 15:30
За такие проекты по рукам бить надо :)

Если уж передаете как "С плавающей запятой" так и принимайте как float а не UDINT шмудинт, караинт и так далее...

А то, что вы целочисленное пытаетесь передать как все 32 бита, так ПР ложило на ваши пожелания, отправлено будет в сетевой переменной только хвост из 16 бит и то число, которое там получится, при чем для ПР оно будет на 100% положительным, так как сам ПР оперирует только положительными значениями.

Я в комментарии к переменной написал UDINT, чтобы показать, что в таком формате хранятся данные в управляемом устройстве.

Итак:

Переменные Master (регистр 9002) и Slave (регистр 513) в ПР200 - с плавающей запятой.
Дисплей СП3хх - DWord, Float.
Показания на дисплее - "0".
Причем они не меняются при манипуляциях с галочками "старшим регистром вперед" и "старшим байтом вперед" в ПР (для мастера и слейва),
а также при снятии галочки "изменить порядок регистров" в настройках проекта СП3хх. Всегда "0".

Показания появляются при переключении дисплея СП3хх в DWord, Unsigned.
И вот здесь выяснилось следующее:

- манипуляции с чередованием байт и регистров в слейве ПР на показания дисплея СП3хх влияния не оказывают;
- показания на дисплее СП3хх становятся корректными при снятии галочки "Старшим байтом вперед" в мастере ПР (галочка "Старшим регистром вперед" тоже снята).
- манипуляции с чередованием байт и регистров не оказывают влияния на показания дисплеев Word (Dec и Unsigned) СП3хх.
Получается, что настройки с чередованием распространяются в ПР только на переменные 32 бит.

Всем спасибо!

melky
08.12.2022, 16:57
Причем они не меняются при манипуляциях с галочками "старшим регистром вперед" и "старшим байтом вперед" в ПР (для мастера и слейва), Для Slave в ПР галочки не действуют вообще, никакие, все манипуляции необходимо выполнять в Мастере, который опрашивает ПР, либо в программе ПР, но тогда запись значения из Мастера может быть некорректной.

Borserg
08.12.2022, 18:02
Для Slave в ПР галочки не действуют вообще, никакие, все манипуляции необходимо выполнять в Мастере, который опрашивает ПР, либо в программе ПР, но тогда запись значения из Мастера может быть некорректной.

Так если галочки не действуют, то почему они до сих пор на месте и смущают создателей проектов?

Dimensy
08.12.2022, 20:38
Так если галочки не действуют, то почему они до сих пор на месте и смущают создателей проектов?

Потому что, у разработчиков девиз: если косяк на работу не влияет, то и фиг с ним :)
В Лоджике косяков с интерфейсом куча, и их не очень торопятся исправлять
Вообще, такое впечатление, что над Лоджиком работает один человек, удаленно, в свободное от работы время

melky
09.12.2022, 09:06
И вот вчера обновлял 2-ю версию на 3-15, а она работает с тормозами в ПУСТОМ бл... проекте...

Borserg
09.12.2022, 10:47
И вот вчера обновлял 2-ю версию на 3-15, а она работает с тормозами в ПУСТОМ бл... проекте...

Значит хорошо, что у меня не получилось обновиться.
Сбой установки Microsoft Windows Desktop Runtime 6.0.8 (x64): Error 0x80070666: Cannot install a product when a newer version is installed.
В системе уже установлены Microsoft Windows Desktop Runtime 6.0.11 (x64) и Microsoft Windows Desktop Runtime 7.0.0 (x64).
Зачем при обновлении требуется установка именно 6.0.8? Ведь стоят более новые версии .NET и с ними Owen Logic 2.2.313 прекрасно работает.

Кстати, ссылка "Релиз 2.2.315" (http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/Setup/Archive/Setup_OwenLogic_2.2.315.exe) на странице "Список основных изменений среды программирования OWEN Logic" (http://ftp-ow.owen.ru/softupdate/OWEN%20Logic/infoOf2_2.html) ведет "в никуда".

1exan
09.12.2022, 12:40
И вот вчера обновлял 2-ю версию на 3-15, а она работает с тормозами в ПУСТОМ бл... проекте...

Тоже замети, что с какого-то момента все начало тормозить. Если переключаю в OFFLINE (в статусной строке) - тормоза уходят. Похоже поиск ПР на COM портах так тормозит всё.

Валенок
09.12.2022, 23:10
Вот проекты. Их содержимое соответствует обсуждаемому вопросу.
Начну с того - что не соответствует.


Я просто перебирал все возможные варианты
Не понятно зачем. И не все.

Зачем в ПР-мастере переставляли байт - не понял. У слейва НCDC настраиватся с порядок байт ?
Зачем в панели переставляли регистры - не понял.

Borserg
10.12.2022, 05:48
Начну с того - что не соответствует.


Не понятно зачем. И не все.

Зачем в ПР-мастере переставляли байт - не понял. У слейва НCDC настраиватся с порядок байт ?
Зачем в панели переставляли регистры - не понял.

Перестановка байт в ПР-мастере решила вопрос. Все остальное - эксперимент. Вопрос закрыт.