
Konstantins
28.11.2016
14:55:55

Dr
28.11.2016
14:56:51

Alexander
28.11.2016
14:57:08

Alexandre
28.11.2016
14:59:08
когда нужно разбивать на нетворки?
можно по-разному
всегда есть несколько методов сделать одно и то же, это в какой-то мере эквивалент code style - делаешь, как хочет клиент или как принято в твоей организации

Google

Dmitry
28.11.2016
14:59:48
а это не влияет на поток выполнения?
в обоих случаях будет выполняться сверху вниз и справа налево?
как я понимаю, нетворки — просто блоки с названием и комментарием, не несущие какой-то другой нагрузки

Alexandre
28.11.2016
15:02:00
у сименса - по идее, на каждый FB можно ручками написать, когда он должен выполняться, в других системах все может быть по-другому... интереснее становится в случае зацикленной логики...

Dmitry
28.11.2016
15:02:33
да, там можно повесить на прерывания и другое время цикла задать.
а если не рассматривать сименсоспецифику

Alexandre
28.11.2016
15:04:35
если не рассматривать сименсоспецифику, обычно выделяются не связанные с другими логическими частями части и называются нетворком, нетворки же выполняются слева направо сверху вниз
@TehDmitry запутал, наверное? ?

Dmitry
28.11.2016
15:07:20
нет, не запутал.
но что будет если в обычном нетворке будет две параллельные нити кода, как на картинке, что я показывал

Alexandre
28.11.2016
15:07:47
слева направо сверху вниз?

Odro
28.11.2016
15:14:30

Dmitry
28.11.2016
15:16:00
ну т.е. это нормальная практика так делать?

Suigintou45
28.11.2016
15:16:26

Google

Odro
28.11.2016
15:16:52
Благодарю)

Alexandre
28.11.2016
15:17:26

Odro
28.11.2016
15:17:29
Щас ради интереса открыл описание и совсем не codesys :)

Alexandre
28.11.2016
15:19:46
о чюдо? :)
сименс написал свое...

Dmitry
28.11.2016
15:21:41
@aterentiev и ещё глупых вопросов.
вот таймеры, тот же TON. правильно ли я пониаю, что вся ветка с такими таймерами «чекается» каждый раз при проходе по блоку. и какогда условие сработало — проходит дальше. вот, например, в конструкции
… - ton - s - ton -…
s будет выполняться каждый проход цикла после того, как включится первый таймер?

Odro
28.11.2016
15:21:42
Так они же ещё и модикон не чтут, грешники.

Alexandre
28.11.2016
15:22:26
@aterentiev и ещё глупых вопросов.
вот таймеры, тот же TON. правильно ли я пониаю, что вся ветка с такими таймерами «чекается» каждый раз при проходе по блоку. и какогда условие сработало — проходит дальше. вот, например, в конструкции
… - ton - s - ton -…
s будет выполняться каждый проход цикла после того, как включится первый таймер?
все проходится циклически всегда, когда таймеры досчитали - меняется состояние их выходов... причем, таймеры хоть и выставляемы в широких пределах, работают, естественно, с разрешением OB, в которых находятся

Odro
28.11.2016
15:24:41

Dmitry
28.11.2016
15:24:57
а что такое «разрешения OB»?
а s-то будет каждый раз отрабатывать при проходе по блоку?

Alexandre
28.11.2016
15:25:14
я бы даже сказал, что и S выполняется всегда, но поначалу с false на входе, а потом с true
ты ж не на разрешающий вход S выход TON навесил?

Dmitry
28.11.2016
15:25:55
на выход ессно

Alexandre
28.11.2016
15:26:19
выход TON - это просто булевый выход

Dmitry
28.11.2016
15:27:12
а нормально ли делать конструкции вида
- s - s - s
и нет ли способа сделать
- - s -
+ - s -
+ - s -
— т.е. растянуть их вертикально

Alexandre
28.11.2016
15:28:21
нормально и есть, насколько я знаю... но мы ж сейчас про S7, да? я там совсем плох если что

Dmitry
28.11.2016
15:28:53
да мне ответов в рамках стандарта будет достаточно.
а так да, под рукой только S7

Alexandre
28.11.2016
15:29:15
просто я учился на PCS7...
а оно слегка, как бы, отличается

Google

Odro
28.11.2016
15:35:23

Alexandre
28.11.2016
15:36:32
и я не вижу причины, по которой s не должен отрабатывать каждый раз

Dmitry
28.11.2016
15:39:08

Alexandre
28.11.2016
15:40:15
ну рано или поздно ты это все попробуешь - и все :)

Dmitry
28.11.2016
15:40:59

