SIEMENS西门子广西省来宾市(授权)伺服电机一级代理商——西门子华南总代理
| 更新时间 2024-11-23 07:00:00 价格 请来电询价 西门子总代理 PLC 西门子一级代 驱动 西门子代理商 伺服电机 联系电话 15903418770 联系手机 15915421161 联系人 张经理 立即询价 |
S7-1500硬件配置的数据记录格式
硬件配置以数据记录的方式存储于CPU中,为了区别标以数字号码,通常为196,也就是说CPU中的196号数据记录中存储着硬件配置,修改数据记录196中的格式也就修改了硬件配置。下面以S7-1500中央机架为例介绍数据记录的格式,参考表1。
表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中。
S7-1500中央机架模块组态控制示例
下面以S7-1500中央机架为例介绍组态控制的实现。如图 2所示,Zui大配置的项目中包含3个模块,但是实际应用中只有两个模块,即经过组态控制后,模块1被取消,模块2、3位置互换。
图2 组态控制示例
首先按示例配置项目的硬件,在CPU的属性中使能组态控制选项,其它参数保持缺省设置,如图3所示。如果是ET 200MP或者ET200SP,则需要在接口模块的属性中使能组态控制。
图3 使能CPU组态控制
然后在程序中按照表1中规定的格式创建数据块,Zui后通过指令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数据类型和程序块文件夹中。
图 4 导入数据控制库文件
创建一个数据块,例如DB1,用于存储数据格式,如图5所示,示例中在数据块中插入了一个数组,数组的元素定义为从库中复制过来的PLC数据类型“OH_record_196_S71500cental”,这样每个元素对应一种组态,通过组态控制就可以选择不同的机型。然后修改数据块的启动值,由于此PLC数据类型专用于S7-1500的中央机架,所以表头、电源模块PM和CPU等参数不需要更改。模块的插槽需要按照实际要求进行再次分配,分配如下:
原插槽2中的模块没有使用,所以赋值为255(16#FF);
原插槽3中的模块未改变,所以保持原值3;
原插槽4中的模块在实际配置中插入插槽2中,所以赋值为2。
其它参数保持缺省值。
图5 包含数据格式的数据块
创建数据块和赋值完成后,在OB100中调用函数OH_CONFIG_CTRL,程序如图 6所示。
图 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的模块故障。