在西门子PLC中,使用局部变量定义变量时有什么方式来判断呢。我老是弄混,有能说的容易懂得先谢了。

2024-12-03 18:52:23
推荐回答(4个)
回答1:

局部变量里的是临时数据,一般FC里用的比较多,打开FC,在顶端会让你定义IN,IN-OUT,OUT等等,比如你有4个电机,操作都一样,那么你要写一个电机启停的程序,在这个程序里你定义了启动,停止,运行输出,然后对FC用局部变量编程,编好后在OB里调用,要启动第一个电机,调用FC1,在FC1的输入输出把第一个电机的启动停止运行输出的实际地址写在相应的引脚,如I0.0,I0.1,Q0.0等,要启动其它的电机用类似调用,那么实际上你的内存里有三个局部变量的地址,你在第一次调用放第一个电机的值,给到输出,在第二个电机被调用时,它的地址里放的又是第二个电机的相关数据,可以看到它里面的数据一直在变,但由于程序在循环执行所以并不影响程序的正确执行。而这些局部变量可以看到只在FC1里有用
全局变量,比如你在符号表里定义一个MW0,那么你在程序里的任何一个块里都可以使用,并且比如你在FC1里给MW赋值一个数,那么当FC1被调用时,其它地方的MW0里的值也会跟着变为最新被给定的值
希望你能看得懂

回答2:

局部存储器和变量存储器很相似,但只有一处区别。变量存储器是全局有效的,而局部存储器只在局部有效。全局是指同一个存储器可以被任何程序存取(包括主程序、子程序和中断服务程序)。局部是指存储器区和特定的程序相关联。S7--200给主程序分配64个局部存储器;给每一级子程序嵌套分配64个字节局部存储器;同样给中断服务程序分配64个字节局部存储器。
子程序或者中断服务程序不能访问分配给主程序的局部存储器。子程序不能访问分配给主程序、中断服务程序或者其它子程序的局部存储器。同样的,中断服务程序也不能访问分配给主程序或子程序的局部存储器。
S7--200 PLC根据需要分配局部存储器。也就是说,当主程序执行时,分配给子程序或中断服务程序的局部存储器是不存在的。当发生中断或者调用一个子程序时,需要分配局部存储器。新的局部存储器地址可能会覆盖另一个子程序或中断服务程序的局部存储器地址。
局部存储器在分配时PLC不进行初始化,初值可能是任意的。当在子程序调用中传递参数时,在被调用子程序的局部存储器中,由CPU替换其被传递的参数的值。局部存储器在参数传递过程中不传递值,在分配时不被初始化,可能包含任意数值。

你的提问不是很懂,反正你看看上面就能解决

回答3:

“使用局部变量定义变量时有什么方式来判断呢? ”这是你的问题??

回答4:

FC,FB内部定义的变量,使用时前面带#的就是局部变量了。