Криво, в сравнении с ST, но копмилируется) Дальше пишите в retain. Если нужно время в другом формате - смотрите в структуре stRTC - там есть всё необходимое.
Вложение 72498
Вид для печати
Криво, в сравнении с ST, но копмилируется) Дальше пишите в retain. Если нужно время в другом формате - смотрите в структуре stRTC - там есть всё необходимое.
Вложение 72498
День добрый, коллеги.
Подскажите, как удалить соединение со своим СПК110.
Поясню проблему. Хочу передать проект стороннему человеку, и навсякий случай, чтобы он по ошибке не перезалил мне панель, хочу удалить активное соединение, но оно упрямо сохраняется.
Что делал:
1. Менял тип устройства
2. Пересохранял проект как (с другим именем)
3. Выбирал это соединение и удалял его (когда строка выделена, нажимал на Del).
В какой-то момент вместо IP адреса соединения в строке соединения стал писать некий ID 20 цифр (5 групп по 4 цифры).
Но и по этому ID он упорно устанавливает соединение с моей панелью.
Все вышеописанное поясняет картинка.
Спасибо.Вложение 72500
Помогите, пожалуйста, разобраться - где я накосячил.
Хочу отправлять ошибки сенсоров в телеграм. Появилась проблема с ENUM ANALOG_SENSOR_ERROR.
Вложение 72499
Вот в таком виде конструкция работает - ошибка датчика читается. Сообщение приходит в телеграмм.
А вот после запихивания этой конструкции в отдельный ФБ - начинает ругаться на
[ERROR] PLC200: sensor_Error_To_Telegram [Device: Plc Logic: Application](Элемент 0 (Реализ.)): C0358: 'eStatus' - неподходящее значение для типа ENUM 'ANALOG_SENSOR_ERRORS'
Вложение 72501
Вложение 72502
Добрый день.
Вы сняли эту галочку?
Вложение 72504
Прошу помощи по рефакторингу. Задача есть мотор асинхронный кнопка ПУСК без фиксации кнопка СТОП с фиксацией и контроль за АВАРИЯМИ по току и температуре.
Код://интерфейс аварий
INTERFACE IAlarm
// Метод выключения Аварии
METHOD AlarmOff : BOOL
VAR_INPUT
END_VAR
// Метод включения Аварии
METHOD AlarmOn : BOOL
VAR_INPUT
END_VAR
// Интерфей Моторов
INTERFACE IMotor
// выключить мотор
METHOD MotorOff : BOOL
VAR_INPUT
END_VAR
// включить Мотор
METHOD MotorOn : BOOL
VAR_INPUT
END_VAR
---------------------------------------------
// класс мотор с отслеживанием аварии
FUNCTION_BLOCK classMotor IMPLEMENTS IMotor, IAlarm
VAR_INPUT
onMotor: BOOL;// запуск мотора
offMotor: BOOL;// выключение мотора
alarmKz: BOOL; //авария короткого замыкания
alarmTemp: BOOL;//авария по температуре
END_VAR
VAR_OUTPUT
motorOut: BOOL;//выход мотора
motorAlarmOut: BOOL;// выход аварии мотора
END_VAR
VAR
// Логика работы
motorTrigRs: Standard.RS;
statusMotor: BOOL;
statusAlarm: BOOL;
END_VAR
// запуск мотора
motorTrigRs(SET:= onMotor, RESET1:= offMotor OR motorAlarmOut);
IF motorTrigRs.Q1 THEN
MotorOn();
ELSE
MotorOff();
END_IF
motorOut:= statusMotor;
// отследить аварию мотора
IF alarmKz OR alarmTemp THEN
AlarmOn();
ELSE
AlarmOff();
END_IF
motorAlarmOut:= statusAlarm;
(* Метод выключения Аварии*)
METHOD AlarmOff : BOOL
statusAlarm:= FALSE;
(* Метод включения Аварии*)
METHOD AlarmOn : BOOL
statusAlarm:= TRUE;
(* выключить мотор*)
METHOD MotorOff : BOOL
statusMotor:= FALSE;
(* включить Мотор*)
METHOD MotorOn : BOOL
statusMotor:= TRUE;
--------------------------------------------
PROGRAM PLC_PRG
VAR
// блок моторов
// входы
InStartMotor_2:BOOL;// пуск мотора
InStopMotor_2: BOOL;// стоп мотора
// авария мотора
InAlarmKz_2,InAlarmTemp_2: BOOL;
// выходы мотора
Q_2Motor: BOOL;
Q_2Alarm: BOOL;
// объект мотор
objMotor_2: classMotor;
END_VAR
objMotor_2(onMotor:= InStartMotor_2,offMotor:= InStopMotor_2,// включить мотор
alarmKz:= InAlarmKz_2,alarmTemp:= InAlarmTemp_2,// отслеживаем аварию
motorOut=> Q_2Motor,motorAlarmOut=> Q_2Alarm);// визуализация выходов мотора и аварии