BossiG Inserito: 5 ore fa Segnala Inserito: 5 ore fa Buongiorno. sto attualmente lavorando con WinCC Unified V21 su un panel PC. di norma su un pannello Unified normale cliccando un campo I/O o un qualsiasi campo d'inserimento compare a schermo la tastiera per poter scrivere, invece, con il PC, ciò non accade. guardando un po' in giro ho trovato uno script di Siemens che permette di avviare la tastiera virtuale di Windows ma il processo si blocca. a seguire li script che sto utilizzando e l'errore visualizzato sul RTIL trace viewer: session: 0002, trace: SystemFunction 'StartProgram' failed! Error =ResultCode: 0x80000002 Error: CF_R_CANCELLED Description: The component reported a general error (File: D:\agent\_work\16\s\source\ScriptDeviceObjectModelPC\HmiDeviceSysFct.cpp, Func: CCScriptFW::CHmiDeviceSysFct::StartApp::<lambda_2>::operator ()) InternalMessage='promise rejected' stando alla mia comprensione del trace lo script non dovrebbe star dando problemi, quanto più sembrerebbe che una parte del codice C++ che lo blocca (come scritto in questa parte dell'errore: "The component reported a general error (File: D:\agent\_work\16\s\source\ScriptDeviceObjectModelPC\HmiDeviceSysFct.cpp" ). ho controllato i permessi utente e sono corretti. sto genuinamente finendo le idee.
drugo66 Inserita: 4 ore fa Segnala Inserita: 4 ore fa Ciao, il problema potrebbe essere che si sta cercando di avviare un processo a 64 bit (C:\\Windows\\SysWOW64\\osk.exe) in un processo a 32 bit; qualche tempo fa ho avuto lo stesso problema in C# ed ho risolto effettuando parecchie ricerche sul web: prova a vedere se questo e questo ti spiega meglio il problema (avevo trovato un bell'articolo su Stackoverflow che spiegava in modo esauriente il problema, ma non lo trovo più ...). Alla fine ho inserito "C:\\Windows\\sysnative\\cmd.exe /c start osk.exe" con "sysnative" usato come parola chiave che indica al sistema di selezionare il processo per la tastiera a schermo più corretto da avviare; il problema è che non so se lo script lo accetta (la cartella "sysnative" non esiste); io proverei prima con "C:\\Windows\\system32\\osk.exe", sempre se il file esiste. altrimenti ci sono altre opzioni, ma occorrerebbe chiamare un paio di API di Windows e non so se sia possibile farlo in uno script del genere.
BossiG Inserita: 3 ore fa Autore Segnala Inserita: 3 ore fa Innanzitutto grazie per la risposta Drugo. è vero ho utilizzato "C:\\Windows\\SysWOW64\\osk.exe" perché in precedenza ho fatto varie prove partendo proprio da "C:\\Windows\\system32\\osk.exe" però, sospettando che la causa dell'errore fosse la difficoltà ad entrare in system32 ho provato a spostare osk.exe all'interno di SysWOW64 (con scarsi risultati in entrambe le cartelle). per intenderci, ad ora non sembrerebbe un problema legato alla funzione, in quanto; lo script non mi segnala errori suoi, e il percorso funziona quando messo manualmente. il problema sta nel fatto che quando WinCC cerca di accedere alle cartelle l'accesso viene negato fermando quindi il tutto. ho infatti provato sia SysWOW64, sia system32 e anche "C:\\Windows\\sysnative\\cmd.exe /c start osk.exe" che mi hai consigliato ma tutte le casistiche ricadono nello stesso errore precedentemente citato. non arrivo nemmeno alle cartelle di sistema vengo bloccato prima
drugo66 Inserita: 1 ora fa Segnala Inserita: 1 ora fa Proverei anche "C:\\Windows\\system32\\cmd.exe /c start osk.exe" o, addirittura, "C:\\Windows\\system32\\cmd.exe /c start C:\\Windows\\system32\\osk.exe"; dovrai prima rimettere il file osk.exe in system32. Nel frattempo ho effettuato una ricerca specifica per gli script di WINCC: 1 2 3 lascio a te la scelta e le prove; ho trovato anche questo per aprire in automatico la tastiera, ma non so se faccia al caso tuo. Se non risolvi ancora, proverei a creare un batch file con lo stesso comando (magari provalo prima senza script). Se ancora non funziona, posso provare a creare un eseguibile windows con il solo comando che serve in C#. Fammi sapere.
Messaggi consigliati
Crea un account o accedi per commentare
Devi essere un utente per poter lasciare un commento
Crea un account
Registrati per un nuovo account nella nostra comunità. è facile!
Registra un nuovo accountAccedi
Hai già un account? Accedi qui.
Accedi ora