См. функцию SWAP_DATA.
Вид для печати
попробовал SWAP_DATA , но так и не понял как ее использовать(( описание почти нет, видео примеров тоже... где бы посмотреть пример использования?
По примеру из справки WirenBoard:
https://wirenboard.com/wiki/WB-MAP3E_Data_Registers
Вложение 59734 Вложение 59735Код:PROGRAM PLC_PRG
VAR
// привязываем к компоненту Modbus
awTotal_AP_Energy_ch2_Modbus: ARRAY [0..3] OF WORD := [16#B4DF, 16#0DFF, 16#0000, 16#0000];
// промежуточное значение в целочисленном виде
lwTotal_AP_Energy_ch2: LWORD;
// итоговое значение с плавающей точкой
lrTotal_AP_Energy_ch2: LREAL;
END_VAR
OCL.SWAP_DATA(ADR(awTotal_AP_Energy_ch2_Modbus), ADR(lwTotal_AP_Energy_ch2), SIZEOF(lwTotal_AP_Energy_ch2), FALSE, FALSE, FALSE);
lrTotal_AP_Energy_ch2 := TO_LREAL(lwTotal_AP_Energy_ch2) * 0.00001 ;
спасибо за помощь, но в CFC но это выглядит так((Вложение 59765
добрый день! за "компоновщик" спасибо!! просмотрел))) а с остальным не понял... вход массив :awTotal_AP_Energy_ch2_Modbus: ARRAY [0..3] OF WORD := [16#B4DF, 16#0DFF, 16#0000, 16#0000];, выход:lrTotal_AP_Energy_ch2: LREAL;и размер переменной:lwTotal_AP_Energy_ch2: LWORD; (как ив примере) остальное булевые переменные...
Вложение 59785 почему CODESYS ругается?
прежде чем обратиться несколько раз смотрел в библиотеку, тип данных:OCL.CAA.PVOID; OCL.CAA.SIZE; что это за тип данных я не знаю