1、S7-1200 and STEP 7 Basic V10.5,第4章: 在STEP 7 Basic中编程,Diagnostic,Download,Programming,Blocks,PLC-Tags,创建和编辑程序,清晰的程序创建流程,X个块重复操作,PLC 变量和本地变量,诊断,下载,编程,块,PLC-变量,定义PLC变量,PLC 变量,详细界面,定义位存储的保持存储区,属性,保持标记,由系统创建的常数,变量的符号,常数的符号,批量创建功能: 键入符号名 用鼠标画一个对所需符号名称而言足够大的框 符号名称是自动创建的,地址也是自动分配的,创建符号 批量创建功能,用“操作柄”画一个矩形,诊断
2、,下载,编程,块,PLC-变量,变量的用户化结构: 应用于功能型子部分 对大型项目而言有一个清晰的结构,PLC变量的用户化结构,功能型结构: 快速、清晰化安排的项目结构,将PLC变量按不同功能进行分类,诊断,下载,编程,块,PLC-变量,程序块的用户化结构: 应用于功能型子部分 对大型项目而言有一个清晰的结构,程序块的用户化结构,功能型结构 : 快速、清晰化安排的项目结构,将PLC变量按不同功能进行分类,诊断,下载,编程,块,PLC-变量,STEP 7 Basic 里各种类型的块,Instance,OB 100,OB 20x,OB 20x,OB 82,有多个组织块来实现启动、时间和硬件中断,I
3、nstance,诊断,下载,编程,块,PLC-变量,OB 组织块: 操作系统和用户程序间的接口 可以通过对组织块编程来控制PLC的动作 下列事件可以利用到组织块: 启动 循环程序的执行 中断程序的执行 时间错误,STEP 7 Basic 中块的种类,诊断,下载,编程,块,PLC-变量,FC 功能 : 没有存储器的代码块 经常需要复杂函数的编程过程 在函数执行完以后,临时变量里的数据将会丢失 如果要永久保存数据,程序需要使用数据块,STEP 7 Basic 中块的种类,块编辑器的说明,必须是写,诊断,下载,编程,块,PLC-变量,DB 数据块: 数据块用于存储用户数据 数据块的最大容量取决于PL
4、C的工作存储器 区别 : 全局数据块可以从所有的程序块中存取 全局数据块的结构是用户定义的 一个实例数据块对应于一个功能块,实例数据块的结构和功能块的接口规格是一致的,STEP 7 Basic 中块的种类,诊断,下载,编程,块,PLC-变量,FB 功能块: 代码块将它们的值永久地存储在实例数据块中,所以即使在块执行以后代码值仍然有效 所有的输入、输出、输入/出参数都存储在实例数据块中,这个实例数据块是功能块的存储器,STEP 7 Basic 中块的种类,块编辑器中的描述,Instance,可以是写,定义数据块初值,诊断,下载,编程,块,PLC-变量,功能块接口,实例数据块是由系统创建的,数据块
5、的内容取决于功能块的接口类型。,诊断,下载,编程,块,PLC-变量,多实例数据块,应用了多实例数据块后,当调用多个功能块时可以只用一个实例数据块(一个多实例数据块),Multiinstance DB,Input Output InOut Static,诊断,下载,编程,块,PLC-变量,添加一个新块,块的种类,添加新块,语言选择,定义块的种类,仅通过符号名称访问,诊断,下载,编程,块,PLC-变量,新块的符号名称访问,Blocks only with symbolic access,Blocks with symbolic access and absolute addressing,在功能块
6、接口中定义保持性,数据块的保持性是全局定义的,偏移量,诊断,下载,编程,块,PLC-变量,优化已使用内存,混合变量类型时不会减少内存消耗,“仅通过符号名称存取” 意味着不会减少内存消耗,Classic“ DB,Symbolic“ DB,混合变量类型时,内存消耗会大量减少,诊断,下载,编程,块,PLC-变量,新块的符号名称寻址和绝对地址寻址,可以利用符号名称和绝对地址来访问块,块编辑器中的描述,数据块的保持性是全局定义的,利用符号名称和绝对地址访问,诊断,下载,编程,块,PLC-变量,Symbolic Access of new Blocks新块的符号名称访问,只能利用符号名称访问的块,块编辑器
7、中的描述,单独的对每个变量的保持性进行定义,仅通过符号名称访问,诊断,下载,编程,块,PLC-变量,使用块编辑器进行工作,个别的组会经常使用收藏栏里的指令,单独的收藏栏,指令部分,可以对每个单独的指令进行注释,块接口,诊断,下载,编程,块,PLC-变量,程序块编辑器中操作数的表示方法,显示和隐藏绝对操作数,打开所有网络,关闭所有网络,诊断,下载,编程,块,PLC-变量,块编辑器的表示类型,KOP:,FUP:,指令选择,数据类型选择,指令选择,数据类型选择,诊断,下载,编程,块,PLC-变量,智能化: 符号名称的智能化选择,智能化: 例如: LAD-编辑器: 所提供的符号名称随输入有选择性的减少
8、。根据输入,仅有合适的PLC变量符号名称或块接口会显示出来。,诊断,下载,编程,块,PLC-变量,利用块编辑器中的操作数工作,从详情窗口拖放,从声明列表里拖放,在块接口上自动定义变量,诊断,下载,编程,块,PLC-变量,调用程序块,通过拖曳调用功能块,诊断,下载,编程,块,PLC-变量,多实例数据块,Define as multiple instance,The tag is automatically defined,Define as multiple instance,变量是自动定义的,Block call,所有的信息都在多实例数据块中,诊断,下载,编程,块,PLC-变量,调用已修正的块
9、,修复(更新)不协调的块调用,诊断,下载,编程,块,PLC-变量,保存一个块 / 项目,可以随时进行保存 即使程序块尚未完成,保存项目(即使项目块未完成),诊断,下载,编程,块,PLC-变量,编译并将块加载到控制器中,编译操作信息,选择,编译块,将块加载到控制器中,诊断,下载,编程,块,PLC-变量,在监视窗口进行交叉引用,超链接,选中的变量,动态显示,本地变量也可以进行交叉引用,诊断,下载,编程,块,PLC-变量,交叉引用,折叠/展开,界面选择项,HMI人机界面中的变量定位,交叉引用取决于所选项,诊断,下载,编程,块,PLC-变量,PLC的资源,任务列表,文件夹,在监控窗中对操作数单击可以显
10、示交叉引用信息,注意: 使用了物理上不存在的操作数,说明,保持区,诊断,下载,编程,块,PLC-变量,练习4-1: STEP 7 Basic V10.5 编程,Hands-on,让我们从这里开始.为您设计的实验室,诊断,下载,编程,块,PLC-变量,Hands-on,任务: 创建一个程序,将两个输入电位器的值转化为重量值。重量值的变化范围是0-100Kg,数据类型为实数。当 “Set_value” 按钮激活时,完成此项功能。 当输入值超过最大值超过50kg时, 重量测量值将不准确。此时布尔型输出“weight_ok”将以2HZ的频率闪烁。 当输入值低于50kg时,重量测量值是准确的,布尔型输出
11、“weight_ok”恒为1。 若用到内部缺省设定值(0-100kg)或HMI的缺省设定值,应选中 “intern_or_HMI”按钮。这一内容添加在了HMI章节中。 以下将详细讲述编程代码的实现过程。,练习4-1: 检查重量测量值,诊断,下载,编程,块,PLC-变量,练习4-1: 创建变量,1,2,Hands-on,练习4-1: 在LAD中创建函数,1,3,2,Hands-on,诊断,下载,编程,块,PLC-变量,练习4-1: 在LAD中创建函数,4,6,Hands-on,1,3,2,练习4-1: 创建全局数据块,Hands-on,练习4-1: 创建全局数据块,1,3,2,4,Hands-o
12、n,诊断,下载,编程,块,PLC-变量,练习4-1: 在FBD中创建功能块,Hands-on,练习4-1: 在FBD中创建功能块,Hands-on,练习4-1: 在FBD中创建功能块,Hands-on,练习4-1: 向循环OB1块中插入程序块,临时本地数据,Hands-on,练习4-1: 向循环OB1块中插入程序块,临时本地数据,Hands-on,诊断,下载,编程,块,PLC-变量,练习 4-1: 向循环OB1块中插入程序块,6,5,Hands-on,诊断,下载,编程,块,PLC-变量,练习4-1: 显示交叉引用,4,Hands-on,诊断,下载,编程,块,PLC-变量,密码保护 块保护的专门
13、知识,Providing Blocks with Password Protection,保护的专门知识,诊断,下载,编程,块,PLC-变量,库的基础知识,库的种类,项目库,全局库,每个块都有它自己的库项目库中的对象只能用在这个项目中随项目一起打开、保存和关闭,项目的非独立性全局库中的对象可以用在其他项目中,库的对象: 功能,程序块,数据块,设备,监控列表,流程图片,面板,诊断,下载,编程,块,PLC-变量,创建新库 打开库 保存对库做的改变关闭库 创建新文件夹,库的操作,元件列表,每个“拖放操作”都会向库中添加一个元件,文件夹中的元件,创建文件夹,创建库,诊断,下载,编程,块,PLC-变量,
14、组织块的操作,可以启动组织块的事件:,诊断,下载,编程,块,PLC-变量,循环组织块的中断,循环组织块会不停的执行., 直到另外的OB块对它产生中断,相同优先级组的组织块不会对它们自己产生中断。这些中断会按照它们的优先级增加到队列中。,优先级组1,优先级组2,优先级组3,Priority group 2优先级组2,诊断,下载,编程,块,PLC-变量,S7-1200循环组织块,循环组织块: 用户程序可以用一些循环组织块来构造。 共同的项目部分可以在一个组织块中设置 循环组织块没有启动信息 用户可以定义组织块进度表(不适用于第一版),OB 200,OB1,OB 20x,进度表,诊断,下载,编程,块
15、,PLC-变量,用于启动的组织块,用于启动的组织块: 在从停止到启动的转换过程中启动程序执行一次 启动操作的限制条件规定,如,“启动”操作的初始值 可以使用多个启动组织块 用户可以定义组织块的进度表(不适用第一版) 启动组织块包含有启动信息,OB 200,OB 100,OB 20x,诊断,下载,编程,块,PLC-变量,用于延时中断的组织块,延时中断,最多4个: 延时中断数量(延时中断 + 循环中断) = 4 操作系统在用户定义了延时时间后开启相应的延时中断。在调用了SRT_DINT指令之后开始计时。 延时中的组织块没有启动信息,OB 20x,OB 200,Enable the interrup
16、t,OB number,Time delay,诊断,下载,编程,块,PLC-变量,用于循环中断组织块,循环中断,最多4个: 延时中断数量(延时中断 + 循环中断) = 4 循环中断组织块用于在循环程序执行过程中以周期性时间间隔独立地启动程序。 通过利用相位偏移量,周期性中断组织块可以延期执行。 循环性中断组织块没有启动信息。,OB 20x,OB 200,RUN,OB200,OB200,OB200,interval time,O,OB1,B1,OB1,OB1,OB1,OB1,OB1,O,B1,Prio 1,Prio 4,interval time,Interval time,循环中断的时序:,诊
17、断,下载,编程,块,PLC-变量,用于硬件中断的组织块,用于硬件中断的组织块,最多50个: 使用硬件中断来与特殊事件建立联系 硬件中断可以通过高速计数器和输入通道来触发。 硬件中断的三种不同使用方法: 一个事件联系一个特定的硬件中断多个硬件中断联系到一个事件上,组织块和事件的连接需要通过DETACH”指令来取消。通过“ATTACH”指令,可以给事件分配一个新的硬件中断。多个事件对应一个硬件中断组织块硬件中断组织块没有启动信息,OB 20x,OB 200,诊断,下载,编程,块,PLC-变量,用于硬件中断的组织块,自动定义的常数,事件发生时执行的程序,从事件中分离的硬件中断组织块,造成硬件中断的事
18、件,新事件组织块,硬件中断事件,诊断,下载,编程,块,PLC-变量,诊断错误中断组织块,诊断错误中断OB块 OB 82: 如果一个具有诊断功能的模块检测到了一个错误,那么这个模块触会发一个诊断错误中断。 在以下情况下可以调用错误中断组织块: 入事件(错误发生) 出事件(错误解决) 诊断错误中断组织块有启动信息:,OB 82,诊断,下载,编程,块,PLC-变量,时间错误组织块,时间错误 OB 80: 如果如下事件发生,系统调用时间错误中断组织块: 循环程序超出了最大循环周期 所调用的组织块正在被执行 在一个中断组织块队列里有溢出发生 因为高中断负荷而丢失中断 时间错误中断组织块有启动信息,OB
19、80,诊断,下载,编程,块,PLC-变量,事件 系统相应的动作,不会触发组织块启动的事件:,诊断,下载,编程,块,PLC-变量,STEP 7 Basic 中LAD/FBD的附加操作,新操作: 使编程变得更加快捷舒适,将一些位的地址从特定地址复位为“0”,将一些位的地址从特定地址设置为“1”,数值取在一个特定的范围内,数值取在一个特定的范围外,检测这个变量的值是否是一个有效的浮点数,检测这个变量的值是否是一个无效的浮点数,诊断,下载,编程,块,PLC-变量,STEP 7 Basic 中LAD/FBD的附加操作,新操作: 编程变得更加快捷舒适,设置操作数,如在正信号边缘输出,设置操作数,如在负信号
20、边缘输出,改变输入变量的字节顺序,并将转换结果输出,将选定的输入内容复制到输出,将一个字符串转换为一个数值,将一个数值转换为一个字符串,诊断,下载,编程,块,PLC-变量,STEP 7 Basic 中LAD/FBD的附加操作,新操作: 编程变得更加快捷舒适,从CPU时钟里读取目前的本地时间,在块内查询发生的错误,在块内查询发生的错误,为事件分配一个组织块(OB),取消事件和组织块之间的联系,诊断,下载,编程,块,PLC-变量,STEP 7 Basic 的新参数类型,参数类型: 参数类型在块间转换: 不同的参数类型: 可以指向多种数据或参数类型的变量指针无效的参数类型: 无效的参数类型不会记录数
21、值,在一个函数没有返回值时会使用VIOD参数类型。,返回值是个指针,诊断,下载,编程,块,PLC-变量,S7-1200的硬件数据类型,硬件数据类型: 特殊硬件数据类型常数是基于硬件组态里的模块设置来存储的。 在“Constants”任务选项卡中的变量列表里定义硬件数据类型。硬件数据类型示例:,诊断,下载,编程,块,PLC-变量,练习4-2: STEP 7 Basic V10.5编程,Hands-on,诊断,下载,编程,块,PLC-变量,让我们从这里开始.为您设计的实验室,练习4-2: 硬件中断OB块的执行,2,3,4,5,Hands-on,诊断,下载,编程,块,PLC-变量,练习 4-2: 硬件中断OB块的执行,6,8,9,Hands-on,练习 4-2: 硬件中断OB块的执行,10,11,12,13,Hands-on,练习 4-2: 硬件中断OB块的执行,14,15,Hands-on,诊断,下载,编程,块,PLC-变量,I IA AS CS2 FAPhone: +49 (911) 895 4646E-Mail: ,S7-1200 and STEP 7 Basic V10.5,Thank you for your attention!,