mario
Profilo di
Nome | mario |
---|---|
Indirizzo email | [email protected] |
Avatar | |
Messaggi | 10 |
-
- 2023-11-01 09:49:29
- Re: Auto riconnessione script server
- Forum >> Programmazione Python >> Scripting
- Si...tra indiani "grandi e piccoli" e "dialetti"...se ne vedono di tutti i colori.
Diciamo che il mio era un "di piu",perche ad ora tutte le stringhe che ho usato sono state lette ed interpretate correttamente dalla periferica.
Volevo provare il discorso Py per non sentirmi dire "...è...allora è un problema da parte del tuo programma.." ma,ripeto, ad ora,tutto è filato per i verso giusto, il famoso 0,00000001% l'ho risolto usando wireshark e tanta pazienza.
Si , sviluppo su Vb6 ,e magari anche questo, con la gestione lan e byte, non è proprio una cima.
Ma devo dire che fino ad ora, per i miei utilizzi, sono riuscito a fare tutto quello che mi è stato richiesto (ovvio...spesso con gran penare!!!).
Ho provato a "migrare" verso altri sistemi piu recenti ma...sinceramente...li ho trovati molto cervellotici e pesanti (anche per le macchine su cui vanno installati gli sviluppi).
Diciamo che restando nel mio piccolo antro di php/c e vb6...riesco a far dialogare assieme macchine di 30 anni fa e le loro nipoti di nuova generazione.
FInchè dura...va bene,poi...si vedrà!
Grazie comunque per la chiacchierata e gli spunti !!
Mario
-
- 2023-11-01 09:49:22
- Re: Auto riconnessione script server
- Forum >> Programmazione Python >> Scripting
- Si...tra indiani "grandi e piccoli" e "dialetti"...se ne vedono di tutti i colori.
Diciamo che il mio era un "di piu",perche ad ora tutte le stringhe che ho usato sono state lette ed interpretate correttamente dalla periferica.
Volevo provare il discorso Py per non sentirmi dire "...è...allora è un problema da parte del tuo programma.." ma,ripeto, ad ora,tutto è filato per i verso giusto, il famoso 0,00000001% l'ho risolto usando wireshark e tanta pazienza.
Si , sviluppo su Vb6 ,e magari anche questo, con la gestione lan e byte, non è proprio una cima.
Ma devo dire che fino ad ora, per i miei utilizzi, sono riuscito a fare tutto quello che mi è stato richiesto (ovvio...spesso con gran penare!!!).
Ho provato a "migrare" verso altri sistemi piu recenti ma...sinceramente...li ho trovati molto cervellotici e pesanti (anche per le macchine su cui vanno installati gli sviluppi).
Diciamo che restando nel mio piccolo antro di php/c e vb6...riesco a far dialogare assieme macchine di 30 anni fa e le loro nipoti di nuova generazione.
FInchè dura...va bene,poi...si vedrà!
Grazie comunque per la chiacchierata e gli spunti !!
Mario
-
- 2023-10-31 21:53:56
- Re: Auto riconnessione script server
- Forum >> Programmazione Python >> Scripting
- ciao @nuzzopippo.
Ti ringrazio per il replay.
Io python non lo
uso,ma purtroppo ho a che fare con una periferica audio pro yamaha che
monta....un st32 (hanno cancellato le sigle e modificato un po le
schede interne pensando che cosi...davano l'idea di una cosa tutta loro ma non sono riuscuti ) con
caricato py 2.7 ( o cmq vecchio)
Purtroppo la periferica non è mia e quindi i test non posso farli facilmente
Personalmente
sviluppo in VB e PHP ,e dato che sono riuscito a recuperare il service manual
ed il develop datasheet ,mi sono gia fatto un server ad hoc nei miei ambienti, per testare
le comunicazioni via lan.
Con il mio server funziona
tutto ma volevo provare con Py per avere conferma che tutto andasse bene
perchè purtroppo , come penso tu sappia, le codifice e decodifiche
delle stringhe in byte sono tutte uguali al 99.99999% e la sfiga...vuol
dire che a me capita il famoso 0.00001%!!
Figurati che da UNICODE a
FROMUNICODE viene tolto lo 0X finale...che non viene letto, ma se leggi
la stringa al contrario, la lunghezza in byte è differente...di un byte e
nel caso di controlli di lunghezza....ti frega!
Pensavo che anche in
Py ,abilitado il multiprocesso,ci fosse una sorta di "on error etc
etc"...che in effetti esiste (Sotto altri termini >> TRY) ma
purtroppo le differenza sintattiche rispetto ai programmi che uso io, e
capire dove mettere e se mettere una virgola anziche un apice o un due
punti...mi hanno fatto perdere tanto tempo e pazienza.
E' cosi che sono arrivato a questa richiesta.
Se
qualche anima pia riesce ad inserirmi questa procedura TRY ne sarei
grato...se no pace...continuo con il mio sviluppo che all 99,99999999 %
funziona. se capita la sfiga....ci pensero con wireshark a decodificare i byte trovare questo 0.000001 malefico!!
Grazie cmq per l'interessamento.
Mario
-
- 2023-10-30 10:24:00
- Auto riconnessione script server
- Forum >> Programmazione Python >> Scripting
- Buongiorno a Tutti,sono abbastanza ignorante in materia.Ho provato a seguire alcune guide trovate in rete ma non sono riuscito risolver il mio problema.
Sto sviluppando un programma che interagisce, via ethernet, con un macchinario che monta un server phyton.
ho provato ad assemblare un piccolo script server (attingendo da script in rete) ,su lan, con python 2.7 (quello che monta il sistema) e fuziona discretamente (per le mie esigenze)
Il mio problema è che quando esco dal mio programma, lo script di py rileva una interruzione del socket,mi chiede di schiacciare un tasto e si chiude. a quel punto devo far ripartire lo script.
Non è che voglio la pappa pronta,ho provato diversi tentativi,ma non sono riuscito a risolvere.
Qualcuno mi potrebbe venire in aiuto correggendo /implementando il mio codice con la parte che mi serve?
In pratica, all'errore mi sta bene in messaggio ma se schiaccio il tasto,ritenta la connessione finche non è ripristinata.
Grazie a chiunque mi possa dare una mano
ps...questa riga dello script, sotto, è ripotata male (no parentesi quadre ma simboli) questa è la sintassi corretta > str(msg"parentesi quadra"0"chiude parentesi quadra" + ' Message ' + msg"parentesi quadra"1"chiude parentesi quadra"]
Mario
''' Simple socket server using threads ''' import socket import sys import time HOST = "192.168.0.18" # Symbolic name, meaning all available interfaces PORT = 49280 # Arbitrary non-privileged port s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) print 'Socket attivato' #Bind socket to local host and port try: s.bind((HOST, PORT)) except socket.error as msg: print 'Bind failed. Error Code : ' + str(msg0) + ' Message ' + msg1# questa riga è riportata senza le parentesi quadre #sys.exit() print 'Link socket completato' #Start listening on socket #s.listen(10) print 'In attesa....' #now keep talking with the client while 1: s.listen(10) #wait to accept a connection - blocking call conn, addr = s.accept() condition = True while condition: data=conn.recv(1024) #print 'Connected with ' + addr0 + ':' + str(addr1 )+repr(data) print 'Connected with ' + addr0 + ':' + str(addr1 ) print repr(data) stringa=repr(data) mystring='ssrecal' myok='NOTIFY sscurrent_ex ' r='OK ' + (data) conn.send(r.encode()) if mystring in stringa: print(">>>>>>-------Procedura richiamo scena") time.sleep(300/1000) #print(stringa[-12:]) myok=myok + (stringa[-12:]) conn.send (myok.encode()) #s.close()
-
- 2021-10-13 13:34:00
- Re: Tradurre un piccolo script Pyt in vb6
- Forum >> Programmazione Python >> Scripting
-
Ciao,
si PT sta per python.
Il mio programma l'ho gia compilato per utilizzare python e funziona alla grande.
Quello che vorrei fare è non utilizzare python.
Tramite il mio programma, scritto in vb6, comando via lan alcune apparecchiature che usano protocolli differenti.
Poco per volta sono riuscito a "tradurre" tutti i protocolli delle varie apparecchiature, in funzioni VB6.
Cosi facendo ho disiinstallato man mano i vari ocx o cose simili che venivano richiesti per pilotare le varie apparecchiature.
Ne è rimasto ancora uno...python che purtroppo non conosco.
Potrei studiarmi anche python...ma sinceramente non ho piu la testa per farlo.
Girando sulla rete trovi tantissimi esempi che girano all'interno dei singoli sistemi.
A me serve un "traduttore"...semplicemente
Ma ci sto arrivando... pian piano...
-
- 2021-10-12 11:48:16
- Tradurre un piccolo script Pyt in vb6
- Forum >> Programmazione Python >> Scripting
-
Ciao a Tutti,
Qualcuno mi saprebbe indicare come poter "tradurre" questo piccolo script in PT, in VB6
import sys import socket host ="192.168.1.27" port =49280 args = sys.argv no = int(args1) # connect socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(5) s.connect((host,port)) # Recalls a scene #command = ("ssrecall_ex scene_a " + str(no) + "\n").encode() command = ("set MIXER:Current/InCh/Fader/On " + str(no) + " 0 1\n").encode() #set MIXER:Current/InCh/Fader/On x 0 y s.sendall(command) # receive a message before closing socket s.recv(1500) # Closes socket s.close ()
Non conosco PT, ho letto la guida e mi sembra di capire che venga usato una connettiva IP4 con TCP e che la stringa COMMAND venga convertita tutta in Byte e spedita.
Ho provato a tradurre lo script in vb6 secondo questa idea...ma non funziona nulla
Qualcuno saprebbe darmi degli spunti?
grazie e buon proseguimento
Mario
-
- 2021-02-23 19:28:43
- Re: Stinga spedita su socket > Risolto
- Forum >> Principianti
- A beneficio di altri, ho risolto:
stringa = "set MIXER:Current/InCh/Fader/On 1 0 1" & vbLf
In pratica il "\n" che pensavo facesse parte del comando, in realta ho scoperto essere l'equivalent di VbLf
Quindi la sintassi della stringa diventa quella che riporto.
Buon proseguimento a tutti
Mario
-
- 2021-02-20 20:53:05
- Re: Problemi nel lanciare script py usando VB6
- Forum >> Programmazione Python >> Scripting
- Ciao...ho risolto lato VB6.
Un controllo sulla stringa rimaneva in loop.il # metteva in attesa un'altro script.
Grazie comunque per il supporto!!
Mario
-
- 2021-02-20 20:47:18
- Stinga spedita su socket : RISOLTO
- Forum >> Principianti
- Buongiorno a tutti,premetto che non conosco python.Ci devo lavorare per comandare un'apparecchiatura che accetta comandi tramite python.
Ho sviluppato un programma di gestione in vb6 e vorrei implementare queste stringhe di comando in modo da utilizzare il socket di vb6.
Qualcuno mi puo dire che tipo di stringa viene trasmesso da questo piccolo script py( utf8? utf16...altri paramentri?).
Ho letto della documentazione di pyton e mi pare che sia codificata in utf8.
Ho provato a spedirla tramite socket di vb6 codificato in utf8, ma non funziona ,mentre è ok da cmd con python.
Non è che magari i server python possono SOLO rispondere a client python (mi sembra strano...ma non voglio mettere limiti alla mia ignoranza)?set MIXER:Current/InCh/Fader/On 1 0 1\n
Qualcuno sa darmi qualche suggerimento?
Grazie a tutti
Mario
scritp in py.import socket # host ="192.168.0.17" port =49280 # s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host,port)) # s.sendall("set MIXER:Current/InCh/Fader/On 1 0 1\n".encode()) s.recv(1500) s.close
--- Ultima modifica di iz1kbp in data 2021-02-21 10:33:58 ---
--- Ultima modifica di iz1kbp in data 2021-02-21 10:34:18 ---
--- Ultima modifica di iz1kbp in data 2021-02-23 19:29:16 ---
-
- 2021-02-16 17:20:39
- Problemi nel lanciare script py usando VB6
- Forum >> Programmazione Python >> Scripting
- Buongiorno a tutti, premetto che non conosco python e magari sto facendo errori grossolani.
Devo comandare un'apparecchiatura tramite LAN ed il costruttore mi ha detto che tramite python posso eseguire alcune operazioni da remoto.
COmando gia altri apparati simili ma tramite seriale.
Il programma di controllo è scritto in VB6.
Uso python 2.7 perchè il sistema di apparecchiature è controllato da un pc con XP e non posso fare altrimenti
Per capire se funziona tutto il "giro software",prima programmare tutto, uso un tasto command e non faccio altro che lanciare >> shell ("python script_test.py") per vedere se
la macchina risponde regolarmente.
Il problema è questo:
lanciando il comando via shell all'interno di VB6 , si vede che viene aperta la finestra CMD ma la macchina non risponde.
Lanciando lo stesso scrip ma in maniera manuale da CMD aperta, lo script funziona.
Lo scrip è residente nella dir del programma.Il path del sistema è corretto.
Lo script è molto semplice...ma non capisco questo comportamento.
Qualcuno mi puo dare degli spunti?
Grazie e scusate
Mario
# Imports socket from Python import socket # Host is console's IP host ="192.168.0.128" # Port must be 49280 port =49280 #Establishes variables and connects to console s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((host,port)) # Recalls scene A0 s.sendall("ssrecall_ex scene_a 0\n".encode()) # receive a message before closing socket s.recv(1500) # Closes socket s.close ()
--- Ultima modifica di iz1kbp in data 2021-02-16 17:21:11 ---