Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
Всем доброго времени суток. Вот и я дожил до управления фонтана ОВЕНом )) Задача проста, но опыта в программировании не имею, увы... Есть ПЛК154, есть 3 насоса и 3 ПЧ.(управление по RS-485 планировалось) Есть интервал времени, скажем 60сек, за который должны пройти 3-4 различные программы с различной частотой на двигателях. Может простецкие базовые программы существуют, которые можно уже руками немного поправить "под себя". Или может опыт у кого подобный был. Управление только ПЧ нужно, подсветка сама по себе. Заранее спасибо за ответы и советы
Если задача простенькая ,то и оборудование нужно простое,тем более опыта в программировании не имеете - ПР200 более чем за глаза для управления по RS485 3 ПЧ и проект помогут
электронщик до мозга костей и не только
подскажите как преобразовать word в отдельные биты? на СFC
в библиотеке есть word to byte. Но в word 2 байта, а на выходе 1 переменная.
А дальше как вычленить отдельные биты и с ними работать?
блок unpack работает только с байтом.
как обратится к отдельному биту, когда надо считать отдельный бит со входного модуля
чтото я запутался. подскажите куда посмотреть.
у меня так....
Код:VAR_INPUT INPUT: WORD; END_VAR VAR_OUTPUT INPUT01: BOOL; INPUT02: BOOL; INPUT03: BOOL; INPUT04: BOOL; INPUT05: BOOL; INPUT06: BOOL; INPUT07: BOOL; INPUT08: BOOL; INPUT09: BOOL; INPUT10: BOOL; INPUT11: BOOL; INPUT12: BOOL; INPUT13: BOOL; INPUT14: BOOL; INPUT15: BOOL; INPUT16: BOOL; END_VAR INPUT01:=INPUT.0; INPUT02:=INPUT.1; INPUT03:=INPUT.2; INPUT04:=INPUT.3; INPUT05:=INPUT.4; INPUT06:=INPUT.5; INPUT07:=INPUT.6; INPUT08:=INPUT.7; INPUT09:=INPUT.8; INPUT10:=INPUT.9; INPUT11:=INPUT.10; INPUT12:=INPUT.11; INPUT13:=INPUT.12; INPUT14:=INPUT.13; INPUT15:=INPUT.14; INPUT16:=INPUT.15;
спасибо но стало ещё больше непонятно
есть входной register input module у которого данные в формате word
адрес этой переменной %IW7.1.0.0
так вот как с нее получить отдельные 16 бит на языке cfc? вроде както можно напрямую указать адрес конкретного бита, но как это сделать для переменной word я не понимаю.
Вложение 38913
по вашему коду мне непонятно
VAR_INPUT
INPUT: WORD;
END_VAR
это объявление переменной INPUT. это понятно. Но она же вроде должна быть глобальной, если она "входная", то зачем её снова объявлять?
а вот дальше
VAR_OUTPUT
INPUT01: BOOL;
INPUT02: BOOL;
......
INPUT16: BOOL;
END_VAR
это объявление переменных с именами INPUT01 и т.д.? почему они в OUTPUT?
а вот дальше что? идёт присвоение объявленной переменной INPUT01:значения первого бита переменной INPUT.0 ?
если я правильно понимаю то получается вот так?
Вложение 38912
странно что нет стандартного блока. или я плохо искал?
Мой канал на ютубе
https://www.youtube.com/c/ПетрАртюков
Библиотека ГМ для СП300
https://disk.yandex.com/d/gHLMhLi8x1_HBg
рад что смог удивить профессионалов, но хотелось бы узнать что делаю не так
Вложение 38914
word1.1 - это второй бит с первой глобальной переменной word
word2.1 - это второй бит со второй переменной word.
так правильно?
или надо делать только через пользовательский блок?
Вложение 38915Вложение 38916