结合“事件结构”和“属性节点”就可以完成,如下:
前面板
注意,这里数组2属性节点的创建方法如下:
必须要是“值(信号)”,单单创建“值”属性是不行的。因为labview不会捕捉由程序产生的“值改变”事件。“值(信号)”属性节点是只读的,对它的写 *** 作和在前面板手动修改的结果是一样的。值得注意的是,只要是对其进行了写 *** 作,那么就会触发值改变事件。
上面这个例子中,左边的循环中不断的给“数值2”赋值,会触发右边的事件结构。每当数值2的值改变时,就会将新值赋给数值3.注意,就算每次给数值2赋一个相同的常量,也会触发事件结构。
labview中除非使用了顺序结构,否则程序本来默认就是并行运行的。
调用Labview中的VISA,这个是用于电脑串口控制的vi,先进行串口设定,然后根据PLC的通讯格式编写通讯指令。
1.通用数据寄存器(D0~D199)共200点。当M8033为ON时,D0~D199有断电保护功能;当M8033为OFF时则它们无断电保护,这种情况PLC由RUN →STOP或停电时,数据全部清零。2.断电保持数据寄存器(D200~D7999)共7800点,其中D200~D511(共12点)有断电保持功能,可以利用外部设备的参数设定改变通用数据寄存器与有断电保持功能数据寄存器的分配;D490~D509供通信用;D512~D7999的断电保持功能不能用软件改变,但可用指令清除它们的内容。根据参数设定可以将D1000以上做为文件寄存器。3.特殊数据寄存器(D8000~D8255)共256点。特殊数据寄存器的作用是用来监控PLC的运行状态。如扫描时间、电池电压等。未加定义的特殊数据寄存器,用户不能使用。具体可参见用户手册。4.变址寄存器(V/Z)FX2N系列PLC有V0~V7和Z0~Z7共16个变址寄存器,它们都是16位的寄存器。变址寄存器V/Z实际上是一种特殊用途的数据寄存器,其作用相当于微机中的变址寄存器变,用于改变元件的编号(变址),例如V0=5,则执行D20V0时,被执行的编号为D25(D20+5)。变址寄存器可以象其它数据寄存器一样进行读写,需要进行32位 *** 作时,可将V、Z串联使用(Z为低位,V为高位)。
首先你对移位寄存器的赋值是错的,下一次的赋值并不是input data里面的下一个元素。赋值的是i+1,也就是1,2,3,这就不难解释为什么异或出来的有2和3了。
其次,你的数组输出那里有问题,要么你启用自动索引,那么出来的是一个二维数组,输出二维数组之后再转换成一维数组。或者采用以下方法,追加数据,直接输出一维数组。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)