IPB

Здравствуйте, гость ( Вход | Регистрация )

4 страниц V   1 2 3 > »   
Ответить в эту темуОткрыть новую тему
> FX3U - аналог команды TEST_MD из серии Q
acoustik
сообщение 3.09.2014 - 15:11
Сообщение #1


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Всем КУ! )

Какой существует аналог команде TEST_MD (из серии Q) в FX3U FX2N (опрос состояния отдельных битов в слове) ?

Прикрепленный файл  q_test_md.JPG ( 13.68 килобайт ) Кол-во скачиваний: 19


Спасибо!

Сообщение отредактировал acoustik - 3.09.2014 - 16:43


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 3.09.2014 - 15:22
Сообщение #2


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(acoustik @ 3.09.2014 - 21:11) *
Какой существует аналог команде TEST_MD в FX3U (опрос состояния отдельных битов в слове) ?

Сам нашел - это команда BON.

Сообщение отредактировал acoustik - 3.09.2014 - 15:23


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 3.09.2014 - 16:30
Сообщение #3


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 3.09.2014 - 17:22) *
Цитата(acoustik @ 3.09.2014 - 21:11) *
Какой существует аналог команде TEST_MD в FX3U (опрос состояния отдельных битов в слове) ?

Сам нашел - это команда BON.


C FX3U команда не нужна. Можно напрямую биты в слове опрашивать. Адрес регистра точка номер бита.


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 3.09.2014 - 16:40
Сообщение #4


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(inntele @ 3.09.2014 - 22:30) *
Цитата(acoustik @ 3.09.2014 - 17:22) *
Цитата(acoustik @ 3.09.2014 - 21:11) *
Какой существует аналог команде TEST_MD в FX3U (опрос состояния отдельных битов в слове) ?

Сам нашел - это команда BON.


C FX3U команда не нужна. Можно напрямую биты в слове опрашивать. Адрес регистра точка номер бита.

Совершенно верно. Я просто немного ошибся в названии темы, указал FX3U вместо положенного FX2N... Речь идет про 2N.


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 3.09.2014 - 17:16
Сообщение #5


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 3.09.2014 - 18:40) *
Цитата(inntele @ 3.09.2014 - 22:30) *
Цитата(acoustik @ 3.09.2014 - 17:22) *
Цитата(acoustik @ 3.09.2014 - 21:11) *
Какой существует аналог команде TEST_MD в FX3U (опрос состояния отдельных битов в слове) ?

Сам нашел - это команда BON.


C FX3U команда не нужна. Можно напрямую биты в слове опрашивать. Адрес регистра точка номер бита.

Совершенно верно. Я просто немного ошибся в названии темы, указал FX3U вместо положенного FX2N... Речь идет про 2N.


Тогда лучше использовать не BON, а копировать слово командой MOV в группу меркеров и анализировать нужный меркер. Такая конструкция будет работать быстрее, к тому же позволит с одной пересылки анализировать столько бит в слове, сколько требуется.


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 3.09.2014 - 18:52
Сообщение #6


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(inntele @ 3.09.2014 - 23:16) *
Тогда лучше использовать не BON, а копировать слово командой MOV в группу меркеров и анализировать нужный меркер. Такая конструкция будет работать быстрее, к тому же позволит с одной пересылки анализировать столько бит в слове, сколько требуется.

Хм... А если слово: K1X7 ? Зачем же его еще раз передавать в группу меркеров, если его самого можно проанализировать, например вот так:

Прикрепленный файл  1.JPG ( 12.05 килобайт ) Кол-во скачиваний: 10


Или я чего то не понимаю?


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ivgtrk
сообщение 3.09.2014 - 19:31
Сообщение #7


Гигант мысли
****

Группа: Пользователи
Сообщений: 459
Регистрация: 5.02.2014
Пользователь №: 10203



Цитата(acoustik @ 3.09.2014 - 22:52) *
Цитата(inntele @ 3.09.2014 - 23:16) *
Тогда лучше использовать не BON, а копировать слово командой MOV в группу меркеров и анализировать нужный меркер. Такая конструкция будет работать быстрее, к тому же позволит с одной пересылки анализировать столько бит в слове, сколько требуется.

Хм... А если слово: K1X7 ? Зачем же его еще раз передавать в группу меркеров, если его самого можно проанализировать, например вот так:

Прикрепленный файл  1.JPG ( 12.05 килобайт ) Кол-во скачиваний: 10


Или я чего то не понимаю?

