![]() |
auf RS 232 schreiben - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: Weitere NI Software (/Forum-Weitere-NI-Software) +---- Forum: DIAdem (/Forum-DIAdem) +---- Thema: auf RS 232 schreiben (/Thread-auf-RS-232-schreiben) |
auf RS 232 schreiben - h_k - 10.12.2007 15:19 Hallo, möchte ein externes Gerät über COM1 ansprechen. Über den Schnittstellenmotitor funktioniert es aber... Ich möche das Ganze über VBS machen. Zwar sendet mein Programm manchmal was aber nicht so wie ich das will. Mit Sub SFD_WriteChannel( ChannelNumberP, ParamP, DataP, DoneP, ErrorP ) kann ich auf die vorher mit Call SFDU_COMInit(oUDIM,"COM1,9600,N,8,1") geöffnete Schnittstelle schreiben. Jetzt kann ich ja mit SFD_WriteChannel nicht den Input-Kanal lesen wie mit Sub SFD_ProcessChannel( ChannelNumberP, InputListV, ParamP, DataP, ErrorP ) Ich muss jeweils auf Aktion der Schnittstelle einen String übergeben. Dieser String kann fest im VBS deklariert werden text1 = "0GR500:XX" Genauer gesagt sind es zwei Aktionen mit jeweils einen String. Jetzt habe ich Versucht die internen Variablen text1 und text2 im MSR so zu setzen das ich im VBS die Aktionen auslöse - aber das funktioniert nicht so wie ich das meine. Sub SFD_WriteChannel( ChannelNumberP, ParamP, DataP, DoneP, ErrorP ) if channelnumberP = 0 then if L1 = 1 then call oUDIM.Write(text1) end if if L2 = 1 then call oUDIM.Write(text2) end if end if end sub auf RS 232 schreiben - Carpe_DIAdem - 11.12.2007 08:12 Hallo h_k, es scheint, als würde folgendes noch fehlen (in blau): if L2 = 1 then call oUDIM.Write(text2) end if end if ' Hier fehlt ein DoneP=1 damit der Treiber erkennen kann, dass die Funktion abgearbeitet ist. Ich vermute, dass das der Grund ist, warum das Script nicht richtig läuft end sub Wenn das nicht zum Erfolg führt, benötige ich weitere Infos zu dem, was du genau machen möchtest. Carpe DIAdem auf RS 232 schreiben - h_k - 11.12.2007 15:20 Hallo Carpe DIAdem, das DoneP = 1 war drin, hab ich nur vergessen reinzukopieren. Ich habe schienbar ein ganz anderes Problem. Ich moche abwechseln zwei verschiedene Strings versenden. Diese können vorerst fest im VBS definiert sein. Als Taktgeber möchte ich einen Generator im MSR verwenden. Das Signal über zwei Flankentrigger laufen lassem --> die Steuersignale ind Daten wandeln --> und dann wollte ich eigenlich diesen Wert in L1 und L2 schreiben und auf L1 und L2 im Script wieder zugreigen. Soweit ich gesehen habe funktioniert ja SFD_ProcessChannel nicht, dort könnte ja gleich mit den Daten arbeiten. Jetzt muss ich aber scheinbar den Umweg über die Variablem machen. Aber wie stelle ich es an, das L1 und L2 nur jeweils für einen Taktzyklus auf 1 gesetzt werden? mfg Heinz auf RS 232 schreiben - Carpe_DIAdem - 07.01.2008 08:37 Hallo Heinz, wenn du Daten senden ("ausgeben") möchtest, solltest du einen DAC-Script-Ausgabe-Block einsetzen. De bekommt Daten - z. B. deine in Daten gewandelten Steuersignale - kann diese verarbeiten und ausgeben. Carpe DIAdem |