n
操作指导:
通过外部变量实现 ProTool 和 SIMOTION Scout 之间的日期和时间同步。通过组态的变量,循环地从 SIMOTION 读出系统时间并传送到 ProTool 中。通过脚本函数进行双向同步。
n
序号 |
步骤 |
1 |
创建一个 SIMOTION 项目: 日期和时间同步的首要要求是一个打开的项目,该项目带有 SIMOTION 设备设置。n
 图 01 n
注意事项: 通过“Create new device”项目菜单向项目中添加一个或更多新设备。 |
2 | 在 SIMOTION 中创建/导入一个结构化程序: 在项目菜单中,在“Programs”文件夹中为创建的设备添加一个新的 ST 程序。n
 图 02 n
注意事项: 或者,也可以下载 Uhr.zip 文件,通过弹出菜单(在“Programs”上右击)导入解压缩后的文件“Uhr.st”。在弹出菜单中选择“Import external source”和“ST source file”。n
 图 03
|
3 | 创建全局变量和程序: 全局变量用于在 ProTool 和 SIMOTION Scout 之间交换数据。可以借助于创建的 ReadClock 和 SetClock 功能读取或设置系统时间。 n
 图 04 n
注意事项: ReadClock 和 SetClock 功能是 RTC 类型。调用这些功能时,必须传递明确的参数以便可以执行相应的功能。可通过调用 CDT 方法读取当前的系统时间。 n
标识符 |
参数 |
数据类型 |
描述 |
SET |
Input |
Boolean |
设置时间,缺省值为 FALSE |
READ |
Input |
Boolean |
读取时间,缺省值为 FALSE |
PDT |
Input |
DT |
实时时钟的设定值,缺省值为 DT#0001-01-01-00:00:00。如果 SIMOTION 设备上的实际值小于缺省的实时时钟值,则实时时钟被设置为缺省值(例如,C320-2:DT#1994-01-01-00:00:00)。 |
CDT |
Output |
DT |
当前系统时间 |
例子: 调用以下功能之后,便读取了系统时间,并通过 CDT 方法传递了当前时间:n
ReadClock( FALSE, TRUE, DT#2005-01-01-0:0:0 ); ReturnValue = ReadClock.CDT;n
注意事项: 可通过“ST source file > Accept and compile”或点击下面的工具条图标检查结构化程序的语法错误。n
 接受和编译
|
4 | 在运行系统中定义程序调用: 必须将在 SIMOTION Scout 中创建的或者被导入 SIMOTION Scout 中的程序,在执行系统中定义为后台任务。 n
- 通过在项目菜单上点击“Execution system”并选择“ExecutionLevels > OperationLevels > BackgroundTask”定义为后台任务。n
- 选择“Uhr.clock( )”程序,然后点击“Add”按钮添加该程序。
 图 05 n
随后,便可以编译 SIMOTION 组态并将其传送到 SIMOTION 设备。 |
5 | 在 ProTool 中创建一个 SIMOTION 连接: 必须在 ProTool 中创建与 SIMOTION 设备的连接。 n
通过在项目树(1)中双击一个新连接并选择“SIMOTION V6.0”驱动程序创建“Controllers”。在选择窗口中点击“Parameters...”按钮(2)。n
“Coect OP to network”对话框随即打开,在该对话框中选择 PROFIBUS 子网(3),面板将作为硬件连接到该子网上。在选择域(4)“Choose a communication peer/symbol list”中选择 SIMOTION 设备。n
 图 06 n
注意事项: ProTool 不支持将区域指针“Date/Time PLC”用于实现与 SIMOTION 设备的时间同步,因为 ProTool 的“DATE_AND_TIME”数据类型与 SIMOTION 数据类型不同。 |
6 | 为时间同步添加变量: 在项目树中的“Tags”下面创建所有必需的变量: n
- Uhr.setn
- Uhr.time_paneln
- Uhr.time_plc
 图 07
|
7 | 创建一个脚本: n
- 添加一个名称为“SetPanelClk”的新脚本。n
- 在 Script Editor 中创建六个脚本变量(second、minute、hour、day、month、year),使用合适的 VBS 功能(如:day、month 等),通过外部变量“Uhr.time_plc”分配相应的时基。
可通过(CMD)控制台使用 Windows 中的操作系统函数“Date”和“Time”更改面板的系统时间。通过脚本函数“Call”和“Start_PtFct.Program”调用 Windows 控制台。n
 图 08:脚本 - SetPanelClk n
注意事项: 根据选择位置的不同,必须选择点或者破折号作为详细数据中的分隔符。n
关于“Start_program”功能的描述: 在 Script Editor 中,通过以一个点分开的标识符“PtFct”来指示用于 ProTool 功能的指令。“Start_program”功能定义如下:n
PtFct.Start_Program (<ProgName>, <Param>, <Layout>, <Wait>) n
参数 |
含义 |
描述 |
ProgName |
程序的名称 |
包含程序名称的字符串常数或者变量 |
Param |
程序的参数 |
包含程序参数的字符串常数或者变量 |
Layout |
显示选项 |
0 = 窗口 1 = 最小化 2 = 最大化 3 = 最小化且不活动 |
Wait |
等待结束 |
0 = 关闭 1 = 打开 |
注意事项: 可以在 Script Editor 中通过点击“Compile”按钮检查脚本的语法错误。 |
8 | 创建更多脚本:
- 创建第二个脚本并将其重新命名为“Clk_sys_in_var”。n
- 使用关键字“Now”为已经创建的变量“Uhr.time_panel”赋值。
“Now”功能将当前的系统日期和时间传递到面板或 PC。n
 图 09:脚本 - Clk_sys_in_var
|
9 | 创建画面和对象: 创建两个按钮、两个日期-时间域,以及(可选)一个带有系统消息的报警视图作为新画面中的一个报警事件。 n
 图 10
注意事项: 报警视图仅仅用作组态的辅助工具。此外系统消息(该系统信息必须已明确组态)将显示在该视图中,以指示 SIMOTION 设备是否已经连接到面板。 |
10 | 链接变量: 将上面的日期/时间域连接到以前创建的变量。在下面的日期/时间域中选择“System Time”。 n
 图 11
|
11 | 将脚本链接到按钮:
- 在“Time Panel > CPU”按钮的 Properties 属性的“Functions > OnClick”下链接“Clk_sys_in_var”脚本。
- 创建“Set_Bit”功能并链接“Uhr.set”变量。
- 使用与前面按钮同样的操作方式将第二个脚本“SetPanelClk”链接至“Time CPU > Panel”按钮。
 图 12
|
现在可以将组态传送到面板或者启动 PC 运行系统。
下载结构化的 SIMOTION 程序:
该文件包含可被导入 SIMOTION Scout V3.2.1 的“Uhr.st”文件。
Uhr.zip ( 508 bytes )
下载样例项目:
压缩文件中包含了本操作指导中所述的 SIMOTION ProTool 项目。ProTool 项目需要使用 ProTool 版本 V6.0 SP3。
Simotion_ProTool.zip ( 450 KB )
可运行性和测试环境:
下表列出了创建本条目内容以及验证其功能所用的组件。
组件 |
产品和版本 |
PC 操作系统 |
Microsoft WindowsXP SP2 |
标准工具 |
|
工程工具 |
SIMOTION Scout V 3.2.1 |
HMI 软件 |
ProTool V6.0 SP3 |
HMI 系统 |
- |
SIMOTION 设备 |
C230 |
关键词:
日期同步,时间同步
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc337627.html