如果要改写控制字的所有自由位,请为控制字 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 命令已取消,因为命令存储器正被
其它进程使用
命令容量不足,无法执行该命令
①输入信号I:输入信号用英文字母I标记,它是指与PLC输入端连接的来自外部设备的外部输入信号。在PLC程序中,一般是使用“输入映像”寄存器中的数据,其内容在一个PLC循环周期内保持不变。
②输出信号Q:输入信号用英文字母Q标记,它是指与PLC输出端连接的用于控制外部设备的外部输出信号,PLC的输出信号送给输出模块,并通过不同的驱动形式驱动外部负载。在PLC程序中,一般使用“输出映像”寄存器中的数据。输出映像寄存器中的内容可以随着程序的执行不断改变(在多重线圈编程时),但较终PLC输出的状态总是程序较后的处理结果,对外部来说它也是的。
③直接输入/输出PI/PQ(仅S7-300/400):直接输入/输出是在PLC程序中不受PLC循环扫描约束,进行直接采样的输入与直接刷新的输出信号。通过直接输入/输出,可以在PLC程序中不受PLC循环时间的限制,直接对PLC的输入/输出信号进行读/写。
在直接输入的情况下,PLC程序不再使用输入映像寄存器中的值,而是直接读入当前的瞬时值,PLC执行了直接输入后,并不会影响“输入映像”寄存器中原来的值。在直接输出的情况下,PLC程序不再使用输出映像寄存器中的值,而是直接输出当前的瞬时值,PLC执行了直接输出后,“输出映像”寄存器中的值立即发生变化。
直接输入/输出的表示方法在S7-200与S7-300/400中有所不同。对于S7-200,使用时只需要在指令代码后增加“I”,如LD变成LDI即可。对于S7-300/400PLC,不可以在PLC程序中直接以“二进制位”的形式,对PLC的输入/输出信号进行读/写,只能以字节PIB/P、字PIW/PQW或双字PID/PQD的形式进行。
④模拟量输入/输出AI/AQ:模拟量输入/输出只能以“字”的形式,不可以使用二进制位的形式进行编程,模拟量输入/输出的地址只能为AIW**/AQW**。模拟量输入/输出的内容直接保存在PLC的模拟量输入/输出模块中,而不是存放在CPU的RAM中,模拟量输入/输出的实质上也是一种对输入/输出的直接读入与输出。
S7-1500 软控制器 CPU 1507S 执行 S7-1500 控制器的功能,作为软件在 SIMATC IPC上的 Windows 系统中运行。CPU 1507S 针对使用 IPC477D 小型箱式 PC 和 IPC477D 面板式 PC完成的基于 PC 的控制任务进行了优化。CPU 1507S 还支持 IPC227E、IPC627D 和 IPC827D 箱式PC、IPC277E 和 IPC677D 面板式 PC 以及 IPC647D 和 IPC847D 机架式 PC。
S7-1500 软件控制器 CPU 1507S 能够执行由 C/C++ **语言创建的程序。这些功能可利用 SIMATIC ODK1500S 或 Target 1500S? ? 来创建。这些应用程序既可在 Windows 操作系统下执行,也能在CPU 1507S 的实时环境中执行。可以实现以下应用:
在 Windows 操作系统下执行 ODK 应用程序,比如:
将数据库连接至控制任务
在 Windows 操作系统下连接各种设备,比如手持式扫描仪
实现协议转换器
在实时环境中执行 ODK 应用程序,比如:
集成现有由 C/C++ 语言实现的可复用开环和闭环控制代码
集成基于模型的开发环境的控制代码,比如由 SIMATIC Target 1500S?for Simulink?生成的代码
用 C/C++ 编写与平台无关的控制程序代码
CPU 1507S 软控制器具有以下组件:
独立于 Windows 的控制内核:
通过实时 Hypervisor 技术并行运行控制和 Windows
可在控制运行时重启 Windows
不依赖于 Windows 而访问大容量存储器(CFast、固态硬盘、硬盘),以便独立存储组态和数据
屏幕应用程序具有以下功能:
显示概览信息,如集成接口的 IP 地址、站名称、设备名称、位置标识符等。
显示器以及诊断确认和用户消息
模块信息显示
显示设置
设置 IP 地址
选择运行模式
将 CPU 复位为出厂设置
禁用/启用显示
启用保护级别
语言选择
通过 PC 的以太网和 PROFIBUS 接口进行 IO 通信的集成驱动程序
通过 Windows 接口进行通信的集成驱动程序
与 WinCC RT Advanced 的 PC 内部通信