Det har 3 st National Instruments, 2 st USB-6502 och en USB-6002.
Jag kan adressera portar, styra Analog Out osv. men jag har ett konstigt problem som kanske beror på att jag griper hela alltet fel an.
Jag har 2 st portar för att styra 16 st On/Off, 2 st portar för att styra 16 st LED, 2 st portar för att styra Hög/Låg spänning. Alla portar har 8 bit.
Jag har 4 bit av en port som styr ett adressval, 4 andra bit för att styra ett annat adressval.
Exempel på hur jag uppdaterar On/Off-bitsen:
Kod: Markera allt
task = nidaqmx.Task()
task.do_channels.add_do_chan('Dev3/port1/line0:7')
task.start()
task.write(Power_bits & 255)
task.stop()
task.close()
task = nidaqmx.Task()
task.do_channels.add_do_chan('Dev3/port2/line0:7')
task.start()
task.write((Power_bits >> 8) & 255)
task.stop()
task.close()
Jag får lite felmeddelanden som jag inte fattar. De är inte identiska och skriver jag till en port på en NI-enhet och gör exakt det samma på den andra (fast med ändrat device-namn) ger det fel.
ALLA task blir avslutat i varje operation.
Om jag lägger in att den ska vänta på att en task blir klar - för en Digital Out-funktion får jag fel för det.
Men är det jag som har klantat mig?
Ska jag i verkligheten definiera alla task FÖRST (med unika namn), och SEDAN - genom alla använda funktioner - skriva till dessa öppna task?