Alexandre
28.11.2016
15:42:52
я не понимаю, почему ты считаешь, что s должен выполняться или не выполняться... если у s простой логический вход, то s будет выполняться каждый цикл, но иногда с входным значением true, иногда false, в зависимости от состояния TON

Dmitry
28.11.2016
15:45:09
у меня просто осознание этого факта не пришло. не задумывался прост.
получается, что все логические блоки чекаются всегда, вне зависимости от того, выдал ли истину предидущий блок или нет.
а если у блока есть EN вход, а на нём false — что после будет чекаться?

Alexandre
28.11.2016
15:46:05
а если EN=false, то будет как раз так, как ты думал
т.е. блок не отработает вообще
и его выходы будут неопределенными, может старыми, может инициальными, хз

Alexandre
28.11.2016
15:48:05
получается, что все логические блоки чекаются всегда, вне зависимости от того, выдал ли истину предыдущий блок или нет, за исключением случаев, когда в false был установлен вход EN.

Dmitry
28.11.2016
15:48:06
о, прикольно.
всё работает чуть не так, как привык.
деформация устоев и привычных паттернов программирования )

Alexandre
28.11.2016
15:49:16
точнее, там тупо перебираются блоки в запрограммированной последовательности и выполняются, если EN позволяет

Dmitry
28.11.2016
15:49:17
кстати, а есть какие-нибудь сборники best practices по «программированию» на FBD?
(это больше на проектирование, чем на программирование похоже)

Alexandre
28.11.2016
15:49:51

Odro
28.11.2016
15:50:26
Вряд ли

Dmitry
28.11.2016
15:50:44
если на блоке EN=false — выходы в «Z-состоянии».
если на линии только Z состояние — что дальше по линии не выполняется
иначе выполняется вся цепочка.
а выход того же s — по дефолту тупо дублирует вход?

Google

Alexandre
28.11.2016
15:51:11
я не знаю, что такое s :)

Suigintou45
28.11.2016
15:52:24

Dmitry
28.11.2016
15:52:55

Alexandre
28.11.2016
15:53:47

Suigintou45
28.11.2016
15:54:54
блок S в stl реализуется в две строки. A вход и S выход.

Dmitry
28.11.2016
15:54:58
так у него нет входа такого. только одна нога на вход, другая — на выход.
подозреваю, они просто «запараллелены»

Suigintou45
28.11.2016
15:55:13
в старом степе можно было)

Admin
ERROR: S client not available

Joric
28.11.2016
16:03:11
мой HID relay-то работает. уже часа 4 на 500 mAh http://i.imgur.com/NSvnqEZ.jpg

Alexandre
28.11.2016
16:03:42
а чего делает-то?

Joric
28.11.2016
16:04:34

Dmitry
28.11.2016
16:07:00
делай уже платы, а не этот ардуино-стайл

Alexandre
28.11.2016
16:07:31
ну он же проверил концепт...

Joric
28.11.2016
16:07:35
сейчас кстати все это говно обратно распаивать придется оно в корпус не поменщается

Dmitry
28.11.2016
16:08:25

Joric
28.11.2016
16:08:27
снимать хедеры-мамы, феном только

Google

Alexandre
28.11.2016
16:08:35

Joric
28.11.2016
16:10:02
плату лень, кварцы паять эти богомерзкие...

Alexandre
28.11.2016
16:10:32
эммм ну есть же модули, которые на плату паяются

Diimon_fuze
28.11.2016
16:11:30
Интересно за сколько по времени она посадит источник питания

Dmitry
28.11.2016
16:14:19
кварцевый модуль!

Joric
28.11.2016
16:14:56
короче батарейки хватит часа на 4

Alexandre
28.11.2016
16:17:15

Joric
28.11.2016
16:18:13

Alexandre
28.11.2016
16:18:30
оно в AVR помещается...

Joric
28.11.2016
16:19:13
так то да, я могу написать опрос матрицы, но это только если делать новую клаву на механике а механика мерзко клацает

Alexandre
28.11.2016
16:19:23

Максим
28.11.2016
16:19:45

Joric
28.11.2016
16:20:16
там нет внешнего хоста. там max3421e припаян в центре огромной платы и у него разведены ножки

Максим
28.11.2016
16:20:49

Alexandre
28.11.2016
16:21:40
я и имел в виду max3421e как внешний с т.з. AVR хост

Joric
28.11.2016
16:21:44
я вообще то этот чип тоже шил и думаю BLE с кастомной прошивкой поставить вместо него

Alexandre
28.11.2016
16:22:02
а тут какой?

Joric
28.11.2016
16:22:04
под аврку есть tmk_firmware хочется оставить совместимость

Alexandre
28.11.2016
16:22:11
BT3?