ээээээ даже не знаю как сказать
вы понимаете, то что прочитали? что вам вчера написали?
или вы принципиально не читаете ничего, а занимаетесь попрошайничеством на форумах? чтобы за вас всё сделали, разжевали и в рот положили?
Снимок.PNG
Последний раз редактировалось In_Da_Cher_A; 16.03.2023 в 08:44.
В Левой колонке где PLC_PRG, нажмите правую кнопку мыши Добавить объект и выберете функц. блок, дайте ему имя и выберете язык CFC, потом ОК.
или Воспользуйтесь командой Проект/ Объект / Добавить и выберете функц. блок
Для вызова блока, надо на поле поставить элемент и дать ему имя вашего блока, а так же сверху дать ему имя с номером, например 1,1 Функц блок.jpg
это будет первый экземпляр вашего блока.
Последний раз редактировалось kondor3000; 16.03.2023 в 10:40.
Знатоки подскажите
Использую овеновскую библиотеку OwenCommunication для обмена с девайсом по RS485
ОТслеживая результаты обмена обратил внимание что периодически возникают ошибки CRC (RESPONSE_CRC_FAIL 60 Ошибка CRC ) . Других ошибок не возникает практически никогда.
Я так понимаю что целостность данных но каких? Вроде у меня все данные корректные приходят.
Но стандарт MODBUS сам должен обрабатывать ошибку CRC (повторной передачей)
Что это за ошибка и как ее правильно интерпретировать?
Блок вызывается примерно с такими входными параметрами:
fbSerialRequest
(
xExecute := TRUE,
hCom := hCom,
tTimeout := T#100MS,
usiRetry := 3,
xIsAsciiMode:= FALSE,
usiSlaveId := fbAxisDrives[iAxisIndex].usiSlaveId,
eFuncCode := fbAxisDrives[iAxisIndex].stStack.eFuncCode,
uiDataAddr:= fbAxisDrives[iAxisIndex].stStack.uiDataAddr,
uiDataCount := fbAxisDrives[iAxisIndex].stStack.uiDataCount,
pData := fbAxisDrives[iAxisIndex].stStack.pData,
szSize := fbAxisDrives[iAxisIndex].stStack.szSize
);
Каждый в меру своего понимания работает на себя, а в меру непонимания на того, кто понимает больше!
https://owen.ru/forum/showthread.php...l=1#post403667 это не помогает? Свежее вроде
Bad programmers worry about the code. Good programmers worry about data structures and their relationships
среди успешных людей я не встречала нытиков
Барбара Коркоран
Вам тож же спасибо, я читал , но там нет примера как показал kondor3000, ему ОГРОМНОЕ СПАСИБО, то что показали вы я это делал даже без инструкции, но у меня почемуто не получились входы выходы в функциональном блоке ( который создал я)!
Зачем тратить свое время в данной ленте и гнобить новичков? (можете не отвечать)! )
Да, у меня стоит время цикла 5 мс. И при таком времени цикла у меня период на чтение/блока регистров 35-40 мс. Эта ошибка в основном возникает только при чтении READ ONLY регистров (что в общем-то не очень критично)
Я попробовал поставить 10 мс. Сразу время одного чтения/записи возросло до 70, и ошибки не исчезли. При 20 мс. вообще начинает глючить прога, слишком медленно приходят данные.
Каждый в меру своего понимания работает на себя, а в меру непонимания на того, кто понимает больше!
Сорян
блин
Каждый в меру своего понимания работает на себя, а в меру непонимания на того, кто понимает больше!
Теперь создайте еще три объекта. Воспользуйтесь командой ‘Проект’ ‘Объект - Добавить’ ("Project" "Object Add") в системном или в контекстном (нажмите правую кнопку мыши в Организаторе
объектов) меню. Создайте: программу на языке Sequential Function Chart (SFC) с именем
SEQUENCE, функциональный блок на языке Function Block Diagram (FBD) с именем
TRAFFICSIGNAL и еще один аналогичный блок - WAIT, который мы будем описывать на языке
Список Инструкции (IL).
в документации приведено ДВА (ДВА!!!!) примера создания СВОИХ блоков, на разных языках
даны картинки
Снимок.PNG
и чем вот эта картинка принципиально отличается от языка CFC?
Снимок.PNG
вам подсказывают - научиться думать и действовать самостоятельно, а не пытаться всё время списать.
Когда-то доброго самаритянина Кондора не окажется рядом, и что вы будете делать?
удачи
Последний раз редактировалось In_Da_Cher_A; 17.03.2023 в 07:53.