6SL3330-7TE36-1AA3
工艺功能
6.7 工艺功能 — 基本功能
S7-Technology
722 功能手册, 03/2008, A5E01078448-06
ErrorID 错误消息 说明/纠正或避免错误的方法
8052 在不同运行级别进行块调用 使用同一背景数据块,在不同运行级别调用了此工艺功
能。
示例:
在 OB 1 和 OB 35 中都使用背景数据块 DBx 调用工艺功能
x。开始工艺功能在 OB 1 中执行,然后由于在 OB 35 中调
用它而中断其在 OB 1 中的执行。由于背景数据块是共享
使用的,因此将在这两个调用的输出参数 ErrorID 中都指
示该错误。
预期的错误响应:
? 新命令(输入参数 Execute / Enable 的上升沿或下降
沿)未传送到集成工艺。
? zui初启动的命令不能在工艺功能的输出参数中进行监
视。但是,该命令在集成工艺中可能仍处于活动状态
注意:
在不同的运行级别使用不同的背景数据块,或者互锁工艺
功能的调用。
8053 背景数据块无效 工艺功能的背景数据块存在故障(例如,长度错误)。
8080 参数编号或参数索引无效 工艺对象不支持此参数或参数索引。
8083 DB 不是工艺 DB 通过输入参数 Axis 的 DB 未找到或不是工艺 DB。
8084 工艺 DB 无效 ? 在通过输入参数 Axis 定义的工艺 DB 的控制器中不存在
工艺对象。
将当前工艺下载到目标系统,或通过输入参数 Axis 更
改 DB 号。
? 用户在输入参数 Axis 中定义的工艺 DB 中输入了无效数
据。
在“工艺对象管理”(Technology Objects Management)
中删除工艺 DB,然后创建一个新的工艺 DB。
8086 参数不可用 可能的原因:
? 在具有值编码器的系统中访问增量编码器参数
? 访问以下类型编码器的参数:“编码器周期性”
? 索引中定义的数据记录未处于活动状态。 必须通过调用
“MC_ChangeDataset”来更改数据记录。
? 当前,工艺对象正在执行重启。 因此,无法读取参数。
工艺功能
6.7 工艺功能 — 基本功能
S7-Technology
功能手册, 03/2008, A5E01078448-06 723
6.7.5 FB407 MC_WriteParameter — 更改参数
使用 FB 407“MC_WriteParameter”更改参数
用途
● 当 T-CPU 处于 RUN 模式时,可以使用“MC_WriteParameter”工艺功能编辑 TO zui重
要的系统变量和组态数据。 通过设置参数编号对系统变量和组态数据进行寻址。在再
次断电/通电或 CPU 执行存储器复位前,更改将一直有效。 例外情况: 在任何情况
下,值编码器调整期间设置的值都将保留。
● 在输入参数 Value 、ValueDInt 、ValueDword1 、ValueDword2 和 ValueBool 中,系
统将仅评估与相关工艺参数相符的参数(有关详细信息,请参考工艺参数列表)。
● 工艺功能仅可以修改由访问模式“W”(“写入”)标识的工艺参数列表中的参数。
● 可以使用输入参数 Index 访问参数的多个实例,以下区域存在多个参数:
– 数据集(Dataset_1 到 Dataset_16)
– 编码器(Encoder_1 到 Encoder_8)
– 同步对象(1 代表同步对象,2 代表叠加的同步对象)
小心
此工艺功能的使用专门针对有经验用户。 错误的输入可能导致不受控制的驱动器
响应!
系统不对您的输入进行似然性检查!
错误的输入可能会导致工艺对象不*。
适用对象
● 在 S7T Config 中组态的工艺对象的参数。
请注意,某些参数更改要求重启系统(有关信息,请参考工艺参数列表的“激活”
列。)
先决条件
● 由参数编号和索引定义的参数必须在系统中可用并且允许写访问。 必须使用工艺功能
“MC_ChangeDataset”在 T-CPU 中启用由索引定义的数据记录。
● 在写入编码器参数(例如,编码器调整)之前验证编码器值。 可以查询当前激活
的编码器的编码器值,并通过轴或外部编码器的工艺 DB 中的
Statusword.EncoderValid 变量检查其有效性。 如果为轴分配了多个数据记录,则可
以通过使用参数编号 4050 调用“MC_ReadSysParameter”工艺功能来请求其它编码器
的状态。
工艺功能
6.7 工艺功能 — 基本功能
S7-Technology
724 功能手册, 03/2008, A5E01078448-06
超驰命令
MC_WriteParameter 命令不能由任何其它命令取消。
MC_WriteParameter 命令不取消任何其它命令。
输入参数
参数 数据类型 初始值 说明
Axis INT 0 工艺 DB 的编号
Execute BOOL FALSE 在 Execute 的上升沿处写入参数
ParameterNumber INT 0 工艺参数的编号
Index INT 1 例如,参数字段编号,2 代表 dataset_2
(如果仅存在一个数据集编号,将忽略该值)。
Value REAL 0.0 如果类型为 REAL,则为参数的新值(否则忽略该
值)。
ValueDInt DINT 0 类型为 DINT 参数的新值(否则忽略该值)。
ValueDword1 DWORD 0 类型为 DWORD 且长度为 1 DWORD 时定义参数的新
值(否则忽略该值)。
ValueDword2 DWORD 0 类型为 DWORD 且长度为 2 DWORD 时定义参数的新
值(否则忽略该值)。
ValueBool BOOL 0 类型为 BOOL 参数的新值(否则忽略该值)。
工艺功能
6.7 工艺功能 — 基本功能
S7-Technology
功能手册, 03/2008, A5E01078448-06 725
输出参数(状态输出)
参数 数据类型 初始值 说明
Done BOOL FALSE TRUE :工艺参数已成功更改
Busy BOOL FALSE TRUE:正在执行命令
TRUE : 命令启动时有错误。未执行该命令。有关原
因的信息,请参考 ErrorID。
Error BOOL FALSE
FALSE : 命令启动时没有错误。
ErrorID WORD 0 输出参数 Error 的 ErrorID。
注意
观察参数的有效范围限制。 工艺参数列表中列出了有效范围限制。
编辑数据记录参数时,请注意,数据记录中的某些参数必须相等:
? 更改结构的参数(例如,不同的控制器类型,如 PV 或 PID 控制器)
? 重要的激活参数(例如,跟踪监视开/关、DSC 开/关)
如果通过工艺功能“MC_WriteParameter”在运行期间为数据记录参数分配了无效的值,
则系统将报告组态错误。 因此,您应该仅编辑在 S7T Config 中对其进行组态时可以编
译为*项目的数据记录参数。
说明
要更改不需要重启或更改后立即生效的几个参数,您应该搜集所有参数更改,然后将其激
活。
要执行此操作,请按以下步骤进行操作:
1. 使用 "MC_WriteParameter”将工艺参数 ParameterNumber = 4001
(activationmodechangedconfigdata ) 设置为 COLLECT_CHANGED_CONFIG_DATA
(82). 。
这就形成了对相关工艺对象的所有后续更改的集合。
2. 使用“MC_WriteParameter”更改相关工艺参数。
3. 使用“MC_WriteParameter”将 activationmodechangedconfigdata 设置为
ACTIVATE_CHANGED_CONFIG_DATA (81) 以应用所有更改。
当编辑需要所有数据记录中的值均相同的工艺参数时,将调用此步骤。
工艺功能
6.7 工艺功能 — 基本功能
S7-Technology
726 功能手册, 03/2008, A5E01078448-06
MC_WriteParameter — 示例 —“倍率”
使用“倍率”更改参数的示例
因子可以根据当前运行速度或加速度/减速度进行在线叠加。 速度倍率适用于速度,而加
速倍率适用于加速度和减速度。
设置以下输入参数值,以设置速度倍率:
ParameterNumber = 4142
Value = 0.0 到 200.0(为百分比值)
为加速/减速倍率设置以下输入参数值:
ParameterNumber = 4141
Value = 1.0 到 1000.0(为百分比值)
MC_WriteParameter — 示例 —“驱动器控制字”
通过 PROFIBUS 耦合的驱动器使用标准消息帧进行通信。 这些消息帧包含zui多两个驱动
器控制字。 以下字的内容在 PROFIdrive 标准中。
控制字 STW1 的结构 控制字 STW2 的结构
位 为工艺对象保留 PROFIdrive V3.1 定义 位 为工艺对象保留 PROFIdrive V3.1 定义
0 X 驱动器开(不是 AUS1) 0 任意
1 X 操作条件(不是 AUS2) 1 任意
2 X 操作条件(不是 AUS3) 2 任意
3 X 整流器启用 3 任意
4 X 斜坡加速生成器已启用 4 任意
5 X 启动斜坡函数生成器 5 任意
6 X 设定值启用 6 任意
7 X 复位数据块 DBx 的存储器 7 任意
8 步长距离 1(可选) 8 任意
9 步长距离 2(可选) 9 任意
10 X 所需的控制 10 任意
11 任意 11 任意
12 任意 12 X 主站设备状态
13 任意 13 X 主站设备状态
14 任意 14 X 主站设备状态
15 任意 15 X 主站设备状态
工艺功能
6.7 工艺功能 — 基本功能
S7-Technology
功能手册, 03/2008, A5E01078448-06 727
可以通过“MC_WriteParameter”设置参数编号 4500 写入驱动器控制字,或者通过调用
“MC_ReadSysParameter”读取驱动器控制字。 两种控制字均可以通过输出参数
ValueDword1 (未经掩码)读取。
使用相应的值和掩码写入控制字。 掩码确定通过写操作可以访问控制字的哪些位。 此掩
码可用于操纵单个或多个位。 未经掩码的位(值 0)保留其当前状态。 选择掩码的标准
是为此工艺对象保留的位保持不变。
通过输入参数 ValueDword1 定义控制字 STW1 和 STW2 的值。 控制字 STW1 和
STW2 对应的掩码值通过输入参数 ValueDword2 设置。
ValueDword1 的示例
DW#16# 0001 0300
STW2 STW1
ValueDword2 的示例
DW#16# 0FFF FB00
STW2
掩码
STW1 掩码
如果要改写控制字的所有自由位,请为控制字 STW1 设置掩码值 FB00 。 十六进制代码
的含义:
F = 1111/写入位 12 到 15
B = 1011/写入位 8、9 和 11;保护位 10
0 = 0000/保护位 4 到 7
0 = 0000/保护位 0 到 3
如果要改写控制字的所有自由位,请为控制字 STW1 设置掩码值 0FFF 。 十六进制代码
的含义:
0 = 0000/保护位 12 到 15
F = 1111/写入位 8 到 11
F = 1111/写入位 4 到 7
F = 1111/写入位 0 到 3
工艺功能
6.7 工艺功能 — 基本功能
S7-Technology
728 功能手册, 03/2008, A5E01078448-06
MC_WriteParameter — 示例 —“编码器调整数据的备份”
基于示例“编码器调整数据的备份”编辑参数
编码器调整的数据被保存在 T-CPU 的非易失性存储器中。 因此,更换 CPU 时这些
数据将丢失。
“MC_ReadSysParameter”和“MC_WriteParameter”工艺功能可用于将编码器调整的
数据备份到 MMC 卡,以便在更换 CPU 后再将其恢复到 T-CPU 的非易失性存储器中。
先决条件是,您已在 S7T Config 中设置了“编码器”类型。
使用“MC_Home”工艺功能完成编码器调整后,请根据下述内容继续操作:
备份编码器调整数据
步骤 说明
1. 通过调用“MC_ReadSysParameter”工艺功能以及读取下述输入参数来读取编码器调整的当
前值,例如:
? Axis = 相关轴的工艺 DB
? Execute = 用于启动读取操作的上升沿
? ParameterNumber = 4010 编码器调整的参数编号
? ValueDword1= DBx.DBD0 (临时存储位置)
? ValueDword2 = DBx.DBD4 (临时存储位置)
2. 调用 SFC82“CREA_DBL”以在 T-CPU 的加载存储器中生成 DBy。 通过输入参数 ATTRIB 重设
为 0 时,也会在工作存储器中生成 DB。
3. 调用 SFC84“WRIT_DBL”以将先前备份的编码器调整的数据写入新 DB。
更换 CPU 并恢复编码器调整数据
步骤 说明
1. 更换 T-CPU,然后插入包含组态数据的 MMC。
请注意,启动 T-CPU 后,可以在 RAM 中获得编码器调整的备份 DB。
2. 调用“MC_WriteParameter”工艺功能以将编码器调整的数据重新存储到 T-CPU 的非易失性存
储器中。 使用以下输入参数:
? Axis = 相关轴的工艺 DB
? Execute =用于启动写入操作的上升沿
? ParameterNumber= 4010 = 编码器调整的参数编号
? ValueDword1 = DBx.DBD0(x = 由 SFC82 生成的 DB 编号)
? ValueDword2 = DBx.DBD4(x = 由 SFC82 生成的 DB 编号)
工艺功能
6.7 工艺功能 — 基本功能
S7-Technology
功能手册, 03/2008, A5E01078448-06 729
MC_WriteParameter — ErrorID
ErrorID 警告 说明/纠正或避免错误的方法
0000 没有错误 -
0020 重启以激活参数更改 更改了一个参数后,通常需要重启工艺对象。 如果新的参
数值与旧参数值*(例如,参数值“5”被修改为“5”),则
无需重启。
是否需要重启的信息包含在工艺数据块中。
? 对于轴和外部编码器,RequestRestart 位是在状态字中
设置的。
? 技术数据块的 ErrorID 0020 指示输出凸轮和测量输入是
否需要重启。
ErrorID 错误消息 说明/纠正或避免错误的方法
8001 内部错误 项目/软件发生故障或不*。
8005 命令已取消,因为命令存储器正被
其它进程使用
命令容量不足,无法执行该命令。
可能的原因:
SWAP指令:是高低字节交换指令。 |