SIEMENS, DF&PD

Предыдущее посещение: Сб июл 02, 2016 4:40 Текущее время: Сб июл 02, 2016 4:40

Часовой пояс: UTC + 3 часа




 [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по SFC20 BLKMOV
СообщениеДобавлено: Сб окт 29, 2011 13:06 
Не в сети
Начинающий писатель

Зарегистрирован: Вт фев 15, 2011 13:51
Сообщения: 88
Добрый день.

Каким образом передать 8 байт по адресу который находится в AR1?
CALL SFC 20
SRCBLK :=#temp0
RET_VAL:=MW100
DSTBLK :=?????

С помощью указателя это делается просто, а если адрес находится в AR1, то уже все туманно...

Спасибо за помощь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб окт 29, 2011 18:48 
Не в сети
Известный Писатель

Зарегистрирован: Чт окт 20, 2011 19:16
Сообщения: 184
Откуда: Украина, Харьков
Как-то так:

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб окт 29, 2011 19:38 
Не в сети
Начинающий писатель

Зарегистрирован: Вт фев 15, 2011 13:51
Сообщения: 88
О, спасибо! Попробую ток в понедельник(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс окт 30, 2011 18:31 
Не в сети
Начинающий писатель

Зарегистрирован: Вт фев 15, 2011 13:51
Сообщения: 88
В AR1 насколько я понял можно только указание на бит, байт засунуть.. А 8 байт не получиться вроде. Типа записи P#DB1.DBX0.0 BYTE8.. Что же делать тогда, вот в чем вопрос)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс окт 30, 2011 20:38 
Не в сети
Известный Писатель

Зарегистрирован: Чт окт 20, 2011 19:16
Сообщения: 184
Откуда: Украина, Харьков
ward писал(а):
В AR1 насколько я понял можно только указание на бит, байт засунуть.. А 8 байт не получиться вроде. Типа записи P#DB1.DBX0.0 BYTE8.. Что же делать тогда, вот в чем вопрос)


Загрузить указатель типа P#DB1.DBX0.0 BYTE 8 (формат указателя ANY, POINTER) в адресный регистр AR1 не проблема, вопрос в том, каким образом его потом оттуда "вытянуть" и "засунуть" в переменную типа ANY на выход DSTBLK системной функции SFC20

В SIMATIC Manager'e в разделе HTML-справки есть кое-какая полезная инфа по-поводу SFC20, типа данных ANY, и всего, что с этим связано (во вкладке "Указатель" вводим "Using the Parameter Type ANY"), с интересным примером функции, использующей SFC20, может быть найдете в ней для себя что-нибудь полезное.

Функция выглядит так:
Изображение
Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн окт 31, 2011 11:35 
Не в сети
Начинающий писатель

Зарегистрирован: Вт фев 15, 2011 13:51
Сообщения: 88
Спасибо за подсказку.
Ответ был найден:

CALL "READ_CLK"
RET_VAL:=#ret
CDT :=#DaT

L W#16#1002
T LW 10
L 8
T LW 12
L 2
T LW 14
L 16
SLD 3
OD DW#16#84000000
T LD 16


CALL "BLKMOV"
SRCBLK :=#DaT
RET_VAL:=#ret
DSTBLK :=#Pointer_to_write


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
 [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения

Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group