嘉兴S7-1200PLC西门子代理商原装现货 嘉兴西门子S7-1200PLC代理,嘉兴西门子PLC代理,西门子S7-1200PLC代理,西门子PLC代理
西门子PLC启动组织块与循环中断组织块
1. CPU模块的启动方式与启动组织块
S7-400 CPU有3种启动方式暖启动、热启动和冷启动。打开S7-400 CPU模块的属性对话框的“启动”选项卡,可以选择这3种启动方式中的一种(见图2-31),绝大多数S7-300 CPU 只能暖启动。
OB100~OB102是启动组织块,用于系统初始化。CPU上电或运行模式由STOP切换到RUN时,CPU只执行一次启动组织块。
用户可以通过在启动组织块中编写程序,来设置CPU的初始化操作,例如设置开始运行时某些变量的初始值和输出模块的初始值等。
1)暖启动过程映像数据以及非保持的存储器位、定时器和计数器被复位。具有保持功能的存储器位、定时器、计数器和所有的数据块将保留原数值。执行一次OB100后,循环执行OB1。将模式选择开关从STOP位置扳到RUN位置,执行一次手动暖启动。
嘉兴S7-1200PLC西门子代理商原装现货 嘉兴西门子S7-1200PLC代理,嘉兴西门子PLC代理,西门子S7-1200PLC代理,西门子PLC代理
2)热启动如果S7-400 CPU在RUN 模式时电源突然丢失,然后又很快重新上电,将执行OB101,自动地完成热启动,从上次RUN模式结束时程序被中断之处继续执行,不对计数器等复位。
3)冷启动所有系统存储区均被清除,即被复位为零,包括有保持功能的存储区。用户程序从装载存储器载入工作存储器,调用OB102后,循环执行OB1。
将模式选择开关扳到MRES位置,可以实现手动冷启动。
2.循环中断组织块
循环中断组织块用于按**的时间间隔循环执行中断程序,例如周期性地执行闭环控制系统的PID控制程序,间隔时间从STOP切换到RUN模式时开始计算。大多数S7-300 CPU 只能使用OB35,其余的CPU可以使用的循环中断OB的个数与CPU的型号有关。
时间间隔不能小于5ms。如果时间间隔过短,还没有执行完循环中断程序又开始调用它,将会产生时间错误事件,调用OB80。如果没有创建和下载OB80,CPU将进入STOP 模式。
3. 硬件组态
用新建项目向导生成名为“OB35例程”的项目(见随书光盘中的同名例程),CPU为CPU315-2DP。双击硬件组态工具HW Config中的CPU,打开CPU属性对话框,由“周期性中断”选项卡可知只能使用OB35,其循环周期的默认值为100ms,将它修改为1000ms,将组态数据下载到CPU后生效。如果没有下载,循环周期为默认值100ms。
如果两个OB的时间间隔成整倍数,不同的循环中断 OB可能同时请求中断。相位偏移量(默认值为0)用于错开S7-400不同时间隔的几个循环中断OB,使它们不会被同时执行,以减少连续执行多个循环中断 OB的时间。相位偏移应小于循环的时间间隔。
组态结束后,单击工具栏上的坠按钮,编译并保存组态信息。
S7-300/400存储器间接寻址和寄存器间接寻址
S7-300/400的直接寻址方法与S7-200相同。间接寻址方式有“存储器间接寻址”与"寄存器间接寻址"两种。由于S7-300/400具有专用的指针寄存器AR1、AR2,因此,间接寻址建立“地址指针”的方法与指令的表示方法、寻址的范围等均与S7-200 PLC有大的区别,其使用更方便,寻址范围也更大。
①存储器间接寻址
S7-300/400与S7-200 PLC两者的存储器间接寻址方式相比,在实际使用中只有两方面明显的区别。
a.在S7-300/400中,间接寻址不需要建立指针的过程,可以直接在寻址对象的前面加"【】"标记,表示该寻址对象为间接寻址。
b.间接寻址可以用于二进制位地址。
【例3-8】通过局部变量LD10,将输入122.2读入,与10.0进行"与"运算,结果输出到Q0.1的程序如下:
间接寻址程序
②寄存器间接寻址
S7-300/400的寄存器间接寻址是一种利用指针寄存器进行偏移的间接寻址方式,格式为【AR1,m】或【AR2,m】,间接寻址所指定的存储器地址为指针寄存器AR1或AR2的内容与m之和。
指针寄存器 AR1或 AR2为双字长寄存器,可以同时存储地址、字节、位等信息。因此,寻址不仅可以在存储器自身的区域内进行(如内部标志M之间、输入工之间等),而且可以在不同的区域内进行(如由内部标志M到输入I等)。
地址位(bit31):"0"表示指针寄存器不含地址符,地址符bit24~bit26应为0;
"1"表示指针寄存器含地址符,地址符由bit24~bit26指定。
地址符(bit24~bit26):地址位(bit31)为“1”时用于指定存储器地址,地址的编码如下。
000:地址P;
001:地址I;
010:地址Q;
011:地址M;
1:地址DBX;
101:地址DIX;
110:地址L;
111:地址VL。
字节编号(bit18~bit3):指定存储器的字节地址,范围为0~65535。
位编号(bit2~bit0):指定存储器的位地址,范围为0~7。
指针寄存器可以不含地址符,此时,指针寄存器只需要写人二进制的字节与位数据,地址由逻辑运算指令指定。
【例3-9】通过指针寄存器偏移二进制位22.2后,将I32.3读入,与I0.0进行"与"运算,结果输出到Q0.1的程序如下:
指针寄存器间接寻址程序图
在使用二进制位数据时应注意,开关量输入/输出的单位为字节,因此,进行指针寄存器偏移时应利用8进制数进行计算。
【例3-10】通过指针寄存器偏移二进制位数据10.5后,将121.4读入,与10.0进行“与”运算,结果输出到Q0.1的程序如下:
指针寄存器偏移二进制程序图
指针寄存器可以含地址符,此时,指针寄存器需要同时写入地址、二进制的字节与位数据,逻辑运算指令不再需要指定地址。