Цитата:
Сообщение от СВМ
Протестую. Алгоритм картинки предельно простой: сообщать о чтении нуля из памяти. Он выполняется правильно. Вопрос остаётся: как предотвратить чтение нуля из памяти? Предложенный Вами способ не помогает, см. картинку Ловушка нуля 1:
|
Вы меня явно не слышите. И не услышите до тех пор, пока будете называть кирпич стеклянным, а стекло деревянным.
Вам нужно не "предотвратить чтение нуля из памяти", а получить действительно значение. Ноль тоже может быть действительным значением, записанным в память.
До получения действительного значения у вас всё равно будет ноль, но только уже недействительный ноль.
Цитата:
Сообщение от СВМ
Я вижу три единицы: А<=B, A==B, A>=B. Это означает, что qnan равен сам себе, что прямо противоречит описанию,
|
Значит блок в вашем контроллере работает с ошибкой. Что у вас за контроллер и какова версия ядра в нём?
Цитата:
Сообщение от СВМ
цитату из которого я привёл на картинке: "qnan не равен сам себе". Вопрос остаётся: как поймать qnan? Я надеюсь, что это проще, чем ловить нуль в делителе, на что требуется три блока.
|
В том, что я вижу, ноль на делителе и не нужно ловить. Вы ограничили сами себя, накинувшись на самое бессмысленное место в программе.
Просчитайте алгоритм чуть дальше, чем на один шаг и вы поймёте, что бесполезно тратите своё время.
Цитата:
Сообщение от СВМ
Мне нужно, чтобы при чтении памяти SMLogix возвращал не нуль, а то, что в памяти записано. Прошу привести простейший пример, в котором при первом чтении памяти читается не нуль, а содержимое памяти. Очень надеюсь на Вашу помощь.
|
При чтении памяти всегда возвращается то, что в ней записано. Но пока память не готова, чтения из неё вообще не происходит.
Покажите ваш алгоритм и я скажу, что нужно делать. Куда-то же ваше число уходит, правильно? Куда оно уходит?