西门子PLC中存储区分类有I、Q、M、SM、V、L、S、C、T,他们在编程时用处不同
I存储区是输入触点,可以接收外部的电平信号
Q存储区是输出触点,用于提供电平信号
M为中间继电器触点,一般我们编程时多用于标志位
L为临时变量存储区,如LD10,这个变量只在当前的程序段内起作用,调用子程序后或者子程序调用结束返回后临时变量中的数值就可能丢失了。
D不是存储区也不是触点,这个一种数据类型,表示双字或实数类型,包含32个位,4个字节。
我不清楚您说的是STL(语句表)指令中的L还是内存地址前缀L。如果是指令中的L,它代表Load,也就是装载的意思,将 *** 作数的内容装载到累加器1中,例如:
L MB0//将字节地址MB0中的数据加载到累加器1(ACCU1)中去。
如果是类似于M这样的地址前缀的话,那么L代表系统临时区域,这个区域系统负责分配,但不会管里面的内容,也就是说,这个地方系统只管分配给需要使用这个区域的程序使用,但是不会清除其中的内容,因此这个区域需要先赋值,后使用,例如:
L LW0 //将临时地址LW0中的数据装载到累加器1中去。
典型的使用L区域的是西门子PLC中的功能(FC),FC中间的输入输出变量采用L区域,因此请务必遵守先赋值,后使用的原则,因为这个区域FC调用完成后,就有可能被分配给其他FC使用,这个区域不一定从头到尾都使用同一个地址。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)