Для управления некоторыми устройствами по RS (чп altivar) хотел бы сделать преобразователь bool to int, примерно такой как на рисунке.Вложение 36653 подскажите возможно ли это?
Вид для печати
Для управления некоторыми устройствами по RS (чп altivar) хотел бы сделать преобразователь bool to int, примерно такой как на рисунке.Вложение 36653 подскажите возможно ли это?
ФБ PACK к Вашим услугам. Расширьте его до 16 бит или возьмите готовый из OSCAT.
ФБ PACK и UNPACK - библиотека util.lib описание там есть
Спасибо нашел буду двигаться дальше. еще советы не помешают.:)
Вывел на поляну блок PACK теперь не могу его отредактировать тоесть добавить входа.
Добавить не можете, и что?
Объедините 2 блока или посмотрите, как он устроен внутри и расширьте.
Можно проще:
int.0:=bool0*
int.1:=bool1*
....
int.14:=bool14*
int.15:=bool15*
Вопрос к ТС не по теме: можете дать ссылку, как управлять altivar по RS? По аналогиис Овен ПЧВ ( Командное слово, слово состояния etc) или как то по другому? И как сам ПЧ конфигурировать? Заранее спасибо
zendo057 byte_to_word для обоих, старшему сделать shr на 8 бит и всему этому хозяйству сделать AND
Валенок да, сорри, а то обнулится вся переменная :)
Alexey_Palich поставьте новый блок и напишите в нем SHR ну и в справке посмотрите, старший байт вам надо побитно на 8 бит сместить. и сделать потом OR (Валенок меня правильно поправил)
Когда вы обе переменные преобразуете в WORD ваши байты окажутся в младших байтах word, так вот старший вам надо сдвинуть в старший байт word а потом сложить два результата.
Я уже понял принцип, я библиотечные переделывал пак и унпак на 16 разрядов, былабы книжка по кодесису нашел бы этот оператор а на компе не удобно искать не зная че.
Я понял принцип так примерно, byte_to_word забыл.
а F1 на что ? и Менеджер библиотек ?
Вот так правильно работает Вложение 36787
пОЧЕМУ У МЕНЯ НЕ ВЫХОДИТВложение 36789
потому что кто-то невнимательный а я опять ошибся :) биты влево надо двигать
может хоть это научит вас читать справку ?