在移植到 WinCC 的过程中,SIMATIC S7 300/400 通信驱动程序的数据类型按如下方式进行映射:
WinCC flexible 中的数据类型 | WinCC 中的数据类型 |
---|---|
Bool | Bool |
Byte | Byte |
Char | 见下文 |
Counter | 见下文 |
Date | Date |
Date and Time | Date_And_Time |
DInt | DInt |
DWord | DWord |
Int | Int |
Real | Real |
String | String |
StringChar | 见下文 |
Time | Time |
Time of Day | Time_Of_Day |
Timer | 见下文 |
Word | Word |
当移植的外部变量包含 SIMATIC S7-300/400 PLC 的数据类型时,需要特别注意一些事项。
按照规范,S7 数据类型 "Char" 是用于映射字符的数据类型。 但是,由于此数据类型经常用于读写数值,因此它将被映射为 WinCC 中的 S7 数据类型 "Byte"。 如果移植期间出现这种情况,则输出窗口中会出现报警。
如果 S7 数据类型 "Char" 用于数值且在使用时组态了负数,则结果是在映射到 S7 数据类型 "Byte" 的过程中出错。 S7 数据类型 "Byte" 无法映射任何负数。 必须相应地调整组态来更正此错误。 使用有符号的数据类型(例如数据类型 "Int")来处理正数和负数值。
如果 S7 数据类型 "Char" 用于映射字符,则必须在移植后更改组态。 要表示字符,请使用数据类型 "String"。
移植集成项目时,WinCC 中的数据类型 "Char" 也会被移植为数据类型 "Byte"。 对于已连接的 PLC 变量,数据类型 "Char" 会保持为 "Char"。 作为更改 HMI 变量的数据类型的结果,相关变量的符号寻址不会被移植。 移植后,变量通过**地址进行互连,并继续工作。 如果要恢复符号寻址,则必须在移植后相应地更改组态。
在移植期间,S7 数据类型 "Char" 的数组将被映射为数据类型 "Byte" 的数组。
如果 S7 数据类型 "Char" 的数组用于数值且在使用时组态了负数,则结果是在映射到 S7 数据类型 "Byte" 的数组的过程中出错。 S7 数据类型 "Byte" 无法映射任何负数。 必须相应地调整组态来更正此错误。 使用有符号的数据类型(例如数据类型 "Int")来处理正数和负数值。
具有计数器地址且数据类型为 S7 数据类型 "Counter" 的外部变量将被映射为 S7 数据类型 "Counter"。 地址会保留下来。
如果数据类型为 S7 数据类型 "Counter" 的外部变量对数据块或位存储器地址进行了寻址,则该变量将映射为 S7 数据类型 "Word"。 地址会保留下来。 移植会将编码设置为 "SimaticBCDCounter"。
S7 数据类型 "Counter" 的值范围为 0-999。使用 S7 数据类型 "Word" 时,在 PLC 侧可能会**出这一值范围。 务必随时观察值范围。
示例:
WinCC flexible
变量 | S7 数据类型 | 地址 | 注释 |
---|---|---|---|
Counter_Actual_Value | Counter | C10 | BCD 码计数器值 |
Counter_Setpoint_Value | Counter | DB10.DBW200 | BCD 码计数器值 |
Counter_Setpoint_Value#2 | Counter | MW20 | BCD 码计数器值 |
WinCC
变量 | S7 数据类型 | 地址 | 编码 | 注释 |
---|---|---|---|---|
Counter_Actual_Value | Counter | %C10 | <Standard> | BCD 码计数器值 |
Counter_Setpoint_Value | Word | %DB10.%DBW200 | SimaticBCDCounter | BCD 码计数器值 |
Counter_Setpoint_Value#2 | Word | %MW20 | SimaticBCDCounter | BCD 码计数器值 |
在 WinCC 中,不存在数据类型 "StringChar" 可以映射到的相应数据类型。 其在 WinCC 中的映射取决于 S7 数据类型的属性“Length”。
数据类型为 "StringChar" 且属性“Length”大于 1 的变量将被移植为 S7 数据类型 "Char" 的数组。 数组长度对应于较初组态的数据类型 "StringChar" 的长度。
如果属性“Length”等于 1,WinCC 中的数据类型将被移植为长度等于 1 的 S7 数据类型 "Char" 的数组。含有一个元素的数组的表达式为 "Array[0 ..0] of Char"。
具有定时器地址且数据类型为 S7 数据类型 "Timer" 的外部变量将被映射为 S7 数据类型 "Timer"。 地址会保留下来。
如果数据类型为 S7 数据类型 "Timer" 的外部变量对数据块或位存储器地址进行了寻址,则该变量将映射为 S7 数据类型 "S5 Time"。 地址会保留下来。
示例:
WinCC flexible
变量 | S7 数据类型 | 地址 | 注释 |
---|---|---|---|
Timer_Actual_Value | Timer | T10 | BCD 码定时器值 |
Timer_Setpoint_Value | Timer | DB10.DBW200 | BCD 码定时器值 |
Timer_Setpoint_Value#2 | Timer | MW20 | BCD 码定时器值 |
WinCC
变量 | S7 数据类型 | 地址 | 注释 |
---|---|---|---|
Timer_Actual_Value | Timer | %T10 | BCD 码定时器值 |
Timer_Setpoint_Value | S5Time | %DB10.%DBW200 | BCD 码定时器值 |
Timer_Setpoint_Value#2 | S5Time | %MW20 | BCD 码定时器值 |
产品推荐
友情链接