说明:
有两种选择来同步操作面板( TP170A 除外)与 S7-300 或 S7-400 之间的系统时钟。n
警告:
该条目不能用于 TP170A 。关于同步 TP170A 与 S7-300/400 之间系统时钟的信息可参阅条目 ID 23972509。n
注意:
关于这两种同步操作面板与 S7-300/400 控制器之间系统时钟的方法在本条目的最后可以下载 STEP 7 的例程。
可以使用“日期/时间 -PLC ”区域指针来实现将控制器的系统时钟同步到操作面板上,该时钟将作为操作面板上错误信息等其它时间的时间戳。在本条目最后提供的附件 1 即为该方法的样例。
注意:
需要注意的是在通过操作面板修改系统时钟来更新时间的话会需要几秒时间。这会根据波特率以及其它事件的采集周期有所不同。
以下有两个关于同步 SIMATIC S7-300/400 控制器与操作面板之间系统时钟的程序。n
推荐通过使用“日期/时间 - PLC ”区域指针进行同步(选择 2 )。
选择 1 - 不使用“日期/时间 - PLC ”区域指针进行同步
选择不使用“日期/时间 - PLC ”区域指针进行同步的话是通过控制器作业来实现。n
选择这种方法进行操作面板与 S7-300/400 控制器之间的时钟同步的话,您可以使用“ ** SYS_CLK_WinCE_V1”块来实现,该块可以在本条目最后的附件 2 中下载得到。n
选择这种同步的方法来同步操作面板及 S7-300/400 控制器之间的系统时间的话,需要“作业信箱”及“日期/时间”两个区域指针。n
- “作业信箱”区域指针:
“作业信箱”区域指针用于执行控制器作业。通过在“作业信箱”区域指针的第一个字中输入作业号来指定控制器作业。还可以为每一个作业设置 3 个参数。通过控制器作业 14 (设置时间)及控制器作业 15 (设置日期)来实现将 CPU 的系统时间传送到操作面板。通过控制器作业 40 或 41 来实现将操作面板的系统时间传送到控制器。n - “日期/时间”区域指针:
“日期/时间”区域指针需要执行控制器作业 40 或 41 。控制器作业 40/41 从操作面板中读出当前日期/时间并且将该数据写入到控制器中的“日期/时间”数据区域中。
下面即为如何使用“ ** SYS_CLK_WinCE_V1”块来实现控制器与 ProTool 之间时钟同步的说明。
编号 | 程序 |
1 | 将“** SYS_CLK_WinCE_V1”块导入到 STEP7 项目中 一旦将该块导入到循环程序(例如 OB1)中,将会生成该功能块的相关数据块实例。连接一个触发标志到“ IO_SetTime ”块参数用于设置 PLC 的系统时钟,例如 M10.0。 通过“ IO_ReadTime ”块参数来实现控制器与操作面板之间的同步。用于传送操作面板系统时间到控制器的控制器作业需要另外四个参数。为此需要建立一个全局数据块,例如 DB20 ,并且将该功能块的四个参数与“作业信箱”区域指针的相关数据区域进行相互连接。 注意: 注意: |
2 | 在 ProTool 中组态区域指针 在数据块中从 10.0 开始的地址需要保留作为“日期/时间 - PLC ”的存储区。该区域指针包含至少 6 个字,因此需要另外四个字节为 DATE_AND_TIME 数据类型。 注意: 区域指针的后四个字节必须存在于数据区域中且保证数据格式与 ProTool 中匹配以避免读出错误数据。在 ProTool 中配置区域指针与 DATE_AND_TIME 数据类型符号的连接。 使能“日期/时间”及“作业信箱”区域指针。对于“日期/时间”区域指针要使用所生成的数据块实例中定义的相同数据区域。 |
3 | 在 ProTool 中组态变量 在 ProTool 中创建 BOOL 类型的变量“ SetTime ”及“ ReadTime ”,再创建一个 DATE_AND_TIME 类型的变量“ DateTime ”。对于第一个变量地址使用在步骤 1 中定义的存储区 ( 例如 M10.0 及 M10.1 )。第二个变量的存储区已经集成在数据块从地址 22.0开始的地址中( 参看图 06)。 可以创建“周”变量在文本列表中来显示周几。 |
4 | 在 ProTool 中组态日期/时间域 在 ProTool 画面中可以通过添加一个日期/时间域(显示:使能日期和时间)来输入操作面板的系统时间,该域的数据源选择为“系统时间”且要使能域类型中的“允许编辑”。 由于需要在操作面板上显示控制器的系统时钟,则必须在“变量”属性中的数据源选择“日期时间”变量而不是“系统时间”。 |
5 | 添加设置系统时钟的按钮 可以通过组态一个按钮的“按钮按下”事件中添加“设置位” 系统功能来实现设置系统时钟。 对于所使用的控制变量“ SetTime ”,应该已经在变量编辑器中创建,该变量用于触发将控制器的系统时钟同步到操作面板的系统时钟。在另外一个按钮中连接“ ReadTime ”变量用于触发将操作面板的系统时钟同步到控制器的系统时钟。 为了实现周期的自动同步,可以使用计划作业,在计划作业中每分钟触发一次“ ReadTime ”变量。 |
注意:
如果需要执行多个控制器作业,必须保证每一个控制器作业不能同时执行。n
注意:
该例子可以用于所有 S7-300/400 控制器与基于 Windows 系统的操作面板,除了 TP170A 。
选择 2 - 使用“日期/时间 - PLC ”区域指针进行同步
当使用区域指针实现同步时,同步将可以周期的执行而不需要做更多的组态。n
该条目最后所提供附件 3 中的功能块“ ** SYS_CLK_WinCE_V2 ”可用于同步控制器与所列出的操作面板之间的系统时钟。也可以设置控制器和操作面板的系统时钟。n
- “日期/时间 - PLC ”区域指针
“日期/时间 - PLC ”区域指针用于同步 PLC 及操作面板的系统时钟。同步周期根据设定区域指针的采集周期。n - “日期/时间”区域指针
“日期/时间”区域指针需要执行 40/41 控制器作业。控制器作业 40/41 从操作面板中读出当前日期/时间,并将其写入控制器中的“日期/时间”数据区域。n - “作业信箱”区域指针
“作业信箱”区域指针用于执行控制器作业。通过输入作业号到“作业信箱”区域指针的第一个字来指定控制器作业。还可以为每一个作业设置三个以上参数。只有控制器作业 40 要求传送操作面板的系统时间到控制器中。
下面即为如何使用“ ** SYS_CLK_WinCE_V2”块来实现控制器与 ProTool 之间时钟同步的说明。
注意:
需要注意的是在通过操作面板修改系统时钟来更新时间的话会需要几秒时间。这会根据波特率以及其它事件的采集周期有所不同。n
下载集成了 ProTool 项目的 STEP 7 项目:
复制“ Time_WinCE_ProTool_AX.zip ”文件到一个独立的文件夹中将其解压。然后如果需要编辑集成了 HMI 站的 STEP 7 项目,可以用 SIMATIC 管理器打开该项目进行编辑。可以使用 ProTool V6.0 SP3 或者以上版本的 ProTool 打开集成的 ProTool 项目。n
下载:
下载的附件 1 中包含之前所描述的用于传送 CPU 系统时间到操作面板的功能块。n
附件 1 : Time_WinCE_ProTool_A1.zip ( 431 KB ) n
下载的附件 2 中包含之前所描述的用于传送一个不使用“日期/时间 - PLC ”区域指针的用户自定义系统时间到 CPU 及操作面板的功能块。n
附件 2 : Time_WinCE_ProTool_A2.zip ( 493 KB ) n
下载的附件 3 中包含之前所描述的用于传送一个使用“日期/时间 - PLC ”区域指针的用户自定义系统时间到 CPU 及操作面板的功能块。n
附件 3 : Time_WinCE_ProTool_A3.zip ( 481 KB )
重要提示:
样例程序是免费软件。每个用户都可以免费使用,复制或转发该程序。程序的作者和拥有者对于该软件的功能性和兼容性不负任何责任。使用该软件的风险完全由用户自行承担。由于它是免费的,所以不提供任何质保,错误纠正和热线支持。
运行及测试环境:
以下列表列出了可以校验该功能的组件。
组件 | 产品及版本 |
PC 操作系统 | Microsoft WindowsXP SP2 |
标准工具 | - |
编程工具 | STEP 7 V5.3 |
HMI 软件 | ProTool V6.0 SP3 HF 3 |
HMI 系统 | - |
Keywords:
TP170B ,OP170B , MOBILE PANEL 170 , TP270 , OP270 , MP270 , MP370 , 设置日期/时间, 同步, 基于 Windows 系统的设备, WinCE ,Windows CE
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc338067.html