Simoand Inserita: 23 ottobre 2010 Autore Segnala Inserita: 23 ottobre 2010 Scusa aleandro ho un problemino...Private Sub ObjTimer1_Timer()Dim Out1_Dimmer43 As Byte Out1_Dimmer43 = XComm1.DTHP(1101, 1, 1, 1)If Out1_Dimmer43 = 0 ThenSet Label.Picture = Label_Spenta.PictureElseSet Label.Picture = Label_Accesa.PictureEnd Ifho messo una lampada di abs sotto label però non riesco ad accenderla mentre se utilizzo il codice Label.visible=true mi funziona, riesci magicamente a capire cosa sbaglio? quando faccio partire il programma mi dice methoh or data member not found
del_user_56966 Inserita: 23 ottobre 2010 Segnala Inserita: 23 ottobre 2010 riesci magicamente a capire cosa sbaglio?non ho ancora quel dono ma mi sto attrezzando.. Prima di tutto metti la funzione OPTION EXPLICIT all'inizio del form, cosi gli errori verranno identificati direttamente!Option ExplicitPrivate Sub ObjTimer1_Timer() ' //Questo dovrebbe andare bene se c'è l'evento anche l'oggetto è presente?Dim Out1_Dimmer43 As Byte ' // Questo è meglio se lo metti come Word un Byte è 8 bit le DTHP sono a 16 bitOut1_Dimmer43 = XComm1.DTHP(1101, 1, 1, 1) If Out1_Dimmer43 = 0 Then Set Label.Picture = Label_Spenta.Picture ' Sei sicuro che i nomi degli oggetti sono tutti corretti?? Else Set Label.Picture = Label_Accesa.Picture End IfEnd Sub '// questo nella tua Routin mancava!!
Simoand Inserita: 24 ottobre 2010 Autore Segnala Inserita: 24 ottobre 2010 Dim Out1_Dimmer43 As Byte ' // Questo è meglio se lo metti come Word un Byte è 8 bit le DTHP sono a 16 bitNon chiedermi perchè ma word non me lo prende!Set Label.Picture = Label_Spenta.Picture ' Sei sicuro che i nomi degli oggetti sono tutti corretti??Ecco forse qui mi sbaglio io ho solo inserito una lampada come nome Label!Comunque quando mi da l'errore mi si evidenzia Private Sub ObjTimer1_Timer() e anche il .Picture dopo il set Label
del_user_56966 Inserita: 24 ottobre 2010 Segnala Inserita: 24 ottobre 2010 Non chiedermi perchè ma word non me lo prende!su VB6 puoi inserire il formato Long mentre su VB.NET quello Integer...
Simoand Inserita: 26 ottobre 2010 Autore Segnala Inserita: 26 ottobre 2010 (modificato) Ciao Aleandro ho fatto un miliardo di prove e ho cercato qualche suggerimento in internet ma non sono riuscito a risolvere il problema tu hai trovato qualcosa? ti ringrazioAnzi ti fermo perchè ho ricevuto la mail che nella prossima versione di ABS implementano anche la lampada per regolazione dimmer però non so a chi chiedere e quando uscirà, speriamo presto... Modificato: 26 ottobre 2010 da Simoand
del_user_56966 Inserita: 27 ottobre 2010 Segnala Inserita: 27 ottobre 2010 però non so a chi chiedere e quando uscirà, speriamo presto...sempre presso il tuo fornitore, se non è statico... infatti non tutti si aggiornano in tempo reale alle ultime versioni dei softwarequesto noto che vale sia per il LadderHome che per il framework ABS!
Simoand Inserita: 28 ottobre 2010 Autore Segnala Inserita: 28 ottobre 2010 Scusami aleandro sono tornato con il dimmer , ho installato la versione 8.18 di abs però ho messo la lampada con lo stesso codice del command ovvero mousedown-mouseup ma non riesco a comandare niente tu hai qualche suggerimento? ti ringrazio
del_user_56966 Inserita: 30 ottobre 2010 Segnala Inserita: 30 ottobre 2010 ho messo la lampada con lo stesso codice del command ovvero mousedown-mouseup ma non riesco a comandare nientedetto cosi però non dice molto, che codice metti?cosa vuoi comandare di preciso, ai fatto un test da H&B per vedere se la funzione viene eseguita correttamente e se tutto è on-line?? prima di insistere da codice??
Simoand Inserita: 30 ottobre 2010 Autore Segnala Inserita: 30 ottobre 2010 detto così però non mi dice molto che codice metti?Private Sub Lamp1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)Out1_Dimmer43 = XComm1.WR(2, 1, 1, 1, "pippo")End SubPrivate Sub Lamp1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)Out1_Dimmer43 = XComm1.WR(2, 1, 1, 0, "pippo") End SubI test li ho fatti anche perchè se metto il normale comando Lamp1_Press mi accende il relè R2 e di conseguenza l'uscita quindi molto probabilmente sbaglio qualcosa nel codice?
del_user_56966 Inserita: 30 ottobre 2010 Segnala Inserita: 30 ottobre 2010 Si direi che sbagli il tipo di comando questa riga assegna a Out1_Dimmer43 il valore di WR2 (%MX400.2)Out1_Dimmer43 = XComm1.WR(2, 1, 1, 1, "pippo")per fare un comando non devi usare l'assegnazione e quindi nessuna parentesi...il comando corretto quindi è questo...Private Sub Lamp1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)XComm1.WR 2, 1, 1, 1, "pippo"End SubPrivate Sub Lamp1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)XComm1.WR 2, 1, 1, 0, "pippo"End Submentre per la lettura con...Out1_Dimmer43 = XComm1.WR(2, 1, 1)come vedi non serve ne valore ne password!...
Simoand Inserita: 31 ottobre 2010 Autore Segnala Inserita: 31 ottobre 2010 Scusami Ale ma il problema continua ad esserci da Vb6 mi dè proprio compile error sul codicePrivate Sub Lamp1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
del_user_56966 Inserita: 31 ottobre 2010 Segnala Inserita: 31 ottobre 2010 il problema continua ad esserci da Vb6 mi dè proprio compile errorquesto è un errore di compilazione di VB6 quindi devi capire cosa ti segnala l'ambiente IDEe correggerlo... il debug lo vedi tu mica si può fare debug su che fa debug...
del_user_56966 Inserita: 31 ottobre 2010 Segnala Inserita: 31 ottobre 2010 Ps: se sai utilizzare il linguaggio HTML quello standard per i siti WEBnon ti conviene iniziare con questo che per alcune cose è anche più semplice?la sintassi delle funzioni XComm su Web è molto simile al Visual Basic quindi capita questa la puoi testare sulle varie IDE...WEB, VB6, VB.NET ecc..
Simoand Inserita: 31 ottobre 2010 Autore Segnala Inserita: 31 ottobre 2010 No non so utilizzare bene neanche quel linguaggio forse vb è meglio visto che ho qualche ricordo dalla scuola...mah credevo che se hai fatto delle prova ti fosse venuto fuori anche a te il problema, boh allora provo a capire qualcosa in più
del_user_56966 Inserita: 31 ottobre 2010 Segnala Inserita: 31 ottobre 2010 credevo che se hai fatto delle prova ti fosse venuto fuori anche a te il problema,il debug di VB ti indica l'errore in modo preciso cerca di capire cosa sta indicando!...
Simoand Inserita: 31 ottobre 2010 Autore Segnala Inserita: 31 ottobre 2010 Mi scrive Procedure declaration does not match description of event or procedure having the same name... l'ho anche tradotto ma detto col cuore non ci ho capito niente
del_user_56966 Inserita: 31 ottobre 2010 Segnala Inserita: 31 ottobre 2010 Significa che la procedura di evento dell'oggetto non è la stessa dichiarata nel codice,accade spesso quando l'oggetto viene modificato da singolo a oggetto indicizzato...fai cosi!copia il codice di attivazione e disattivazione, elimina gli oggetti a video e i loro eventicopia un nuovo oggetto sul form e poi senza fare copia e incolla di questo prendine uno dalla barra dei controllicosi non fai copie del primo...adesso crea un evento facendo click sul primo oggetto e incolla il codice d'attivazione e poiripeti per il secondo...se è tutto corretto devi avere due eventi distinti uno per oggetto!...
Simoand Inserita: 31 ottobre 2010 Autore Segnala Inserita: 31 ottobre 2010 Allora vediamo se ho capito bene:mi copio il codice mousedown-mouseupelimino tutti gli altri oggetti meglio se magari apro un progetto nuovoinserisco due oggetti lampada senza fare copie quindi tutti e due presi dalla barrasul primo iserisco il codice mousedown e sul secondo mouseupcosì se tutto è giusto uo accendo e uno spengo giusto?nel form ho quindi solo due lampade e l'oggetto sincronizzatore ok?
del_user_56966 Inserita: 31 ottobre 2010 Segnala Inserita: 31 ottobre 2010 Si secondo me l'evento che è adesso nel codice non è corretto rispetto agli oggetti realmente inseriti...ma non serve un nuovo progetto basta correggere il codice degli eventi!...
Simoand Inserita: 1 novembre 2010 Autore Segnala Inserita: 1 novembre 2010 Ale ho fatto come mi hai detto ma la fortuna non mi assiste Il nouvo progetto ha due lampade ABS Object control timer e XComm++, se metto il codice normale Lamp_press le lampade fanno il loro lavoro una volta cambiato in Lamp_mousedown mi esce sempre il solito errore Non è che per caso anche se ho aggiornato ABS gli oggetti sono rimasti quelli vecchi? Impossibile giusto?
Simoand Inserita: 1 novembre 2010 Autore Segnala Inserita: 1 novembre 2010 Allora sono riuscito a risolvere il problema eliminando (Button As Integer, Shift As Integer, X As Single, Y As Single) quindi ho lasciato solo Private Sub Lamp1_MouseDown e sembra funzionare ma secondo te Ale senza quel pezzo di codice va bene lo stesso?Adesso passiamo al passo successivo che però avevamo gia affrontato vorrei che questa benedetta lampadina oltre che a comandare si accendesse anche quindi nelle proprietà si può mettere un relè (credo proprio di no) o qualcos altro in parallelo all'uscita dimmer che quando è On mi fa accendere la lampada? grazie
del_user_56966 Inserita: 1 novembre 2010 Segnala Inserita: 1 novembre 2010 Private Sub Lamp1_MouseDown e sembra funzionare ma secondo te Ale senza quel pezzo di codice va bene lo stesso? ma tu stai scrivendo il codice degli eventi manualmente??per gestire il codice dell'evento devi solo sceglierlo dalla lista e il codice necessario lo scrive VB per te e senza errori!...sai che ancora stento a capire cosa ci vuoi fare con sto benedetto dimmer?i pulsanti con MouseUP e MouseDown equivalgono alla pressione dei pulsanti fisici connessi alla libreria RAMPDIMin questo caso in parallelo al pulsante fisico metti un relè tipo il %MX400.0 e ti fai una deviazione tra pulsante a parete e quello a video...ma se vuoi mettere a un determinato valore il dimmer devi scrivere questo valore direttamente nel reference...valore = zero spegne il dimmer e valore = 100 accende al massimo, un altra soluzione e quella di premere velocemente il pulsante per commutare il valore anche da video e tenere premuto se invece vuoi regolare l'intensità...
Simoand Inserita: 1 novembre 2010 Autore Segnala Inserita: 1 novembre 2010 Scusa Ale ma sono abbastanza ignorante di Vb mi ricordo solo qualcosa dalle scuole comunque io ho già messo il relè in parallelo ai miei pulsanti fisici e funziona tutto correttamente quello che vorrei fare adesso è vedere che la lampada che utilizzo per comandare l'uscita 1 del dimmer mi si deve accendere quando l'uscita è accesa ma dalle proprietà non lo posso fare vero? devo metterci un codice?
del_user_56966 Inserita: 2 novembre 2010 Segnala Inserita: 2 novembre 2010 Il problema è di fondo tu vuoi vedere accendere una lampada che è di tipo On-Off con un valore dimmer cheal contrario varia tra 0 e 100% per fare questo ti conviene usare questo codice dentro un ciclo timer con tempi compresi tra 400 e 600 mSIf XComm1.DTHP ( registro, 1,1,1) > 0 then XComm1.K1 (1,1) = trueelse XComm1.K1 (1,1) = falseend ifnella voce "Registro" metti il registro dove il RAMPDIM scrive l'uscita 0-100% che va allo specifico dimmer da controllare...in questo caso quando l'uscita è maggiore di 0 il relè di sistema locale è vero mentre se il dimmer è a zero il K1-1 è falsopoi nello status della lampada metti la risorsa K1 con indirizzo = 1e questa si attiva di conseguenza!
Simoand Inserita: 2 novembre 2010 Autore Segnala Inserita: 2 novembre 2010 Scusa Ale ma i registri DTHP sono come i Relè R ovvero se voglio comandare la stessa uscita ne devo mettere uno in parallelo?Non riesco a capire perchè facendo delle prove da Test I/O se comando DTHP 2000 (il mio Dimmer) mi si accendono tutte le 4 out quando però comando DTHP 1000 che comanda solo la 1 out non mi fa niente quindi perchè se entrambi sono sotto un programma uno va e l'altro no?Private Sub ObjTimer1_Timer()If XComm1.DTHP(1000, 1, 1, 1) > 0 ThenXComm1.K1 1, 1 = TrueElseXComm1.K1 1, 1 = FalseEnd IfEnd SubQuesto è il codice che ho messo ma anche se da ladder vedo il registro 1000 a 100 la lampada non vuole accendersi è forse perchè il registro 1000 ha già una sua logica che lo comanda?ti ringrazio
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