安顺西门子PLC代理经销控制柜专用 安顺西门子PLC代理,安顺西门子PLC经销,西门子PLC代理
西门子S7-200的子程序编写与调试指令
西门子S7-200CPU的控制程序由主程序、子程序和中断程序组成。STEP7-Mico/WIN32在程序编辑器窗口里为每个POU(程序组织单元)提供一个独立的页,主程序总是第1页,后面是子程序或中断程序。
因为各个程序在编辑都窗口里被分开,编译时在程序结束的地方自动加人无条件结束指令END、MEND.RET或RETI,如果在程序里加了这些指令,编译时反而会出错。
*在Siemens早期的SS系列PLC中,只有组织块OB、功能块FB、数据块DB与程序块PB四类逻辑块。在S7系列PLC中,取消了程序块PB的名字,而是用英文的"Function"代替了原程序块PB。"Function"可以直译为功能,在许多书中称为"功能";在这里考虑到SS的继承性,便于读者与“功能块”区别,仍然将“Function”称为“程序块”。
图5-32为采用三种不同编程方式的程序结构示意图,在实际调用式编程、结构化编程时,被组织块OB1调用的逻辑块还可以调用其他逻辑块(程序嵌套)。
(3) S7-300/400PLC的存储器结构。S7-300/400 PLC的存储器结构可以分为基本存储区域与程序处理区两大部分。
1)基本储区域。S7-300/400PLC的基本存储区域又可以分为装载存储区、系统存储区、工作存储区3部分,具体如下。
安顺西门子PLC代理经销控制柜专用 安顺西门子PLC代理,安顺西门子PLC经销,西门子PLC代理
1.子程序的作用
子程序常用于需要主次反分执行相同任务的地方,只需要写次子程序,别的称序在占要子程序的时候调用它,而无需重写该程序:子在序的词用是有条件的,未调用它时不会执行了的程序中的指令,使用子程序可以减少扫描时间。
使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于查错和维护。如果子程序中只引用参数和局部变量,可以将子程序移植到其他项目。为了移植了程序,应避免使用全局符号和变量,如I、Q、M、SM、AI、AQ、V、T、C、S、AC等存储器中的**地址。
2.子程序的创建
安顺西门子PLC代理经销控制柜专用 安顺西门子PLC代理,安顺西门子PLC经销,西门子PLC代理
S7-400 CPU以数秒的间隔监视中央机架和扩展机架上的模块。电源上电时,CPU检测由STEP7生成的组态表中列出的模块是否都插入了。如果是,这个实际的组态被保存并作为对模块进行循环监控的依据。在每一扫描循环比较刚检测到的实际组态与原来检测到的组态。如果发现两个组态有差异,则发出插入/拔出模块中断信号,并且将有关信息存入诊断缓冲区和系统状态表。
如果在RUN模式下拔出组态的模块,将启动OB83。因为CPU以大约1s的间隔监视模块,在模块被直接访问或过程映像刷新时,可能检测到访问错误。
如果一个模块在RUN模式下插入,CPU会检测新模块的类型与原来的模块是否相同。如果相同,OB83被启动,将默认参数或用STEP7指定的参数传送到该模块中。
可采用下列方法创建子程序:在“编辑”菜单中选择“插人→子程序”;在程序编辑器视窗中按鼠标右键,从弹出菜单中选择“插人→子程序",程序编辑器将从原来的POU显示进人新的子程序,程序编辑器底部将出现标志新的子程序的新标签,在程序编辑器窗口中可以对新的子程序编程。可以使用该子程序的局部变量表定义参散,各子程序*多可以定义16个IN、OUT参数。用石键双击指令树中的于程序或中断程序的图标,在弹出的窗口中选择“重新命名”,可修改它们的名称。
(4)符号表
符号表允许程序员用符号来代替存储器的地址,符号地址便于记忆,使程序更容易理解。
程序编译后下载到可编程序控制器时,所有的符号地址被转换为**地址,符号表中的信息不下载到可编程序控制器。
(5)状态表
状态表用来观察程序执行时指定的内部变量的状态,状态表并不下载到可编程序控制器,仅仅是监控用户程序运行情况的一种工具。
(6)交叉引用表
交叉引用表列举出程序中使用的各操作数在哪一个程序块的什么位置出现,以及使用它们的指令的助记符。还可以查看哪些内存区域已经被使用,作为位使用还是作为字节使用,在运行方式下编辑程序时,可以查看程序当前正在使用的跳变信号的地址交叉引用表不下载到可编程序控制器,程序编译成功后才能看到交义引用表的内容。在交叉引用表中双击某操作数,可以显示出包含该操作数的那一部分程序。