CODESYS форум

Добро пожаловать на официальный форум CODESYS
Deutsche Version English version russian version 
Текущее время: Пт май 26, 2017 11:37 pm

Часовой пояс: UTC+01:00




Начать новую тему  Ответить на тему  [ 10 сообщений ] 
Автор Сообщение
 Заголовок сообщения: Серийный номер Raspberry PI
СообщениеДобавлено: Ср сен 28, 2016 6:15 pm 
Не в сети

Зарегистрирован: Чт дек 20, 2007 3:54 pm
Сообщения: 29
Здравствуйте!
Поддержана-ли в CDS для малинки библиотека SysTarget и в частности функция SysTargetGetSerialNumber ? Уж очень надо к железу привязаться.


Вернуться к началу
 Заголовок сообщения: Re: Серийный номер Raspberry PI
СообщениеДобавлено: Чт сен 29, 2016 7:47 am 
Не в сети

Зарегистрирован: Пт окт 02, 2015 2:05 pm
Сообщения: 42
Ну, компоненту SysTarget он загружает, но если есть Raspberry, то проще наверное написать программку и проверить работоспособность функций.


Вернуться к началу
 Заголовок сообщения: Re: Серийный номер Raspberry PI
СообщениеДобавлено: Чт сен 29, 2016 8:54 am 
Не в сети

Зарегистрирован: Чт дек 20, 2007 3:54 pm
Сообщения: 29
Следующий код возвращает ID процессора = 2 (ARM), а серийник возвращать не хочет - ret2 = 12, SN = ''.
Или запрос неправильный или функция SysTargetGetSerialNumber не реализована.

PROGRAM PLC_PRG
VAR
ProcID : UDINT;
SN : STRING;
pSN : POINTER TO STRING := ADR(SN);
MaxLen: DINT;
LenSN : INT;
ret2: RTS_IEC_RESULT;
ret1: RTS_IEC_RESULT;
END_VAR

ret1 := SysTargetGetProcessorId (ADR(ProcID));
ret2 := SysTargetGetSerialNumber (ADR(pSN), ADR(MaxLen));
LenSN := LEN (SN);


Вернуться к началу
 Заголовок сообщения: Re: Серийный номер Raspberry PI
СообщениеДобавлено: Чт сен 29, 2016 11:22 am 
Не в сети

Зарегистрирован: Пт окт 02, 2015 2:05 pm
Сообщения: 42
Ну тут и string надо определенной длины объявить и определить значение MaxLen равным этой длине.


Вернуться к началу
 Заголовок сообщения: Re: Серийный номер Raspberry PI
СообщениеДобавлено: Вс окт 02, 2016 9:18 am 
Не в сети

Зарегистрирован: Чт дек 20, 2007 3:54 pm
Сообщения: 29
Весь мозг сломал, не могу серийник малинки получить :(
Может кто поделится рабочим примером. Если SysTargetGetSerialNumber реализована для RPI.


Вернуться к началу
 Заголовок сообщения: Re: Серийный номер Raspberry PI
СообщениеДобавлено: Пн окт 03, 2016 12:57 pm 
Не в сети

Зарегистрирован: Пт окт 02, 2015 2:05 pm
Сообщения: 42
Да, посмотрел, SysTargetGetSerialNumber для Raspberry не реализована.
Можно самому получить серийник прямо из системы. Только для этого необходимо настроить параметры codesys control.
Для этого нужно в /etc/CODESYSControl.cfg изменить секцию
Код:
[SysProcess]
Command=AllowAll

и перегрузить контроллер. (Можно, в принципе, добавить только те команды, которые необходимы).
Ну и простенькую программу написать.
Код:
PROGRAM PLC_PRG
VAR
    outbuf:STRING(1000) := '';
    command:STRING:= 'cat /proc/cpuinfo | grep Serial | cut -d $':$' -f 2';
    first_start:BOOL:=TRUE;
    res: RTS_IEC_RESULT;
END_VAR
IF first_start THEN
    SysProcess._(pszCommand:=command, pszStdOut:= outbuf, udiStdOutLen:= SIZEOF(outbuf), pResult:= ADR(res));
    first_start:=FALSE;   
END_IF



Вернуться к началу
 Заголовок сообщения: Re: Серийный номер Raspberry PI
СообщениеДобавлено: Пн окт 03, 2016 5:07 pm 
Не в сети

Зарегистрирован: Чт дек 20, 2007 3:54 pm
Сообщения: 29
CDSMaks, как я понимаю, таким образом можно из CDS-программы любую Linux-команду выполнить и получить результат её выполнения обратно в CDS-программу ?!


Вернуться к началу
 Заголовок сообщения: Re: Серийный номер Raspberry PI
СообщениеДобавлено: Вт окт 04, 2016 6:56 am 
Не в сети

Зарегистрирован: Пт окт 02, 2015 2:05 pm
Сообщения: 42
Да, совершенно верно. По умолчанию, для Codesys control для Raspberry разрешена только команда shutdown. В приведенном мною примере разрешаются все команды.


Вернуться к началу
 Заголовок сообщения: Re: Серийный номер Raspberry PI
СообщениеДобавлено: Вт окт 04, 2016 3:40 pm 
Не в сети

Зарегистрирован: Чт дек 20, 2007 3:54 pm
Сообщения: 29
CDSMaks, в очередной раз большое спасибо!
Все работает, только в SysProcess._ вместо ._ ExecuteCommand2


Вернуться к началу
 Заголовок сообщения: Re: Серийный номер Raspberry PI
СообщениеДобавлено: Ср окт 05, 2016 8:41 am 
Не в сети

Зарегистрирован: Пт окт 02, 2015 2:05 pm
Сообщения: 42
Ага, не заметил, что неправильно скопировал-вставил.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 10 сообщений ] 

Часовой пояс: UTC+01:00


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

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB