CPU在进行算术运算时,不必考虑RLO,对RLO也不产生影响。学习算术运算指令必须注意算术运算的结果将对状态字的某些位产生影响,这些位是:CC1和CC0,OV,OS。在位操作指令和条件跳转指令中,经常要对这些标志位进行判断来决定进行什么操作。 l +I 16位整数相加指令 l -I 16位整数相减指令 l *I 16位整数相乘指令 l / I 16位整数除法指令 l +D 32位整数相加指令 l -D 32位整数相减指令 l * D 32位整数相乘指令 l / D 32位整数除法指令 l MOD 32位整数除法取余数指令 例3.7.1 L MW0 // 将MW 0中的值装入累加器1低字 L MW2 // 将MW 2中的值装入累加器1低字,累加器1低字中的原值移入累加器2低字 +I // 将累加器l低字和累加器2中的低字相加 T MW10 // 将运算结果送到MW 10 * FBD 格式 与STL语句表指令不同处在于多了使能输入端EN和使能输出端ENO。只有当I 0.0=1时,才进行加法运算。如果运算的结果超出范围或者I 0.0=0,则Q 4.0=0。 西门子S7-300/400PLC的程序结构 西门子S7-300/400的plc程序结构随着编程人员所采用的程序设计方法的不同而不同。一般而言,程序设计可以采用线性化编程、调用式编程、结构化编程的方法(如图所示)。 采用线性化编程时,所有程序指令都编写在一个连续的程序块——组织块OB1中,无须编制程序块、功能块、数据块等。 采用调用式编程的程序由组织块OB、程序块(FC)、功能块(FB)、系统程序块(SFC)、系统功能块( SFB)、数据块(DB)等组成,由组织块OB1对各逻辑块与数据块进行组织与管理。 采用结构化编程的程序结构形式与调用式编程相同,程序同样由组织块OB、程序块(FC)、功能块(FB)、系统程序块(SFC)、系统功能块(SFB)、数据块(DB)等组成,并通过组织块OB1对其进行组织与管理。功能块(FB)可以用于结构化编程,为了满足参数化编程的需要,功能块(FB)需要配套的即时数据块DI,组织块OB1在调用FB时,需要根据不同的控制要求,通过即时数据块DI对参数进行赋值。 图中为采用三种不同编程方式的程序结构示意图,在实际调用式编程、结构化编程时,被组织块OB1调用的逻辑块还可以调用其他逻辑块(程序嵌套)。 S7-300/400的程序结构与执行过程 (责任编辑:admin) |