https://owen.ru/product/codesys_v3/documentation
https://owen.ru/uploads/373/cds23_manual_v2.8.pdf
В руководстве по версии 3.5 описание языка более наглядно представлено.
Вид для печати
https://owen.ru/product/codesys_v3/documentation
https://owen.ru/uploads/373/cds23_manual_v2.8.pdf
В руководстве по версии 3.5 описание языка более наглядно представлено.
Код:var
x,check_x: array[1..10] of real := 10("нулём" или другим значением); //юзается x[] и w[]
w,check_w: array[1..9] of word := 9("нулём" или другим значением);
контрольный бит: boolean;
end_var
--------
контрольный бит := sysmemcmp(adr(x),adr(check_x),sizeof(x)) = 0 and sysmemcmp(adr(w),adr(check_w),sizeof(w)) = 0;
Надо добавить биб-ку SisLibMem.lib и работать будет только в живом ПЛК, в эмуляции не работает,
в работе измените любую переменную массива на 0.Код:var
x, check_x: array[1..10] of real := 10(15.3); (* массив основной и копия, 10 переменных массива равны 15,3 *)
w, check_w: array[1..9] of word := 9(45); (* массив основной и копия, 9 переменных массива равны 45 *)
control : bool;
end_var
--------
control :=NOT (SysMemCmp(ADR(x),ADR(check_x),SIZEOF(x))=0 AND SysMemCmp(ADR(w),ADR(check_w),SIZEOF(w))=0) ;