Просмотр полной версии : ПЛК308 тип REAL в Codesys 3
Доброго времени суток. Недавно перешел с Codesys 2.3 на Codesys 3. Работаю с ПЛК308. В версии 2.3 можео было выбрать нужный тип переменной, будь то String, Real, Word и т.д. В Codesys 3, используя стандартные библиотеки ч/з Add device, обнаружил что доступен только тип Word и BOOL. Может мне кто-нибудь объяснить, как работать с остальными типами? Нужно использовать стандартные библиотеки Modbus, через добавление библиотек и писать программу. Может у кого-нибудь есть примеры?
Филоненко Владислав
18.01.2016, 18:44
Тут надо ручками, копировать побайтно в соотв. переменную.
murdemon
18.01.2016, 20:06
как то так
FUNCTION REAL_CONV : REAL
VAR_INPUT
ptr_Real : POINTER TO REAL;
END_VAR
VAR
rl: REAL;
tmp1: WORD;
ptr_Arr: POINTER TO ARRAY [0..1] OF WORD;
END_VAR
ptr_Arr := ptr_Real;
tmp1 := ptr_Arr^[1];
ptr_Arr^[1] := ptr_Arr^[0];
ptr_Arr^[0] := tmp1;
rl := ptr_Real^;
REAL_CONV := rl;
На MODBUS делаешь 2 слова читать в конфиге
забиваешь туда AI1_R_F
AI1: REAL;
AI1_R_F: ARRAY [0..1] OF WORD;
и в программе потом
AI1 := REAL_CONV(ADR(AI1_R_F));
Этож 3й кдс .. Есть union, и функций не нужно.
Этож 3й кдс .. Есть union, и функций не нужно.
А можно по-подробнее?
Кстати, к-то-нибудь с ПЛК308 работал? Писал программу для работы с библиотеками ModbusComSerial (Slave)? Никак не могу запустить, пишет в статусе No driver device.
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot