Почему именно на CFC? Сделайте функцию на ST, это будет проще
Вид для печати
Почему именно на CFC? Сделайте функцию на ST, это будет проще
Народ, столкнулся с тем что нужно как-то автоматизировать процесс размонтирования и после этого снять сигнал размонтирования, но в СПК1xx если я думаю размонтирование и не вытаскивая USB после размонтирование завершено накопителя снимаю Размонтирование, а затем извлекаю флешку, то после установки USB флеш повторно её не видит, думал статут Доне останется пока флешка не извлечена и за счёт него сыграть, но е всё так просто - сделал небольшой код
ton3(IN:= TargetVars.stDrives.xUsbMounted = FALSE AND TargetVars.stDrives.xUsbUnmountDone = TRUE, PT:= T#2M, Q=> , ET=> );
IF TargetVars.stDrives.xUsbMounted = FALSE AND TargetVars.stDrives.xUsbUnmountDone = TRUE AND ton3.Q THEN
TargetVars.stDrives.xUsbUnmount := FALSE;
END_IF
может кто подскажет более лучшего решения, вообще у меня так сигнал на таймер монтирование неактивно то есть лож фолс, а размонтирование завершено истина Тру, тогда включить таймер задержки на включения 2 минуты и после отсчёта ниже, система проверяет что монтирование равно false, а размонтирование завершено True, и тогда в посылку размонтирования посылать фолс что-бы она была не активна.
Основное:Код://Работа с SD и USB устройствами хранения архива----------
//Команда - Включить устройство Drives при запуске контроллера
IF NOT TargetVars.stDrives.xEnable THEN TargetVars.stDrives.xEnable:=TRUE; END_IF
//Бит статуса программы - Устройство SD смонтировано
B_OUT[12]:= TargetVars.stDrives.xSdMounted;
//Бит статуса программы - Устройство SD размонтировано
B_OUT[13]:= TargetVars.stDrives.xSdUnmountDone;
//Бит статуса программы - Устройство USB смонтировано
B_OUT[14]:= TargetVars.stDrives.xUsbMounted;
//Бит статуса программы - Устройство USB размонтировано
B_OUT[15]:= TargetVars.stDrives.xUsbUnmountDone;
//Команда - Размонтировать SD
IF B_INP[6]= TRUE OR B_OUT[13] THEN TargetVars.stDrives.xSdUnmount:= TRUE; ELSE TargetVars.stDrives.xSdUnmount:= FALSE; END_IF
//Сброс бита "Размонтировать SD"
B_INP[6]:= FALSE;
//Команда - Размонтировать USB
IF B_INP[7]= TRUE OR B_OUT[15] THEN TargetVars.stDrives.xUsbUnmount:= TRUE; ELSE TargetVars.stDrives.xUsbUnmount:= FALSE; END_IF
//Сброс бита "Размонтировать USB"
B_INP[7]:= FALSE;
//Работа с SD и USB устройствами хранения архива----------
И:Код://Бит статуса программы - Устройство SD размонтировано
B_OUT[13]:= TargetVars.stDrives.xSdUnmountDone;
//Бит статуса программы - Устройство USB размонтировано
B_OUT[15]:= TargetVars.stDrives.xUsbUnmountDone;
Принцип тот же, что и у вас, но таймер там не нужен...Код://Команда - Размонтировать SD
IF B_INP[6]= TRUE OR B_OUT[13] THEN TargetVars.stDrives.xSdUnmount:= TRUE; ELSE TargetVars.stDrives.xSdUnmount:= FALSE; END_IF
//Сброс бита "Размонтировать SD"
B_INP[6]:= FALSE;
//Команда - Размонтировать USB
IF B_INP[7]= TRUE OR B_OUT[15] THEN TargetVars.stDrives.xUsbUnmount:= TRUE; ELSE TargetVars.stDrives.xUsbUnmount:= FALSE; END_IF
//Сброс бита "Размонтировать USB"
B_INP[7]:= FALSE;
Здравствуйте, подскажите пожалуйста есть ли какие то видео материалы или методичка по настройке диспетчеризации по modbus RTU rs485 оборудования без использования шаблонов? Все что находил либо подключали оборудование Овен либо по TCP IP. Никак не получается опросить датчик. Пишет "Шина не запущена. Данные значения, возможно, не актуальны". Может я что то не так выбрал? Проект, и карту адресов датчика приложил
Так у вас проект пустой. В некоторых случаях кодесис если не видит в программе переменных остальные действия не производит. Попробуйте прописать какие либо модбас переменные на чтение в основной программе.
Добрый день подскажите как сбросить пользователей контроллера ПЛК210 которые были установлены из Codesys/Devise/Пользователи и группы ??
Вы имеете ввиду составить код программы с использованием переменных, которые привязаны к регистрам? Я пробовал так делать, не получается. Пробовал подключать с МК110 в одну сеть, так вот МК110 видит и обрабатывает, а датчик нет. Пробовал и датчики менять, без результата(