PDA

Просмотр полной версии : Как сделать многовходовый преобразователь.



Alexey_Palich
16.04.2018, 15:35
Для управления некоторыми устройствами по RS (чп altivar) хотел бы сделать преобразователь bool to int, примерно такой как на рисунке.36653 подскажите возможно ли это?

ASo
16.04.2018, 15:48
ФБ PACK к Вашим услугам. Расширьте его до 16 бит или возьмите готовый из OSCAT.

Alexey_Palich
16.04.2018, 15:50
ФБ PACK к Вашим услугам. Расширьте его до 16 бит или возьмите готовый из OSCAT.

Спасибо, я только начал осваивать КДС расскажите подробнее, что это за звери??? И где их найти?

SA104
16.04.2018, 15:53
ФБ PACK и UNPACK - библиотека util.lib описание там есть

Alexey_Palich
16.04.2018, 15:55
Спасибо нашел буду двигаться дальше. еще советы не помешают.:)

Alexey_Palich
16.04.2018, 16:00
Вывел на поляну блок PACK теперь не могу его отредактировать тоесть добавить входа.

ASo
16.04.2018, 16:04
Добавить не можете, и что?
Объедините 2 блока или посмотрите, как он устроен внутри и расширьте.

Alexey_Palich
16.04.2018, 16:10
Добавить не можете, и что?
Объедините 2 блока или посмотрите, как он устроен внутри и расширьте.

С тупил немного уже исправил. Спасибо

Sulfur
18.04.2018, 10:45
Можно проще:
int.0:=bool0*
int.1:=bool1*
....
int.14:=bool14*
int.15:=bool15*

tagor4444
18.04.2018, 14:11
Вопрос к ТС не по теме: можете дать ссылку, как управлять altivar по RS? По аналогиис Овен ПЧВ ( Командное слово, слово состояния etc) или как то по другому? И как сам ПЧ конфигурировать? Заранее спасибо

zendo057
20.04.2018, 15:01
С тупил немного уже исправил. СпасибоПодскажите тугодуму как объединить на моем шаблоне,как из двух byte сделать один word

melky
20.04.2018, 16:31
zendo057 byte_to_word для обоих, старшему сделать shr на 8 бит и всему этому хозяйству сделать AND

Alexey_Palich
20.04.2018, 16:49
Вопрос к ТС не по теме: можете дать ссылку, как управлять altivar по RS? По аналогиис Овен ПЧВ ( Командное слово, слово состояния etc) или как то по другому? И как сам ПЧ конфигурировать? Заранее спасибо

Пока не могу сам еще работаю над этим как сделаю отправлю, не раньше понедельника проверю.

Alexey_Palich
20.04.2018, 17:59
сделать shr на 8 бит

это как? а то я еще не опытный, если просто сделать + мне кажется там хрень получится

melky
20.04.2018, 17:59
Валенок да, сорри, а то обнулится вся переменная :)
Alexey_Palich поставьте новый блок и напишите в нем SHR ну и в справке посмотрите, старший байт вам надо побитно на 8 бит сместить. и сделать потом OR (Валенок меня правильно поправил)
Когда вы обе переменные преобразуете в WORD ваши байты окажутся в младших байтах word, так вот старший вам надо сдвинуть в старший байт word а потом сложить два результата.

Alexey_Palich
20.04.2018, 18:11
Я уже понял принцип, я библиотечные переделывал пак и унпак на 16 разрядов, былабы книжка по кодесису нашел бы этот оператор а на компе не удобно искать не зная че.

Alexey_Palich
20.04.2018, 18:17
Я понял принцип так примерно, byte_to_word забыл.

melky
20.04.2018, 18:26
а F1 на что ? и Менеджер библиотек ?

capzap
20.04.2018, 18:45
Я понял принцип так примерно, byte_to_word забыл.

если хотите гарантированно получить слово из бит, сделайте как на картинке, а то без правильного порядка выполнения Вы ни когда не добъетесь задуманного результата в одном цикле

Alexey_Palich
20.04.2018, 19:20
Вот так правильно работает 36787

zendo057
20.04.2018, 23:09
пОЧЕМУ У МЕНЯ НЕ ВЫХОДИТ36789

melky
20.04.2018, 23:56
потому что кто-то невнимательный а я опять ошибся :) биты влево надо двигать
может хоть это научит вас читать справку ?