技术论坛

 SIMATIC S7-1500与TIA博途软件的使用---连载60

返回主题列表
作者 主题

至圣

经验值: 11068
发帖数: 1023
精华帖: 21
楼主    2016-09-20 09:43:55
主题:SIMATIC S7-1500与TIA博途软件的使用---连载60

以下内容节选自机械工业出版社出版的西门子自动化技术丛书----《SIMATIC S7- 1500 与 TIA博途软件使用指南》, 作者崔坚。更多更详细的内容请您参考《SIMATIC S7- 1500 与 TIA博途软件使用指南》一书。

 

 

S7-1500中央机架的组态控制

8.3  S7-1500硬件配置的数据记录格式

        硬件配置以数据记录的方式存储于CPU中,为了区别标以数字号码,通常为196,也就是说CPU中的196号数据记录中存储着硬件配置,修改数据记录196中的格式也就修改了硬件配置。下面以S7-1500中央机架为例介绍数据记录的格式,参考表8- 1。

 

表8- 1 S7-1500 硬件配置数据记录格式

 

数据结构中包含4个字节的表头

块长度:数据记录结构总的长度 [4 字节 + (插槽的数量 * 每个插槽占用的字节数量,S7-1500为1个字节)]。

块标识:数据记录的标识为196。

版本:用于区分产品类别,例如ET 200MP、ET 200SP或S7-1500中央机架, 版本号4代表S7-1500中央机架。

子版本: S7-1500为0。

 

数据结构中的控制元素(位于4个表头字节的后面)

组态的插槽 0:

        值 0 表示模块在实际安装的系统中正在使用,值 16#FF表示此模块在实际安装的系统中不存在。

组态的插槽 1:

        值 1表示CPU在实际安装的系统中正在使用;因为 CPU 始终位于插槽 1 中,不可以改变。

组态的插槽 2:

        值2~n  表示此模块在实际安装的系统中的插槽号,值 16#FF表示此模块在实际安装的系统中不存在。

组态的插槽 3~n:

        值 2~n 表示此模块在实际安装的系统中的插槽号,值 16#FF表示此模块在实际安装的系统中不存在。

数据格式必须存储于数据块中,通过指令WRREC指令写入到CPU中。

 

8.4  S7-1500中央机架模块组态控制示例

        下面以S7-1500中央机架为例介绍组态控制的实现。如图8- 2所示,最大配置的项目中包含3个模块,但是实际应用中只有两个模块,即经过组态控制后,模块1被取消,模块2、3位置互换。

图8- 2 组态控制示例

 

        首先按示例配置项目的硬件,在CPU的属性中使能组态控制选项,其它参数保持缺省设置,如图8- 3所示。如果是ET 200MP或者ET 200SP,则需要在接口模块的属性中使能组态控制。

图8- 3 使能CPU组态控制

 

        然后在程序中按照表8- 1中规定的格式创建数据块,最后通过指令WRREC将对应数据记录196的值写入到CPU中。为了方便程序的编写和数据结构的创建,在西门子的网站上可以下载库文件,链接地址为:http://support.automation.siemens.com/CN/view/en/29430270,稍作修改即可完成控制任务。将库文件(Library for S7-1200/1500 (central) and ET 200 PN (decentral))下载到本地硬盘中,在TIA博途中打开库文件,如图8- 4所示,将数据格式“OH_record_196_S71500cental”和函数“OH CONFIG_CTRL”分别拖放到PLC数据类型和程序块文件夹中。

图8- 4 导入数据控制库文件

 

        创建一个数据块,例如DB1,用于存储数据格式,如图8- 5所示,示例中在数据块中插入了一个数组,数组的元素定义为从库中复制过来的PLC数据类型“OH_record_196_S71500cental”,这样每个元素对应一种组态,通过组态控制就可以选择不同的机型。然后修改数据块的启动值,由于此PLC数据类型专用于S7-1500的中央机架,所以表头、电源模块PM和CPU等参数不需要更改。模块的插槽需要按照实际要求进行再次分配,分配如下:

  • 原插槽2中的模块没有使用,所以赋值为255(16#FF);

  • 原插槽3中的模块未改变,所以保持原值3;

  • 原插槽4中的模块在实际配置中插入插槽2中,所以赋值为2。

  • 其它参数保持缺省值。

图8- 5 包含数据格式的数据块

 

        创建数据块和赋值完成后,在OB100中调用函数OH_CONFIG_CTRL,程序如图8- 6所示。

图8- 6 在OB100中调用组态控制程序

 

        对于S7-1500 CPU,输入参数ID固定为33,将包含修改后的数据格式赋值到参数OPTION_STRUCT中,示例中为“数据块_1”.config_control[“Tag_1”]。程序下载后,先在HMI中通过整型格式的变量“Tag_1”选择设备类型,例如1,2或3。变量“Tag_1”必须是保持性变量,否则CPU启动后将清零。然后启动CPU,硬件组态将按照配置的参数进行更改,从参数STATUS可以读出“OH CONFIG_CTRL”执行的状态。库文件可以参考光盘目录:示例程序->组态控制文件夹下的 “29430270_oh_s71x00_lib”文件,

        注意:

        模块更换插槽后,模块诊断信息中的插槽号为主配置的插槽号,例如主配置插槽2的模块更换到插槽3,故障时将显示插槽2的模块故障。

 

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。