如何编程修改S7-300/400信号模块参数

希殿电气技术(上海)有限公司


推荐文档: 西门子工程师推荐本文档!

  • 文献

  •  

  • 涉及产品

在S7-300或S7-400的本地机架或远程I/O站点(DP)中的I/O模块,可以通过调用SFC 55(WR_PARM) 系统功能在系统运行时修改模块参数。SFC 55只修改信号模块的参数数据,不能修改CPU装载存储区中关于目的模块系统组态数据(SDB),因此系统重启后,SFC 55修改的模块参数将被CPU装载的系统数据所覆盖,恢复的组态参数。SFC 55(WR_PARM)不适用于Profinet I/O。


1 参考手册
对于S7-300/400的信号模块,参数可编程模块及参数的数据记录格式请参考手册:

S7-300 模块数据手册
8859629

S7-400模板数据手册
1117740

对于系统功能SFC 55(WR_PARM)使用请参考手册:
用于 S7300/400系统和 标准功能的系统软件
1214574


2 S7-300/400参数可编程信号模块
当前S7-300参数可编程信号模块(表1):

类型MLFB  
SM3216ES7 321-7BH01-0AB0DI 16 x DC 24 V
6ES7 327-1BH00-0AB0DI 8/DX 8 x DC 24 V/0.5 A
SM3226ES7 322-8BF00-0AB0DO 8 x DC 24 V/0.5 A
6ES7 322-5FF00-0AB0DO 8 x AC120/230 V /2A ISOL
6ES7 322-5HF00-0AB0DO 8 x Rel. AC230V /5A
SM3316ES7331-7NF00-0AB0AI 8 x 16 Bit
6ES7331-7NF10-0AB0AI 8 x 16 Bit
6ES7331-7HF0x-0AB0AI 8 x 14 Bit High Speed; isochrone
6ES7331-1KF02-0AB0AI 8 x 13 Bit
6ES7 331-7KF02-0AB0AI 8 x 12 bit
6ES7331-7KB02-0AB0AI 2 x 12 Bit
6ES7331-7PF01-0AB0AI 8 x RTD
6ES7331-7PF11-0AB0AI 8 x TC
6ES7331-7PE10-0AB0AI 6 x TC isolated
SM3326ES7332-7ND02-0AB0AO 4 x 16 bit
SM3346ES7334-0KE00-0AB0AI 4/AO 2 x 12 bit

表1 S7-300参数可编程信号模块


当前S7-400参数可编程信号模块(表2):

类型MLFB  
SM4216ES7 421-7BH01-0AB0DI 16 x DC 24 V
6ES7 421-7DH00-0AB0DI 16 x UC 24/60 V
SM4226ES7 422-5EH10-0AB0DO 16 x DC 20-125 V/1.5 A
6ES7 422-7BL00-0AB0DO 32 x DC 24 V/0.5 A
6ES7 422-5EH00-0AB0DO 16 x AC 20-120 V/2 A
SM4316ES7 431-7QH00-0AB0AI 16 x 16 Bit
6ES7 431-7KF10-0AB0AI 8 x RTD x 16 Bit
6ES7 431-7KF00-0AB0AI 8 x 16 Bit

表2 S7-400参数可编程信号模块


3 SM331 AI8 x12bit模块的参数
以SM331 AI8 x12bit (6ES7331-7KF02-0AB0,下略写为SM331(7KF02))为例,说明如何编程修改信号参数。

3.1 可修改参数
参考手册《S7-300 模块数据》A.4小节,表A-4列出SM331(7KF02)模块参数是否可组态,可编程修改为(表3):

参数参数数据记录号可编程
… SFC55… PG
诊断:组诊断0不支持支持
诊断:使用断线监控
温度单位
温度系数
滤波
启用诊断中断1支持
超硬件中断
启用周期结束中断
噪声抑制
测量方法
测量范围
上限
下限

表3 SM331(7KF02)参数组态编程特性

3.2 参数数据记录1
通过数据记录1可以进行修改SM331(7KF02)参数,参数数据记录1一共是14个字节,结构为:
?字节0(图1):


图1参数数据记录1字节0

?字节1(图2):

噪声抑制积分时间代码
400 Hz2.5 ms2#00
60 Hz16.7 ms2#01
50 Hz20 ms2#10
10 Hz100 ms2#11

图2参数数据记录1字节1

?字节2至字节5(图3)


图3参数数据记录1字节2至字节5

部分测量方法与量程代码(表4):

测量方法代码测量范围代码
电压2#0001± 80 mV2#0001
± 250 mV2#0010
± 500 mV2#0011
±1 V2#0100
±2.5 V2#0101
±5 V2#0110
1 V5 V2#0111
0 V10 V2#1000
±10 V2#1001
± 25 mV2#1010
± 50 mV2#1011

(上表仅列出本文示例所涉及测量方法及量程代码,其余代码请参考《S7-300模块数据手册》)

表4  SM331(7KF02)部分测量方法与量程代码


?字节6至字节13(图4)


图4参数数据记录1字节6至字节13


4 编程SM331 AI8 x12bit参数
组态SM331(7KF02) 0通道为0~10V电压测量,组态报警上限为9V,下限为1V,示例将报警的上限编程修改为8V,下限修改为2V。

4.1 组态SM331(7KF02)


图5 组态SM331(7KF02)在主机架

 


图6 SM331 参数组态

4.2 编程SM331(7KF02)写参数

      OPN   "DB1"//要求DB1长度 >= 14 字节
      L     2#10000100// 使能OB40
      T     DBB    0

      L     2#10101010// 4个通道组的干扰抑制时间, 50Hz
      T     DBB    1





      L     2#11001// 4个通道组的量程,电压测量,+/-10V
      T     DBB    2

      T     DBB    3

      T     DBB    4

      T     DBB    5





      L     22118// 通道0上限报警值, 8V
      T     DBW    6// 22118= 27648 / 10V * 8V
      L     5530// 通道0下限报警值, 2V
      T     DBW    8// 5530 = 27648 / 10V * 2V
      L     26266// 通道2上限报警值,原组态的9.5V
      T     DBW   10// 26266= 27648 / 10V * 9.5V
      L     1382// 通道2下限报警值,原组态的0.5V
      T     DBW   12// 1382= 27648 / 10V * 0.5V




       CALL  "WR_PARM"// SFC 55
       REQ    :=M0.0// M0.0触发写入参数
       IOID   :=B#16#54// 输入地址
       LADDR  :=W#16#110// 模块逻辑起始地址272
      RECNUM:=B#16#1// 数据记录号 1
      RECORD:="DB1".DR// 将写入模块的参数数据
       RET_VA:=MW2//  RET_VAL = 0无错误
       BUSY   :=M0.1// M0.1 True -> False,写完成




      AN    M      0.1

      R     M      0.0