|
Вопросы о SMH-2G(i) Здесь всё, что касается работы контроллера SMH-2G(i). |
|
Опции темы | Поиск в этой теме |
21.06.2013, 12:55 | #1 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Работа с Shared Memory в PHP
А не подскажете где прочитать про работу PHP с распределяемой памятью?
Последний раз редактировалось Arsie, 24.07.2013 в 13:47 |
21.06.2013, 13:16 | #2 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 188
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: 2Gi и жизнь EEPROM
Самое доступное - в интернете. Я обычно использую Гугл. Но можно использовать абсолютно любой поисковик.
Механизм разделяемой памяти не мы придумали. Чуть подробнее в английской версии. Но вообще вне конкуренции домен PHP.su __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
24.06.2013, 14:46 | #3 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: 2Gi и жизнь EEPROM
Цитата:
как я понял для обращения в Shared memory средствами php Нужно: 1. Открыть Shared Memory для чтения типа того: <?php $shm_id = shmop_open(0x0fff, "c", 0644, 100); ?> где 0х0fff key системный id для блока shared memory, этот параметр может передаваться как 10-ричный или 16-ричный 2. прочитать переменную: <?php $shm_data = shmop_read($shm_id, 0, 50); ?> где 0 - стартовый адрес, 50 - количество байт У вас в файле «load_files.srv» появляется перечень переменных Shared Memory с информацией наподобии: var1=0x134,4,3,8,Parameter где: 0x134 – адрес переменной в адресном пространстве ядра «logix» 4 – размер переменной в байтах 3 – тип данных переменной в среде «SMLogix» - float (real) В среде « SMLogix » встречаются типы данных: • 0 – bool • 1 – int (тип short int – 2 байта в «C/С++») • 2 – long • 3 – real (тип float в «C/С++») 8 – адрес переменной в адресном пространстве разделяемой памяти контроллера «/dev/shm/wsi» Parameter – имя (идентификатор) переменной таким образом я "встал в тупик". Где мне взять системный id для блока shared memory (для PHP)? |
|
24.06.2013, 15:01 | #4 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 188
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: 2Gi и жизнь EEPROM
Цитата:
http://forum.segnetics.com/showthread.php?t=995 - а тут похоже ответ на ваш вопрос. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
24.06.2013, 15:12 | #5 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: 2Gi и жизнь EEPROM
Цитата:
Я не хочу писать данные в еще один файл на С++ и брать потом их оттуда при помощи HTML (как сделано у вас в примере)... я хочу забрирать напрямую из Shared Memory при помощи функциц PHP и застопорился я на том, что не знаю как найти key (идентификатор) переменной... Попробова найти KEY при помощи ftok вот так $shm_key = ftok('/dev/shm/wsi', 'temp_vnesh'); получил в ответ -1 Перменную по этому ключу в ответ естественно не получил. а если попросить вот так: $shm_key = ftok('/dev/shm/wsi', 't'); то возвращает 1947205880 Последний раз редактировалось Max2114, 24.06.2013 в 15:33 |
|
24.06.2013, 15:48 | #6 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: 2Gi и жизнь EEPROM
Цитата:
|
|
24.06.2013, 16:02 | #7 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 188
Благодарил(а): 15 раз(а)
Поблагодарили:
666 раз(а) в 608 сообщениях
|
Ответ: 2Gi и жизнь EEPROM
Цитата:
$shm_key = ftok('/dev/shm/wsi', 'b'); __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. Последний раз редактировалось Arsie, 24.07.2013 в 13:48 |
|