巴彦淖尔西门子PLC模块经销总代理商
巴彦淖尔西门子PLC模块经销总代理商湖南西门子PLC代理,湖南西门子S7-1500代理,西门子PLC代理
各逻辑块都有它的局部变量(L)存储区,局部变量在逻辑块的变量声明表中生成,只在它被创建的块中有效。每个组织块用20B的临时局部数据来存储它的启动信息。局部数据可以按位、字节、字和双字来存取,例如L0.0、LB9、LW4和LD52。
CPU分配给当前正在处理的块的临时局部数据的存储器容量是有限的,这一存储区(即局部堆栈)的大小与CPU的型号有关。CPU给每一优先级分配了局部数据区,这样可以保证不同优先级的OB都有它们可以使用的局部数据空间。
与S7-200 PLC一样,FC块的“临时变量”同样存储在局部变量数据堆栈(L)中,这一区域为全部程序块所公用,只可以用于FC块内部使用的中间运算结果寄存(这些中间运算结果不可以用于FC块外部);程序块执行完成后,局部变量数据堆栈内的数据将被其他块所需要的内容所替代。如果需要保存可以用于其他逻辑块的状态,应使用PLC的内部标志寄存器M或使用"数据块DB"。
在程序块FC中,有部分为PLC生产厂家所提供的、集成在S7PLC的CPU操作系统中的逻辑块,称为系统程序块(System Function,SFC)。系统程序块SFC属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。
通过在STEP7中设置参数,可以给S7-400CPU的每一优先级指定不同大小的局部数据区。S7-300 CPU每一优先级的局部数据区的大小是固定的。
2. 块堆栈(B 堆栈)
如一个块的处理因为调用另外一个块,或者被更高优先级的OB块中止,CPU将在块堆栈中存储以下信息
1)被中断的块的类型(OB、FB、FC、SFB、SFC)、编号和返回地址。
转换条件I0.0*10.3*10.5满足,由初始步转换到步M0.1,Q4.0变为1状态,工件被夹紧。夹紧后压力继电器I0.1为1状态,由步M0.1转换到步M0.2和M0.5,Q4.1和Q4.3 使两只钻头同时开始向下钻孔。大钻头钻到由限位开关10.2设定的深度时,进入步M0.3,Q4.2使大钻头上升,升到由限位开关10.3设定的起始位置时停止上升,进入等待步M0.4。小钻头钻到由限位开关10.4 设定的深度时,进入步M0.6,Q4.4使小钻头上升,升到由限位开关I0.5设定的起始位置时停止上升,进入等待步M0.7。.
生成一个名为“OB40例程”的项目(见随书光盘中的同名例程),CPU模块的型号为CPU315-2DP。选中SIMATIC管理器左边的300站对象,双击右边窗口的“硬件”图标,打开硬件组态工具HW Config(见图4-47)。将硬件目录中名为“DI4xNAMUR,Ex”的4 点DI模块插入4号槽,16点D0模块插入5号槽。
自动分配的DI模块的字节地址为0。双击该模块,打开它的属性对话框(见图4-47的右图)。用复选框启用硬件中断,设置10.0产生上升沿中断,10.1产生下降沿中断。
2. 编写OB40中的程序
OB40中的程序(见图4-48)判断是哪个模块的哪个点产生的中断,然后执行相应的操作。临时局部变量OB40_MDL_ADDR和OB40_POINT_ADDR分别是产生中断的模块的起始字节地址和模块内的位地址,数据类型分别为WORD和DWORD,这两个变量不能直接用于整数比较指令和双整数比较指令。
在步M0.5,设定值为3的计数器C0的当前值减1。减1后当前值为2(非0),C0的常开触点闭合,转换条件C0满足。两个钻头都上升到位后,将转换到步M1.0。Q4.5使工件旋转120°,旋转到位时10.6变为1状态,又返回步M0.2和M0.5,开始钻第二对孔。3对孔都钻完后,计数器的当前值变为0,其常闭触点闭合,转换条件C0满足,进入步M1.1,Q4.6使工件松开。松开到位时,限位开关I0.7为1状态,系统返回初始步M0.0。
联系方式
- 地址:上海 上海市松江区乐都路358号503室
- 联系电话:未提供
- 联系人:李英杰
- 手机:19151140562
- Email:194303024@QQ.COM