если открыть два раза(два проекта) овен лоджик в разных окнах то появляемся надпись доступ к порту закрыт ,хотя по очереди порт переключается между двух проектов.После того как закрыть один проект ,порт в распоряжении оставшегося проекта ,но надпись о доступе к порту не убирается крестиком ,хотя проект пишется в ПР
а что такое "Заданное приведение является недопустимым"?
в 18ой версии запрещено "WriteToFB"?
(все мои примеры в этой теме и последняя в теме Умный отопитель не работают в эмуляторе 18ой версии ОвенЛоджика)
нашел проблему - видимо в новой версии поправили SHR, и теперь его выход нельзя напрямую цеплять к "WriteToFB"
(как я писал выше - он в 17 версии работает как SAR (арифметический сдвиг), а в 18ой, как SHR, но тип у него на выходе странный....)
а если между ними воткнуть OR или ADD - всё работает ))
PS причём даже SEL не помогает ("пустой", т.е. на входе только средний контакт)
Последний раз редактировалось AI!; 24.02.2011 в 21:31.
открыл проекты сделанные в старых программах, из темы "примеры реализации", а там наименование блоков не "AND", "OR" или "NOT", а "&" и "1" - это так и надо?
я понимаю что они так "по правильному" называются, но всё равно странно....
и для начинающих удобнее "новое" обозначение...
Последний раз редактировалось AI!; 25.02.2011 в 14:11.
Если б не сказали ,то и не заметил бы ,наверно потому ,что не начинающий ,по ГОСТ 2.743-91 обозначения "&","1"... являются правильными .Но следуя рекомендациям МЭК по языкам программирования , "AND".... .Вот и получается кто занимался схемотехникой ему привычней гост , а кто программированием тому МЭК.
может сделать галочку, в настройках интерфейса - "показывать блоки по ГОСТ" ))
вот ещё какой у меня вопрос...
судя по доке ПР110 оперирует целыми беззаковыми числам (тип DWord)
Сложение (ADD)
Результатом выполнения операции на выходе является сумма входных значений.
Если при выполнении операции значение числа получается больше 4294967295 (32 бита),
выходящие за разрядность 32 бита биты отсекаются.Вычитание (SUB)
Результатом выполнения операции на выходе является разность входных значений.
Если при выполнении операции на первом входе (V1) значение числа меньше второго (V2),
результатом будет число, полученное сложением младшего числа плюс 0x100000000 минус значение числа большего:
V1 + 0x100000000 – V2 = Qа судя по эмулятору, мы имеем дело с целыми числами со знаком (тип DoubleInteger)Умножение (MUL)
Результатом выполнения операции на выходе является перемножение входных значений.
Если при выполнении операции значение числа получается больше 4294967295 (32 бита),
выходящие за разрядность 32 бита биты отсекаются.
так как же оно на самом деле?
в частности, что будет если на реальном реле сравнить "not(0)" и "0"?
(см. примеры на картинке)
Последний раз редактировалось AI!; 26.02.2011 в 00:23. Причина: картинко added