260 likes | 624 Vues
AB PLC. 高级指令. 主讲:宫周炜. 西安理工大学自动化学院信控系. 一、练习. 二、上升沿触发指令( OSR ). OSR 为一条输出指令 操作数: Storage Bit (存储位) 数据类型: BOOL 格式: 标签 说明: 内部存储位。存储指令最近一次执行的梯级 输入条件. 操作数: Output Bit (输出位) 数据类型: BOOL 格式: 标签 说明: 被设置的位. 说明: OSR 指令根据存储位的状态置位或清零输出位。 如果指令被使能时存储位置位,则 OSR 指令置位输出位。
E N D
AB PLC 高级指令 主讲:宫周炜 西安理工大学自动化学院信控系
二、上升沿触发指令(OSR) OSR 为一条输出指令 操作数: Storage Bit(存储位) 数据类型: BOOL 格式: 标签 说明:内部存储位。存储指令最近一次执行的梯级 输入条件 操作数: Output Bit(输出位) 数据类型: BOOL 格式: 标签 说明:被设置的位
说明: OSR指令根据存储位的状态置位或清零输出位。 如果指令被使能时存储位置位,则OSR指令置位输出位。 如果使能时存储位置位禁止,则OSR指令清零输出位。
分析 每次开关Start从清零状态变为置位时,OSR指令置位输出位1并且ADD指令的和加5.只要Start保持置位。和的值就保持不变。必须在Start再次从清零变为置位,和的值才再增加。 下降沿触发指令(OSF)
三、算术指令 计算指令(CPT) 加法指令(ADD) 减法指令(SUB) 乘法指令(MUL) 除法指令(DIV) 平方根指令(SQR) 取反指令(NEG)
计算指令(CPT) CPT 为一条输出指令 操作数: Dest(目标单元) 数据类型: SINT INTDINT REAL 格式: 标签 说明:存储结果的标签 操作数: Expression(表达式) 数据类型: SINT INTDINT REAL 格式: 立即数 标签 说明:表达式由运算符分开的标签、 立即数组成
说明: CPT指令表达式执行表达式中定义的算术运算。当指令被使能时,CPT指令表达式的数值并且存放结果于目的单元内。 与其他算术指令相比,CPT指令的运算速度稍慢而且占用更多的内存。CPT指令的优点是它允许用户在一条指令内输入复杂的表达式 有效运算符:
运算顺序 指令按预先规定的顺序,而不必按用户列出的顺序,执行写入表达式的运算。可以通过把分组项组合到圆括号内来改变运算顺序,强制指令在执行其他运算之前执行圆括号内的运算,来改变运算顺序。 同级的运算顺序是从左向右执行。 顺序: 顺序符: 1 ACS,ASN,ATN,COS,DEG,FRF,LN, LOG,RAD,SIN,SQR,TAN,TOD 2 ** 3 -(取反),NOT 4 *,/ 5 -(减),+ 6 AND 7 XOR 8 OR
补充 在计算中可以用混合数据类型,但是会损失精度,也可能发生 取整误差。而且指令执行时间长。 最优数据类型是指:如果指令的所有操作数都是用相同的最优 数据类型,则指令执行速度快且占内存小。典型的最优数据类 型是DINT或REAL 在每次梯级扫描时,只要梯级输入条件为真,计算/算术指令就 执行一次。如果希望表达式只计算一次,则需要用一次相应指 令了来触发该指令。
加法指令(ADD) ADD 为一条输出指令 操作数: SourceA/B(源A/B) 数据类型: SINT INTDINT REAL 格式: 立即数标签 说明:与源B/A操作数相加的值 操作数: Dest(目的单元) 数据类型: SINT INTDINT REAL 格式: 标签 说明:存放计算结果的标签 ADD指令使源A操作数与源B操作数相加 并存放计算结果与目标单元
减法指令(SUB) 乘法指令(MUL) 除法指令(DIV) 平方根指令(SQR) 取反指令(NEG)
练习: 设计梯形逻辑图,根据勾股定理计算直角三角形的斜边 主输送带有两个输送带送料。一个给6包,一个给8包 两个输送带都有计数器。记录离开输送带的包裹。设计 一个程序来获得中主输送带上的总数
四、移动指令 传送指令(MOV) 屏蔽传送指令(MVM) 清零指令(CLR)
传送指令(MOV) MOV为一条输出指令 操作数: Source(源) 数据类型: SINT INTDINT REAL 格式: 立即数标签 说明:被传送(复制)的数值 操作数: Dest(目的单元) 数据类型: SINT INTDINT REAL 格式: 标签 说明:存储结果的标签 MOV指令复制源操作数到目标单元。源操作数保持不变。
屏蔽传送指令(MVM) MVM为一条输出指令 操作数: Source(源) 数据类型: SINT INTDINT 格式: 立即数标签 说明:被传送的数值 操作数: Dest(目标单元) 数据类型: SINT INTDINT 格式: 标签 说明:存储结果的标签 操作数: Mask(屏蔽) 数据类型: SINT INTDINT 格式: 立即数标签 说明:阻止或通过的位
MVM指令复制源操作数到目标单元。并且允许部分数据被屏蔽。源操作数保持不变。MVM指令复制源操作数到目标单元。并且允许部分数据被屏蔽。源操作数保持不变。 当指令被使能时,MVM指令通过屏蔽传送或阻止源数据位。屏蔽位的一个1值意味着位数据可以通过。屏蔽位的一个0值意味着位数据被阻止。 当输入立即数作为屏蔽值时,软件默认是十进制。如果需要其他进制格式,可以在数值前加相应的前缀。程序会自动转换
清零指令(CLR) CLR为一条输出指令 操作数: Dest(目的) 数据类型: SINT INTDINT REAL 格式: 标签 说明:被清零数据的标识符 CLR指令清零目的单元的所有位
练习: 一个微动开关操作一个计数器,计算从传送带上下来要装入运输纸箱中的塑胶小球。不同尺寸的小球使用相同的传送带和相同尺寸的纸箱。只能能装A类小球96个,B类小球48个。指示灯会说明纸箱合适装满。 当计数器到5时。指示灯点亮。当计数到8时指示灯关闭。
五、比较指令 等于指令(EQU) 大于等于指令(GEQ) 大于指令(GRT) 小于等于指令(LEQ) 小于指令(LES) 不等于指令(NEQ) 极限比较指令(LIM)
等于指令(EQU) EQU为一条输入指令 操作数: SourceA/B(源A/B) 数据类型: SINT INTDINT REAL 格式: 立即数标签 说明:与源B/A比较的数值 EQU指令测试源A的值与源B的值是否相等 REAL数据类型数值很少能绝对相等
大于等于指令(GEQ) 大于指令(GRT) 小于等于指令(LEQ) 小于指令(LES)
不等于指令(NEQ) 极限比较指令(LIM)
练习: 设计梯形图。当计数器的计数值在35和100之间时 ,打开输出 如果三个输入数字的值相同,指示灯开启。 只有当PLC的计数值为45或78时,灯才开启。