Не соглашусь. Приведение типов разное бывает. Кодесисовские X_TO_Y это вполне себе явные приведения. Если с Си++ аналогию проводить, то это static_cast. А автору надо reinterpret_cast. Вот по-русски очень кратко: http://habrahabr.ru/post/106294/
Не соглашусь. Приведение типов разное бывает. Кодесисовские X_TO_Y это вполне себе явные приведения. Если с Си++ аналогию проводить, то это static_cast. А автору надо reinterpret_cast. Вот по-русски очень кратко: http://habrahabr.ru/post/106294/
Последний раз редактировалось Yegor; 09.08.2015 в 19:50.
Приветствую форумчане, все заставил работать связь между СПК 107 и Lеctus OPC есть работает, но может кто сталкивался с таким, что данные с СПК выходят одни а уже Lectus....Application, Real_WORD_29, прописан код: TYPE REAL_WORD_29 :
UNION//
awModbusReal :ARRAY [0..1] OF WORD;
rRealValue :REAL;
END_UNION
END_TYPE
можете подсказать как разбить REAL на WORD? проблема такая.... данные на СПК 107 формируются в типе REAL, Modbus_TCP_Slave формируется в данные WORD.... но значения одинаковые Lectus показывает вообще какие-то левые цифры, пробовал перебрать разные регистры и байты в Lectus, картина не как не меняется по советовали разбить REAL на 2 word.... но как это сделать пробывал так и не понял... подскажите
Тут скрины, как передавать в том числе REAL, как собрать и разобрать REAL на 2 WORD.
3 скрин
https://owen.ru/forum/showthread.php...445#post455445
Последний раз редактировалось kondor3000; 23.01.2025 в 14:22.
1. Конечно написать можно. Она очень простая
real.jpg
2. Функция не хранит данные, она пересчитывает и выдает результат
3. Хотите ФБ пожалуйста, только для этой задачи достаточно функции
Siemens step7
DWORD_TO_REAL(W#16#40000000) даст 2.0
Почему в других системах dword_to_real нормально работает, а в КДС так убого?