对不起,我没能理解您的上一个问题。希望您能再详细解释下您的需求。比如,某Analog Input module有4个输入通道,您是想让这四个通道的四个输入数据放到一个数组中?
Wendy
嗯,是这样的。比如说是在使用9215的时候,某一通道按照一定的采样率采集模拟信号,然后是将这些数据存放在一个数组中。最后是按照一定的传输速率传输出去。我现在是在使用UDV变量将这个数据传递到第三方的控制软件中。还有就是我们的UDV变量是通过什么样的原理通过EtherCAT将数据传输到第三方设备的?谢谢您!
您好。很遗憾如果是要通过EtherCAT来读取FPGA数据,需要传输出去一个数组的数据时,您必须要通过循环一个一个元素地通过UDV传递到外面,你可以通过控制循环的频率来控制传输速率。
有关通过UDV变量通过EtherCAT传输数据的原理,这里给您稍作解释,FPGA的输出数据通过DMA将数据放在PDO的buffer内,EtherCAT master (无论是第三方master设备还是NI master设备都如此)会定期到PDO buffer去取数据。这样就实现了数据的传递。有关PDO的概念,即process data object,其实是一组IO channels,无论是module,还是UDV,它们都是IO channel,EtherCAT为这些IO准备了data buffer,分TX Buffer和RX Buffer。
后期如果有任何有关EtherCAT的疑问我可以帮忙的,请依然联系我。
Wendy
谢谢您,但是我在NI官网上看到了关于9232的最低版本的支持软件:见下图:(http://www.ni.com/product-documentation/10622/en/)
这个说明是支持EtherCAT的啊?
您好,可以看到您贴的这张图里,高亮的EtherCAT software所在表格的列是“EtherCAT(FPGA Interface)”,所以您只能在FPGA Target下面使用该module:
您之前应该是在slave上右击去发现module,此时用的是Scan Interface所以您才会看到不支持的警告。FPGA的Interface并不是EtherCAT driver team开发的。
Wendy