Tools


«Сименс» в России

«Сименс» в России

Вопрос по SFC59,58

Пакеты программирования STEP5/STEP7, инженерное программное обеспечение, программное обеспечение RunTime

Модераторы: gulenok_andrey, Кухаренко Сергей, pavel_puchkov

ComBat
Сообщения: 163
Зарегистрирован: 22 апр 2018, 08:55

Сообщение ComBat » 30 июн 2020, 12:23

Всем привет !

Ниже часть кода из работающей программы.

1. Что такое data record «2F» (47 DEC) ?
Как узнать, какие именно данные хранятся в этом «data record» «2F» ?

2. Могут ли SFC58,59 использоваться для обмена CPU с модулями не только «своего» PLC, но и с модулями других устройств, имеющими связь с данным PLC, например :
- по "Profibus-DP" (PLCs, «частотники», инверторы и др.) ;
- по RS-232 ?

3. Почему в коде и для записи «data record» (SFC58), и для чтения «data record» (SFC59) , везде используется IOID :=B#16#54 , ведь значение 54H относится только к адресной области периферийных входов (PI)

CALL SFC59
REQ :=M1.0
IOID :=B#16#54
LADDR :=30
RECNUM :=B#16#2F
RET_VAL:=MW110
BUSY :=M1.1
RECORD :=P#DB150.DBX 14.0 BYTE 4


CALL SFC 58
REQ :=M2.0
IOID :=B#16#54
LADDR :=50
RECNUM :=B#16#2F
RECORD :=P#DB151.DBX 0.0 BYTE 24
RET_VAL:=MW110
BUSY :=M2.1


Заранее благодарен.

Бронислав
Сообщения: 16
Зарегистрирован: 17 мар 2019, 20:14

Сообщение Бронислав » 01 июл 2020, 01:30

Добрый день.

1. Некая нумерованная область данных модуля, который у вас имеет LADDR :=30. Посмотрите в HW, что у вас за модуль имеет адрес 30 и почитайте на него мануал.

2. по RS-232 - точно нет. Согласно справке, функции WR_REC и RD_REC могут обращаться к Profibus слейвам, но мне таких реализаций не попадалось.

3. Потому что функции WR_REC и RD_REC производят запись данных не в периферийные входа/выхода, а в область памяти модуля, адрес которого указан в параметре LADDR, идентификатор IOID заполняется исходя из того, как модуль отражается в HW. Если модуль целиком в PI, то B#16#54, если модуль целиком в PQ, то B#16#55. Если модуль смешанный, то ставится идентификатор младшего адреса, если адреса одинаковы, то B#16#54.

См. справочное руководство по системным и стандартным функциям для S7-300 и S7-400, п.7.7.

cron