Что делать, если не приходит?
Найти контроллер через System Manager, подключиться к ПЛК и залить в него хитрую программу, которая в свою очередь активирует удаленный доступ.
Автостарт через реестр
Реестре содержит раздел Launch90, в который можно записать имена программ для автостарта. Название ключа явно позаимствовано из Linux, но нам нужно активировать удаленный доступ, а за него на стороне ПЛК отвечает сервис CeRDisp.exe. Теперь всё готово, осталось подать материал в жерло FB_RegSetValue из TcUtilities.lib.
После добавления записи в реестр, необходимо перезагрузить ПЛК. Для этого воспользуемся функцией NT_Reboot из той же библиотеки. Результат:
PROGRAM MAIN VAR Reboot: NT_Reboot; RegSetValue: FB_RegSetValue; newValue: STRING := 'CeRDisp.exe'; END_VAR VAR CONSTANT HKLM_INIT_SUBKEY: STRING := 'init'; REG_LAUNCH90_VALUE: STRING := 'Launch90'; END_VAR (* @END_DECLARATION := '0' *) RegSetValue( sNetId := '', sSubKey := HKLM_INIT_SUBKEY, sValName := REG_LAUNCH90_VALUE, eValType := REG_SZ, cbData := LEN(newValue) + 1, pData := ADR(newValue), bExecute := TRUE ); IF NOT RegSetValue.bBUSY THEN Reboot( NETID := '', START := TRUE); END_IF END_PROGRAM
Что-то еще про автостарт приложений можно прочитать в Automatic start of CE applications. И автозапустить что-нибудь еще полезное.
No comments
Post a Comment
Note: Only a member of this blog may post a comment.