acoustik, представленный вами пример демонстрирует анализ слова K1X7 и прямой перенос состояния входов X7~X12 в меркеры с M100 по M103 за 4 цикла программы, предполагая, что регистр Z принимает значения от 0 до 3. При всем этом необходимо осуществить инкрементирование и сброс регистра при достижении значения 4, что в купе с инструкцией BON даст значительное кол-во шагов программы, нежели прямой перенос входов в указанные меркеры, если таковое требуется.

Сообщение отредактировал ivgtrk - 3.09.2014 - 19:32


--------------------
Никому никогда ничего не объясняйте — каждый всё равно поймёт так, как ему выгодно.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 3.09.2014 - 19:37
Сообщение #8


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 3.09.2014 - 20:52) *
Цитата(inntele @ 3.09.2014 - 23:16) *
Тогда лучше использовать не BON, а копировать слово командой MOV в группу меркеров и анализировать нужный меркер. Такая конструкция будет работать быстрее, к тому же позволит с одной пересылки анализировать столько бит в слове, сколько требуется.

Хм... А если слово: K1X7 ? Зачем же его еще раз передавать в группу меркеров, если его самого можно проанализировать, например вот так:

Прикрепленный файл  1.JPG ( 12.05 килобайт ) Кол-во скачиваний: 10


Или я чего то не понимаю?


Чтобы ответить, для начала нужно понять, что Вы хотите получить в M100-M103, выдергивая бит из X7,X10,X11,X12.
А, вообще, работать со входами неправильно, "некультурно". Об этом я уже неоднократно говорил на форуме. Культурно - значит все входы в самом начале скана программы копируют в меркеры, и далее работают с меркерами. Для цели копирования входов в меркеры в контроллере даже команда подходящая имеется PRUN (FNC81).

Сообщение отредактировал inntele - 3.09.2014 - 19:38


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 3.09.2014 - 19:57
Сообщение #9


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



ivgtrk, Вы правы, действительно количество шагов на порядок увеличилось.

Цитата(inntele @ 4.09.2014 - 01:37) *
Чтобы ответить, для начала нужно понять, что Вы хотите получить в M100-M103, выдергивая бит из X7,X10,X11,X12.
А, вообще, работать со входами неправильно, "некультурно". Об этом я уже неоднократно говорил на форуме. Культурно - значит все входы в самом начале скана программы копируют в меркеры, и далее работают с меркерами. Для цели копирования входов в меркеры в контроллере даже команда подходящая имеется PRUN (FNC81).

Суть заключается примерно в следующем: на входах x7,10,11,12 сидят датчики, и я хотел анализировать их состояние не расписывая их по отдельности в каждый Network... Хотя уже понял, что все равно сами меркеры М100-103 ведь тоже придеться обрабатывать...


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 3.09.2014 - 20:42
Сообщение #10


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 3.09.2014 - 21:57) *
Суть заключается примерно в следующем: на входах x7,10,11,12 сидят датчики, и я хотел анализировать их состояние не расписывая их по отдельности в каждый Network... Хотя уже понял, что все равно сами меркеры М100-103 ведь тоже придеться обрабатывать...


Поскольку уже и сами сообразили, что идея, которая Вас посетила, абсолютно непродуктивная, то лучше наглядно продемонстрирую отличие команд MOV и PRUN:

MOV K1X7 K1M100
X7->M100
X10->M101
X11->M102
X12->M103

PRUN K1X7 K1M100
X7->M100
X10->M103

Команда PRUN полезна для формирования точного слепка со входов:
PRUN K3X0 K3M0
X0...X3->M0...M3
X4...X7->M4...M7
X10...X13->M10...M13

Достоинство в том, что, в случае необходимости подменить вход, не придется вычислять, по какому адресу в области меркеров, куда копируются входы, образ подменного располагается. Кроме того, копирование этой командой позволяет избежать ошибок с адресацией в случае комбинированных модулей дискретных входов/выходов типа FX2N-8ER.

Сообщение отредактировал inntele - 4.09.2014 - 12:47


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 4.09.2014 - 06:24
Сообщение #11


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(inntele @ 4.09.2014 - 02:42) *
Поскольку уже и сами сообразили, что идея, которая Вас посетила, абсолютно непродуктивная, то лучше наглядно продемонстрирую отличие команд MOV и PRUN:

MOV K1X7 K1M100
X7->M100
X10->M101
X11->M102
X12->M103

PRUN K1X7 K1M100
X7->M100
X10->M103

