null第7章 结构化编程
第9章
工程
路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理
应用第7章 结构化编程
第9章 工程应用null 结构化编程
通讯组态
读取模拟量功能块FC 105内 容 提 要 null 程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
方法:线性化编程、模块化编程和结构化编程。 第七章 结构化编程线性化编程是将整个用户程序放在组织块OB1中,在CPU循环扫描时执行OB1中的全部指令。其特点是结构简单、但效率低下。另一方面,某些相同或相近的操作需要多次执行,这样会造成不必要的编程工作。再者,由于程序结构不清晰,会造成管理和调试的不方便。所以在编写大型程序时,避免线性化编程。null模块化编程是将程序根据功能分为不同的逻辑块,且每一逻辑块完成的功能不同。在OB1中可以根据条件调用不同的功能或功能块。
其特点是易于分工合作,调试方便。由于逻辑块是有条件的调用,所以可以提高CPU的利用率。null结构化编程是将过程要求类似或相关的任务归类,在功能或功能块中编程,形成通用解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
。通过不同的参数调用相同的功能或通过不同的背景数据块调用相同的功能块。
其特点是结构化编程必须对系统功能进行合理
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
、分解和综合,所以对设计人员的要求较高,另外,当使用结构化编程方法时,需要对数据进行管理。 传送带系统中所有交流电机的通用逻辑控制块;
装配线机械中所有电磁线圈的通用逻辑控制块;
造纸机器中所有驱动装置的通用逻辑控制块。 null 功能是不带“记忆”的逻辑块。所谓不带“记忆”表示没有背景数据块。当完成操作后,数据不能保持。这些数据为临时变量,对于那些需要保存的数据你只能通过共享数据块(Share Block)来存储。
调用功能时,需用实参来代替形参。 功能(FC)null 功能块是用户所编写的有固定存储区的块。FB为带“记忆”的逻辑块。它有一个数据结构与功能块参数表完全相同的数据块(DB)。我们称该数据块为背景数据块(Instance Data Block)。当功能块被执行时,数据块被调用,功能块结束。调用随之结束。存放在背景数据块中的数据在FB块结束以后,仍能继续保持。具有“记忆”功能。一个功能块可以有多个背景数据块,使功能块可以被不同的对象使用。 功能块(FB)null 块的结构块由两部分组成:变量声明表,程序。null 输入 IN
输出 OUT
输入/输出 IN_OUT
静态变量 STAT :只有FB有
临时变量 TEMP变量类型:null功能和功能块的编程步骤如下:
第一步:定义局部变量。首先定义形参和临时变量名,功能块还须定义静态变量。之后确定变量的类型及变量注释。
第二步:编写执行程序,在编程中若使用变量名,则变量名标识显示为前缀“#”加变量名。若使用全局符号则显示为全局符号加引号的形式。 null控制任务描述:
在发动机控制系统工程实例中,被控对象是一个“汽油发动机”和一个对该汽油发动机进行散热的“风扇”,一个“柴油发动机”和一个对该柴油发动机进行散热的“风扇”。对这些被控对象,有相应的起动、停止按钮控制其状态的改变,并要求这两个发动机在起动的同时,对应的风扇要同时起动对其散热,当发动机停止运行时,风扇要延时4秒后再关闭,以保证发动机充分的散热。发动机控制系统工程null发动机控制系统结构化程序的结构示意图null1、 创建符号地址表null2、发动机控制功能块(FBl)的程序设计输入: 定义FB1的输入、输出参数。这些定义包括变量名、数据类型和声明类型。null输出:静态变量:null FBl功能块的程序设计 null 汽油机数据块DB1的内容 null3、风扇控制功能(FCl)的程序设计 定义FC1的输入、输出参数。这些定义包括变量名、数据类型和声明类型。输入:null输出:null FBl功能块的程序设计null4、组织块(OB1)的程序设计 发电机控制系统组织块OBl的指令程序nullnullnull 功能和功能块的调用必须用实参代替形参,因为形参是在功能或功能块的变量声明表中定义的。为保证功能或功能块对同一类设备的通用性,在编程中不能使用实际对应的存储区地址参数,而是使用抽象参数,这就是形参。而块在调用时,必须将实际参数(实参)替代形参,从而可以通过功能或功能块实现对具体设备的控制。
这里必须注意:实参的数据类型必须与形参一致。 总结null第九章 工程应用1、 PROFIBUS 总线通讯 PROFIBUS是一种国际化,开放式,不依赖于生产商的现场总线标准。 PROFIBUS以ISO7498为基础,以开放式系统互联网络OSI作为参考模型。其传输速率为9.6kpbs-12Mbps。最多可挂接127个站点。传输可使用RS-485传输技术或光纤媒体。下面演示PROFIBUS总线的不打包通讯。nullnull 设备及连接 硬件和软件配置如下:
硬件:
1)CPU 315-2DP及SM模块
2)CPU 313C-2DP一块(根据条件可选用其他型号的S7-300/400)
3)插入PROFIBUS网卡CP5611的PC机(组态编程用)
4) PROFIBUS电缆及三个接头
软件:
1)STEP 7 V5.2 或STEP 7 V5.3PROFIBUS 通讯组态过程null 首先用工具制作带有三个接头的PROFIBUS电缆,并将两端接头上的拨码至ON,中间的接头拨码至OFF。利用这根电缆将PC机、CPU 313C-2DP和CPU 315-2DP建立PROFIBUS物理连接。如图1所示。硬件连接null图1null系统硬件组态
原则上先组态从站,再组态主站1)新建项目:在STEP 7中创建一个新项目,插入两个SIMATIC 300 Station,并重新命名为“SIMATIC 300(zhu)”和“SIMATIC 300(fu)”。null2)组态从站
组态硬件
双击Hardware,根据硬件安装次序和定货号依次插入机架、电源、CUP、输入、输出模块,进行硬件组态。在插入CPU时,同时弹出PROFIBUS组态画面。点击“New”按钮新建PROFIBUS(1),组态PROFIBUS站地址:2,点击“Properties”按钮组态网络属性,选择“Network Settings”,进行网络参数设置,如图2所示。双击CPU项下的Dp栏,在网络属性窗口选择“Operating Mode”, 选择“Dp Slave”。选择此300站为Dp slave(从站方式),如图3所示。null图2null图3null 组态通讯区
选择标签“Configuration”,点击“New”按钮新建两行通讯接口区,一行输入,注意选择输入方式:input、地址:1、传输数据长度length:2(最多32个字节)、传输单元Unit:Byte、传输方式Consistency:All。一行输出,方式同前。如图4,图5所示。
编译保存
null图4null图5null注意 【Address type】:选择Input,表示将CPU315-2DP从站作为数据的输入接口区
【Address】:填入数据接收区的起始地址,此时写入0
【length】:设置传输数据长度为2(最多32个字节)
【Unit】:传输单元为Byte数据
【Consistency】:选择传输方式ALL null3)组态主站
以同样的方式组态主站,注意在图3中选择Dp master。选择PROFIBUS站地址:3,并选择与从站相同的PROFIBUS网络PROFIBUS(1)。打开硬件
目录
工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录
,选择“PROFIBUS DP- Configuration Station”文件夹,选择CPU31x,将其拖曳到DP主站系统的PROFIBUS总线上,从而将其连接到DP网络上,如图6所示。null图6null 此时自动弹出“Dp slave Properties”,在其中的“Connection”标签中选择已经组态过的从站,点击“Connect” 按钮将其连接到网络,如图7所示。图7null 之后点击“Configuration”标签,设置主站的通讯接口区。
注意
从站的输出区必须与主站的输入区对应,同样从站的输入区必须与主站的输出区对应。这样一发一收彼此对应。null4)硬件下装设置及PROFIBUS通讯检测
在下装时,先存盘编译,在控制面板中,选择“Set PG/PC interface”
选择“S7 ONLINE PC→adapter MPI” ,如图8所示。
null图8null 将下装电缆插在S7 300 CPU的MPI通讯槽中。检查通讯是否畅通,如图9所示。图9null如此将主站和从站分别下装。
利用软件检查PROFIBUS通讯线是否一致。点击图标如图10。可以看到网络图如图11。图10null图11null库函数介绍 SFC14 SFC15PROFIBUS 通讯程序nullSFC14:解开存放在IB端的数据包,接收数据。放在对应的数据库中。
SFC15:将存放在相应数据库中的数据打包,并通过QB端发送数据。
具体参数说明如下:null使用场合:在数据的连续类型是“Unit”,可以直接读入输入、输出区,如果数据类型是“All”,程序需用SFC14、SFC15对数据进行打包和解包。编写主站程序 要求建立OB1、OB82、OB86、OB122,其中OB82、OB86、OB122是为避免网络某个站点掉电而使整个网络不能正常工作。 null 建立相应的数据块,DB1、DB2。DB块的建立如图12。图12null 建立监控变量表VAT1。
在RECORD端设置为P#DB1.DBX0.0 BYTE 2形式。RET-VAL的返回值放在不同的MW中。编程要求
主站发送数据,打包后通过QB端发送字节。同时通过IB端接收数据,并解包。程序如图13所示。null图11图13null编写从站程序 要求建立OB1、OB82、OB86、OB122,其中OB82、OB86、OB122是为避免网络某个站点掉电而使整个网络不能正常工作。
建立相应的数据块,DB1、DB2。DB块的建立。
建立监控变量表VAT2。
在RECORD端设置为P#DB1.DBX0.0 BYTE 2形式。RET-VAL的返回值放在不同的MW中。 null编程要求
从站接收数据,打包后通过QB端发送字节。注意从站的接收数据地址要与主站的发送地址相对应,同时通过IB端接收数据,并解包。注意从站的发送数据地址要与主站的接收地址相对应。程序如图14所示。null图12图14null软件下装和PROFIBUS设置 分别下装主站和从站的软件BLOCK。
紫色PROFIBUS线接在CPU的PROFIBUS口上,总线连接器的终端电阻开关在两端打到ON,在中间打到OFF。
在控制面板中,选择“Set PG/PC interface”选择“S7 ONLINE CP5611(PROFIBUS)”如图13所示。null图13图15null在面板上,点击“Diagnostics”按钮,观察通讯状态。如图16所示。读出操作站(PC机)地址为0,从站地址为2,主站地址为3。图16null监控变量表 如图17所示,对数据库中的值进行监控,在“Status value”中显示当前值,若想改变数据库中的数值,在“Modify value”中输入新值,按强制按钮,改变数据值。
观察数据通讯是否正常。图17null 1、 硬件:
电源模块PS307 5A(1块)
CPU313C-2 DP(1块)
CP343-1 IT(1块)
电气链路模块ELM(1块)
数据通讯MPI线缆2、 工业以太网通讯 设备及连接 2、 软件:
STEP7 V5.3
JDK 1.4.2(JAVA开发工具包)
IE 6.0null硬件连接null系统硬件组态 1)Step7中的硬件组态如图1所示:图1STEP 7中的设置null2)配置CP343-1 IT模块:图2 双击硬件组态中的CP343-1 IT 模块,弹出如图2所示对话框 null 单击图2对话框中“Properties”按钮,弹出如图3所示对话框,按图示进行相应设置。 图3null 单击图4.1.2对话框中上方的User标签页,弹出如图4.1.4所示对话框,分配用户权限。例如用户名为“sf”,密码为“12345678”。 图4null系统软件编程 1)Step7中添加符号表图5null2) CP343-1 IT中添加符号表图6单击图4对话框中上方的Symbols标签页,弹出如图6所示对话框:null单击图6中的“Add“按钮,弹出如图7所示的对话框,并在其中填入相应的符号变量:图7null单击”OK“按钮,返回如图6所示的对话框。每个符号变量,通过取消下方的”Pribileges:”复选框,改变每个符号变量的权限为”Read and wtite”。图8null3)PLC控制程序的编写 控制要求:
PLC控制程序要求将三个符号变量Speed(速度)、Temp(温度)、Level(液位)在一个给定的范围内按指定的阶跃量周期变化。nullFC中变量定义如图9图9null FC中程序:IN:Max_Value,Min_Value
Increment
IN_OUT:vlaue TEMP:backnullnull 初始化OB100中的控制程序nullnull 循环OB1中的控制程序 nullnullOB1控制程序说明:
1、Network1和Network5构成振荡。
2、Network2、 Network3、 Network4分别表示速度、温度、液位在一定范围内的增减。null4)创建变量表如图10所示:图10nullPC机的设置1)设置PC1的IP地址如图11, 12,13所示:图11null图12null图13null(2) 设置PC2的IP地址,参见PC1的设置,如将IP地址设置为”192.168.0.2”,子网掩码设置为”255.255.255.0”。 nullJava开发工具包的安装nullCP343-1 IT模块中的文件系统nullIE监控界面的预览