- 发布
- 上海卓曙自动化设备有限公司
- 品牌
- 西门子SIEMENS
- 型号
- S7-200 SMART
- 产地
- 中国
- 电话
- 17307403740
- 手机
- 19151140562
- 发布时间
- 2023-03-29 16:04:26
西门子PLC模块惠州授权代理商SIEMENS原装 西门子PLC惠州授权代理商,惠州西门子PLC代理,西门子PLC代理
自动分配的DI模块的字节地址为0。双击该模块,打开它的属性对话框(见图4-47的右图)。用复选框启用硬件中断,设置10.0产生上升沿中断,10.1产生下降沿中断。
2. 编写OB40中的程序
OB40中的程序(见图4-48)判断是哪个模块的哪个点产生的中断,然后执行相应的操作。临时局部变量OB40_MDL_ADDR和OB40_POINT_ADDR分别是产生中断的模块的起始字节地址和模块内的位地址,数据类型分别为WORD和DWORD,这两个变量不能直接用于整数比较指令和双整数比较指令。
机架故障或分布式I/O的站故障中断(OB86)
如果机架、DP主站系统或分布式I/O(DP从站或PROFINETIO设备)由于掉电、总线导线断开、IO 系统的故障,或者某些其他原因引起的故障,CPU的操作系统将调用组织块OB86。故障出现和消失时将分别调用一次OB86。可以根据OB86的启动信息,在OB86中编程,确定是哪个机架或分布式设备有故障或通信中断。
西门子PLC模块惠州授权代理商SIEMENS原装 西门子PLC惠州授权代理商,惠州西门子PLC代理,西门子PLC代理
5. I/O访问错误中断(OB122)
CPU如果访问有故障的I/O模块、不存在的或有故障的DP从站的PIPQ输入/输出数据。或者访问了一个CPU不能识别的 I/O 地址,CPU的操作系统将在每个扫描周期调用一次OB122.
BEU指令的执行不需要任何条件,但是如果BEU指令被跳转指令跳过,当前程序扫描不会结束,在块内的跳转目标处,程序将被继续启动。使用S7系列PLC的硬件时,块结束指令RE与BEU的功能相同。下面是使用BEC的例子
2. 逻辑块调用指令
块调用指令(CALL)用来调用功能块(FB)、功能(FC)、系统功能块(SFB)或系统功能(SFC),或调用西门子提供的其他标准块。
在CALI指令中,FC、SFC、FB和SFB是作为地址输入的,逻辑块的地址可以是**地址或符号地址。CALL指令与RLO和其他任何条件无关。在调用FB和SFB时,应提供与它们配套的背景数据块。调用FC和SFC时,不需要背景数据块。处理完被调用的块后,调用它的程序继续其逻辑处理。
首先用MOVE指令将它们保存到MW6和MD8,才能用比较指令判别是哪一个模块和哪一点产生的中断。在10.0的上升沿将Q4.0置位,在10.1的下降沿将Q4.0复位。
3.硬件中断的仿真实验
打开PLCSIM(见图4-49),下载所有的块,将仿真PLC切换到RUN-P模式。执行PLCSIM的菜单命令“Execute”(执行)→“Trigger Error OB”(触发错误OB)→“Hard-ware Interrupt(OB40-OB47)…”,打开“Hardware Interupt OB(40-47)”对话框(见图4-49右上方的小图),在文本框“Module address”(模块地址)内输入模块的起始地址0,在文本框“Module status(POINT_ADDR)”(模块状态(位地址))内输入模块内的位地址0。
顺序功能图中的初始步一般对应于系统等待启动的初始状态,这一步可能没有什么输出处于1状态,因此在画顺序功能图时很容易遗漏这一步。初始步是必不可少的,一方面因为该步与它的相邻步相比,从总体上说输出变量的状态各不相同另一方面如果没有该步,无法表示初始状态,系统也无法返回停止状态。
4)自动控制系统应能多次重复执行同一工艺过程,因此在顺序功能图中一般应有由步和有向连线组成的闭环,即在完成一次工艺过程的全部操作之后,应从*后一步返回初始步,系统停留在初始状态(单周期操作,见图5-9),在连续循环工作方式时,将从*后一步返回下一工作周期开始运行的第一步(见图5-14)。
5)如果选择有断电保持功能的存储器位(M)来代表顺序功能图中的各位,在交流电源突然断电时,可以保存当时的活动步对应的存储器位的地址。系统重新上电后,可以使系
统从断电瞬时的状态开始继续运行。如果用没有断电保持功能的存储器位代表各步,进入RUN模式时,它们均处于0状态,必须在OB100中将初始步预置为活动步,否则因为顺序功能图中没有活动步,系统将无法工作。如果系统有自动、手动两种工作方式,顺序功能图是用来描述自动工作过程的。在系统由手动工作方式切换到自动工作方式时,如果满足自动运行的条件,需要将初始步置为活动步,并将非初始步置为不活动步(见5.4节)。
在硬件组态时,双击CPU模块所在的行,打开CPU模块的属性对话框,选中“保持存储器”选项卡,可以设置有断电保持功能的存储器位(M)的地址范围。
块堆栈(B 堆栈)
如一个块的处理因为调用另外一个块,或者被更高优先级的OB块中止,CPU将在块堆栈中存储以下信息
1)被中断的块的类型(OB、FB、FC、SFB、SFC)、编号和返回地址。
2)从DB和DI寄存器中获得的块被中断时打开的共享数据块和背景数据块的编号。3)局部数据堆栈的指针。
利这些数据,可以在中断它的任务处理完后恢复被中断的块的处理。在多重调用时,堆栈可以保存参与嵌套调用的几个块的信息。图4-5中的OB1调用功能FC2,FC2的执行被电源故障组织块OB81中断,图中给出了块堆栈中的数据动态变化的情况。
CPU处于STOP模式时,可以在CPU的模块信息对话框中,查看块堆栈保存的进入STOP模式时没有处理完的块,在块堆栈中,信息按照它们被处理的顺序存储(见图4-5)。
每个中断优先级对应的块堆栈可以储存的数据的字节数与CPU的型号有关。
单击“Apply”(应用)按钮,触发I0.0的上升沿中断,CPU调用OB40,Q4.0被置为1状态,同时在“Intermupt OB”(中断 OB)显示框内自动显示出对应的OB 编号40。将位地址(POINT_ADDR)改为1,模拟I0.1产生的中断,单击“Apply”按钮,在松开按钮,Q4.0被复位为0状态。单击“0K”按钮,将执行与“Apply”按钮同样的操作,同时关闭对话框。