Команда PRUN полезна для формирования точного слепка со входов:
PRUN K3X0 K3M0
X0...X7->M0...M7
X10...X17->M10...M17
X20...X27->M20...M27

Все ясно, MOV переносит биты в неразрывный ряд меркеров, в один за другим, в то время как PRUN, работающая в восьмеричном виде копирует биты так как они следуют на входе.

Цитата(inntele @ 4.09.2014 - 02:42) *
Достоинство в том, что, в случае необходимости подменить вход, не придется вычислять, по какому адресу в области меркеров, куда копируются входы, образ подменного располагается. Кроме того, копирование этой командой позволяет избежать ошибок с адресацией в случае комбинированных модулей дискретных входов/выходов типа FX2N-8ER.

Что вы имеете в виду - "в случае необходимости подменить вход" ?


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 4.09.2014 - 07:16
Сообщение #12


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 4.09.2014 - 08:24) *
Что вы имеете в виду - "в случае необходимости подменить вход" ?


По различным причинам может возникнуть необходимость пересадить сигнал с того входа, на который он был подключен изначально, на один из резервных. К примеру, с X23 на X45. Входы скопом скопированы в меркеры, далее в программе фигурируют уже меркеры. Соответственно, в теле программы потребуется подменить тот меркер, что соответствует входу, с которого пересаживают сигнал, на другой, соответствующий новому, резервному. Если нумерация меркеров не совпадает с нумерацией входов, данный процесс может вызвать определенные затруднения и даже привести к ошибке.

Сообщение отредактировал inntele - 4.09.2014 - 07:17


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 4.09.2014 - 07:30
Сообщение #13


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(inntele @ 4.09.2014 - 13:16) *
Цитата(acoustik @ 4.09.2014 - 08:24) *
Что вы имеете в виду - "в случае необходимости подменить вход" ?


По различным причинам может возникнуть необходимость пересадить сигнал с того входа, на который он был подключен изначально, на один из резервных. К примеру, с X23 на X45. Входы скопом скопированы в меркеры, далее в программе фигурируют уже меркеры. Соответственно, в теле программы потребуется подменить тот меркер, что соответствует входу, с которого пересаживают сигнал, на другой, соответствующий новому, резервному. Если нумерация меркеров не совпадает с нумерацией входов, данный процесс может вызвать определенные затруднения и даже привести к ошибке.

Ясно, весьма логично.
Но, наверное, этот прием с командой PRUN имеет ценность тогда, когда этих входов достаточное множество. Когда же их всего четыре, имеет ли смысл переносить состояние физ. входов в меркеры для последующей обработки?


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
inntele
сообщение 4.09.2014 - 07:40
Сообщение #14


Гуру
******

Группа: Пользователи
Сообщений: 1000
Регистрация: 19.08.2009
Пользователь №: 9149



Цитата(acoustik @ 4.09.2014 - 09:30) *
Но, наверное, этот прием с командой PRUN имеет ценность тогда, когда этих входов достаточное множество. Когда же их всего четыре, имеет ли смысл переносить состояние физ. входов в меркеры для последующей обработки?


Имеет всегда. В паре тем на форуме я объяснял, с какой целью это делается, и приводить объяснения в третий раз желания и времени нет. Рекомендую Вам поискать самостоятельно.


--------------------
Мозг любого человека работает круглосуточно. Но мозг инженера отличается тем, что способен при этом проанализировать задачу, синтезировать несколько техничных ее решений, а затем выбрать из этих решений наилучшее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
acoustik
сообщение 4.09.2014 - 07:52
Сообщение #15


Гигант мысли
****

Группа: Пользователи
Сообщений: 408
Регистрация: 3.08.2014
Пользователь №: 10311



Цитата(inntele @ 4.09.2014 - 13:40) *
Цитата(acoustik @ 4.09.2014 - 09:30) *
Но, наверное, этот прием с командой PRUN имеет ценность тогда, когда этих входов достаточное множество. Когда же их всего четыре, имеет ли смысл переносить состояние физ. входов в меркеры для последующей обработки?


Имеет всегда. В паре тем на форуме я объяснял, с какой целью это делается, и приводить объяснения в третий раз желания и времени нет. Рекомендую Вам поискать самостоятельно.

Ну хотя бы в паре слов... ) Представляете, это ж сколько прошерстить топиков то...


--------------------
There are only 10 types of people in the world — those who understand binary, and those who don't.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

4 страниц V   1 2 3 > » 
Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.04.2024 - 18:15