Во всем нужно заморачиваться, особенно с модбасом. Как только разберетесь сразу отпадут все вопросы в будущем, т.к. практически у всех скад однотипная работа с регистрами. Не важно с опк сервером или без. В опк сервере вы добавляете тэг с заданным регистром, а дальше в скаде используете как переменные, без опк используете как переменную с заданным регистром. Кратенько...Дмитруино Uno писал(а): ↑03.04.2018{, 09:12}со встроенной скадой в Флпрог нужно заморачиваться с адресами регистров?
Это понятно, надеялся на пролитие света на эту тему, что было описано выше я так и не врубился. вот допустим у меня есть 5 Coils и 5 Holding register (1,2,3 - Integer,4,5- byte) по каким правилам им нужно задавать адреса?Dev1 писал(а): ↑03.04.2018{, 10:42}Во всем нужно заморачиваться, особенно с модбасом. Как только разберетесь сразу отпадут все вопросы в будущем, т.к. практически у всех скад однотипная работа с регистрами. Не важно с опк сервером или без. В опк сервере вы добавляете тэг с заданным регистром, а дальше в скаде используете как переменные, без опк используете как переменную с заданным регистром. Кратенько...Дмитруино Uno писал(а): ↑03.04.2018{, 09:12}со встроенной скадой в Флпрог нужно заморачиваться с адресами регистров?
А по сути, если не заморачиваться, то зачем вообще этим заниматься...
В своем проекте я поступил так: с 0 по 10 включительно отдал под Coil, с 11 и далее под Holding register. Какой тип переменной (int или byte), сдается мне, не важно.Дмитруино Uno писал(а): ↑03.04.2018{, 12:06}вот допустим у меня есть 5 Coils и 5 Holding register (1,2,3 - Integer,4,5- byte) по каким правилам им нужно задавать адреса?
вроде как по спецификации модбаса все 4 вида переменных это разные таблицы со своими адресами. общие адреса появялются от ухода от спецификации производителями железяки с модбасом. у сергея в программе вроде адресация этих переменных не пересекается, поэтому под каждый тип койлов/регистров можно юзать адресацию с 0.
Да, только речь идет не о тех адресах, что мы используем. Имеется ввиду первая цифра адреса, которую мы не видим, например (я точную адресацию не помню, но это не важно, важна суть): Coil - 1; Discrete Input -2; Holding Register - 3; Input Register -4. И эти первые цифры адреса уже "прописаны" в флпрог. Мы их не видим, повторю. Поэтому, не важно, какой адрес выбрать в программе - он "попадет" в нужную ячейку адресов.pony sonata писал(а): ↑03.04.2018{, 14:45}вроде как по спецификации модбаса все 4 вида переменных это разные таблицы со своими адресами.
Тут я ничем не помогу - не пользую встроенную.
хмм... теперь доходчиво! наверное дело в скаде, не хочет принимать данные. хотя я тестил, с одним коилом на прием(скадой) работает но с задержкой (от 1 до 10 сек).коилы на отправку в дуину работает нормально.
Возможно. Я не тестил встроенную. У меня индикация состояния пина в скаде работает как надо. Опрос OPC сервером несколько раз в секунду.
Всё настроение испортил. думал что уже всё понял, но оказывается ничего не понял. Что сдвигать? зачем нам значение бита? скажите хоть где копать эту разжёванную тему. :mamba:gmz_001 писал(а): ↑04.04.2018{, 11:45}Продублирую когда то поднятый вопрос тут.
Как штатными средствами flprog-scada определить значение бита?
Алгоритм я знаю, да же реализовал, но как то замороченно. Сдвигаем вправо до интересующего бита и делим по модулю 2 пока делимое не станет меньше 2. В остатке - значение бита.