西门子6ES7212-1BB23-0XB8现货供应
PLC基本指令及程序设计(S7-200为例)
一、PLC的基本逻辑指令
1、逻辑取及线圈驱动指令
1-1:逻辑取及线圈驱动指令:LD(load)、LDN(load not)、=(out) LD:用于网络块逻辑运算开始常开触点与母线的连接 LDN:取反指令,常闭触点与母线连接 =:线圈驱动指令 注:1、在分支电路块开始也要用LDLDN 2、并联的=可连续使用多次 3、在同一程序中不能用双线圈输出!!!即任一元件在程序中只能使用一次=指令 4、T和C作为输出线圈时不用=
1-2:取反指令NOT:逻辑取反。
2、触点串联指令
A(and)、AN(and not) A:与指令。用于单个常开触点的串联 AN:用于单个常闭触点的串联 注:1、A/AN可连续使用多次 2、连续输出电路可反复用=(不是在分支处,而是连续的输出(即在紧贴线圈之前)) 3、AAN操作数为:I Q M SM T C V S L
3、触点并联指令
O(or) ON(or not) O:或指令。用于单个常开触点的并联连接 ON:或反指令。用于单个常闭触点的并联连接 注:1、O/ON可连续使用
4、置位、复位指令
S bit,N(从bit位开始连续N个元件置1) R bit,N(从bit位开始连续N个元件清零) 注:1、两者对立,保持作用只有当相对的作用时才会释放。 2、S/R可以互换次序使用,写在后面的指令具有优先权 3、对T C复位 当前值被清零,但有其特殊性,后面说 4、N的常数范围0-255 也可用变量,一般用常量。
5、RS触发器指令
SR(Set Dominant Bistable):置位优先触发器指令。当置位信号(S1)和复位信号(R)都为真时,输出为真。 RS(Reset Dominant Bistable):复位优先触发器指令。 两个为RS触发器,不同的是在同时输入为1(S=R=1)时,哪个优先
6、立即指令
不受PLC循环扫描工作方式的影响。
立即取 LDI bit(I) 立即取反 LDNI bit(I) 立即或 OI bit(I) 立即或反 ONI bit(I) 立即与 AI bit(I) 立即与反ANI bit(I)
立即输出 =I bit
立即置位 SI bit,N(0~128)
立即复位 RI bit,N(0~128)
考虑到稳定性和快速执行,一般不用立即指令
7、边沿脉冲指令
EU(Edge Up) 在上升沿产生脉冲 ED(Edge Down) 在下降沿产生脉冲
(!!注:脉冲宽度为一个扫描周期,所以在程序的其他地方可以用到在此指令之后的线圈)
8、串联电路块的并联连接指令(OLD)
注意:1、块电路的开始也要用LD/LDN指令 2、每次完成一次块电路的并联时写上OLD命令(在并联完成之后) 3、OLD无操作数
实质:块电路完成逻辑运算后,结果存放在堆栈栈顶,OLD指令把栈顶上面两层的内容进行“或"操作,再将结果存放在栈顶。
Step 7系统中使用CFC编程时,通过编译CFC系统将自动生成所需的程序代码。但为了防止CPU故障情况下停机,则需要手动在Blocks文件夹中添加错误处理OB(例如OB86等)。但重新编译CFC后,这些手动添加的OB则会被系统删除。 1. 打开项目,在Blocks文件夹中右键插入一个FB
2. 定义FB块的块号及符号名,避免和项目中实际使用的FB冲突。
3. 切换到属性页面,加入属性S7_tasklist属性,值(Value)设置为OB80,OB81,OB82,OB83,OB84,OB85,OB86,OB88,OB121,OB122。各OB之间通过逗号隔开。点击OK关闭该功能块的属性定义对话框。(注意标点符号不能使用中文的全角标点符号)
4. 双击打开该功能块,任意定义一个输入管脚,如下图所示。
5. 任意打开一个CFC,并在CFC中调用该功能块即可。
6. 编译CFC后,系统将会根据上述定义自动生成相应的错误处理OB,防止相应错误发生时CPU停机。
注:使用PCS 7进行程序编写时,无需按照上述方面系统即可自动生成所需的OB。 |